61 lines
1.1 KiB
SQL
61 lines
1.1 KiB
SQL
-- name: GetDocument :one
|
|
SELECT * FROM documents
|
|
WHERE "ID" = $1 LIMIT 1;
|
|
|
|
-- name: CreateDocument :one
|
|
INSERT INTO documents (
|
|
"personID",
|
|
name,
|
|
type,
|
|
path,
|
|
url,
|
|
creator,
|
|
changer
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7
|
|
) RETURNING *;
|
|
|
|
-- name: ListDocuments :many
|
|
SELECT * FROM documents
|
|
ORDER BY valid, type, name
|
|
LIMIT $1
|
|
OFFSET $2;
|
|
|
|
-- name: UpdateDocument :one
|
|
UPDATE documents
|
|
SET
|
|
"personID" = COALESCE(sqlc.narg(personID), "personID"),
|
|
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,
|
|
"validDate" = now(),
|
|
"validatedBy" = $2,
|
|
changer = $2,
|
|
changed = now()
|
|
WHERE "ID" = $1
|
|
RETURNING *;
|
|
|
|
-- name: InvalidateDocument :one
|
|
UPDATE documents
|
|
SET
|
|
valid = false,
|
|
"validDate" = NULL,
|
|
"validatedBy" = NULL,
|
|
changer = $2,
|
|
changed = now()
|
|
WHERE "ID" = $1
|
|
RETURNING *;
|
|
|
|
-- name: DeleteDocument :exec
|
|
DELETE FROM documents
|
|
WHERE "ID" = $1; |