Files
Kazier/backend/internal/db/queries/resource_placements.sql
T
2026-07-28 18:12:56 +02:00

33 lines
907 B
SQL

-- name: CreatePlacement :one
INSERT INTO resource_placements (resource_id, storage_location_id, status, storage_key, synced_at)
VALUES ($1, $2, $3, $4, $5)
RETURNING *;
-- name: GetPlacement :one
SELECT * FROM resource_placements
WHERE resource_id = $1 AND storage_location_id = $2
LIMIT 1;
-- name: ListPlacementsByResource :many
SELECT * FROM resource_placements
WHERE resource_id = $1;
-- name: ListPlacementsByLocation :many
SELECT * FROM resource_placements
WHERE storage_location_id = $1;
-- name: UpdatePlacementStatus :exec
UPDATE resource_placements
SET status = $1, synced_at = CURRENT_TIMESTAMP
WHERE id = $2;
-- name: DeletePlacement :exec
DELETE FROM resource_placements
WHERE id = $1;
-- name: GetServerPlacementByResource :one
SELECT rp.* FROM resource_placements rp
JOIN storage_locations sl ON sl.id = rp.storage_location_id
WHERE rp.resource_id = $1 AND sl.role = 'server'
LIMIT 1;