Add guards for everyone-role changes
This commit is contained in:
parent
1da269abc7
commit
b0ef8cd2cb
@ -95,14 +95,25 @@ func (svc accessControl) FilterReadableRoles(ctx context.Context) *permissions.R
|
||||
}
|
||||
|
||||
func (svc accessControl) CanUpdateRole(ctx context.Context, rl *types.Role) bool {
|
||||
if rl.ID == permissions.EveryoneRoleID {
|
||||
return false
|
||||
}
|
||||
|
||||
return svc.can(ctx, rl, "update")
|
||||
}
|
||||
|
||||
func (svc accessControl) CanDeleteRole(ctx context.Context, rl *types.Role) bool {
|
||||
if rl.ID == permissions.EveryoneRoleID {
|
||||
return false
|
||||
}
|
||||
|
||||
return svc.can(ctx, rl, "delete")
|
||||
}
|
||||
|
||||
func (svc accessControl) CanManageRoleMembers(ctx context.Context, rl *types.Role) bool {
|
||||
if rl.ID == permissions.EveryoneRoleID {
|
||||
return false
|
||||
}
|
||||
return svc.can(ctx, rl, "members.manage")
|
||||
}
|
||||
|
||||
|
||||
@ -359,7 +359,12 @@ func (svc role) Membership(userID uint64) ([]*types.RoleMember, error) {
|
||||
}
|
||||
|
||||
func (svc role) MemberList(roleID uint64) ([]*types.RoleMember, error) {
|
||||
if roleID == permissions.EveryoneRoleID {
|
||||
return nil, ErrInvalidID.withStack()
|
||||
}
|
||||
|
||||
_, err := svc.findByID(roleID)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user