28 lines
1.3 KiB
SQL
28 lines
1.3 KiB
SQL
|
|
-- name: ListImageReferences :many
|
||
|
|
SELECT r.id, r.tenant_id, r.image_asset_id, r.article_id, r.ref_scope, r.created_at
|
||
|
|
FROM image_asset_references r
|
||
|
|
WHERE r.tenant_id = sqlc.arg(tenant_id) AND r.image_asset_id = sqlc.arg(image_asset_id);
|
||
|
|
|
||
|
|
-- name: CountImageReferences :one
|
||
|
|
SELECT COUNT(*)::INT AS total
|
||
|
|
FROM image_asset_references
|
||
|
|
WHERE tenant_id = sqlc.arg(tenant_id) AND image_asset_id = sqlc.arg(image_asset_id);
|
||
|
|
|
||
|
|
-- name: UpsertImageReference :exec
|
||
|
|
INSERT INTO image_asset_references (tenant_id, image_asset_id, article_id, ref_scope)
|
||
|
|
VALUES (sqlc.arg(tenant_id), sqlc.arg(image_asset_id), sqlc.arg(article_id), sqlc.arg(ref_scope))
|
||
|
|
ON CONFLICT (image_asset_id, article_id, ref_scope) DO UPDATE SET updated_at = NOW();
|
||
|
|
|
||
|
|
-- name: DeleteImageReferencesByArticle :exec
|
||
|
|
DELETE FROM image_asset_references
|
||
|
|
WHERE tenant_id = sqlc.arg(tenant_id) AND article_id = sqlc.arg(article_id);
|
||
|
|
|
||
|
|
-- name: DeleteImageReferencesByArticleScope :exec
|
||
|
|
DELETE FROM image_asset_references
|
||
|
|
WHERE tenant_id = sqlc.arg(tenant_id) AND article_id = sqlc.arg(article_id) AND ref_scope = sqlc.arg(ref_scope);
|
||
|
|
|
||
|
|
-- name: ListImageReferenceArticles :many
|
||
|
|
SELECT DISTINCT r.article_id, r.ref_scope
|
||
|
|
FROM image_asset_references r
|
||
|
|
WHERE r.tenant_id = sqlc.arg(tenant_id) AND r.image_asset_id = sqlc.arg(image_asset_id);
|