@@ -38,44 +38,6 @@ var AllAccessTokenScopeCategories = []AccessTokenScopeCategory{
38
38
AccessTokenScopeCategoryUser ,
39
39
}
40
40
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
-
79
41
// AccessTokenScopeLevel represents the access levels without a given scope category
80
42
type AccessTokenScopeLevel int
81
43
@@ -231,6 +193,13 @@ var accessTokenScopes = map[AccessTokenScopeLevel]map[AccessTokenScopeCategory]A
231
193
},
232
194
}
233
195
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
+
234
203
// GetRequiredScopes gets the specific scopes for a given level and categories
235
204
func GetRequiredScopes (level AccessTokenScopeLevel , scopeCategories ... AccessTokenScopeCategory ) []AccessTokenScope {
236
205
scopes := make ([]AccessTokenScope , 0 , len (scopeCategories ))
@@ -308,6 +277,9 @@ func (s AccessTokenScope) parse() (accessTokenScopeBitmap, error) {
308
277
309
278
// StringSlice returns the AccessTokenScope as a []string
310
279
func (s AccessTokenScope ) StringSlice () []string {
280
+ if s == "" {
281
+ return nil
282
+ }
311
283
return strings .Split (string (s ), "," )
312
284
}
313
285
0 commit comments