Add status filter for booking retrieval
Some checks failed
Build and Push Docker Image / build_and_push (push) Failing after 5m24s

This commit is contained in:
Arnaud Delcasse
2025-09-10 16:10:21 +02:00
parent d71da5accd
commit fc5b33e88c
6 changed files with 443 additions and 1085 deletions

View File

@@ -44,11 +44,11 @@ func (h Handler) BookDriverJourney(passengerid string, driverid string, journeyi
return &booking, nil
}
func (h Handler) GetBookings(startdate time.Time, enddate time.Time, passengerid string, driverid string) ([]*types.Booking, error) {
func (h Handler) GetBookings(startdate time.Time, enddate time.Time, passengerid string, driverid string, status string) ([]*types.Booking, error) {
if enddate.Before(time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)) {
enddate = time.Date(9999, 12, 31, 0, 0, 0, 0, time.UTC)
}
log.Debug().Time("startdate", startdate).Time("enddate", enddate).Str("passengerid", passengerid).Str("driverid", driverid).Msg("GetBookings")
log.Debug().Time("startdate", startdate).Time("enddate", enddate).Str("passengerid", passengerid).Str("driverid", driverid).Str("status", status).Msg("GetBookings")
res := []*types.Booking{}
bookings, err := h.Storage.GetAllBookings()
@@ -59,7 +59,7 @@ func (h Handler) GetBookings(startdate time.Time, enddate time.Time, passengerid
for _, b := range bookings {
if b.Journey.DriverDepartureDate.After(startdate) && b.Journey.DriverDepartureDate.Before(enddate) {
if (passengerid == "" || b.PassengerId == passengerid) && (driverid == "" || b.DriverId == driverid) {
if (passengerid == "" || b.PassengerId == passengerid) && (driverid == "" || b.DriverId == driverid) && (status == "" || status == b.Status) {
res = append(res, b)
}
}