mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-06 03:20:15 -05:00
add constraints to permissions listing (#5594)
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
Enhancement: Add endpoint to list permissions
|
||||
|
||||
We added 'https://cloud.ocis.test/api/v0/settings/permissions-list' to retrieve all permissions of the logged in user.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/5594
|
||||
https://github.com/owncloud/ocis/pull/5571
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
cs3permissions "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1"
|
||||
rpcv1beta1 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
|
||||
@@ -499,7 +500,7 @@ func (g Service) ListPermissions(ctx context.Context, req *settingssvc.ListPermi
|
||||
|
||||
if bundle != nil {
|
||||
for _, setting := range bundle.GetSettings() {
|
||||
permissionNames[setting.Name] = struct{}{}
|
||||
permissionNames[formatPermissionName(setting)] = struct{}{}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -667,3 +668,8 @@ func (g Service) isCurrentUser(ctx context.Context, accountID string) bool {
|
||||
func (g Service) canManageRoles(ctx context.Context) bool {
|
||||
return g.hasStaticPermission(ctx, RoleManagementPermissionID)
|
||||
}
|
||||
|
||||
func formatPermissionName(setting *settingsmsg.Setting) string {
|
||||
constraint := strings.TrimPrefix(setting.GetPermissionValue().GetConstraint().String(), "CONSTRAINT_")
|
||||
return setting.Name + "." + strings.ToLower(constraint)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user