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

Commit49feb2d

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 parent0d6db42 commit49feb2d

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
@@ -645,6 +645,7 @@ GEN_FILES := \
645645
$(SITE_GEN_FILES)\
646646
coderd/rbac/object_gen.go\
647647
codersdk/rbacresources_gen.go\
648+
coderd/rbac/scopes_constants_gen.go\
648649
docs/admin/integrations/prometheus.md\
649650
docs/reference/cli/index.md\
650651
docs/admin/security/audit-logs.md\
@@ -693,6 +694,7 @@ gen/mark-fresh:
693694
site/src/api/typesGenerated.ts\
694695
coderd/rbac/object_gen.go\
695696
codersdk/rbacresources_gen.go\
697+
coderd/rbac/scopes_constants_gen.go\
696698
site/src/api/rbacresourcesGenerated.ts\
697699
site/src/api/countriesGenerated.ts\
698700
docs/admin/integrations/prometheus.md\
@@ -832,6 +834,11 @@ coderd/rbac/object_gen.go: scripts/typegen/rbacobject.gotmpl scripts/typegen/mai
832834
rmdir -v"$$tempdir"
833835
touch"$@"
834836

837+
coderd/rbac/scopes_constants_gen.go: scripts/typegen/scopenames.gotmpl scripts/typegen/main.go coderd/rbac/policy/policy.go
838+
# Generate typed low-level ScopeName constants from RBACPermissions
839+
go run ./scripts/typegen/main.go rbac scopenames>"$@"
840+
touch"$@"
841+
835842
codersdk/rbacresources_gen.go: scripts/typegen/codersdk.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go
836843
# Do no overwrite codersdk/rbacresources_gen.go directly, as it would make the file empty, breaking
837844
# the `codersdk` package and any parallel build targets.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp