-- Ensure GM has all module permissions -- Run: npx prisma db execute --file prisma/ensure-gm-permissions.sql INSERT INTO position_permissions (id, "positionId", module, resource, actions, "createdAt", "updatedAt") SELECT gen_random_uuid(), p.id, m.module, '*', '["*"]', NOW(), NOW() FROM positions p CROSS JOIN (VALUES ('contacts'), ('crm'), ('inventory'), ('projects'), ('hr'), ('marketing'), ('admin')) AS m(module) WHERE p.code = 'GM' AND NOT EXISTS ( SELECT 1 FROM position_permissions pp WHERE pp."positionId" = p.id AND pp.module = m.module AND pp.resource = '*' );