Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitcffaa05

Browse files
committed
feat: generate typed ScopeName constants from RBAC permissions
Add build-time generation of typed Go constants for all RBAC scopenames to improve type safety and prevent typos when referencingscopes in code.- Add scopenames.gotmpl template for generating ScopeName constants- Extend scripts/typegen/main.go to support "scopenames" template- Generate coderd/rbac/scopes_constants_gen.go with all typed constants- Update Makefile to include generated file in build targets- Constants follow pattern Scope<Resource><Action> = "resource:action"
1 parentacc0890 commitcffaa05

File tree

4 files changed

+520
-0
lines changed

4 files changed

+520
-0
lines changed

‎Makefile‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,7 @@ GEN_FILES := \
646646
$(SITE_GEN_FILES)\
647647
coderd/rbac/object_gen.go\
648648
codersdk/rbacresources_gen.go\
649+
coderd/rbac/scopes_constants_gen.go\
649650
docs/admin/integrations/prometheus.md\
650651
docs/reference/cli/index.md\
651652
docs/admin/security/audit-logs.md\
@@ -695,6 +696,7 @@ gen/mark-fresh:
695696
site/src/api/typesGenerated.ts\
696697
coderd/rbac/object_gen.go\
697698
codersdk/rbacresources_gen.go\
699+
coderd/rbac/scopes_constants_gen.go\
698700
site/src/api/rbacresourcesGenerated.ts\
699701
site/src/api/countriesGenerated.ts\
700702
docs/admin/integrations/prometheus.md\
@@ -842,6 +844,11 @@ coderd/rbac/object_gen.go: scripts/typegen/rbacobject.gotmpl scripts/typegen/mai
842844
rmdir -v"$$tempdir"
843845
touch"$@"
844846

847+
coderd/rbac/scopes_constants_gen.go: scripts/typegen/scopenames.gotmpl scripts/typegen/main.go coderd/rbac/policy/policy.go
848+
# Generate typed low-level ScopeName constants from RBACPermissions
849+
go run ./scripts/typegen/main.go rbac scopenames>"$@"
850+
touch"$@"
851+
845852
codersdk/rbacresources_gen.go: scripts/typegen/codersdk.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go
846853
# Do no overwrite codersdk/rbacresources_gen.go directly, as it would make the file empty, breaking
847854
# the `codersdk` package and any parallel build targets.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp