fix: Role assign ui fixes (#3521)

Co-authored-by: Kira Pilot <kira@coder.com>
This commit is contained in:
Steven Masley
2022-08-16 10:39:42 -05:00
committed by GitHub
parent 4b6a82f92a
commit 4be61d9250
17 changed files with 211 additions and 96 deletions

View File

@ -14,8 +14,13 @@ type Role struct {
DisplayName string `json:"display_name"`
}
type AssignableRoles struct {
Role
Assignable bool `json:"assignable"`
}
// ListSiteRoles lists all assignable site wide roles.
func (c *Client) ListSiteRoles(ctx context.Context) ([]Role, error) {
func (c *Client) ListSiteRoles(ctx context.Context) ([]AssignableRoles, error) {
res, err := c.Request(ctx, http.MethodGet, "/api/v2/users/roles", nil)
if err != nil {
return nil, err
@ -24,12 +29,12 @@ func (c *Client) ListSiteRoles(ctx context.Context) ([]Role, error) {
if res.StatusCode != http.StatusOK {
return nil, readBodyAsError(res)
}
var roles []Role
var roles []AssignableRoles
return roles, json.NewDecoder(res.Body).Decode(&roles)
}
// ListOrganizationRoles lists all assignable roles for a given organization.
func (c *Client) ListOrganizationRoles(ctx context.Context, org uuid.UUID) ([]Role, error) {
func (c *Client) ListOrganizationRoles(ctx context.Context, org uuid.UUID) ([]AssignableRoles, error) {
res, err := c.Request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/organizations/%s/members/roles", org.String()), nil)
if err != nil {
return nil, err
@ -38,7 +43,7 @@ func (c *Client) ListOrganizationRoles(ctx context.Context, org uuid.UUID) ([]Ro
if res.StatusCode != http.StatusOK {
return nil, readBodyAsError(res)
}
var roles []Role
var roles []AssignableRoles
return roles, json.NewDecoder(res.Body).Decode(&roles)
}