feat: scope articles by brand
This commit is contained in:
@@ -45,8 +45,8 @@ WHERE article_id = sqlc.arg(article_id)
|
||||
ORDER BY version_no DESC;
|
||||
|
||||
-- name: CreateArticle :one
|
||||
INSERT INTO articles (tenant_id, source_type, template_id, kol_prompt_id, generate_status, publish_status)
|
||||
VALUES (sqlc.arg(tenant_id), sqlc.arg(source_type), sqlc.arg(template_id), sqlc.arg(kol_prompt_id), 'pending', 'unpublished')
|
||||
INSERT INTO articles (tenant_id, brand_id, source_type, template_id, kol_prompt_id, generate_status, publish_status)
|
||||
VALUES (sqlc.arg(tenant_id), sqlc.arg(brand_id), sqlc.arg(source_type), sqlc.arg(template_id), sqlc.arg(kol_prompt_id), 'pending', 'unpublished')
|
||||
RETURNING id;
|
||||
|
||||
-- name: CreateArticleVersion :one
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
-- name: CountArticlesByTenant :one
|
||||
-- name: CountArticlesByTenantAndBrand :one
|
||||
SELECT COUNT(*) FROM articles
|
||||
WHERE tenant_id = sqlc.arg(tenant_id) AND deleted_at IS NULL;
|
||||
WHERE tenant_id = sqlc.arg(tenant_id) AND brand_id = sqlc.arg(brand_id) AND deleted_at IS NULL;
|
||||
|
||||
-- name: CountPublishedArticlesByTenant :one
|
||||
-- name: CountPublishedArticlesByTenantAndBrand :one
|
||||
SELECT COUNT(*) FROM articles
|
||||
WHERE tenant_id = sqlc.arg(tenant_id) AND publish_status = 'success' AND deleted_at IS NULL;
|
||||
WHERE tenant_id = sqlc.arg(tenant_id) AND brand_id = sqlc.arg(brand_id) AND publish_status = 'success' AND deleted_at IS NULL;
|
||||
|
||||
-- name: CountBrandsByTenant :one
|
||||
SELECT COUNT(*) FROM brands
|
||||
WHERE tenant_id = sqlc.arg(tenant_id) AND deleted_at IS NULL;
|
||||
|
||||
-- name: GetRecentArticles :many
|
||||
SELECT a.id, a.generate_status, a.publish_status, a.source_type, a.created_at,
|
||||
-- name: GetRecentArticlesByBrand :many
|
||||
SELECT a.id, a.brand_id, a.generate_status, a.publish_status, a.source_type, a.created_at,
|
||||
av.title, av.markdown_content, av.word_count, av.source_label,
|
||||
t.template_name,
|
||||
COALESCE(
|
||||
@@ -28,7 +28,7 @@ LEFT JOIN LATERAL (
|
||||
ORDER BY created_at DESC
|
||||
LIMIT 1
|
||||
) gt ON true
|
||||
WHERE a.tenant_id = sqlc.arg(tenant_id) AND a.deleted_at IS NULL
|
||||
WHERE a.tenant_id = sqlc.arg(tenant_id) AND a.brand_id = sqlc.arg(brand_id) AND a.deleted_at IS NULL
|
||||
ORDER BY a.created_at DESC
|
||||
LIMIT 10;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user