mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-01-06 11:39:42 -06:00
Add user_id
This commit is contained in:
@@ -3,7 +3,7 @@ SELECT * from access_tokens where id = $1;
|
||||
|
||||
-- name: InsertAccessToken :one
|
||||
INSERT INTO access_tokens(
|
||||
id, created, expires, username
|
||||
id, created, expires, user_id
|
||||
) VALUES(
|
||||
@id::text, NOW(), NOW() + @validity::interval, @username::text
|
||||
@id::text, NOW(), NOW() + @validity::interval, @user_id::int
|
||||
) RETURNING *;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
-- name: PermissionsForResource :one
|
||||
WITH RECURSIVE nodes(id, parent, permission) AS (
|
||||
SELECT r.id, r.parent, p.permission
|
||||
FROM resources r LEFT JOIN permissions p on r.id = p.resource_id WHERE r.id = @resource_id::uuid AND p.username = @username::text
|
||||
FROM resources r LEFT JOIN permissions p on r.id = p.resource_id WHERE r.id = @resource_id::uuid AND p.user_id = @user_id::int
|
||||
UNION ALL
|
||||
SELECT r.id, r.parent, CASE WHEN (n.permission IS NULL OR p.permission > n.permission) THEN p.permission ELSE n.permission END
|
||||
FROM resources r JOIN nodes n ON r.id = n.parent LEFT JOIN permissions p ON r.id = p.resource_id AND p.username = @username::text
|
||||
FROM resources r JOIN nodes n ON r.id = n.parent LEFT JOIN permissions p ON r.id = p.resource_id AND p.user_id = @user_id::int
|
||||
)
|
||||
SELECT * FROM nodes WHERE parent IS NULL;
|
||||
|
||||
@@ -37,14 +37,14 @@ WITH RECURSIVE nodes(id, parent, name, dir, created, modified, size, etag, depth
|
||||
FROM resources r
|
||||
LEFT JOIN permissions p
|
||||
ON r.id = p.resource_id
|
||||
AND p.username = @username::text
|
||||
AND p.user_id = @user_id::int
|
||||
WHERE r.id = @id::uuid
|
||||
UNION ALL
|
||||
SELECT r.id, r.parent, r.name, r.dir, r.created, r.modified, r.size, r.etag, n.depth + 1, concat(n.path, '/', r.name), CASE WHEN (p.permission IS NULL OR p.permission < n.permission) THEN n.permission ELSE p.permission END
|
||||
FROM resources r JOIN nodes n on r.parent = n.id
|
||||
LEFT JOIN permissions p
|
||||
ON r.id = p.resource_id
|
||||
AND p.username = @username::text
|
||||
AND p.user_id = @user_id::int
|
||||
WHERE deleted IS NULL
|
||||
AND CASE WHEN @recursive::boolean THEN true ELSE depth < 1 END
|
||||
)
|
||||
@@ -57,7 +57,7 @@ WITH RECURSIVE nodes(id, parent, name, dir, created, modified, size, etag, depth
|
||||
FROM resources r
|
||||
LEFT JOIN permissions p
|
||||
ON r.id = p.resource_id
|
||||
AND p.username = @username::text
|
||||
AND p.user_id = @user_id::int
|
||||
WHERE r.id = @root::uuid
|
||||
UNION ALL
|
||||
SELECT r.id, r.parent, r.name, r.dir, r.created, r.modified, r.size, r.etag, n.depth + 1, concat(n.path, '/', r.name), n.search, CASE WHEN (p.permission IS NULL OR p.permission < n.permission) THEN n.permission ELSE p.permission END
|
||||
@@ -65,7 +65,7 @@ WITH RECURSIVE nodes(id, parent, name, dir, created, modified, size, etag, depth
|
||||
JOIN nodes n ON r.parent = n.id
|
||||
LEFT JOIN permissions p
|
||||
ON r.id = p.resource_id
|
||||
AND p.username = @username::text
|
||||
AND p.user_id = @user_id::int
|
||||
WHERE deleted IS NULL
|
||||
AND r.name = n.search[n.depth + 1]
|
||||
)
|
||||
|
||||
@@ -18,4 +18,4 @@ INSERT INTO silos(
|
||||
SELECT * from silos;
|
||||
|
||||
-- name: ListSilosForUser :many
|
||||
SELECT * from silos where owner = @username::text;
|
||||
SELECT * from silos where owner = @user_id::int;
|
||||
Reference in New Issue
Block a user