89 lines
2.0 KiB
Go
Executable File
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
|
|
}
|