235 lines
6.3 KiB
Go
235 lines
6.3 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.30.0
|
|
// source: bookings.sql
|
|
|
|
package db
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
"time"
|
|
)
|
|
|
|
const createBooking = `-- name: CreateBooking :one
|
|
INSERT INTO bookings (user_id, service_id, event_date, address, notes, status, service_option, event_type)
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
|
|
RETURNING id, user_id, service_id, event_date, address, notes, created_at, status, service_option, event_type
|
|
`
|
|
|
|
type CreateBookingParams struct {
|
|
UserID sql.NullInt64 `json:"user_id"`
|
|
ServiceID sql.NullInt64 `json:"service_id"`
|
|
EventDate time.Time `json:"event_date"`
|
|
Address sql.NullString `json:"address"`
|
|
Notes sql.NullString `json:"notes"`
|
|
Status sql.NullString `json:"status"`
|
|
ServiceOption sql.NullString `json:"service_option"`
|
|
EventType sql.NullString `json:"event_type"`
|
|
}
|
|
|
|
type CreateBookingRow struct {
|
|
ID int64 `json:"id"`
|
|
UserID sql.NullInt64 `json:"user_id"`
|
|
ServiceID sql.NullInt64 `json:"service_id"`
|
|
EventDate time.Time `json:"event_date"`
|
|
Address sql.NullString `json:"address"`
|
|
Notes sql.NullString `json:"notes"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
Status sql.NullString `json:"status"`
|
|
ServiceOption sql.NullString `json:"service_option"`
|
|
EventType sql.NullString `json:"event_type"`
|
|
}
|
|
|
|
func (q *Queries) CreateBooking(ctx context.Context, arg CreateBookingParams) (CreateBookingRow, error) {
|
|
row := q.db.QueryRowContext(ctx, createBooking,
|
|
arg.UserID,
|
|
arg.ServiceID,
|
|
arg.EventDate,
|
|
arg.Address,
|
|
arg.Notes,
|
|
arg.Status,
|
|
arg.ServiceOption,
|
|
arg.EventType,
|
|
)
|
|
var i CreateBookingRow
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ServiceID,
|
|
&i.EventDate,
|
|
&i.Address,
|
|
&i.Notes,
|
|
&i.CreatedAt,
|
|
&i.Status,
|
|
&i.ServiceOption,
|
|
&i.EventType,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getBooking = `-- name: GetBooking :one
|
|
SELECT id, user_id, service_id, event_date, address, notes, created_at, status, service_option, event_type
|
|
FROM bookings
|
|
WHERE id = $1
|
|
`
|
|
|
|
type GetBookingRow struct {
|
|
ID int64 `json:"id"`
|
|
UserID sql.NullInt64 `json:"user_id"`
|
|
ServiceID sql.NullInt64 `json:"service_id"`
|
|
EventDate time.Time `json:"event_date"`
|
|
Address sql.NullString `json:"address"`
|
|
Notes sql.NullString `json:"notes"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
Status sql.NullString `json:"status"`
|
|
ServiceOption sql.NullString `json:"service_option"`
|
|
EventType sql.NullString `json:"event_type"`
|
|
}
|
|
|
|
func (q *Queries) GetBooking(ctx context.Context, id int64) (GetBookingRow, error) {
|
|
row := q.db.QueryRowContext(ctx, getBooking, id)
|
|
var i GetBookingRow
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ServiceID,
|
|
&i.EventDate,
|
|
&i.Address,
|
|
&i.Notes,
|
|
&i.CreatedAt,
|
|
&i.Status,
|
|
&i.ServiceOption,
|
|
&i.EventType,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const listBookingsByUser = `-- name: ListBookingsByUser :many
|
|
SELECT id, user_id, service_id, event_date, address, notes, created_at, status, service_option, event_type
|
|
FROM bookings
|
|
WHERE user_id = $1
|
|
ORDER BY event_date DESC
|
|
`
|
|
|
|
type ListBookingsByUserRow struct {
|
|
ID int64 `json:"id"`
|
|
UserID sql.NullInt64 `json:"user_id"`
|
|
ServiceID sql.NullInt64 `json:"service_id"`
|
|
EventDate time.Time `json:"event_date"`
|
|
Address sql.NullString `json:"address"`
|
|
Notes sql.NullString `json:"notes"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
Status sql.NullString `json:"status"`
|
|
ServiceOption sql.NullString `json:"service_option"`
|
|
EventType sql.NullString `json:"event_type"`
|
|
}
|
|
|
|
func (q *Queries) ListBookingsByUser(ctx context.Context, userID sql.NullInt64) ([]ListBookingsByUserRow, error) {
|
|
rows, err := q.db.QueryContext(ctx, listBookingsByUser, userID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []ListBookingsByUserRow{}
|
|
for rows.Next() {
|
|
var i ListBookingsByUserRow
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ServiceID,
|
|
&i.EventDate,
|
|
&i.Address,
|
|
&i.Notes,
|
|
&i.CreatedAt,
|
|
&i.Status,
|
|
&i.ServiceOption,
|
|
&i.EventType,
|
|
); 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 listBookingsWithServiceByUser = `-- name: ListBookingsWithServiceByUser :many
|
|
SELECT
|
|
b.id,
|
|
b.user_id,
|
|
b.service_id,
|
|
b.event_date,
|
|
b.address,
|
|
b.notes,
|
|
b.created_at,
|
|
b.status,
|
|
b.service_option,
|
|
b.event_type,
|
|
s.name as service_name,
|
|
s.description as service_description,
|
|
s.price_cents as service_price_cents
|
|
FROM bookings b
|
|
JOIN services s ON b.service_id = s.id
|
|
WHERE b.user_id = $1
|
|
ORDER BY b.event_date DESC
|
|
`
|
|
|
|
type ListBookingsWithServiceByUserRow struct {
|
|
ID int64 `json:"id"`
|
|
UserID sql.NullInt64 `json:"user_id"`
|
|
ServiceID sql.NullInt64 `json:"service_id"`
|
|
EventDate time.Time `json:"event_date"`
|
|
Address sql.NullString `json:"address"`
|
|
Notes sql.NullString `json:"notes"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
Status sql.NullString `json:"status"`
|
|
ServiceOption sql.NullString `json:"service_option"`
|
|
EventType sql.NullString `json:"event_type"`
|
|
ServiceName string `json:"service_name"`
|
|
ServiceDescription sql.NullString `json:"service_description"`
|
|
ServicePriceCents int32 `json:"service_price_cents"`
|
|
}
|
|
|
|
func (q *Queries) ListBookingsWithServiceByUser(ctx context.Context, userID sql.NullInt64) ([]ListBookingsWithServiceByUserRow, error) {
|
|
rows, err := q.db.QueryContext(ctx, listBookingsWithServiceByUser, userID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []ListBookingsWithServiceByUserRow{}
|
|
for rows.Next() {
|
|
var i ListBookingsWithServiceByUserRow
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.ServiceID,
|
|
&i.EventDate,
|
|
&i.Address,
|
|
&i.Notes,
|
|
&i.CreatedAt,
|
|
&i.Status,
|
|
&i.ServiceOption,
|
|
&i.EventType,
|
|
&i.ServiceName,
|
|
&i.ServiceDescription,
|
|
&i.ServicePriceCents,
|
|
); 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
|
|
}
|