add constraints to permissions listing (#5594)

This commit is contained in:
Michael Barz
2023-02-17 13:45:47 +01:00
committed by GitHub
parent 1730538836
commit 794f6cd07c
2 changed files with 13 additions and 1 deletions

View File

@@ -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

View File

@@ -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)
}