Florian Sylvain
|
a0b3c58c52
|
feat: editor write path
|
2026-11-02 03:24:30 +01:00 |
|
Florian Sylvain
|
0806733d5c
|
feat: storage, language rules and migration
|
2026-11-01 17:50:28 +01:00 |
|
Florian Sylvain
|
34dffe222f
|
feat: roles SPA Users, Profile, API keys, Activity
|
2026-10-28 00:10:15 +01:00 |
|
Florian Sylvain
|
80f7037d3a
|
feat: Users API, ownership transfer and removal of the legacy role string
|
2026-10-27 03:08:15 +01:00 |
|
Florian Sylvain
|
094df63a7f
|
feat: /v1/role list, get, create, update and delete. Reassign members on delete. Write-time validation (ValidateGrants, duplicates, typed keys against real content types). Name uniqueness (role_name_taken), role_locked, role_has_members, role_conflict on version mismatch. No-escalation: nobody grants a permission they don't hold, and roles.edit_owner_only guards the Owner role. Activity events for role changes. Typed-key exposure in /auth/me. Cleanup of typed rows when a content type is deleted. | Backend only. Will carry the deferred ListGrants decision.
|
2026-10-27 00:45:24 +01:00 |
|
Florian Sylvain
|
a043f7f41a
|
refac: debt on role backend
|
2026-10-26 23:34:35 +01:00 |
|