Files
goyomi/internal/db/queries/page.sql.go
T
2026-05-11 06:48:23 +00:00

89 lines
2.0 KiB
Go
Executable File

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: page.sql
package queries
import (
"context"
)
const listPagesByChapter = `-- name: ListPagesByChapter :many
SELECT id, chapter_id, index, url, image_url FROM pages WHERE chapter_id = $1 ORDER BY "index"
`
func (q *Queries) ListPagesByChapter(ctx context.Context, chapterID int32) ([]Page, error) {
rows, err := q.db.Query(ctx, listPagesByChapter, chapterID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Page
for rows.Next() {
var i Page
if err := rows.Scan(
&i.ID,
&i.ChapterID,
&i.Index,
&i.Url,
&i.ImageUrl,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const updatePageImageURL = `-- name: UpdatePageImageURL :exec
UPDATE pages SET image_url = $2 WHERE id = $1
`
type UpdatePageImageURLParams struct {
ID int32 `db:"id" json:"id"`
ImageUrl *string `db:"image_url" json:"image_url"`
}
func (q *Queries) UpdatePageImageURL(ctx context.Context, arg UpdatePageImageURLParams) error {
_, err := q.db.Exec(ctx, updatePageImageURL, arg.ID, arg.ImageUrl)
return err
}
const upsertPage = `-- name: UpsertPage :one
INSERT INTO pages (chapter_id, "index", url, image_url)
VALUES ($1, $2, $3, $4)
ON CONFLICT (chapter_id, "index") DO UPDATE
SET url = EXCLUDED.url,
image_url = EXCLUDED.image_url
RETURNING id, chapter_id, index, url, image_url
`
type UpsertPageParams struct {
ChapterID int32 `db:"chapter_id" json:"chapter_id"`
Index int32 `db:"index" json:"index"`
Url string `db:"url" json:"url"`
ImageUrl *string `db:"image_url" json:"image_url"`
}
func (q *Queries) UpsertPage(ctx context.Context, arg UpsertPageParams) (Page, error) {
row := q.db.QueryRow(ctx, upsertPage,
arg.ChapterID,
arg.Index,
arg.Url,
arg.ImageUrl,
)
var i Page
err := row.Scan(
&i.ID,
&i.ChapterID,
&i.Index,
&i.Url,
&i.ImageUrl,
)
return i, err
}