Skip to content

Commit ad8c314

Browse files
authored
chore: implement api for creating custom roles (#13298)
api endpoint (gated by experiment) to create custom_roles
1 parent 85de0e9 commit ad8c314

33 files changed

+1009
-132
lines changed

coderd/apidoc/docs.go

Lines changed: 82 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 82 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/audit.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,12 +196,12 @@ func (api *API) convertAuditLog(ctx context.Context, dblog database.GetAuditLogs
196196
CreatedAt: dblog.UserCreatedAt.Time,
197197
Status: codersdk.UserStatus(dblog.UserStatus.UserStatus),
198198
},
199-
Roles: []codersdk.Role{},
199+
Roles: []codersdk.SlimRole{},
200200
}
201201

202202
for _, roleName := range dblog.UserRoles {
203203
rbacRole, _ := rbac.RoleByName(roleName)
204-
user.Roles = append(user.Roles, db2sdk.Role(rbacRole))
204+
user.Roles = append(user.Roles, db2sdk.SlimRole(rbacRole))
205205
}
206206
}
207207

coderd/coderd.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ import (
6161
"github.com/coder/coder/v2/coderd/provisionerdserver"
6262
"github.com/coder/coder/v2/coderd/rbac"
6363
"github.com/coder/coder/v2/coderd/rbac/policy"
64+
"github.com/coder/coder/v2/coderd/rbac/rolestore"
6465
"github.com/coder/coder/v2/coderd/schedule"
6566
"github.com/coder/coder/v2/coderd/telemetry"
6667
"github.com/coder/coder/v2/coderd/tracing"
@@ -631,6 +632,7 @@ func New(options *Options) *API {
631632
httpmw.AttachRequestID,
632633
httpmw.ExtractRealIP(api.RealIPConfig),
633634
httpmw.Logger(api.Logger),
635+
rolestore.CustomRoleMW,
634636
prometheusMW,
635637
// Build-Version is helpful for debugging.
636638
func(next http.Handler) http.Handler {
@@ -915,7 +917,7 @@ func New(options *Options) *API {
915917
r.Post("/logout", api.postLogout)
916918
// These routes query information about site wide roles.
917919
r.Route("/roles", func(r chi.Router) {
918-
r.Get("/", api.assignableSiteRoles)
920+
r.Get("/", api.AssignableSiteRoles)
919921
})
920922
r.Route("/{user}", func(r chi.Router) {
921923
r.Use(httpmw.ExtractUserParam(options.Database))

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy