154 lines
4.0 KiB
Go
Executable File
154 lines
4.0 KiB
Go
Executable File
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
// source: chapter.sql
|
|
|
|
package queries
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
const getChapterByID = `-- name: GetChapterByID :one
|
|
SELECT id, manga_id, url, name, date_upload, chapter_number, scanlator, source_order, is_read, is_bookmarked, last_page_read, last_read_at, fetched_at, real_url, is_downloaded, page_count FROM chapters WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) GetChapterByID(ctx context.Context, id int32) (Chapter, error) {
|
|
row := q.db.QueryRow(ctx, getChapterByID, id)
|
|
var i Chapter
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.MangaID,
|
|
&i.Url,
|
|
&i.Name,
|
|
&i.DateUpload,
|
|
&i.ChapterNumber,
|
|
&i.Scanlator,
|
|
&i.SourceOrder,
|
|
&i.IsRead,
|
|
&i.IsBookmarked,
|
|
&i.LastPageRead,
|
|
&i.LastReadAt,
|
|
&i.FetchedAt,
|
|
&i.RealUrl,
|
|
&i.IsDownloaded,
|
|
&i.PageCount,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const listChaptersByManga = `-- name: ListChaptersByManga :many
|
|
SELECT id, manga_id, url, name, date_upload, chapter_number, scanlator, source_order, is_read, is_bookmarked, last_page_read, last_read_at, fetched_at, real_url, is_downloaded, page_count FROM chapters WHERE manga_id = $1 ORDER BY source_order
|
|
`
|
|
|
|
func (q *Queries) ListChaptersByManga(ctx context.Context, mangaID int32) ([]Chapter, error) {
|
|
rows, err := q.db.Query(ctx, listChaptersByManga, mangaID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []Chapter
|
|
for rows.Next() {
|
|
var i Chapter
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.MangaID,
|
|
&i.Url,
|
|
&i.Name,
|
|
&i.DateUpload,
|
|
&i.ChapterNumber,
|
|
&i.Scanlator,
|
|
&i.SourceOrder,
|
|
&i.IsRead,
|
|
&i.IsBookmarked,
|
|
&i.LastPageRead,
|
|
&i.LastReadAt,
|
|
&i.FetchedAt,
|
|
&i.RealUrl,
|
|
&i.IsDownloaded,
|
|
&i.PageCount,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const updateChapterFetchedAt = `-- name: UpdateChapterFetchedAt :exec
|
|
UPDATE chapters SET fetched_at = $2 WHERE id = $1
|
|
`
|
|
|
|
type UpdateChapterFetchedAtParams struct {
|
|
ID int32 `db:"id" json:"id"`
|
|
FetchedAt int64 `db:"fetched_at" json:"fetched_at"`
|
|
}
|
|
|
|
func (q *Queries) UpdateChapterFetchedAt(ctx context.Context, arg UpdateChapterFetchedAtParams) error {
|
|
_, err := q.db.Exec(ctx, updateChapterFetchedAt, arg.ID, arg.FetchedAt)
|
|
return err
|
|
}
|
|
|
|
const upsertChapter = `-- name: UpsertChapter :one
|
|
INSERT INTO chapters (
|
|
manga_id, url, name, date_upload, chapter_number, scanlator, source_order, fetched_at
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7, $8
|
|
)
|
|
ON CONFLICT (manga_id, url) DO UPDATE
|
|
SET name = EXCLUDED.name,
|
|
date_upload = EXCLUDED.date_upload,
|
|
chapter_number = EXCLUDED.chapter_number,
|
|
scanlator = EXCLUDED.scanlator,
|
|
source_order = EXCLUDED.source_order,
|
|
fetched_at = EXCLUDED.fetched_at
|
|
RETURNING id, manga_id, url, name, date_upload, chapter_number, scanlator, source_order, is_read, is_bookmarked, last_page_read, last_read_at, fetched_at, real_url, is_downloaded, page_count
|
|
`
|
|
|
|
type UpsertChapterParams struct {
|
|
MangaID int32 `db:"manga_id" json:"manga_id"`
|
|
Url string `db:"url" json:"url"`
|
|
Name string `db:"name" json:"name"`
|
|
DateUpload int64 `db:"date_upload" json:"date_upload"`
|
|
ChapterNumber float32 `db:"chapter_number" json:"chapter_number"`
|
|
Scanlator *string `db:"scanlator" json:"scanlator"`
|
|
SourceOrder int32 `db:"source_order" json:"source_order"`
|
|
FetchedAt int64 `db:"fetched_at" json:"fetched_at"`
|
|
}
|
|
|
|
func (q *Queries) UpsertChapter(ctx context.Context, arg UpsertChapterParams) (Chapter, error) {
|
|
row := q.db.QueryRow(ctx, upsertChapter,
|
|
arg.MangaID,
|
|
arg.Url,
|
|
arg.Name,
|
|
arg.DateUpload,
|
|
arg.ChapterNumber,
|
|
arg.Scanlator,
|
|
arg.SourceOrder,
|
|
arg.FetchedAt,
|
|
)
|
|
var i Chapter
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.MangaID,
|
|
&i.Url,
|
|
&i.Name,
|
|
&i.DateUpload,
|
|
&i.ChapterNumber,
|
|
&i.Scanlator,
|
|
&i.SourceOrder,
|
|
&i.IsRead,
|
|
&i.IsBookmarked,
|
|
&i.LastPageRead,
|
|
&i.LastReadAt,
|
|
&i.FetchedAt,
|
|
&i.RealUrl,
|
|
&i.IsDownloaded,
|
|
&i.PageCount,
|
|
)
|
|
return i, err
|
|
}
|