mirror of
https://github.com/abhinavxd/libredesk.git
synced 2026-09-10 22:25:39 +00:00
122 lines
1.9 KiB
SQL
122 lines
1.9 KiB
SQL
-- name: get
|
|
SELECT
|
|
id,
|
|
created_at,
|
|
updated_at,
|
|
name,
|
|
actions,
|
|
visibility,
|
|
visible_when,
|
|
message_content,
|
|
user_id,
|
|
team_id,
|
|
usage_count
|
|
FROM
|
|
macros
|
|
WHERE
|
|
id = $1;
|
|
|
|
-- name: get-all
|
|
SELECT
|
|
id,
|
|
created_at,
|
|
updated_at,
|
|
name,
|
|
actions,
|
|
visibility,
|
|
visible_when,
|
|
message_content,
|
|
user_id,
|
|
team_id,
|
|
usage_count
|
|
FROM
|
|
macros
|
|
ORDER BY
|
|
updated_at DESC;
|
|
|
|
-- name: get-all-compact
|
|
SELECT
|
|
COUNT(*) OVER() AS total,
|
|
id,
|
|
created_at,
|
|
updated_at,
|
|
name,
|
|
actions,
|
|
visibility,
|
|
visible_when,
|
|
message_content != '' AS has_message_content,
|
|
user_id,
|
|
team_id,
|
|
usage_count
|
|
FROM
|
|
macros
|
|
WHERE
|
|
($1 = '' OR name ILIKE '%' || $1 || '%')
|
|
ORDER BY
|
|
updated_at DESC
|
|
LIMIT NULLIF($2, 0) OFFSET $3;
|
|
|
|
-- name: search-compact
|
|
SELECT
|
|
id,
|
|
created_at,
|
|
updated_at,
|
|
name,
|
|
actions,
|
|
visibility,
|
|
visible_when,
|
|
message_content != '' AS has_message_content,
|
|
user_id,
|
|
team_id,
|
|
usage_count
|
|
FROM
|
|
macros
|
|
WHERE
|
|
($1 = '' OR name ILIKE '%' || $1 || '%')
|
|
AND ($2 = '' OR $2 = ANY(visible_when::text[]))
|
|
AND (
|
|
visibility = 'all'
|
|
OR (visibility = 'user' AND user_id = $3)
|
|
OR (visibility = 'team' AND team_id = ANY($4::bigint[]))
|
|
)
|
|
ORDER BY
|
|
usage_count DESC,
|
|
updated_at DESC
|
|
LIMIT 30;
|
|
|
|
-- name: create
|
|
INSERT INTO
|
|
macros (name, message_content, user_id, team_id, visibility, visible_when, actions)
|
|
VALUES
|
|
($1, $2, $3, $4, $5, $6, $7)
|
|
RETURNING *;
|
|
|
|
-- name: update
|
|
UPDATE
|
|
macros
|
|
SET
|
|
name = $2,
|
|
message_content = $3,
|
|
user_id = $4,
|
|
team_id = $5,
|
|
visibility = $6,
|
|
visible_when = $7,
|
|
actions = $8,
|
|
updated_at = NOW()
|
|
WHERE
|
|
id = $1
|
|
RETURNING *;
|
|
|
|
-- name: delete
|
|
DELETE FROM
|
|
macros
|
|
WHERE
|
|
id = $1;
|
|
|
|
-- name: increment-usage-count
|
|
UPDATE
|
|
macros
|
|
SET
|
|
usage_count = usage_count + 1
|
|
WHERE
|
|
id = $1; |