df/db/query/mail.sql
2023-09-19 21:04:04 +02:00

43 lines
870 B
SQL

-- name: GetMail :one
SELECT * FROM mails
WHERE "ID" = $1 LIMIT 1;
-- name: CreateMail :one
INSERT INTO mails (
"from",
"to",
cc,
"subject",
body,
"timestamp",
creator,
changer
)
VALUES (
$1, $2, $3, $4, $5, $6, $7, $8
)
RETURNING *;
-- name: ListMails :many
SELECT * FROM mails
ORDER BY "timestamp", "from"
LIMIT $1
OFFSET $2;
-- -- name: UpdateMail :one
-- UPDATE mails
-- SET
-- "from" = COALESCE(sqlc.narg(from), "from"),
-- "to" = COALESCE(sqlc.narg(to), "to"),
-- cc = COALESCE(sqlc.narg(cc), cc),
-- "subject" = COALESCE(sqlc.narg(subject), "subject"),
-- body = COALESCE(sqlc.narg(body), body),
-- "timestamp" = COALESCE(sqlc.narg(timestamp), "timestamp"),
-- changer = $2,
-- changed = now()
-- WHERE "ID" = $1
-- RETURNING *;
-- name: DeleteMail :exec
DELETE FROM mails
WHERE "ID" = $1;