feat(kol): marketplace and admin subscription repo queries
This commit is contained in:
@@ -26,7 +26,12 @@ LIMIT sqlc.arg('limit') OFFSET sqlc.arg('offset');
|
||||
SELECT kp.id, kp.tenant_id, kp.kol_profile_id, kp.name, kp.description,
|
||||
kp.cover_url, kp.industry, kp.tags, kp.price_note, kp.status,
|
||||
kp.created_at, kp.updated_at,
|
||||
pf.display_name AS kol_display_name, pf.avatar_url AS kol_avatar_url, pf.bio AS kol_bio
|
||||
pf.display_name AS kol_display_name, pf.avatar_url AS kol_avatar_url, pf.bio AS kol_bio,
|
||||
(SELECT COUNT(*) FROM kol_prompts p
|
||||
WHERE p.package_id = kp.id AND p.status = 'active' AND p.deleted_at IS NULL) AS prompt_count,
|
||||
(SELECT COUNT(*) FROM kol_subscriptions s
|
||||
WHERE s.package_id = kp.id AND s.status = 'active'
|
||||
AND (s.end_at IS NULL OR s.end_at > NOW())) AS subscriber_count
|
||||
FROM kol_packages kp
|
||||
JOIN kol_profiles pf ON pf.id = kp.kol_profile_id
|
||||
AND pf.status = 'active'
|
||||
|
||||
@@ -9,6 +9,13 @@ FROM kol_subscriptions
|
||||
WHERE id = sqlc.arg(id)
|
||||
AND tenant_id = sqlc.arg(tenant_id)::bigint;
|
||||
|
||||
-- name: GetKolSubscriptionByIDAny :one
|
||||
-- Cross-tenant read: V1 tenant-admin endpoints temporarily manage subscriptions here
|
||||
-- until a dedicated platform-api exists.
|
||||
SELECT id, tenant_id, package_id, status, approved_by, start_at, end_at, created_at, updated_at
|
||||
FROM kol_subscriptions
|
||||
WHERE id = sqlc.arg(id);
|
||||
|
||||
-- name: GetActiveKolSubscription :one
|
||||
SELECT id, tenant_id, package_id, status, approved_by, start_at, end_at, created_at, updated_at
|
||||
FROM kol_subscriptions
|
||||
|
||||
Reference in New Issue
Block a user