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"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
cs3permissions "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1"
|
cs3permissions "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1"
|
||||||
rpcv1beta1 "github.com/cs3org/go-cs3apis/cs3/rpc/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 {
|
if bundle != nil {
|
||||||
for _, setting := range bundle.GetSettings() {
|
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 {
|
func (g Service) canManageRoles(ctx context.Context) bool {
|
||||||
return g.hasStaticPermission(ctx, RoleManagementPermissionID)
|
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