59 lines
2.0 KiB
SQL
59 lines
2.0 KiB
SQL
-- name: CreateKolPackage :one
|
|
INSERT INTO kol_packages (tenant_id, kol_profile_id, name, description, cover_url, industry, tags, price_note, status)
|
|
VALUES (sqlc.arg(tenant_id)::bigint, sqlc.arg(kol_profile_id), sqlc.arg(name),
|
|
sqlc.arg(description), sqlc.arg(cover_url), sqlc.arg(industry),
|
|
sqlc.arg(tags)::jsonb, sqlc.arg(price_note), 'draft')
|
|
RETURNING id, tenant_id, kol_profile_id, name, description, cover_url,
|
|
industry, tags, price_note, status, created_at, updated_at;
|
|
|
|
-- name: GetKolPackageByID :one
|
|
SELECT id, tenant_id, kol_profile_id, name, description, cover_url,
|
|
industry, tags, price_note, status, created_at, updated_at
|
|
FROM kol_packages
|
|
WHERE id = sqlc.arg(id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint
|
|
AND deleted_at IS NULL;
|
|
|
|
-- name: ListKolPackagesByProfile :many
|
|
SELECT id, tenant_id, kol_profile_id, name, description, cover_url,
|
|
industry, tags, price_note, status, created_at, updated_at
|
|
FROM kol_packages
|
|
WHERE kol_profile_id = sqlc.arg(kol_profile_id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint
|
|
AND deleted_at IS NULL
|
|
ORDER BY created_at DESC;
|
|
|
|
-- name: ListKolPackageIDsByProfile :many
|
|
SELECT id
|
|
FROM kol_packages
|
|
WHERE kol_profile_id = sqlc.arg(kol_profile_id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint
|
|
AND deleted_at IS NULL;
|
|
|
|
-- name: UpdateKolPackage :exec
|
|
UPDATE kol_packages
|
|
SET name = sqlc.arg(name),
|
|
description = sqlc.arg(description),
|
|
cover_url = sqlc.arg(cover_url),
|
|
industry = sqlc.arg(industry),
|
|
tags = sqlc.arg(tags)::jsonb,
|
|
price_note = sqlc.arg(price_note),
|
|
updated_at = NOW()
|
|
WHERE id = sqlc.arg(id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint
|
|
AND deleted_at IS NULL;
|
|
|
|
-- name: UpdateKolPackageStatus :exec
|
|
UPDATE kol_packages
|
|
SET status = sqlc.arg(status),
|
|
updated_at = NOW()
|
|
WHERE id = sqlc.arg(id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint
|
|
AND deleted_at IS NULL;
|
|
|
|
-- name: SoftDeleteKolPackage :exec
|
|
UPDATE kol_packages SET deleted_at = NOW()
|
|
WHERE id = sqlc.arg(id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint
|
|
AND deleted_at IS NULL;
|