@@ -38,44 +38,6 @@ var AllAccessTokenScopeCategories = []AccessTokenScopeCategory{
3838 AccessTokenScopeCategoryUser ,
3939}
4040
41- // AccessTokenScopeCategoryNames maps AccessTokenScopeCategory to their string representations
42- var AccessTokenScopeCategoryNames = map [AccessTokenScopeCategory ]string {
43- AccessTokenScopeCategoryActivityPub : "activitypub" ,
44- AccessTokenScopeCategoryAdmin : "admin" ,
45- AccessTokenScopeCategoryMisc : "misc" ,
46- AccessTokenScopeCategoryNotification : "notification" ,
47- AccessTokenScopeCategoryOrganization : "organization" ,
48- AccessTokenScopeCategoryPackage : "package" ,
49- AccessTokenScopeCategoryIssue : "issue" ,
50- AccessTokenScopeCategoryRepository : "repository" ,
51- AccessTokenScopeCategoryUser : "user" ,
52- }
53-
54- // AllAccessTokenScopeCategoryNames is a list of all access token scope category names including admin's reserved scope
55- var AllAccessTokenScopeCategoryNames = []string {
56- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryActivityPub ],
57- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryAdmin ],
58- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryMisc ],
59- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryNotification ],
60- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryOrganization ],
61- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryPackage ],
62- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryIssue ],
63- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryRepository ],
64- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryUser ],
65- }
66-
67- // AllNonAdminAccessTokenScopeCategoryNames is a list of all access token scope category names without admin's reserved scope
68- var AllNonAdminAccessTokenScopeCategoryNames = []string {
69- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryActivityPub ],
70- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryMisc ],
71- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryNotification ],
72- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryOrganization ],
73- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryPackage ],
74- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryIssue ],
75- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryRepository ],
76- AccessTokenScopeCategoryNames [AccessTokenScopeCategoryUser ],
77- }
78-
7941// AccessTokenScopeLevel represents the access levels without a given scope category
8042type AccessTokenScopeLevel int
8143
@@ -231,6 +193,13 @@ var accessTokenScopes = map[AccessTokenScopeLevel]map[AccessTokenScopeCategory]A
231193 },
232194}
233195
196+ func GetAccessTokenCategories () (res []string ) {
197+ for _ , cat := range accessTokenScopes [Read ] {
198+ res = append (res , strings .TrimPrefix (string (cat ), "read:" ))
199+ }
200+ return res
201+ }
202+
234203// GetRequiredScopes gets the specific scopes for a given level and categories
235204func GetRequiredScopes (level AccessTokenScopeLevel , scopeCategories ... AccessTokenScopeCategory ) []AccessTokenScope {
236205 scopes := make ([]AccessTokenScope , 0 , len (scopeCategories ))
@@ -308,6 +277,9 @@ func (s AccessTokenScope) parse() (accessTokenScopeBitmap, error) {
308277
309278// StringSlice returns the AccessTokenScope as a []string
310279func (s AccessTokenScope ) StringSlice () []string {
280+ if s == "" {
281+ return nil
282+ }
311283 return strings .Split (string (s ), "," )
312284}
313285
0 commit comments