Skip to content

Commit ba03dd7

Browse files
committed
replace hardcoded admin checks with builtInRoles map lookup
Signed-off-by: JeffMboya <jangina.mboya@gmail.com>
1 parent 08c8b7b commit ba03dd7

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

pkg/roles/provisionmanage.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -559,13 +559,13 @@ func (r ProvisionManageService) RoleRemoveMembers(ctx context.Context, session a
559559
return errors.Wrap(svcerr.ErrRemoveEntity, err)
560560
}
561561

562-
if ro.Name == "admin" {
562+
if _, ok := r.builtInRoles[BuiltInRoleName(ro.Name)]; ok {
563563
page, err := r.repo.RoleListMembers(ctx, ro.ID, 0, 0)
564564
if err != nil {
565565
return errors.Wrap(svcerr.ErrViewEntity, err)
566566
}
567567
if page.Total <= uint64(len(members)) {
568-
return errors.Wrap(svcerr.ErrRemoveEntity, fmt.Errorf("admin role must retain at least one member"))
568+
return errors.Wrap(svcerr.ErrRemoveEntity, fmt.Errorf("built-in role '%s' must retain at least one member", ro.Name))
569569
}
570570
}
571571

@@ -602,8 +602,8 @@ func (r ProvisionManageService) RoleRemoveAllMembers(ctx context.Context, sessio
602602
return errors.Wrap(svcerr.ErrRemoveEntity, err)
603603
}
604604

605-
if ro.Name == "admin" {
606-
return errors.Wrap(svcerr.ErrRemoveEntity, fmt.Errorf("removing all members from the built-in admin role is not permitted"))
605+
if _, ok := r.builtInRoles[BuiltInRoleName(ro.Name)]; ok {
606+
return errors.Wrap(svcerr.ErrRemoveEntity, fmt.Errorf("removing all members from built-in role '%s' is not permitted", ro.Name))
607607
}
608608

609609
prs := policies.Policy{

0 commit comments

Comments
 (0)