75 lines
1.4 KiB
SQL
75 lines
1.4 KiB
SQL
-- name: GetDocument :one
|
|
SELECT * FROM documents
|
|
WHERE "id" = $1 LIMIT 1;
|
|
|
|
-- name: CreateDocumentUpload :one
|
|
INSERT INTO documents (
|
|
"person_id",
|
|
"name",
|
|
"type",
|
|
"path",
|
|
"url",
|
|
"creator",
|
|
"changer",
|
|
"mail_id"
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7, NULL
|
|
) RETURNING *;
|
|
|
|
-- name: CreateDocumentMail :one
|
|
INSERT INTO documents (
|
|
"mail_id",
|
|
"name",
|
|
"type",
|
|
"path",
|
|
"url",
|
|
"creator",
|
|
"changer",
|
|
"person_id"
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7, NULL
|
|
) RETURNING *;
|
|
|
|
-- name: ListDocuments :many
|
|
SELECT * FROM documents
|
|
ORDER BY "valid", "type", "name"
|
|
LIMIT $1
|
|
OFFSET $2;
|
|
|
|
-- name: UpdateDocument :one
|
|
UPDATE documents
|
|
SET
|
|
"name" = COALESCE(sqlc.narg(name), "name"),
|
|
"type" = COALESCE(sqlc.narg(type), "type"),
|
|
"path" = COALESCE(sqlc.narg(path), "path"),
|
|
"url" = COALESCE(sqlc.narg(url), "url"),
|
|
changer = $2,
|
|
changed = now()
|
|
WHERE "id" = $1
|
|
RETURNING *;
|
|
|
|
-- name: ValidateDocument :one
|
|
UPDATE documents
|
|
SET
|
|
"valid" = true,
|
|
"valid_date" = now(),
|
|
"validated_by" = $2,
|
|
"changer" = $2,
|
|
"changed" = now()
|
|
WHERE "id" = $1
|
|
RETURNING *;
|
|
|
|
-- name: InvalidateDocument :one
|
|
UPDATE documents
|
|
SET
|
|
"valid" = false,
|
|
"valid_date" = NULL,
|
|
"validated_by" = NULL,
|
|
"changer" = $2,
|
|
"changed" = now()
|
|
WHERE "id" = $1
|
|
RETURNING *;
|
|
|
|
-- name: DeleteDocument :exec
|
|
DELETE FROM documents
|
|
WHERE "id" = $1; |