Files
api/prisma/migrations/20261007180000_granular_product_permissions/migration.sql
T

22 lines
1.3 KiB
SQL

-- 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;