feat: granular hamkar/khanegi permissions (manage / settings / appearance)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-07 20:48:32 +03:30
co-authored by Cursor
parent 674da4e939
commit 30dc83890b
5 changed files with 134 additions and 18 deletions
@@ -0,0 +1,21 @@
-- Split hamkar/khanegi access into sub-sections (manage / settings / ui).
-- Existing admins keep what they had: hamkar:* also grants hamkar.ui:*,
-- khanegi:* also grants khanegi.ui:* and khanegi.settings:*.
UPDATE "users" SET "permissions" = "permissions" || '["hamkar.ui:read"]'::jsonb
WHERE "permissions" @> '["hamkar:read"]'::jsonb AND NOT "permissions" @> '["hamkar.ui:read"]'::jsonb;
UPDATE "users" SET "permissions" = "permissions" || '["hamkar.ui:write"]'::jsonb
WHERE "permissions" @> '["hamkar:write"]'::jsonb AND NOT "permissions" @> '["hamkar.ui:write"]'::jsonb;
UPDATE "users" SET "permissions" = "permissions" || '["khanegi.ui:read"]'::jsonb
WHERE "permissions" @> '["khanegi:read"]'::jsonb AND NOT "permissions" @> '["khanegi.ui:read"]'::jsonb;
UPDATE "users" SET "permissions" = "permissions" || '["khanegi.ui:write"]'::jsonb
WHERE "permissions" @> '["khanegi:write"]'::jsonb AND NOT "permissions" @> '["khanegi.ui:write"]'::jsonb;
UPDATE "users" SET "permissions" = "permissions" || '["khanegi.settings:read"]'::jsonb
WHERE "permissions" @> '["khanegi:read"]'::jsonb AND NOT "permissions" @> '["khanegi.settings:read"]'::jsonb;
UPDATE "users" SET "permissions" = "permissions" || '["khanegi.settings:write"]'::jsonb
WHERE "permissions" @> '["khanegi:write"]'::jsonb AND NOT "permissions" @> '["khanegi.settings:write"]'::jsonb;