Documentation ¶
Index ¶
- func IsEditor(rp *provider.ResourcePermissions) bool
- func IsManager(rp *provider.ResourcePermissions) bool
- func IsViewer(rp *provider.ResourcePermissions) bool
- type CS3PermissionsClient
- type Permissions
- func (p Permissions) AssemblePermissions(ctx context.Context, n *node.Node) (*provider.ResourcePermissions, error)
- func (p Permissions) AssembleTrashPermissions(ctx context.Context, n *node.Node) (*provider.ResourcePermissions, error)
- func (p Permissions) CreateSpace(ctx context.Context, spaceid string) bool
- func (p Permissions) DeleteAllHomeSpaces(ctx context.Context) bool
- func (p Permissions) DeleteAllSpaces(ctx context.Context) bool
- func (p Permissions) ListAllSpaces(ctx context.Context) bool
- func (p Permissions) ListSpacesOfUser(ctx context.Context, userid *userv1beta1.UserId) bool
- func (p Permissions) ManageSpaceProperties(ctx context.Context, spaceid string) bool
- func (p Permissions) SetSpaceQuota(ctx context.Context, spaceid string, spaceType string) bool
- func (p Permissions) SpaceAbility(ctx context.Context, spaceid string) bool
- type PermissionsChecker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsEditor ¶
func IsEditor(rp *provider.ResourcePermissions) bool
IsEditor returns true if the given resource permissions evaluate the user as "editor"
func IsManager ¶
func IsManager(rp *provider.ResourcePermissions) bool
IsManager returns true if the given resource permissions evaluate the user as "manager"
func IsViewer ¶
func IsViewer(rp *provider.ResourcePermissions) bool
IsViewer returns true if the given resource permissions evaluate the user as "viewer"
Types ¶
type CS3PermissionsClient ¶
type CS3PermissionsClient interface {
CheckPermission(ctx context.Context, in *cs3permissions.CheckPermissionRequest, opts ...grpc.CallOption) (*cs3permissions.CheckPermissionResponse, error)
}
CS3PermissionsClient defines an interface for checking permissions against the CS3 permissions service
type Permissions ¶
type Permissions struct {
// contains filtered or unexported fields
}
Permissions manages permissions
func NewPermissions ¶
func NewPermissions(item PermissionsChecker, permissionsSelector pool.Selectable[cs3permissions.PermissionsAPIClient]) Permissions
NewPermissions returns a new Permissions instance
func (Permissions) AssemblePermissions ¶
func (p Permissions) AssemblePermissions(ctx context.Context, n *node.Node) (*provider.ResourcePermissions, error)
AssemblePermissions is used to assemble file permissions
func (Permissions) AssembleTrashPermissions ¶
func (p Permissions) AssembleTrashPermissions(ctx context.Context, n *node.Node) (*provider.ResourcePermissions, error)
AssembleTrashPermissions is used to assemble file permissions
func (Permissions) CreateSpace ¶
func (p Permissions) CreateSpace(ctx context.Context, spaceid string) bool
CreateSpace returns true when the user is allowed to create the space
func (Permissions) DeleteAllHomeSpaces ¶
func (p Permissions) DeleteAllHomeSpaces(ctx context.Context) bool
DeleteAllHomeSpaces returns true when the user is allowed to delete all home spaces
func (Permissions) DeleteAllSpaces ¶
func (p Permissions) DeleteAllSpaces(ctx context.Context) bool
DeleteAllSpaces returns true when the user is allowed to delete all spaces
func (Permissions) ListAllSpaces ¶
func (p Permissions) ListAllSpaces(ctx context.Context) bool
ListAllSpaces returns true when the user is allowed to list all spaces
func (Permissions) ListSpacesOfUser ¶
func (p Permissions) ListSpacesOfUser(ctx context.Context, userid *userv1beta1.UserId) bool
ListSpacesOfUser returns true when the user is allowed to list the spaces of the given user
func (Permissions) ManageSpaceProperties ¶
func (p Permissions) ManageSpaceProperties(ctx context.Context, spaceid string) bool
ManageSpaceProperties returns true when the user is allowed to change space properties (name/subtitle)
func (Permissions) SetSpaceQuota ¶
SetSpaceQuota returns true when the user is allowed to change the spaces quota
func (Permissions) SpaceAbility ¶
func (p Permissions) SpaceAbility(ctx context.Context, spaceid string) bool
SpaceAbility returns true when the user is allowed to enable/disable the space
type PermissionsChecker ¶
type PermissionsChecker interface { AssemblePermissions(ctx context.Context, n *node.Node) (ap *provider.ResourcePermissions, err error) AssembleTrashPermissions(ctx context.Context, n *node.Node) (ap *provider.ResourcePermissions, err error) }
PermissionsChecker defines an interface for checking permissions on a Node