Skip to content

Commit 7be7755

Browse files
committed
Work on switching the string to a struct
1 parent fc8d414 commit 7be7755

File tree

6 files changed

+80
-146
lines changed

6 files changed

+80
-146
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -584,12 +584,12 @@ func (q *querier) authorizeUpdateFileTemplate(ctx context.Context, file database
584584

585585
// uniqueOrganizationRoles converts a set of scoped role names to their unique
586586
// scoped names.
587-
func (q *querier) uniqueOrganizationRoles(organizationID uuid.UUID, names []string) ([]rbac.UniqueRoleName, error) {
588-
uniques := make([]rbac.UniqueRoleName, 0, len(names))
587+
func (q *querier) uniqueOrganizationRoles(organizationID uuid.UUID, names []string) ([]rbac.RoleName, error) {
588+
uniques := make([]rbac.RoleName, 0, len(names))
589589
for _, name := range names {
590590
// This check is a developer safety check. Old code might try to invoke this code path with
591591
// organization id suffixes. Catch this and return a nice error so it can be fixed.
592-
_, foundOrg, _ := rbac.RoleSplit(rbac.UniqueRoleName(name))
592+
_, foundOrg, _ := rbac.RoleSplit(rbac.RoleName(name))
593593
if foundOrg != "" {
594594
return nil, xerrors.Errorf("attempt to assign a role %q, remove the ':<organization_id> suffix", name)
595595
}
@@ -601,7 +601,7 @@ func (q *querier) uniqueOrganizationRoles(organizationID uuid.UUID, names []stri
601601
}
602602

603603
// canAssignRoles handles assigning built in and custom roles.
604-
func (q *querier) canAssignRoles(ctx context.Context, orgID *uuid.UUID, added, removed []rbac.UniqueRoleName) error {
604+
func (q *querier) canAssignRoles(ctx context.Context, orgID *uuid.UUID, added, removed []rbac.RoleName) error {
605605
actor, ok := ActorFromContext(ctx)
606606
if !ok {
607607
return NoActorError
@@ -615,7 +615,7 @@ func (q *querier) canAssignRoles(ctx context.Context, orgID *uuid.UUID, added, r
615615
}
616616

617617
grantedRoles := append(added, removed...)
618-
customRoles := make([]rbac.UniqueRoleName, 0)
618+
customRoles := make([]rbac.RoleName, 0)
619619
// Validate that the roles being assigned are valid.
620620
for _, r := range grantedRoles {
621621
roleOrgIDStr, isOrgRole := rbac.IsOrgRole(r)
@@ -647,7 +647,7 @@ func (q *querier) canAssignRoles(ctx context.Context, orgID *uuid.UUID, added, r
647647
}
648648
}
649649

650-
customRolesMap := make(map[rbac.UniqueRoleName]struct{}, len(customRoles))
650+
customRolesMap := make(map[rbac.RoleName]struct{}, len(customRoles))
651651
for _, r := range customRoles {
652652
customRolesMap[r] = struct{}{}
653653
}
@@ -2867,7 +2867,7 @@ func (q *querier) UpdateMemberRoles(ctx context.Context, arg database.UpdateMemb
28672867

28682868
// The 'rbac' package expects role names to be scoped.
28692869
// Convert the argument roles for validation.
2870-
scopedGranted := make([]rbac.UniqueRoleName, 0, len(arg.GrantedRoles))
2870+
scopedGranted := make([]rbac.RoleName, 0, len(arg.GrantedRoles))
28712871
for _, grantedRole := range arg.GrantedRoles {
28722872
// This check is a developer safety check. Old code might try to invoke this code path with
28732873
// organization id suffixes. Catch this and return a nice error so it can be fixed.

coderd/database/modelmethods.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ func (p ProvisionerJob) FinishedAt() time.Time {
375375
return time.Time{}
376376
}
377377

378-
func (r CustomRole) UniqueName() rbac.UniqueRoleName {
378+
func (r CustomRole) UniqueName() rbac.RoleName {
379379
if r.OrganizationID.UUID == uuid.Nil {
380380
return rbac.RoleName(r.Name, "")
381381
}

coderd/rbac/authz.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@ func (s Subject) SafeScopeName() string {
114114
}
115115

116116
// SafeRoleNames prevent nil pointer dereference.
117-
func (s Subject) SafeRoleNames() []UniqueRoleName {
117+
func (s Subject) SafeRoleNames() []RoleName {
118118
if s.Roles == nil {
119-
return []UniqueRoleName{}
119+
return []RoleName{}
120120
}
121121
return s.Roles.Names()
122122
}

0 commit comments

Comments
 (0)