mirror of
https://github.com/Dvorinka/Primora.git
synced 2026-06-03 20:13:01 +00:00
67 lines
1.4 KiB
SQL
67 lines
1.4 KiB
SQL
-- name: ListCollections :many
|
|
SELECT * FROM core.collections
|
|
WHERE project_id = $1
|
|
ORDER BY created_at DESC;
|
|
|
|
-- name: GetCollectionBySlug :one
|
|
SELECT * FROM core.collections
|
|
WHERE project_id = $1 AND slug = $2;
|
|
|
|
-- name: GetCollectionByID :one
|
|
SELECT * FROM core.collections
|
|
WHERE id = $1;
|
|
|
|
-- name: CreateCollection :one
|
|
INSERT INTO core.collections (
|
|
project_id, slug, name, description, schema, created_by_user_id
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6
|
|
) RETURNING *;
|
|
|
|
-- name: UpdateCollection :one
|
|
UPDATE core.collections
|
|
SET
|
|
name = $3,
|
|
description = $4,
|
|
schema = $5,
|
|
updated_at = NOW()
|
|
WHERE id = $1 AND project_id = $2
|
|
RETURNING *;
|
|
|
|
-- name: DeleteCollection :exec
|
|
DELETE FROM core.collections
|
|
WHERE id = $1 AND project_id = $2;
|
|
|
|
-- name: ListDocuments :many
|
|
SELECT * FROM core.documents
|
|
WHERE collection_id = $1
|
|
ORDER BY created_at DESC
|
|
LIMIT $2 OFFSET $3;
|
|
|
|
-- name: CountDocuments :one
|
|
SELECT COUNT(*) FROM core.documents
|
|
WHERE collection_id = $1;
|
|
|
|
-- name: GetDocumentByID :one
|
|
SELECT * FROM core.documents
|
|
WHERE id = $1 AND collection_id = $2;
|
|
|
|
-- name: CreateDocument :one
|
|
INSERT INTO core.documents (
|
|
collection_id, data, created_by_user_id
|
|
) VALUES (
|
|
$1, $2, $3
|
|
) RETURNING *;
|
|
|
|
-- name: UpdateDocument :one
|
|
UPDATE core.documents
|
|
SET
|
|
data = $3,
|
|
updated_at = NOW()
|
|
WHERE id = $1 AND collection_id = $2
|
|
RETURNING *;
|
|
|
|
-- name: DeleteDocument :exec
|
|
DELETE FROM core.documents
|
|
WHERE id = $1 AND collection_id = $2;
|