feat(kol): add sqlc queries for all KOL tables
This commit is contained in:
@@ -0,0 +1,297 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.30.0
|
||||
// source: kol_package.sql
|
||||
|
||||
package generated
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
)
|
||||
|
||||
const createKolPackage = `-- name: CreateKolPackage :one
|
||||
INSERT INTO kol_packages (tenant_id, kol_profile_id, name, description, cover_url, industry, tags, price_note, status)
|
||||
VALUES ($1::bigint, $2, $3,
|
||||
$4, $5, $6,
|
||||
$7::jsonb, $8, 'draft')
|
||||
RETURNING id, tenant_id, kol_profile_id, name, description, cover_url,
|
||||
industry, tags, price_note, status, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateKolPackageParams struct {
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
KolProfileID int64 `json:"kol_profile_id"`
|
||||
Name string `json:"name"`
|
||||
Description pgtype.Text `json:"description"`
|
||||
CoverUrl pgtype.Text `json:"cover_url"`
|
||||
Industry pgtype.Text `json:"industry"`
|
||||
Tags []byte `json:"tags"`
|
||||
PriceNote pgtype.Text `json:"price_note"`
|
||||
}
|
||||
|
||||
type CreateKolPackageRow struct {
|
||||
ID int64 `json:"id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
KolProfileID int64 `json:"kol_profile_id"`
|
||||
Name string `json:"name"`
|
||||
Description pgtype.Text `json:"description"`
|
||||
CoverUrl pgtype.Text `json:"cover_url"`
|
||||
Industry pgtype.Text `json:"industry"`
|
||||
Tags []byte `json:"tags"`
|
||||
PriceNote pgtype.Text `json:"price_note"`
|
||||
Status string `json:"status"`
|
||||
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateKolPackage(ctx context.Context, arg CreateKolPackageParams) (CreateKolPackageRow, error) {
|
||||
row := q.db.QueryRow(ctx, createKolPackage,
|
||||
arg.TenantID,
|
||||
arg.KolProfileID,
|
||||
arg.Name,
|
||||
arg.Description,
|
||||
arg.CoverUrl,
|
||||
arg.Industry,
|
||||
arg.Tags,
|
||||
arg.PriceNote,
|
||||
)
|
||||
var i CreateKolPackageRow
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.TenantID,
|
||||
&i.KolProfileID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.CoverUrl,
|
||||
&i.Industry,
|
||||
&i.Tags,
|
||||
&i.PriceNote,
|
||||
&i.Status,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getKolPackageByID = `-- 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 = $1
|
||||
AND tenant_id = $2::bigint
|
||||
AND deleted_at IS NULL
|
||||
`
|
||||
|
||||
type GetKolPackageByIDParams struct {
|
||||
ID int64 `json:"id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
}
|
||||
|
||||
type GetKolPackageByIDRow struct {
|
||||
ID int64 `json:"id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
KolProfileID int64 `json:"kol_profile_id"`
|
||||
Name string `json:"name"`
|
||||
Description pgtype.Text `json:"description"`
|
||||
CoverUrl pgtype.Text `json:"cover_url"`
|
||||
Industry pgtype.Text `json:"industry"`
|
||||
Tags []byte `json:"tags"`
|
||||
PriceNote pgtype.Text `json:"price_note"`
|
||||
Status string `json:"status"`
|
||||
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
||||
}
|
||||
|
||||
func (q *Queries) GetKolPackageByID(ctx context.Context, arg GetKolPackageByIDParams) (GetKolPackageByIDRow, error) {
|
||||
row := q.db.QueryRow(ctx, getKolPackageByID, arg.ID, arg.TenantID)
|
||||
var i GetKolPackageByIDRow
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.TenantID,
|
||||
&i.KolProfileID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.CoverUrl,
|
||||
&i.Industry,
|
||||
&i.Tags,
|
||||
&i.PriceNote,
|
||||
&i.Status,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const listKolPackageIDsByProfile = `-- name: ListKolPackageIDsByProfile :many
|
||||
SELECT id
|
||||
FROM kol_packages
|
||||
WHERE kol_profile_id = $1
|
||||
AND tenant_id = $2::bigint
|
||||
AND deleted_at IS NULL
|
||||
`
|
||||
|
||||
type ListKolPackageIDsByProfileParams struct {
|
||||
KolProfileID int64 `json:"kol_profile_id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
}
|
||||
|
||||
func (q *Queries) ListKolPackageIDsByProfile(ctx context.Context, arg ListKolPackageIDsByProfileParams) ([]int64, error) {
|
||||
rows, err := q.db.Query(ctx, listKolPackageIDsByProfile, arg.KolProfileID, arg.TenantID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []int64
|
||||
for rows.Next() {
|
||||
var id int64
|
||||
if err := rows.Scan(&id); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, id)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listKolPackagesByProfile = `-- 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 = $1
|
||||
AND tenant_id = $2::bigint
|
||||
AND deleted_at IS NULL
|
||||
ORDER BY created_at DESC
|
||||
`
|
||||
|
||||
type ListKolPackagesByProfileParams struct {
|
||||
KolProfileID int64 `json:"kol_profile_id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
}
|
||||
|
||||
type ListKolPackagesByProfileRow struct {
|
||||
ID int64 `json:"id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
KolProfileID int64 `json:"kol_profile_id"`
|
||||
Name string `json:"name"`
|
||||
Description pgtype.Text `json:"description"`
|
||||
CoverUrl pgtype.Text `json:"cover_url"`
|
||||
Industry pgtype.Text `json:"industry"`
|
||||
Tags []byte `json:"tags"`
|
||||
PriceNote pgtype.Text `json:"price_note"`
|
||||
Status string `json:"status"`
|
||||
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
||||
}
|
||||
|
||||
func (q *Queries) ListKolPackagesByProfile(ctx context.Context, arg ListKolPackagesByProfileParams) ([]ListKolPackagesByProfileRow, error) {
|
||||
rows, err := q.db.Query(ctx, listKolPackagesByProfile, arg.KolProfileID, arg.TenantID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []ListKolPackagesByProfileRow
|
||||
for rows.Next() {
|
||||
var i ListKolPackagesByProfileRow
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.TenantID,
|
||||
&i.KolProfileID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.CoverUrl,
|
||||
&i.Industry,
|
||||
&i.Tags,
|
||||
&i.PriceNote,
|
||||
&i.Status,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const softDeleteKolPackage = `-- name: SoftDeleteKolPackage :exec
|
||||
UPDATE kol_packages SET deleted_at = NOW()
|
||||
WHERE id = $1
|
||||
AND tenant_id = $2::bigint
|
||||
AND deleted_at IS NULL
|
||||
`
|
||||
|
||||
type SoftDeleteKolPackageParams struct {
|
||||
ID int64 `json:"id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
}
|
||||
|
||||
func (q *Queries) SoftDeleteKolPackage(ctx context.Context, arg SoftDeleteKolPackageParams) error {
|
||||
_, err := q.db.Exec(ctx, softDeleteKolPackage, arg.ID, arg.TenantID)
|
||||
return err
|
||||
}
|
||||
|
||||
const updateKolPackage = `-- name: UpdateKolPackage :exec
|
||||
UPDATE kol_packages
|
||||
SET name = $1,
|
||||
description = $2,
|
||||
cover_url = $3,
|
||||
industry = $4,
|
||||
tags = $5::jsonb,
|
||||
price_note = $6,
|
||||
updated_at = NOW()
|
||||
WHERE id = $7
|
||||
AND tenant_id = $8::bigint
|
||||
AND deleted_at IS NULL
|
||||
`
|
||||
|
||||
type UpdateKolPackageParams struct {
|
||||
Name string `json:"name"`
|
||||
Description pgtype.Text `json:"description"`
|
||||
CoverUrl pgtype.Text `json:"cover_url"`
|
||||
Industry pgtype.Text `json:"industry"`
|
||||
Tags []byte `json:"tags"`
|
||||
PriceNote pgtype.Text `json:"price_note"`
|
||||
ID int64 `json:"id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateKolPackage(ctx context.Context, arg UpdateKolPackageParams) error {
|
||||
_, err := q.db.Exec(ctx, updateKolPackage,
|
||||
arg.Name,
|
||||
arg.Description,
|
||||
arg.CoverUrl,
|
||||
arg.Industry,
|
||||
arg.Tags,
|
||||
arg.PriceNote,
|
||||
arg.ID,
|
||||
arg.TenantID,
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
||||
const updateKolPackageStatus = `-- name: UpdateKolPackageStatus :exec
|
||||
UPDATE kol_packages
|
||||
SET status = $1,
|
||||
updated_at = NOW()
|
||||
WHERE id = $2
|
||||
AND tenant_id = $3::bigint
|
||||
AND deleted_at IS NULL
|
||||
`
|
||||
|
||||
type UpdateKolPackageStatusParams struct {
|
||||
Status string `json:"status"`
|
||||
ID int64 `json:"id"`
|
||||
TenantID int64 `json:"tenant_id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateKolPackageStatus(ctx context.Context, arg UpdateKolPackageStatusParams) error {
|
||||
_, err := q.db.Exec(ctx, updateKolPackageStatus, arg.Status, arg.ID, arg.TenantID)
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user