CLI TUI: adopt GetPermissionMatrix affordances #136

Closed
opened 2026-08-18 10:45:26 +00:00 by nalum · 0 comments
Owner

From the RBAC matrix breakdown (2026-08-16), finding 3.

The TUI never reads GetPermissionMatrix — it still guesses from role buckets (isAdmin app.go:55, isManager = Admin|Member app.go:58), the pattern the web abandoned in ADR-0028. Four live divergences from the server:

  • jobs.go:195-215 — hides in-list/standalone creation the ADR-0031 rows allow a child.
  • rewards.go:257-316 — lets a MEMBER attempt claim-for-other; the server allows only ADMIN and will deny.
  • calendar.go:215-243 — gates on isManager where the server rule is membership-based (RequireEventMember): both over- and under-shows.
  • lists.go:236-296 — hides list create/rename/delete/add-item the matrix opens to CHILD.

Fix: add a GetPermissionMatrix client wrapper, fetch once at TUI start, and gate the four tabs on the verbs they perform (the rewards case actively shows an affordance the server denies).

From the RBAC matrix breakdown (2026-08-16), finding 3. The TUI never reads `GetPermissionMatrix` — it still guesses from role buckets (`isAdmin` app.go:55, `isManager` = Admin|Member app.go:58), the pattern the web abandoned in ADR-0028. Four live divergences from the server: - `jobs.go:195-215` — hides in-list/standalone creation the ADR-0031 rows allow a child. - `rewards.go:257-316` — lets a MEMBER attempt claim-for-other; the server allows only ADMIN and will deny. - `calendar.go:215-243` — gates on isManager where the server rule is membership-based (RequireEventMember): both over- and under-shows. - `lists.go:236-296` — hides list create/rename/delete/add-item the matrix opens to CHILD. Fix: add a `GetPermissionMatrix` client wrapper, fetch once at TUI start, and gate the four tabs on the verbs they perform (the rewards case actively shows an affordance the server denies).
nalum closed this issue 2026-08-18 16:44:14 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eagraiclainne/app#136
No description provided.