All checks were successful
Build and Release / release (push) Successful in 1m15s
44 lines
975 B
SQL
44 lines
975 B
SQL
-- name: CreateEntity :one
|
|
INSERT INTO entities (
|
|
name, description, thumbnail_url
|
|
) VALUES (
|
|
$1, $2, $3
|
|
)
|
|
RETURNING *;
|
|
|
|
|
|
-- name: GetEntityById :one
|
|
SELECT *
|
|
FROM entities
|
|
WHERE id = $1 AND is_deleted = false;
|
|
|
|
|
|
-- name: UpdateEntity :one
|
|
UPDATE entities
|
|
SET
|
|
name = COALESCE(sqlc.narg('name'), name),
|
|
description = COALESCE(sqlc.narg('description'), description),
|
|
thumbnail_url = COALESCE(sqlc.narg('thumbnail_url'), thumbnail_url)
|
|
WHERE id = sqlc.arg('id') AND is_deleted = false
|
|
RETURNING *;
|
|
|
|
|
|
-- name: DeleteEntity :exec
|
|
UPDATE entities
|
|
SET
|
|
is_deleted = true
|
|
WHERE id = $1;
|
|
|
|
|
|
-- name: SearchEntities :many
|
|
SELECT *
|
|
FROM entities
|
|
WHERE is_deleted = false
|
|
AND name ILIKE '%' || sqlc.arg('name')::text || '%'
|
|
AND (sqlc.narg('cursor_id')::uuid IS NULL OR id < sqlc.narg('cursor_id')::uuid)
|
|
ORDER BY id DESC
|
|
LIMIT sqlc.arg('limit_count');
|
|
|
|
-- name: GetEntitiesByIDs :many
|
|
SELECT * FROM entities WHERE id = ANY($1::uuid[]) AND is_deleted = false;
|