/
Arsinenko
/
CompClubAPI_Go
Обзор
Документация
Войти
/
Arsinenko
/
CompClubAPI_Go
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
internal/database/gen/bookings.sql.go
156 строк
3 KB
Arsinenko
EquipmentService
15 окт 2025, 14:21
15 окт 2025, 14:21
fd78e25
Код
Авторство
О чём код?
// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: bookings.sql package gen import ( "context" "database/sql" "time" ) const deleteBooking = `-- name: DeleteBooking :exec DELETE FROM bookings WHERE id = $1 ` func (q *Queries) DeleteBooking(ctx context.Context, id int32) error { _, err := q.db.ExecContext(ctx, deleteBooking, id) return err } const endBooking = `-- name: EndBooking :exec WITH updated_booking AS ( UPDATE bookings SET end_time = $1 WHERE bookings.id = $2 RETURNING "user", working_space ), booking_price AS ( SELECT ub."user", t.price FROM updated_booking ub JOIN working_spaces ws ON ws.id = ub.working_space JOIN tariffs t ON t.name = ws.tariff ) UPDATE users SET balance = users.balance - bp.price FROM booking_price bp WHERE users.login = bp."user" ` type EndBookingParams struct { EndTime sql.NullTime ID int32 } func (q *Queries) EndBooking(ctx context.Context, arg EndBookingParams) error { _, err := q.db.ExecContext(ctx, endBooking, arg.EndTime, arg.ID) return err } const getAllBookings = `-- name: GetAllBookings :many SELECT id, "user", working_space, start_time, end_time FROM bookings ` func (q *Queries) GetAllBookings(ctx context.Context) ([]Booking, error) { rows, err := q.db.QueryContext(ctx, getAllBookings) if err != nil { return nil, err } defer rows.Close() var items []Booking for rows.Next() { var i Booking if err := rows.Scan( &i.ID, &i.User, &i.WorkingSpace, &i.StartTime, &i.EndTime, ); 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 getBookingById = `-- name: GetBookingById :one SELECT id, "user", working_space, start_time, end_time FROM bookings WHERE id = $1 ` func (q *Queries) GetBookingById(ctx context.Context, id int32) (Booking, error) { row := q.db.QueryRowContext(ctx, getBookingById, id) var i Booking err := row.Scan( &i.ID, &i.User, &i.WorkingSpace, &i.StartTime, &i.EndTime, ) return i, err } const getUserBookings = `-- name: GetUserBookings :many SELECT id, "user", working_space, start_time, end_time FROM bookings WHERE "user" = $1 ` func (q *Queries) GetUserBookings(ctx context.Context, user string) ([]Booking, error) { rows, err := q.db.QueryContext(ctx, getUserBookings, user) if err != nil { return nil, err } defer rows.Close() var items []Booking for rows.Next() { var i Booking if err := rows.Scan( &i.ID, &i.User, &i.WorkingSpace, &i.StartTime, &i.EndTime, ); 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 startBooking = `-- name: StartBooking :one INSERT INTO bookings("user", working_space, start_time) VALUES ($1, $2, $3) RETURNING id, "user", working_space, start_time, end_time ` type StartBookingParams struct { User string WorkingSpace int32 StartTime time.Time } func (q *Queries) StartBooking(ctx context.Context, arg StartBookingParams) (Booking, error) { row := q.db.QueryRowContext(ctx, startBooking, arg.User, arg.WorkingSpace, arg.StartTime) var i Booking err := row.Scan( &i.ID, &i.User, &i.WorkingSpace, &i.StartTime, &i.EndTime, ) return i, err }