// 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 }