Files
libredesk/internal/view/queries.sql
T
Abhinav Raut ddddf04fb6 feat: Shared views for agents and specific teams and admin pages to manage shared views.
- Log activity for password set and role permission changes.
- Fix agent permissions not changing when a role is modified / deleted.
2025-12-27 13:57:21 +05:30

39 lines
1.2 KiB
SQL

-- name: get-view
SELECT id, created_at, updated_at, name, filters, visibility, user_id, team_id
FROM views WHERE id = $1;
-- name: get-user-views
-- Returns personal views (visibility='user') for a specific user
SELECT id, created_at, updated_at, name, filters, visibility, user_id, team_id
FROM views WHERE user_id = $1 AND visibility = 'user'
ORDER BY updated_at DESC;
-- name: get-shared-views-for-user
-- Returns shared views visible to a user (global + team views for user's teams)
SELECT id, created_at, updated_at, name, filters, visibility, user_id, team_id
FROM views
WHERE visibility = 'all'
OR (visibility = 'team' AND team_id = ANY($1))
ORDER BY visibility ASC, updated_at DESC;
-- name: get-all-shared-views
SELECT id, created_at, updated_at, name, filters, visibility, user_id, team_id
FROM views
WHERE visibility != 'user'
ORDER BY visibility ASC, updated_at DESC;
-- name: insert-view
INSERT INTO views (name, filters, visibility, user_id, team_id)
VALUES ($1, $2, $3, $4, $5)
RETURNING *;
-- name: delete-view
DELETE FROM views
WHERE id = $1;
-- name: update-view
UPDATE views
SET name = $2, filters = $3, visibility = $4, user_id = $5, team_id = $6, updated_at = NOW()
WHERE id = $1
RETURNING *;