mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
feat: add members settings page for organizations (#13817)
This commit is contained in:
committed by
GitHub
parent
b697c6939a
commit
a3f40d5ef8
@ -166,25 +166,7 @@ func User(user database.User, organizationIDs []uuid.UUID) codersdk.User {
|
||||
convertedUser := codersdk.User{
|
||||
ReducedUser: ReducedUser(user),
|
||||
OrganizationIDs: organizationIDs,
|
||||
Roles: make([]codersdk.SlimRole, 0, len(user.RBACRoles)),
|
||||
}
|
||||
|
||||
for _, roleName := range user.RBACRoles {
|
||||
// TODO: Currently the api only returns site wide roles.
|
||||
// Should it return organization roles?
|
||||
rbacRole, err := rbac.RoleByName(rbac.RoleIdentifier{
|
||||
Name: roleName,
|
||||
OrganizationID: uuid.Nil,
|
||||
})
|
||||
if err == nil {
|
||||
convertedUser.Roles = append(convertedUser.Roles, SlimRole(rbacRole))
|
||||
} else {
|
||||
// TODO: Fix this for custom roles to display the actual display_name
|
||||
// Requires plumbing either a cached role value, or the db.
|
||||
convertedUser.Roles = append(convertedUser.Roles, codersdk.SlimRole{
|
||||
Name: roleName,
|
||||
})
|
||||
}
|
||||
Roles: SlimRolesFromNames(user.RBACRoles),
|
||||
}
|
||||
|
||||
return convertedUser
|
||||
@ -537,6 +519,27 @@ func SlimRole(role rbac.Role) codersdk.SlimRole {
|
||||
}
|
||||
}
|
||||
|
||||
func SlimRolesFromNames(names []string) []codersdk.SlimRole {
|
||||
convertedRoles := make([]codersdk.SlimRole, 0, len(names))
|
||||
|
||||
for _, name := range names {
|
||||
convertedRoles = append(convertedRoles, SlimRoleFromName(name))
|
||||
}
|
||||
|
||||
return convertedRoles
|
||||
}
|
||||
|
||||
func SlimRoleFromName(name string) codersdk.SlimRole {
|
||||
rbacRole, err := rbac.RoleByName(rbac.RoleIdentifier{Name: name})
|
||||
var convertedRole codersdk.SlimRole
|
||||
if err == nil {
|
||||
convertedRole = SlimRole(rbacRole)
|
||||
} else {
|
||||
convertedRole = codersdk.SlimRole{Name: name}
|
||||
}
|
||||
return convertedRole
|
||||
}
|
||||
|
||||
func RBACRole(role rbac.Role) codersdk.Role {
|
||||
slim := SlimRole(role)
|
||||
|
||||
|
Reference in New Issue
Block a user