finish pgc impl
This commit is contained in:
@ -194,6 +194,17 @@ func (q *Queries) AllRooms(ctx context.Context) ([]Room, error) {
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const deleteBlockByID = `-- name: DeleteBlockByID :exec
|
||||
DELETE FROM room_restrictions
|
||||
WHERE
|
||||
id = $1
|
||||
`
|
||||
|
||||
func (q *Queries) DeleteBlockByID(ctx context.Context, id int32) error {
|
||||
_, err := q.db.Exec(ctx, deleteBlockByID, id)
|
||||
return err
|
||||
}
|
||||
|
||||
const deleteReservation = `-- name: DeleteReservation :exec
|
||||
DELETE FROM reservations
|
||||
WHERE
|
||||
@ -264,6 +275,64 @@ func (q *Queries) GetReservationByID(ctx context.Context, id int32) (GetReservat
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getRestrictionsForRoomByDate = `-- name: GetRestrictionsForRoomByDate :many
|
||||
SELECT
|
||||
id,
|
||||
coalesce(reservation_id, 0),
|
||||
restriction_id,
|
||||
room_id,
|
||||
start_date,
|
||||
end_date
|
||||
FROM
|
||||
room_restrictions
|
||||
WHERE
|
||||
$1 < end_date
|
||||
AND $2 >= start_date
|
||||
AND room_id = $3
|
||||
`
|
||||
|
||||
type GetRestrictionsForRoomByDateParams struct {
|
||||
EndDate pgtype.Date
|
||||
StartDate pgtype.Date
|
||||
RoomID int32
|
||||
}
|
||||
|
||||
type GetRestrictionsForRoomByDateRow struct {
|
||||
ID int32
|
||||
ReservationID int32
|
||||
RestrictionID int32
|
||||
RoomID int32
|
||||
StartDate pgtype.Date
|
||||
EndDate pgtype.Date
|
||||
}
|
||||
|
||||
func (q *Queries) GetRestrictionsForRoomByDate(ctx context.Context, arg GetRestrictionsForRoomByDateParams) ([]GetRestrictionsForRoomByDateRow, error) {
|
||||
rows, err := q.db.Query(ctx, getRestrictionsForRoomByDate, arg.EndDate, arg.StartDate, arg.RoomID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []GetRestrictionsForRoomByDateRow
|
||||
for rows.Next() {
|
||||
var i GetRestrictionsForRoomByDateRow
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ReservationID,
|
||||
&i.RestrictionID,
|
||||
&i.RoomID,
|
||||
&i.StartDate,
|
||||
&i.EndDate,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const getRoomById = `-- name: GetRoomById :one
|
||||
SELECT
|
||||
id,
|
||||
@ -342,6 +411,41 @@ func (q *Queries) GetUserCred(ctx context.Context, email string) (GetUserCredRow
|
||||
return i, err
|
||||
}
|
||||
|
||||
const insertBlockForRoom = `-- name: InsertBlockForRoom :exec
|
||||
INSERT INTO
|
||||
room_restrictions (
|
||||
start_date,
|
||||
end_date,
|
||||
room_id,
|
||||
restriction_id,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
VALUES
|
||||
($1, $2, $3, $4, $5, $6)
|
||||
`
|
||||
|
||||
type InsertBlockForRoomParams struct {
|
||||
StartDate pgtype.Date
|
||||
EndDate pgtype.Date
|
||||
RoomID int32
|
||||
RestrictionID int32
|
||||
CreatedAt pgtype.Timestamp
|
||||
UpdatedAt pgtype.Timestamp
|
||||
}
|
||||
|
||||
func (q *Queries) InsertBlockForRoom(ctx context.Context, arg InsertBlockForRoomParams) error {
|
||||
_, err := q.db.Exec(ctx, insertBlockForRoom,
|
||||
arg.StartDate,
|
||||
arg.EndDate,
|
||||
arg.RoomID,
|
||||
arg.RestrictionID,
|
||||
arg.CreatedAt,
|
||||
arg.UpdatedAt,
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
||||
const insertReservation = `-- name: InsertReservation :one
|
||||
INSERT INTO
|
||||
reservations (
|
||||
|
Reference in New Issue
Block a user