Commit Graph
9 Commits
Author SHA1 Message Date
Florian Sylvain 7c15206170 refac: article reads, story delete, no leaks, stored SEO status, rate limit, cleanup (%site%, article repo split, old lang repos, one default per site rule to domain) 2026-11-03 16:01:52 +01:00
Florian Sylvain c390fcfe8d feat: public API, SEO and existing surfaces 2026-11-03 03:58:10 +01:00
Florian Sylvain a671b81f80 feat: editorial article list 2026-11-02 07:28:44 +01:00
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