Files
wxapp-guantong/backend/internal/db/projects.sql.go
T
2026-09-22 22:51:19 +08:00

273 lines
5.8 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: projects.sql
package db
import (
"context"
)
const countProjectsByCategory = `-- name: CountProjectsByCategory :one
SELECT COUNT(*) FROM projects
WHERE category_id = ?
`
func (q *Queries) CountProjectsByCategory(ctx context.Context, categoryID string) (int64, error) {
row := q.db.QueryRowContext(ctx, countProjectsByCategory, categoryID)
var count int64
err := row.Scan(&count)
return count, err
}
const createProject = `-- name: CreateProject :one
INSERT INTO projects (
id, category_id, name, subtitle, price_text, image, status, sort
)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
RETURNING id, category_id, name, subtitle, price_text, image, status, sort, created_at, updated_at
`
type CreateProjectParams struct {
ID string `json:"id"`
CategoryID string `json:"category_id"`
Name string `json:"name"`
Subtitle string `json:"subtitle"`
PriceText string `json:"price_text"`
Image string `json:"image"`
Status string `json:"status"`
Sort int64 `json:"sort"`
}
func (q *Queries) CreateProject(ctx context.Context, arg CreateProjectParams) (Project, error) {
row := q.db.QueryRowContext(ctx, createProject,
arg.ID,
arg.CategoryID,
arg.Name,
arg.Subtitle,
arg.PriceText,
arg.Image,
arg.Status,
arg.Sort,
)
var i Project
err := row.Scan(
&i.ID,
&i.CategoryID,
&i.Name,
&i.Subtitle,
&i.PriceText,
&i.Image,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const deleteProject = `-- name: DeleteProject :exec
DELETE FROM projects
WHERE id = ?
`
func (q *Queries) DeleteProject(ctx context.Context, id string) error {
_, err := q.db.ExecContext(ctx, deleteProject, id)
return err
}
const getProject = `-- name: GetProject :one
SELECT id, category_id, name, subtitle, price_text, image, status, sort, created_at, updated_at FROM projects
WHERE id = ?
`
func (q *Queries) GetProject(ctx context.Context, id string) (Project, error) {
row := q.db.QueryRowContext(ctx, getProject, id)
var i Project
err := row.Scan(
&i.ID,
&i.CategoryID,
&i.Name,
&i.Subtitle,
&i.PriceText,
&i.Image,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const listActiveProjects = `-- name: ListActiveProjects :many
SELECT id, category_id, name, subtitle, price_text, image, status, sort, created_at, updated_at FROM projects
WHERE status = 'active'
ORDER BY sort ASC, created_at ASC
`
func (q *Queries) ListActiveProjects(ctx context.Context) ([]Project, error) {
rows, err := q.db.QueryContext(ctx, listActiveProjects)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Project
for rows.Next() {
var i Project
if err := rows.Scan(
&i.ID,
&i.CategoryID,
&i.Name,
&i.Subtitle,
&i.PriceText,
&i.Image,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listActiveProjectsByCategory = `-- name: ListActiveProjectsByCategory :many
SELECT id, category_id, name, subtitle, price_text, image, status, sort, created_at, updated_at FROM projects
WHERE category_id = ? AND status = 'active'
ORDER BY sort ASC, created_at ASC
`
func (q *Queries) ListActiveProjectsByCategory(ctx context.Context, categoryID string) ([]Project, error) {
rows, err := q.db.QueryContext(ctx, listActiveProjectsByCategory, categoryID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Project
for rows.Next() {
var i Project
if err := rows.Scan(
&i.ID,
&i.CategoryID,
&i.Name,
&i.Subtitle,
&i.PriceText,
&i.Image,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listProjects = `-- name: ListProjects :many
SELECT id, category_id, name, subtitle, price_text, image, status, sort, created_at, updated_at FROM projects
ORDER BY sort ASC, created_at ASC
`
func (q *Queries) ListProjects(ctx context.Context) ([]Project, error) {
rows, err := q.db.QueryContext(ctx, listProjects)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Project
for rows.Next() {
var i Project
if err := rows.Scan(
&i.ID,
&i.CategoryID,
&i.Name,
&i.Subtitle,
&i.PriceText,
&i.Image,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const updateProject = `-- name: UpdateProject :one
UPDATE projects
SET category_id = ?,
name = ?,
subtitle = ?,
price_text = ?,
image = ?,
status = ?,
sort = ?,
updated_at = CURRENT_TIMESTAMP
WHERE id = ?
RETURNING id, category_id, name, subtitle, price_text, image, status, sort, created_at, updated_at
`
type UpdateProjectParams struct {
CategoryID string `json:"category_id"`
Name string `json:"name"`
Subtitle string `json:"subtitle"`
PriceText string `json:"price_text"`
Image string `json:"image"`
Status string `json:"status"`
Sort int64 `json:"sort"`
ID string `json:"id"`
}
func (q *Queries) UpdateProject(ctx context.Context, arg UpdateProjectParams) (Project, error) {
row := q.db.QueryRowContext(ctx, updateProject,
arg.CategoryID,
arg.Name,
arg.Subtitle,
arg.PriceText,
arg.Image,
arg.Status,
arg.Sort,
arg.ID,
)
var i Project
err := row.Scan(
&i.ID,
&i.CategoryID,
&i.Name,
&i.Subtitle,
&i.PriceText,
&i.Image,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}