2025-01-23 14:56:20 +00:00
|
|
|
-- name: GetDocument :one
|
2025-02-05 17:44:01 +00:00
|
|
|
SELECT id, jobId, hash FROM documents WHERE id = $1 LIMIT 1;
|
2025-01-23 14:56:20 +00:00
|
|
|
|
2025-02-21 17:05:37 +00:00
|
|
|
-- name: ListDocumentsByJobId :many
|
|
|
|
|
WITH docs as (
|
|
|
|
|
SELECT id from documents where jobId = @jobId
|
|
|
|
|
),
|
|
|
|
|
entries as (
|
|
|
|
|
SELECT
|
|
|
|
|
de.documentId,
|
|
|
|
|
de.bucket,
|
|
|
|
|
de.key,
|
|
|
|
|
ROW_NUMBER() OVER (PARTITION BY de.documentId ORDER BY de.id DESC) as rowNumber
|
|
|
|
|
FROM docs d
|
|
|
|
|
JOIN documentEntries de on d.id = de.documentId
|
|
|
|
|
)
|
|
|
|
|
SELECT documentId as id, bucket, key from entries WHERE rowNumber = 1;
|
|
|
|
|
|
2025-01-23 14:56:20 +00:00
|
|
|
-- name: CreateDocument :one
|
2025-02-05 17:44:01 +00:00
|
|
|
INSERT INTO documents (jobId, hash) VALUES ($1, $2) RETURNING id;
|
|
|
|
|
|
|
|
|
|
-- name: AddDocumentEntry :exec
|
2025-02-07 12:12:51 +00:00
|
|
|
INSERT INTO documentEntries (documentId, bucket, key) VALUES ($1, $2, $3);
|
|
|
|
|
|
|
|
|
|
-- name: GetDocumentEntry :one
|
|
|
|
|
SELECT documentId, bucket, key FROM documentEntries WHERE documentId = $1 ORDER BY id DESC LIMIT 1;
|
2025-02-05 17:44:01 +00:00
|
|
|
|
|
|
|
|
-- name: GetDocumentIDByHash :one
|
2025-02-07 12:12:51 +00:00
|
|
|
SELECT id FROM documents WHERE hash = $1 and jobId = $2;
|