Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
127 lines
2.7 KiB
Go
127 lines
2.7 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
// source: query.sql
|
|
|
|
package db
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
|
|
models "github.com/sqlc-dev/sqlc/endtoend/output_models_path/postgresql/model"
|
|
)
|
|
|
|
const createAuthor = `-- name: CreateAuthor :one
|
|
INSERT INTO authors (name, bio, status) VALUES ($1, $2, $3) RETURNING id, name, bio, status
|
|
`
|
|
|
|
type CreateAuthorParams struct {
|
|
Name string
|
|
Bio sql.NullString
|
|
Status models.Status
|
|
}
|
|
|
|
func (q *Queries) CreateAuthor(ctx context.Context, arg CreateAuthorParams) (models.Author, error) {
|
|
row := q.db.QueryRowContext(ctx, createAuthor, arg.Name, arg.Bio, arg.Status)
|
|
var i models.Author
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.Name,
|
|
&i.Bio,
|
|
&i.Status,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getAuthor = `-- name: GetAuthor :one
|
|
SELECT id, name, bio, status FROM authors WHERE id = $1 LIMIT 1
|
|
`
|
|
|
|
func (q *Queries) GetAuthor(ctx context.Context, id int64) (models.Author, error) {
|
|
row := q.db.QueryRowContext(ctx, getAuthor, id)
|
|
var i models.Author
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.Name,
|
|
&i.Bio,
|
|
&i.Status,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getBook = `-- name: GetBook :one
|
|
SELECT id, author_id, title FROM books WHERE id = $1 LIMIT 1
|
|
`
|
|
|
|
func (q *Queries) GetBook(ctx context.Context, id int64) (models.Book, error) {
|
|
row := q.db.QueryRowContext(ctx, getBook, id)
|
|
var i models.Book
|
|
err := row.Scan(&i.ID, &i.AuthorID, &i.Title)
|
|
return i, err
|
|
}
|
|
|
|
const listAuthors = `-- name: ListAuthors :many
|
|
SELECT id, name, bio, status FROM authors ORDER BY name
|
|
`
|
|
|
|
func (q *Queries) ListAuthors(ctx context.Context) ([]models.Author, error) {
|
|
rows, err := q.db.QueryContext(ctx, listAuthors)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []models.Author
|
|
for rows.Next() {
|
|
var i models.Author
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.Name,
|
|
&i.Bio,
|
|
&i.Status,
|
|
); 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 listAuthorsByStatus = `-- name: ListAuthorsByStatus :many
|
|
SELECT id, name, bio, status FROM authors WHERE status = $1 ORDER BY name
|
|
`
|
|
|
|
func (q *Queries) ListAuthorsByStatus(ctx context.Context, status models.Status) ([]models.Author, error) {
|
|
rows, err := q.db.QueryContext(ctx, listAuthorsByStatus, status)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []models.Author
|
|
for rows.Next() {
|
|
var i models.Author
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.Name,
|
|
&i.Bio,
|
|
&i.Status,
|
|
); 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
|
|
}
|