Skip to content

Commit 67901cb

Browse files
committed
feat(roles): update implementation
Signed-off-by: JeffMboya <jangina.mboya@gmail.com>
1 parent bd5ed8f commit 67901cb

File tree

1 file changed

+28
-33
lines changed

1 file changed

+28
-33
lines changed

pkg/roles/provisionmanage.go

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -553,18 +553,13 @@ func (r ProvisionManageService) RoleCheckMembersExists(ctx context.Context, sess
553553
return result, nil
554554
}
555555

556-
func (r ProvisionManageService) RoleRemoveMembers(
557-
ctx context.Context,
558-
session authn.Session,
559-
entityID, roleID string,
560-
members []string,
561-
) error {
562-
ro, err := r.repo.RetrieveEntityRole(ctx, entityID, roleID)
563-
if err != nil {
564-
return errors.Wrap(svcerr.ErrRemoveEntity, err)
565-
}
556+
func (r ProvisionManageService) RoleRemoveMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (err error) {
557+
ro, err := r.repo.RetrieveEntityRole(ctx, entityID, roleID)
558+
if err != nil {
559+
return errors.Wrap(svcerr.ErrRemoveEntity, err)
560+
}
566561

567-
if ro.Name == "admin" {
562+
if ro.Name == "admin" {
568563
page, err := r.repo.RoleListMembers(ctx, ro.ID, 0, 0)
569564
if err != nil {
570565
return errors.Wrap(svcerr.ErrViewEntity, err)
@@ -574,31 +569,31 @@ func (r ProvisionManageService) RoleRemoveMembers(
574569
}
575570
}
576571

577-
if len(members) == 0 {
578-
return svcerr.ErrMalformedEntity
579-
}
572+
if len(members) == 0 {
573+
return svcerr.ErrMalformedEntity
574+
}
580575

581-
var prs []policies.Policy
582-
for _, mem := range members {
583-
prs = append(prs, policies.Policy{
584-
SubjectType: policies.UserType,
585-
Subject: policies.EncodeDomainUserID(session.DomainID, mem),
586-
Relation: policies.MemberRelation,
587-
Object: ro.ID,
588-
ObjectType: policies.RoleType,
589-
})
590-
}
591-
if err := r.policy.DeletePolicies(ctx, prs); err != nil {
592-
return errors.Wrap(svcerr.ErrDeletePolicies, err)
593-
}
576+
prs := []policies.Policy{}
577+
for _, mem := range members {
578+
prs = append(prs, policies.Policy{
579+
SubjectType: policies.UserType,
580+
Subject: policies.EncodeDomainUserID(session.DomainID, mem),
581+
Relation: policies.MemberRelation,
582+
Object: ro.ID,
583+
ObjectType: policies.RoleType,
584+
})
585+
}
594586

595-
ro.UpdatedAt = time.Now()
596-
ro.UpdatedBy = session.UserID
597-
if err := r.repo.RoleRemoveMembers(ctx, ro, members); err != nil {
598-
return errors.Wrap(svcerr.ErrRemoveEntity, err)
599-
}
587+
if err := r.policy.DeletePolicies(ctx, prs); err != nil {
588+
return errors.Wrap(svcerr.ErrDeletePolicies, err)
589+
}
600590

601-
return nil
591+
ro.UpdatedAt = time.Now()
592+
ro.UpdatedBy = session.UserID
593+
if err := r.repo.RoleRemoveMembers(ctx, ro, members); err != nil {
594+
return errors.Wrap(svcerr.ErrRemoveEntity, err)
595+
}
596+
return nil
602597
}
603598

604599
func (r ProvisionManageService) RoleRemoveAllMembers(ctx context.Context, session authn.Session, entityID, roleID string) (err error) {

0 commit comments

Comments
 (0)