Files
geo/server/internal/tenant/repository/queries/kol_package.sql
T

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;