mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-05-03 18:49:15 -05:00
[server][core][db] Inline fs_permissions.sql
This commit is contained in:
@@ -12,20 +12,4 @@ SET
|
||||
grants = grants - @username::TEXT,
|
||||
modified = NOW()
|
||||
WHERE id = @resource_id::uuid
|
||||
RETURNING permissions;
|
||||
|
||||
-- name: RecomputePermissions :exec
|
||||
WITH RECURSIVE nodes(id, parent, permissions) AS (
|
||||
SELECT r.id, r.parent, phylum_merge_permission_grants(COALESCE(p.permissions, '{}'::JSONB), r.grants) END
|
||||
FROM resources r
|
||||
LEFT JOIN resources p
|
||||
ON r.parent = p.id
|
||||
WHERE r.id = @resource_id::uuid
|
||||
UNION ALL
|
||||
SELECT r.id, r.parent, phylum_merge_permission_grants(n.permissions, r.grants)
|
||||
FROM resources r JOIN nodes n on r.parent = n.id
|
||||
)
|
||||
UPDATE resources
|
||||
SET permissions = nodes.permissions
|
||||
FROM nodes
|
||||
WHERE resources.id = nodes.id;
|
||||
RETURNING permissions;
|
||||
Reference in New Issue
Block a user