Files
libredesk/internal/media/queries.sql
Abhinav Raut 227aa26c35 - fix: Inline images present in email quote replies previously not visible, now show up correctly, the media does not get uploaded again instead the existing media url is replaced with the cid url.
- fix: content id check for attachments, as content id is not globally unqiue.

- fix: send missing websocket updates to the fronend on conversation status update.

- refactor: combine get media by id and uuid into a singlequery
2025-03-12 02:39:39 +05:30

54 lines
1.3 KiB
SQL

-- name: insert-media
INSERT INTO media (store, filename, content_type, size, meta, model_id, model_type, disposition, content_id, uuid)
VALUES(
$1,
$2,
$3,
$4,
$5,
NULLIF($6, 0),
NULLIF($7, ''),
$8,
$9,
$10
)
RETURNING id;
-- name: get-media
SELECT id, created_at, "uuid", store, filename, content_type, model_id, model_type, "size", disposition
FROM media
WHERE
($1 > 0 AND id = $1)
OR
($2 != '' AND uuid = $2::uuid)
-- name: get-media-by-uuid
SELECT id, created_at, "uuid", store, filename, content_type, model_id, model_type, "size", disposition
FROM media
WHERE uuid = $1;
-- name: delete-media
DELETE FROM media
WHERE uuid = $1;
-- name: attach-to-model
UPDATE media
SET model_type = $2,
model_id = $3
WHERE id = $1;
-- name: get-model-media
SELECT id, created_at, "uuid", store, filename, content_type, model_id, model_type, "size", disposition
FROM media
WHERE model_type = $1
AND model_id = $2;
-- name: get-unlinked-message-media
SELECT id, created_at, "uuid", store, filename, content_type, model_id, model_type, "size", disposition
FROM media
WHERE model_type = 'messages'
AND (model_id IS NULL OR model_id = 0)
AND created_at < NOW() - INTERVAL '1 day';
-- name: content-id-exists
SELECT uuid FROM media WHERE content_id = $1;