Add user_id

This commit is contained in:
Abhishek Shroff
2024-08-04 11:31:45 +05:30
parent 3610418019
commit 0f0fd69092
27 changed files with 158 additions and 121 deletions

View File

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

View File

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

View File

@@ -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]
)

View File

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