mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-02 19:39:49 +02:00
WIP
This commit is contained in:
1 parent
43e96d5ead
commit
2a204e36a7
6 files changed
+338
-2
No files matched your search
@@ -176,6 +176,8 @@ const (
|
||||
ActionsTokenPermissionModePermissive ActionsTokenPermissionMode = "permissive"
|
||||
// ActionsTokenPermissionModeRestricted - read access by default
|
||||
ActionsTokenPermissionModeRestricted ActionsTokenPermissionMode = "restricted"
|
||||
// ActionsTokenPermissionModeCustom - user-defined permissions
|
||||
ActionsTokenPermissionModeCustom ActionsTokenPermissionMode = "custom"
|
||||
)
|
||||
|
||||
// ActionsTokenPermissions defines the permissions for different repository units
|
||||
@@ -194,6 +196,46 @@ type ActionsTokenPermissions struct {
|
||||
Wiki perm.AccessMode `json:"wiki"`
|
||||
}
|
||||
|
||||
// HasRead checks if the permission has read access for the given scope
|
||||
func (p ActionsTokenPermissions) HasRead(scope string) bool {
|
||||
var mode perm.AccessMode
|
||||
switch scope {
|
||||
case "actions":
|
||||
mode = p.Actions
|
||||
case "contents":
|
||||
mode = p.Contents
|
||||
case "issues":
|
||||
mode = p.Issues
|
||||
case "packages":
|
||||
mode = p.Packages
|
||||
case "pull_requests":
|
||||
mode = p.PullRequests
|
||||
case "wiki":
|
||||
mode = p.Wiki
|
||||
}
|
||||
return mode >= perm.AccessModeRead
|
||||
}
|
||||
|
||||
// HasWrite checks if the permission has write access for the given scope
|
||||
func (p ActionsTokenPermissions) HasWrite(scope string) bool {
|
||||
var mode perm.AccessMode
|
||||
switch scope {
|
||||
case "actions":
|
||||
mode = p.Actions
|
||||
case "contents":
|
||||
mode = p.Contents
|
||||
case "issues":
|
||||
mode = p.Issues
|
||||
case "packages":
|
||||
mode = p.Packages
|
||||
case "pull_requests":
|
||||
mode = p.PullRequests
|
||||
case "wiki":
|
||||
mode = p.Wiki
|
||||
}
|
||||
return mode >= perm.AccessModeWrite
|
||||
}
|
||||
|
||||
// DefaultActionsTokenPermissions returns the default permissions for permissive mode
|
||||
func DefaultActionsTokenPermissions(mode ActionsTokenPermissionMode) ActionsTokenPermissions {
|
||||
if mode == ActionsTokenPermissionModeRestricted {
|
||||
|
||||
Reference in new issue
Block a user