feat(system): expose the permission matrix over RPC #69
No reviewers
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app!69
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/permission-matrix-rpc"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Second part of #56: give clients the real permission matrix to gate affordances against, instead of a hand-kept mirror.
The web derives create/manage affordances from a coarse
canEdit = Admin||Memberflag — a client-side guess that drifts from the server'sPermissionMatrix. That drift is what hides create controls from a child even where the matrix permits them. Rather than replace one hand-mirror with a smaller one, this exposes the server's actual matrix.Adds
SystemService.GetPermissionMatrix, returningroles.PermissionMatrixverbatim — the same reference data the auth interceptor enforces. Readable by every signed-in role; the server stays authoritative, this is advisory reference data only. The handler is trivial (return the compiled-in matrix); the RPC is auto-served by the Connect handler.The web and Android consumers that read this matrix (fetch once,
checkPermission(service, method, roles), replacecanEdit) are tracked in #61. The CLI can consume the same endpoint.Verified:
make checkpasses (buf format/lint, Go tests, web build). Generated Go and Android clients are committed;web/src/genis build-time generated and gitignored.Closes #56 (the backend half — child rights plus this RPC).
🤖 Generated with Claude Code
Test report
Coverage: 27.7%
Updated by the check workflow · commit
d45901838c55da86bbb9d45901838cAndroid test report
Updated by the android workflow · commit
d45901838c