nyanimedb/modules/sql/sqlc/query.sql.go

712 lines
18 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: query.sql
package db
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const createImage = `-- name: CreateImage :one
INSERT INTO images (storage_type, image_path)
VALUES ($1, $2)
RETURNING image_id, storage_type, image_path
`
type CreateImageParams struct {
StorageType StorageTypeT `db:"storage_type" json:"storage_type"`
ImagePath string `db:"image_path" json:"image_path"`
}
func (q *Queries) CreateImage(ctx context.Context, arg CreateImageParams) (Images, error) {
row := q.db.QueryRow(ctx, createImage, arg.StorageType, arg.ImagePath)
var i Images
err := row.Scan(&i.ImageID, &i.StorageType, &i.ImagePath)
return i, err
}
const createReview = `-- name: CreateReview :one
INSERT INTO reviews (user_id, title_id, image_ids, review_text, creation_date)
VALUES ($1, $2, $3, $4, $5)
RETURNING review_id, user_id, title_id, image_ids, review_text, creation_date
`
type CreateReviewParams struct {
UserID int32 `db:"user_id" json:"user_id"`
TitleID int32 `db:"title_id" json:"title_id"`
ImageIds []int32 `db:"image_ids" json:"image_ids"`
ReviewText string `db:"review_text" json:"review_text"`
CreationDate pgtype.Timestamp `db:"creation_date" json:"creation_date"`
}
func (q *Queries) CreateReview(ctx context.Context, arg CreateReviewParams) (Reviews, error) {
row := q.db.QueryRow(ctx, createReview,
arg.UserID,
arg.TitleID,
arg.ImageIds,
arg.ReviewText,
arg.CreationDate,
)
var i Reviews
err := row.Scan(
&i.ReviewID,
&i.UserID,
&i.TitleID,
&i.ImageIds,
&i.ReviewText,
&i.CreationDate,
)
return i, err
}
const createUser = `-- name: CreateUser :one
INSERT INTO users (avatar_id, passhash, mail, nickname, disp_name, user_desc, creation_date)
VALUES ($1, $2, $3, $4, $5, $6, $7)
RETURNING user_id, avatar_id, nickname, disp_name, user_desc, creation_date
`
type CreateUserParams struct {
AvatarID pgtype.Int4 `db:"avatar_id" json:"avatar_id"`
Passhash string `db:"passhash" json:"passhash"`
Mail pgtype.Text `db:"mail" json:"mail"`
Nickname string `db:"nickname" json:"nickname"`
DispName pgtype.Text `db:"disp_name" json:"disp_name"`
UserDesc pgtype.Text `db:"user_desc" json:"user_desc"`
CreationDate pgtype.Timestamp `db:"creation_date" json:"creation_date"`
}
type CreateUserRow struct {
UserID int32 `db:"user_id" json:"user_id"`
AvatarID pgtype.Int4 `db:"avatar_id" json:"avatar_id"`
Nickname string `db:"nickname" json:"nickname"`
DispName pgtype.Text `db:"disp_name" json:"disp_name"`
UserDesc pgtype.Text `db:"user_desc" json:"user_desc"`
CreationDate pgtype.Timestamp `db:"creation_date" json:"creation_date"`
}
func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (CreateUserRow, error) {
row := q.db.QueryRow(ctx, createUser,
arg.AvatarID,
arg.Passhash,
arg.Mail,
arg.Nickname,
arg.DispName,
arg.UserDesc,
arg.CreationDate,
)
var i CreateUserRow
err := row.Scan(
&i.UserID,
&i.AvatarID,
&i.Nickname,
&i.DispName,
&i.UserDesc,
&i.CreationDate,
)
return i, err
}
const createUserTitle = `-- name: CreateUserTitle :one
INSERT INTO usertitles (user_id, title_id, status, rate, review_id)
VALUES ($1, $2, $3, $4, $5)
RETURNING usertitle_id, user_id, title_id, status, rate, review_id
`
type CreateUserTitleParams struct {
UserID int32 `db:"user_id" json:"user_id"`
TitleID int32 `db:"title_id" json:"title_id"`
Status UsertitleStatusT `db:"status" json:"status"`
Rate pgtype.Int4 `db:"rate" json:"rate"`
ReviewID pgtype.Int4 `db:"review_id" json:"review_id"`
}
func (q *Queries) CreateUserTitle(ctx context.Context, arg CreateUserTitleParams) (Usertitles, error) {
row := q.db.QueryRow(ctx, createUserTitle,
arg.UserID,
arg.TitleID,
arg.Status,
arg.Rate,
arg.ReviewID,
)
var i Usertitles
err := row.Scan(
&i.UsertitleID,
&i.UserID,
&i.TitleID,
&i.Status,
&i.Rate,
&i.ReviewID,
)
return i, err
}
const deleteReview = `-- name: DeleteReview :exec
DELETE FROM reviews
WHERE review_id = $1
`
func (q *Queries) DeleteReview(ctx context.Context, reviewID int32) error {
_, err := q.db.Exec(ctx, deleteReview, reviewID)
return err
}
const deleteUser = `-- name: DeleteUser :exec
DELETE FROM users
WHERE user_id = $1
`
func (q *Queries) DeleteUser(ctx context.Context, userID int32) error {
_, err := q.db.Exec(ctx, deleteUser, userID)
return err
}
const deleteUserTitle = `-- name: DeleteUserTitle :exec
DELETE FROM usertitles
WHERE user_id = $1 AND ($2::int IS NULL OR title_id = $2)
`
type DeleteUserTitleParams struct {
UserID int32 `db:"user_id" json:"user_id"`
Column2 int32 `db:"column_2" json:"column_2"`
}
func (q *Queries) DeleteUserTitle(ctx context.Context, arg DeleteUserTitleParams) error {
_, err := q.db.Exec(ctx, deleteUserTitle, arg.UserID, arg.Column2)
return err
}
const getImageByID = `-- name: GetImageByID :one
SELECT image_id, storage_type, image_path
FROM images
WHERE image_id = $1
`
func (q *Queries) GetImageByID(ctx context.Context, imageID int32) (Images, error) {
row := q.db.QueryRow(ctx, getImageByID, imageID)
var i Images
err := row.Scan(&i.ImageID, &i.StorageType, &i.ImagePath)
return i, err
}
const getReviewByID = `-- name: GetReviewByID :one
SELECT review_id, user_id, title_id, image_ids, review_text, creation_date
FROM reviews
WHERE review_id = $1
`
func (q *Queries) GetReviewByID(ctx context.Context, reviewID int32) (Reviews, error) {
row := q.db.QueryRow(ctx, getReviewByID, reviewID)
var i Reviews
err := row.Scan(
&i.ReviewID,
&i.UserID,
&i.TitleID,
&i.ImageIds,
&i.ReviewText,
&i.CreationDate,
)
return i, err
}
const getTitleByID = `-- name: GetTitleByID :one
SELECT title_id, title_names, studio_id, poster_id, signal_ids,
title_status, rating, rating_count, release_year, release_season,
season, episodes_aired, episodes_all, episodes_len
FROM titles
WHERE title_id = $1
`
func (q *Queries) GetTitleByID(ctx context.Context, titleID int32) (Titles, error) {
row := q.db.QueryRow(ctx, getTitleByID, titleID)
var i Titles
err := row.Scan(
&i.TitleID,
&i.TitleNames,
&i.StudioID,
&i.PosterID,
&i.SignalIds,
&i.TitleStatus,
&i.Rating,
&i.RatingCount,
&i.ReleaseYear,
&i.ReleaseSeason,
&i.Season,
&i.EpisodesAired,
&i.EpisodesAll,
&i.EpisodesLen,
)
return i, err
}
const getUserByID = `-- name: GetUserByID :one
SELECT user_id, avatar_id, passhash, mail, nickname, disp_name, user_desc, creation_date
FROM users
WHERE user_id = $1
`
func (q *Queries) GetUserByID(ctx context.Context, userID int32) (Users, error) {
row := q.db.QueryRow(ctx, getUserByID, userID)
var i Users
err := row.Scan(
&i.UserID,
&i.AvatarID,
&i.Passhash,
&i.Mail,
&i.Nickname,
&i.DispName,
&i.UserDesc,
&i.CreationDate,
)
return i, err
}
const getUserTitle = `-- name: GetUserTitle :one
SELECT usertitle_id, user_id, title_id, status, rate, review_id
FROM usertitles
WHERE user_id = $1 AND title_id = $2
`
type GetUserTitleParams struct {
UserID int32 `db:"user_id" json:"user_id"`
TitleID int32 `db:"title_id" json:"title_id"`
}
func (q *Queries) GetUserTitle(ctx context.Context, arg GetUserTitleParams) (Usertitles, error) {
row := q.db.QueryRow(ctx, getUserTitle, arg.UserID, arg.TitleID)
var i Usertitles
err := row.Scan(
&i.UsertitleID,
&i.UserID,
&i.TitleID,
&i.Status,
&i.Rate,
&i.ReviewID,
)
return i, err
}
const listReviewsByTitle = `-- name: ListReviewsByTitle :many
SELECT review_id, user_id, title_id, image_ids, review_text, creation_date
FROM reviews
WHERE title_id = $1
ORDER BY creation_date DESC
LIMIT $2 OFFSET $3
`
type ListReviewsByTitleParams struct {
TitleID int32 `db:"title_id" json:"title_id"`
Limit int32 `db:"limit" json:"limit"`
Offset int32 `db:"offset" json:"offset"`
}
func (q *Queries) ListReviewsByTitle(ctx context.Context, arg ListReviewsByTitleParams) ([]Reviews, error) {
rows, err := q.db.Query(ctx, listReviewsByTitle, arg.TitleID, arg.Limit, arg.Offset)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Reviews
for rows.Next() {
var i Reviews
if err := rows.Scan(
&i.ReviewID,
&i.UserID,
&i.TitleID,
&i.ImageIds,
&i.ReviewText,
&i.CreationDate,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listReviewsByUser = `-- name: ListReviewsByUser :many
SELECT review_id, user_id, title_id, image_ids, review_text, creation_date
FROM reviews
WHERE user_id = $1
ORDER BY creation_date DESC
LIMIT $2 OFFSET $3
`
type ListReviewsByUserParams struct {
UserID int32 `db:"user_id" json:"user_id"`
Limit int32 `db:"limit" json:"limit"`
Offset int32 `db:"offset" json:"offset"`
}
func (q *Queries) ListReviewsByUser(ctx context.Context, arg ListReviewsByUserParams) ([]Reviews, error) {
rows, err := q.db.Query(ctx, listReviewsByUser, arg.UserID, arg.Limit, arg.Offset)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Reviews
for rows.Next() {
var i Reviews
if err := rows.Scan(
&i.ReviewID,
&i.UserID,
&i.TitleID,
&i.ImageIds,
&i.ReviewText,
&i.CreationDate,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listTags = `-- name: ListTags :many
SELECT tag_id, tag_names
FROM tags
ORDER BY tag_id
LIMIT $1 OFFSET $2
`
type ListTagsParams struct {
Limit int32 `db:"limit" json:"limit"`
Offset int32 `db:"offset" json:"offset"`
}
func (q *Queries) ListTags(ctx context.Context, arg ListTagsParams) ([]Tags, error) {
rows, err := q.db.Query(ctx, listTags, arg.Limit, arg.Offset)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Tags
for rows.Next() {
var i Tags
if err := rows.Scan(&i.TagID, &i.TagNames); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listTitles = `-- name: ListTitles :many
SELECT title_id, title_names, studio_id, poster_id, signal_ids,
title_status, rating, rating_count, release_year, release_season,
season, episodes_aired, episodes_all, episodes_len
FROM titles
ORDER BY title_id
LIMIT $1 OFFSET $2
`
type ListTitlesParams struct {
Limit int32 `db:"limit" json:"limit"`
Offset int32 `db:"offset" json:"offset"`
}
func (q *Queries) ListTitles(ctx context.Context, arg ListTitlesParams) ([]Titles, error) {
rows, err := q.db.Query(ctx, listTitles, arg.Limit, arg.Offset)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Titles
for rows.Next() {
var i Titles
if err := rows.Scan(
&i.TitleID,
&i.TitleNames,
&i.StudioID,
&i.PosterID,
&i.SignalIds,
&i.TitleStatus,
&i.Rating,
&i.RatingCount,
&i.ReleaseYear,
&i.ReleaseSeason,
&i.Season,
&i.EpisodesAired,
&i.EpisodesAll,
&i.EpisodesLen,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listUserTitles = `-- name: ListUserTitles :many
SELECT usertitle_id, user_id, title_id, status, rate, review_id
FROM usertitles
WHERE user_id = $1
ORDER BY usertitle_id
LIMIT $2 OFFSET $3
`
type ListUserTitlesParams struct {
UserID int32 `db:"user_id" json:"user_id"`
Limit int32 `db:"limit" json:"limit"`
Offset int32 `db:"offset" json:"offset"`
}
func (q *Queries) ListUserTitles(ctx context.Context, arg ListUserTitlesParams) ([]Usertitles, error) {
rows, err := q.db.Query(ctx, listUserTitles, arg.UserID, arg.Limit, arg.Offset)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Usertitles
for rows.Next() {
var i Usertitles
if err := rows.Scan(
&i.UsertitleID,
&i.UserID,
&i.TitleID,
&i.Status,
&i.Rate,
&i.ReviewID,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listUsers = `-- name: ListUsers :many
SELECT user_id, avatar_id, passhash, mail, nickname, disp_name, user_desc, creation_date
FROM users
ORDER BY user_id
LIMIT $1 OFFSET $2
`
type ListUsersParams struct {
Limit int32 `db:"limit" json:"limit"`
Offset int32 `db:"offset" json:"offset"`
}
func (q *Queries) ListUsers(ctx context.Context, arg ListUsersParams) ([]Users, error) {
rows, err := q.db.Query(ctx, listUsers, arg.Limit, arg.Offset)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Users
for rows.Next() {
var i Users
if err := rows.Scan(
&i.UserID,
&i.AvatarID,
&i.Passhash,
&i.Mail,
&i.Nickname,
&i.DispName,
&i.UserDesc,
&i.CreationDate,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const updateReview = `-- name: UpdateReview :one
UPDATE reviews
SET
image_ids = COALESCE($1, image_ids),
review_text = COALESCE($2, review_text)
WHERE review_id = $3
RETURNING review_id, user_id, title_id, image_ids, review_text, creation_date
`
type UpdateReviewParams struct {
ImageIds []int32 `db:"image_ids" json:"image_ids"`
ReviewText pgtype.Text `db:"review_text" json:"review_text"`
ReviewID int32 `db:"review_id" json:"review_id"`
}
func (q *Queries) UpdateReview(ctx context.Context, arg UpdateReviewParams) (Reviews, error) {
row := q.db.QueryRow(ctx, updateReview, arg.ImageIds, arg.ReviewText, arg.ReviewID)
var i Reviews
err := row.Scan(
&i.ReviewID,
&i.UserID,
&i.TitleID,
&i.ImageIds,
&i.ReviewText,
&i.CreationDate,
)
return i, err
}
const updateTitle = `-- name: UpdateTitle :one
UPDATE titles
SET
title_names = COALESCE($1, title_names),
studio_id = COALESCE($2, studio_id),
poster_id = COALESCE($3, poster_id),
signal_ids = COALESCE($4, signal_ids),
title_status = COALESCE($5, title_status),
release_year = COALESCE($6, release_year),
release_season = COALESCE($7, release_season),
episodes_aired = COALESCE($8, episodes_aired),
episodes_all = COALESCE($9, episodes_all),
episodes_len = COALESCE($10, episodes_len)
WHERE title_id = $11
RETURNING title_id, title_names, studio_id, poster_id, signal_ids, title_status, rating, rating_count, release_year, release_season, season, episodes_aired, episodes_all, episodes_len
`
type UpdateTitleParams struct {
TitleNames []byte `db:"title_names" json:"title_names"`
StudioID pgtype.Int4 `db:"studio_id" json:"studio_id"`
PosterID pgtype.Int4 `db:"poster_id" json:"poster_id"`
SignalIds []int32 `db:"signal_ids" json:"signal_ids"`
TitleStatus NullTitleStatusT `db:"title_status" json:"title_status"`
ReleaseYear pgtype.Int4 `db:"release_year" json:"release_year"`
ReleaseSeason NullReleaseSeasonT `db:"release_season" json:"release_season"`
EpisodesAired pgtype.Int4 `db:"episodes_aired" json:"episodes_aired"`
EpisodesAll pgtype.Int4 `db:"episodes_all" json:"episodes_all"`
EpisodesLen []byte `db:"episodes_len" json:"episodes_len"`
TitleID int32 `db:"title_id" json:"title_id"`
}
func (q *Queries) UpdateTitle(ctx context.Context, arg UpdateTitleParams) (Titles, error) {
row := q.db.QueryRow(ctx, updateTitle,
arg.TitleNames,
arg.StudioID,
arg.PosterID,
arg.SignalIds,
arg.TitleStatus,
arg.ReleaseYear,
arg.ReleaseSeason,
arg.EpisodesAired,
arg.EpisodesAll,
arg.EpisodesLen,
arg.TitleID,
)
var i Titles
err := row.Scan(
&i.TitleID,
&i.TitleNames,
&i.StudioID,
&i.PosterID,
&i.SignalIds,
&i.TitleStatus,
&i.Rating,
&i.RatingCount,
&i.ReleaseYear,
&i.ReleaseSeason,
&i.Season,
&i.EpisodesAired,
&i.EpisodesAll,
&i.EpisodesLen,
)
return i, err
}
const updateUser = `-- name: UpdateUser :one
UPDATE users
SET
avatar_id = COALESCE($1, avatar_id),
disp_name = COALESCE($2, disp_name),
user_desc = COALESCE($3, user_desc)
WHERE user_id = $4
RETURNING user_id, avatar_id, nickname, disp_name, user_desc, creation_date
`
type UpdateUserParams struct {
AvatarID pgtype.Int4 `db:"avatar_id" json:"avatar_id"`
DispName pgtype.Text `db:"disp_name" json:"disp_name"`
UserDesc pgtype.Text `db:"user_desc" json:"user_desc"`
UserID int32 `db:"user_id" json:"user_id"`
}
type UpdateUserRow struct {
UserID int32 `db:"user_id" json:"user_id"`
AvatarID pgtype.Int4 `db:"avatar_id" json:"avatar_id"`
Nickname string `db:"nickname" json:"nickname"`
DispName pgtype.Text `db:"disp_name" json:"disp_name"`
UserDesc pgtype.Text `db:"user_desc" json:"user_desc"`
CreationDate pgtype.Timestamp `db:"creation_date" json:"creation_date"`
}
func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) (UpdateUserRow, error) {
row := q.db.QueryRow(ctx, updateUser,
arg.AvatarID,
arg.DispName,
arg.UserDesc,
arg.UserID,
)
var i UpdateUserRow
err := row.Scan(
&i.UserID,
&i.AvatarID,
&i.Nickname,
&i.DispName,
&i.UserDesc,
&i.CreationDate,
)
return i, err
}
const updateUserTitle = `-- name: UpdateUserTitle :one
UPDATE usertitles
SET
status = COALESCE($3, status),
rate = COALESCE($4, rate),
review_id = COALESCE($5, review_id)
WHERE user_id = $1 AND title_id = $2
RETURNING usertitle_id, user_id, title_id, status, rate, review_id
`
type UpdateUserTitleParams struct {
UserID int32 `db:"user_id" json:"user_id"`
TitleID int32 `db:"title_id" json:"title_id"`
Status NullUsertitleStatusT `db:"status" json:"status"`
Rate pgtype.Int4 `db:"rate" json:"rate"`
ReviewID pgtype.Int4 `db:"review_id" json:"review_id"`
}
func (q *Queries) UpdateUserTitle(ctx context.Context, arg UpdateUserTitleParams) (Usertitles, error) {
row := q.db.QueryRow(ctx, updateUserTitle,
arg.UserID,
arg.TitleID,
arg.Status,
arg.Rate,
arg.ReviewID,
)
var i Usertitles
err := row.Scan(
&i.UsertitleID,
&i.UserID,
&i.TitleID,
&i.Status,
&i.Rate,
&i.ReviewID,
)
return i, err
}