Skip to content

Commit 0bd9c09

Browse files
committed
simplify
1 parent 3b2e0eb commit 0bd9c09

File tree

5 files changed

+26
-93
lines changed

5 files changed

+26
-93
lines changed

models/auth/access_token_scope.go

Lines changed: 10 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -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
8042
type 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
235204
func 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
310279
func (s AccessTokenScope) StringSlice() []string {
280+
if s == "" {
281+
return nil
282+
}
311283
return strings.Split(string(s), ",")
312284
}
313285

routers/web/user/setting/applications.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
user_model "code.gitea.io/gitea/models/user"
1313
"code.gitea.io/gitea/modules/setting"
1414
"code.gitea.io/gitea/modules/templates"
15+
"code.gitea.io/gitea/modules/util"
1516
"code.gitea.io/gitea/modules/web"
1617
"code.gitea.io/gitea/services/context"
1718
"code.gitea.io/gitea/services/forms"
@@ -101,11 +102,11 @@ func loadApplicationsData(ctx *context.Context) {
101102
ctx.Data["EnableOAuth2"] = setting.OAuth2.Enabled
102103

103104
// Handle specific ordered token categories for admin or non-admin users
104-
if ctx.Doer.IsAdmin {
105-
ctx.Data["TokenCategories"] = auth_model.AllAccessTokenScopeCategoryNames
106-
} else {
107-
ctx.Data["TokenCategories"] = auth_model.AllNonAdminAccessTokenScopeCategoryNames
105+
tokenCategoryNames := auth_model.GetAccessTokenCategories()
106+
if !ctx.Doer.IsAdmin {
107+
util.SliceRemoveAll(tokenCategoryNames, "admin")
108108
}
109+
ctx.Data["TokenCategories"] = tokenCategoryNames
109110

110111
if setting.OAuth2.Enabled {
111112
ctx.Data["Applications"], err = db.Find[auth_model.OAuth2Application](ctx, auth_model.FindOAuth2ApplicationsOptions{

templates/user/settings/applications.tmpl

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -70,35 +70,21 @@
7070
{{ctx.Locale.Tr "settings.permissions_access_all"}}
7171
</label>
7272
</div>
73-
<details class="ui optional field">
74-
<summary class="tw-pb-4 tw-pl-1">
75-
{{ctx.Locale.Tr "settings.select_permissions"}}
76-
</summary>
77-
<p class="activity meta">
78-
<i>{{ctx.Locale.Tr "settings.access_token_desc" (HTMLFormat `href="%s/api/swagger" target="_blank"` AppSubUrl) (`href="https://docs.gitea.com/development/oauth2-provider#scopes" target="_blank"`|SafeHTML)}}</i>
79-
</p>
73+
<details class="ui field tw-pl-1">
74+
<summary>{{ctx.Locale.Tr "settings.select_permissions"}}</summary>
75+
<i class="tw-block tw-my-2">{{ctx.Locale.Tr "settings.access_token_desc" (HTMLFormat `href="%s/api/swagger" target="_blank"` AppSubUrl) (`href="https://docs.gitea.com/development/oauth2-provider#scopes" target="_blank"`|SafeHTML)}}</i>
8076
{{range $category := .TokenCategories}}
81-
<div class="field tw-pl-1 tw-pb-1 access-token-category">
82-
<label class="category-label" for="access-token-scope-{{$category}}">
83-
{{$category}}
84-
</label>
85-
<div class="gitea-select">
86-
<select class="ui selection access-token-select" name="scope" id="access-token-scope-{{$category}}">
87-
<option value="">
88-
{{ctx.Locale.Tr "settings.permission_no_access"}}
89-
</option>
90-
<option value="read:{{$category}}">
91-
{{ctx.Locale.Tr "settings.permission_read"}}
92-
</option>
93-
<option value="write:{{$category}}">
94-
{{ctx.Locale.Tr "settings.permission_write"}}
95-
</option>
96-
</select>
97-
</div>
77+
<div class="tw-my-2">
78+
<label for="access-token-scope-{{$category}}">{{$category}}</label>
79+
<select name="scope" id="access-token-scope-{{$category}}">
80+
<option value="">{{ctx.Locale.Tr "settings.permission_no_access"}}</option>
81+
<option value="read:{{$category}}">{{ctx.Locale.Tr "settings.permission_read"}}</option>
82+
<option value="write:{{$category}}">{{ctx.Locale.Tr "settings.permission_write"}}</option>
83+
</select>
9884
</div>
9985
{{end}}
10086
</details>
101-
<button id="scoped-access-submit" class="ui primary button">
87+
<button class="ui primary button">
10288
{{ctx.Locale.Tr "settings.generate_token"}}
10389
</button>
10490
</form>

web_src/css/index.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
@import "./modules/dimmer.css";
2020
@import "./modules/modal.css";
2121

22-
@import "./modules/select.css";
2322
@import "./modules/tippy.css";
2423
@import "./modules/breadcrumb.css";
2524
@import "./modules/comment.css";

web_src/css/modules/select.css

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)