Florian Sylvain
|
b39a41be88
|
refac: DELETE /v1/user/{id}?expected_role_id=N, user.remove audit event, 409 target_role_not_found, GetAll returns its error, Own-scope visibility filter moved into repos, JSON tags removed from use-case types
|
2026-10-29 16:28:25 +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 |
|
Florian Sylvain
|
de142f6c5f
|
feat: more role backend and admin/writer roles additions and adjustments
|
2026-10-26 18:15:26 +01:00 |
|
Florian Sylvain
|
8c6c6456da
|
feat: roles system backend
|
2026-10-26 05:02:49 +01:00 |
|