[server][core] Fix shared resources query

This commit is contained in:
Abhishek Shroff
2025-03-15 11:36:35 +05:30
parent bb74178e41
commit 780dd5716d
3 changed files with 12 additions and 19 deletions

View File

@@ -125,15 +125,12 @@ func (q *Queries) RevokeUserPermissions(ctx context.Context, arg RevokeUserPermi
}
const sharedResources = `-- name: SharedResources :many
SELECT r.id, r.name, r.parent, r.dir, r.created, r.modified, r.deleted, r.content_length, r.content_type, r.content_sha256, r.permissions, r.grants
FROM permissions p
JOIN resources r
ON p.resource_id = r.id
WHERE p.username = $1::text
AND p.resource_id <> $2::uuid
AND p.value <> 0
AND r.deleted IS NULL
ORDER BY p.modified DESC
SELECT id, name, parent, dir, created, modified, deleted, content_length, content_type, content_sha256, permissions, grants FROM resources
WHERE grants ? $1::TEXT
AND id <> $2::UUID
AND deleted IS NULL
AND grants -> $1::TEXT -> 'p' <> 0
ORDER BY grants -> $1::TEXT -> 't' DESC
`
type SharedResourcesParams struct {

View File

@@ -6,7 +6,6 @@ import (
)
func (m manager) SharedResources(u User) ([]fs.ResourceInfo, error) {
// TODO: #permissions This doesn't take permissions into account. is this okay?
res, err := m.db.Queries.SharedResources(m.ctx, db.SharedResourcesParams{Username: u.Username, UserHome: u.Home})
if err != nil {
return nil, err

View File

@@ -55,12 +55,9 @@ SET
WHERE username = $2;
-- name: SharedResources :many
SELECT r.*
FROM permissions p
JOIN resources r
ON p.resource_id = r.id
WHERE p.username = @username::text
AND p.resource_id <> @user_home::uuid
AND p.value <> 0
AND r.deleted IS NULL
ORDER BY p.modified DESC;
SELECT * FROM resources
WHERE grants ? @username::TEXT
AND id <> @user_home::UUID
AND deleted IS NULL
AND grants -> @username::TEXT -> 'p' <> 0
ORDER BY grants -> @username::TEXT -> 't' DESC;