@@ -23,6 +23,7 @@ const (
2323 AccessTokenScopeCategoryIssue
2424 AccessTokenScopeCategoryRepository
2525 AccessTokenScopeCategoryUser
26+ AccessTokenScopeCategoryCommitStatus
2627)
2728
2829// AllAccessTokenScopeCategories contains all access token scope categories
@@ -36,6 +37,7 @@ var AllAccessTokenScopeCategories = []AccessTokenScopeCategory{
3637 AccessTokenScopeCategoryIssue ,
3738 AccessTokenScopeCategoryRepository ,
3839 AccessTokenScopeCategoryUser ,
40+ AccessTokenScopeCategoryCommitStatus ,
3941}
4042
4143// AccessTokenScopeLevel represents the access levels without a given scope category
@@ -81,6 +83,9 @@ const (
8183
8284 AccessTokenScopeReadUser AccessTokenScope = "read:user"
8385 AccessTokenScopeWriteUser AccessTokenScope = "write:user"
86+
87+ AccessTokenScopeReadCommitStatus AccessTokenScope = "read:commitstatus"
88+ AccessTokenScopeWriteCommitStatus AccessTokenScope = "write:commitstatus"
8489)
8590
8691// accessTokenScopeBitmap represents a bitmap of access token scopes.
@@ -92,7 +97,7 @@ const (
9297 accessTokenScopeAllBits accessTokenScopeBitmap = accessTokenScopeWriteActivityPubBits |
9398 accessTokenScopeWriteAdminBits | accessTokenScopeWriteMiscBits | accessTokenScopeWriteNotificationBits |
9499 accessTokenScopeWriteOrganizationBits | accessTokenScopeWritePackageBits | accessTokenScopeWriteIssueBits |
95- accessTokenScopeWriteRepositoryBits | accessTokenScopeWriteUserBits
100+ accessTokenScopeWriteRepositoryBits | accessTokenScopeWriteUserBits | accessTokenScopeWriteCommitStatusBits
96101
97102 accessTokenScopePublicOnlyBits accessTokenScopeBitmap = 1 << iota
98103
@@ -123,6 +128,9 @@ const (
123128 accessTokenScopeReadUserBits accessTokenScopeBitmap = 1 << iota
124129 accessTokenScopeWriteUserBits accessTokenScopeBitmap = 1 << iota | accessTokenScopeReadUserBits
125130
131+ accessTokenScopeReadCommitStatusBits accessTokenScopeBitmap = 1 << iota
132+ accessTokenScopeWriteCommitStatusBits accessTokenScopeBitmap = 1 << iota | accessTokenScopeReadCommitStatusBits
133+
126134 // The current implementation only supports up to 64 token scopes.
127135 // If we need to support > 64 scopes,
128136 // refactoring the whole implementation in this file (and only this file) is needed.
@@ -141,6 +149,7 @@ var allAccessTokenScopes = []AccessTokenScope{
141149 AccessTokenScopeWriteIssue , AccessTokenScopeReadIssue ,
142150 AccessTokenScopeWriteRepository , AccessTokenScopeReadRepository ,
143151 AccessTokenScopeWriteUser , AccessTokenScopeReadUser ,
152+ AccessTokenScopeWriteCommitStatus , AccessTokenScopeReadCommitStatus ,
144153}
145154
146155// allAccessTokenScopeBits contains all access token scopes.
@@ -165,6 +174,8 @@ var allAccessTokenScopeBits = map[AccessTokenScope]accessTokenScopeBitmap{
165174 AccessTokenScopeWriteRepository : accessTokenScopeWriteRepositoryBits ,
166175 AccessTokenScopeReadUser : accessTokenScopeReadUserBits ,
167176 AccessTokenScopeWriteUser : accessTokenScopeWriteUserBits ,
177+ AccessTokenScopeReadCommitStatus : accessTokenScopeReadCommitStatusBits ,
178+ AccessTokenScopeWriteCommitStatus : accessTokenScopeWriteCommitStatusBits ,
168179}
169180
170181// readAccessTokenScopes maps a scope category to the read permission scope
@@ -179,6 +190,7 @@ var accessTokenScopes = map[AccessTokenScopeLevel]map[AccessTokenScopeCategory]A
179190 AccessTokenScopeCategoryIssue : AccessTokenScopeReadIssue ,
180191 AccessTokenScopeCategoryRepository : AccessTokenScopeReadRepository ,
181192 AccessTokenScopeCategoryUser : AccessTokenScopeReadUser ,
193+ AccessTokenScopeCategoryCommitStatus : AccessTokenScopeReadCommitStatus ,
182194 },
183195 Write : {
184196 AccessTokenScopeCategoryActivityPub : AccessTokenScopeWriteActivityPub ,
@@ -190,6 +202,7 @@ var accessTokenScopes = map[AccessTokenScopeLevel]map[AccessTokenScopeCategory]A
190202 AccessTokenScopeCategoryIssue : AccessTokenScopeWriteIssue ,
191203 AccessTokenScopeCategoryRepository : AccessTokenScopeWriteRepository ,
192204 AccessTokenScopeCategoryUser : AccessTokenScopeWriteUser ,
205+ AccessTokenScopeCategoryCommitStatus : AccessTokenScopeWriteCommitStatus ,
193206 },
194207}
195208
@@ -359,7 +372,7 @@ func (bitmap accessTokenScopeBitmap) toScope() AccessTokenScope {
359372 scope := AccessTokenScope (strings .Join (scopes , "," ))
360373 scope = AccessTokenScope (strings .ReplaceAll (
361374 string (scope ),
362- "write:activitypub,write:admin,write:misc,write:notification,write:organization,write:package,write:issue,write:repository,write:user" ,
375+ "write:activitypub,write:admin,write:misc,write:notification,write:organization,write:package,write:issue,write:repository,write:user,write:commitstatus " ,
363376 "all" ,
364377 ))
365378 return scope
0 commit comments