Files
root ced0c4ec0f
Frontend CI / Frontend (push) Successful in 2m59s
Backend CI / Backend (push) Successful in 14m58s
Scope knowledge and image libraries by brand
2026-06-30 12:30:10 +08:00

385 lines
10 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: image.sql
package generated
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const countImageAssets = `-- name: CountImageAssets :one
SELECT COUNT(*)::INT AS total
FROM image_assets
WHERE tenant_id = $1
AND brand_id = $2
AND status = 'active'
AND deleted_at IS NULL
AND (
$3::BIGINT IS NULL
OR ($3::BIGINT = 0 AND folder_id IS NULL)
OR folder_id = $3::BIGINT
)
AND ($4::TEXT IS NULL OR name ILIKE '%' || $4::TEXT || '%')
`
type CountImageAssetsParams struct {
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
FolderID pgtype.Int8 `json:"folder_id"`
SearchQuery pgtype.Text `json:"search_query"`
}
func (q *Queries) CountImageAssets(ctx context.Context, arg CountImageAssetsParams) (int32, error) {
row := q.db.QueryRow(ctx, countImageAssets,
arg.TenantID,
arg.BrandID,
arg.FolderID,
arg.SearchQuery,
)
var total int32
err := row.Scan(&total)
return total, err
}
const countUncategorizedImages = `-- name: CountUncategorizedImages :one
SELECT COUNT(*)::INT AS count
FROM image_assets
WHERE tenant_id = $1
AND brand_id = $2
AND folder_id IS NULL
AND status = 'active'
AND deleted_at IS NULL
`
type CountUncategorizedImagesParams struct {
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
}
func (q *Queries) CountUncategorizedImages(ctx context.Context, arg CountUncategorizedImagesParams) (int32, error) {
row := q.db.QueryRow(ctx, countUncategorizedImages, arg.TenantID, arg.BrandID)
var count int32
err := row.Scan(&count)
return count, err
}
const getImageAsset = `-- name: GetImageAsset :one
SELECT id, tenant_id, brand_id, folder_id, object_key, name, size_bytes, status, created_by, created_at, updated_at
FROM image_assets
WHERE id = $1
AND tenant_id = $2
AND brand_id = $3
`
type GetImageAssetParams struct {
ID int64 `json:"id"`
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
}
type GetImageAssetRow struct {
ID int64 `json:"id"`
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
FolderID pgtype.Int8 `json:"folder_id"`
ObjectKey string `json:"object_key"`
Name string `json:"name"`
SizeBytes int64 `json:"size_bytes"`
Status string `json:"status"`
CreatedBy int64 `json:"created_by"`
CreatedAt pgtype.Timestamptz `json:"created_at"`
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
}
func (q *Queries) GetImageAsset(ctx context.Context, arg GetImageAssetParams) (GetImageAssetRow, error) {
row := q.db.QueryRow(ctx, getImageAsset, arg.ID, arg.TenantID, arg.BrandID)
var i GetImageAssetRow
err := row.Scan(
&i.ID,
&i.TenantID,
&i.BrandID,
&i.FolderID,
&i.ObjectKey,
&i.Name,
&i.SizeBytes,
&i.Status,
&i.CreatedBy,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const insertImageAsset = `-- name: InsertImageAsset :one
INSERT INTO image_assets (tenant_id, brand_id, folder_id, object_key, name, size_bytes, status, created_by)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
RETURNING id
`
type InsertImageAssetParams struct {
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
FolderID pgtype.Int8 `json:"folder_id"`
ObjectKey string `json:"object_key"`
Name string `json:"name"`
SizeBytes int64 `json:"size_bytes"`
Status string `json:"status"`
CreatedBy int64 `json:"created_by"`
}
func (q *Queries) InsertImageAsset(ctx context.Context, arg InsertImageAssetParams) (int64, error) {
row := q.db.QueryRow(ctx, insertImageAsset,
arg.TenantID,
arg.BrandID,
arg.FolderID,
arg.ObjectKey,
arg.Name,
arg.SizeBytes,
arg.Status,
arg.CreatedBy,
)
var id int64
err := row.Scan(&id)
return id, err
}
const listActiveImagesByFolder = `-- name: ListActiveImagesByFolder :many
SELECT id, object_key, size_bytes
FROM image_assets
WHERE tenant_id = $1
AND brand_id = $2
AND folder_id = $3
AND status = 'active'
AND deleted_at IS NULL
`
type ListActiveImagesByFolderParams struct {
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
FolderID pgtype.Int8 `json:"folder_id"`
}
type ListActiveImagesByFolderRow struct {
ID int64 `json:"id"`
ObjectKey string `json:"object_key"`
SizeBytes int64 `json:"size_bytes"`
}
func (q *Queries) ListActiveImagesByFolder(ctx context.Context, arg ListActiveImagesByFolderParams) ([]ListActiveImagesByFolderRow, error) {
rows, err := q.db.Query(ctx, listActiveImagesByFolder, arg.TenantID, arg.BrandID, arg.FolderID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []ListActiveImagesByFolderRow
for rows.Next() {
var i ListActiveImagesByFolderRow
if err := rows.Scan(&i.ID, &i.ObjectKey, &i.SizeBytes); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listImageAssets = `-- name: ListImageAssets :many
SELECT id, tenant_id, brand_id, folder_id, object_key, name, size_bytes, status, created_by, created_at, updated_at
FROM image_assets
WHERE tenant_id = $1
AND brand_id = $2
AND status = 'active'
AND deleted_at IS NULL
AND (
$3::BIGINT IS NULL
OR ($3::BIGINT = 0 AND folder_id IS NULL)
OR folder_id = $3::BIGINT
)
AND ($4::TEXT IS NULL OR name ILIKE '%' || $4::TEXT || '%')
ORDER BY created_at DESC
LIMIT $6 OFFSET $5
`
type ListImageAssetsParams struct {
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
FolderID pgtype.Int8 `json:"folder_id"`
SearchQuery pgtype.Text `json:"search_query"`
PageOffset int32 `json:"page_offset"`
PageSize int32 `json:"page_size"`
}
type ListImageAssetsRow struct {
ID int64 `json:"id"`
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
FolderID pgtype.Int8 `json:"folder_id"`
ObjectKey string `json:"object_key"`
Name string `json:"name"`
SizeBytes int64 `json:"size_bytes"`
Status string `json:"status"`
CreatedBy int64 `json:"created_by"`
CreatedAt pgtype.Timestamptz `json:"created_at"`
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
}
func (q *Queries) ListImageAssets(ctx context.Context, arg ListImageAssetsParams) ([]ListImageAssetsRow, error) {
rows, err := q.db.Query(ctx, listImageAssets,
arg.TenantID,
arg.BrandID,
arg.FolderID,
arg.SearchQuery,
arg.PageOffset,
arg.PageSize,
)
if err != nil {
return nil, err
}
defer rows.Close()
var items []ListImageAssetsRow
for rows.Next() {
var i ListImageAssetsRow
if err := rows.Scan(
&i.ID,
&i.TenantID,
&i.BrandID,
&i.FolderID,
&i.ObjectKey,
&i.Name,
&i.SizeBytes,
&i.Status,
&i.CreatedBy,
&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 markImagesInFolderPendingDelete = `-- name: MarkImagesInFolderPendingDelete :exec
UPDATE image_assets
SET status = 'pending_delete', folder_id = NULL, updated_at = NOW()
WHERE tenant_id = $1
AND brand_id = $2
AND folder_id = $3
AND status = 'active'
AND deleted_at IS NULL
`
type MarkImagesInFolderPendingDeleteParams struct {
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
FolderID pgtype.Int8 `json:"folder_id"`
}
func (q *Queries) MarkImagesInFolderPendingDelete(ctx context.Context, arg MarkImagesInFolderPendingDeleteParams) error {
_, err := q.db.Exec(ctx, markImagesInFolderPendingDelete, arg.TenantID, arg.BrandID, arg.FolderID)
return err
}
const updateImageAssetDeleted = `-- name: UpdateImageAssetDeleted :exec
UPDATE image_assets
SET status = 'deleted', deleted_at = NOW(), updated_at = NOW()
WHERE id = $1
AND tenant_id = $2
AND brand_id = $3
`
type UpdateImageAssetDeletedParams struct {
ID int64 `json:"id"`
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
}
func (q *Queries) UpdateImageAssetDeleted(ctx context.Context, arg UpdateImageAssetDeletedParams) error {
_, err := q.db.Exec(ctx, updateImageAssetDeleted, arg.ID, arg.TenantID, arg.BrandID)
return err
}
const updateImageAssetFolder = `-- name: UpdateImageAssetFolder :exec
UPDATE image_assets
SET folder_id = $1, updated_at = NOW()
WHERE id = $2
AND tenant_id = $3
AND brand_id = $4
`
type UpdateImageAssetFolderParams struct {
FolderID pgtype.Int8 `json:"folder_id"`
ID int64 `json:"id"`
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
}
func (q *Queries) UpdateImageAssetFolder(ctx context.Context, arg UpdateImageAssetFolderParams) error {
_, err := q.db.Exec(ctx, updateImageAssetFolder,
arg.FolderID,
arg.ID,
arg.TenantID,
arg.BrandID,
)
return err
}
const updateImageAssetName = `-- name: UpdateImageAssetName :exec
UPDATE image_assets
SET name = $1, updated_at = NOW()
WHERE id = $2
AND tenant_id = $3
AND brand_id = $4
`
type UpdateImageAssetNameParams struct {
Name string `json:"name"`
ID int64 `json:"id"`
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
}
func (q *Queries) UpdateImageAssetName(ctx context.Context, arg UpdateImageAssetNameParams) error {
_, err := q.db.Exec(ctx, updateImageAssetName,
arg.Name,
arg.ID,
arg.TenantID,
arg.BrandID,
)
return err
}
const updateImageAssetStatus = `-- name: UpdateImageAssetStatus :exec
UPDATE image_assets
SET status = $1, updated_at = NOW()
WHERE id = $2
AND tenant_id = $3
AND brand_id = $4
`
type UpdateImageAssetStatusParams struct {
Status string `json:"status"`
ID int64 `json:"id"`
TenantID int64 `json:"tenant_id"`
BrandID int64 `json:"brand_id"`
}
func (q *Queries) UpdateImageAssetStatus(ctx context.Context, arg UpdateImageAssetStatusParams) error {
_, err := q.db.Exec(ctx, updateImageAssetStatus,
arg.Status,
arg.ID,
arg.TenantID,
arg.BrandID,
)
return err
}