docs(wiki): close the session's loose threads — bay printer question, vocabulary-in-code decision, training note, guard family, OQ #16 settled
Claude-Session: https://claude.ai/code/session_01FWncR69HgGPuei1dLrW3cU
This commit is contained in:
@@ -29,6 +29,8 @@ Authentication and authorization, kept **fully local** — a direct consequence
|
||||
`roles` + `role_permissions` tables, composed by an admin from a **code-defined permission grid**
|
||||
(`@parking/shared` `PERMISSIONS` = `resource:action`, e.g. `tariff:update`, `payment:create`,
|
||||
`event:void`). A `preHandler` `requirePermission(...)` per route checks a PERMISSION, not a role
|
||||
(all of the listed; `requireAnyPermission(...)`, 2026-09-06, for a read two jobs share — the
|
||||
Car Wash price list is the desk's under `carwash:read` and Setup's under `site:read`)
|
||||
name. The JWT carries `roleId` (not the permission list); the guard resolves the role's permission
|
||||
set per-request from an **in-memory cache** (`bumpPermsCache()` on any role write), so editing a
|
||||
role applies immediately — no re-login, no token bloat. No Casbin/engine needed at this scale.
|
||||
|
||||
Reference in New Issue
Block a user