Files
qipai/database/migrations/2026081001_m08c_staff_management_access.verify.sql
T

20 lines
748 B
SQL

SELECT COUNT(*) AS staff_role_count
FROM qipai_roles r
WHERE r.code = 'STAFF' AND r.status = 'ACTIVE' AND r.deleted_at IS NULL
HAVING COUNT(*) = (
SELECT COUNT(*)
FROM (
SELECT granted_role.tenant_id, granted_role.id
FROM qipai_roles granted_role
INNER JOIN qipai_role_permissions rp
ON rp.tenant_id = granted_role.tenant_id AND rp.role_id = granted_role.id
INNER JOIN qipai_permissions p ON p.id = rp.permission_id
WHERE granted_role.code = 'STAFF'
AND granted_role.status = 'ACTIVE'
AND granted_role.deleted_at IS NULL
AND p.code IN ('profile.read', 'store.operation.read')
GROUP BY granted_role.tenant_id, granted_role.id
HAVING COUNT(DISTINCT p.code) = 2
) fully_granted_staff_roles
);