add getAllDrivers method
This commit is contained in:
@@ -575,13 +575,13 @@ func (s PostgresqlStorage) GetBooking(id string) (booking internal.Booking, err
|
||||
log.Error().Err(err).Msg(errMsg)
|
||||
return internal.Booking{}, errors.New(errMsg + err.Error())
|
||||
}
|
||||
// passenger, err := s.GetPassenger(booking.Passenger.ID)
|
||||
// if err != nil {
|
||||
// errMsg := "Postgresql Storage GetBooking Error getting passenger"
|
||||
// log.Error().Err(err).Msg(errMsg)
|
||||
// return booking, errors.New(errMsg + err.Error())
|
||||
// }
|
||||
// booking.Passenger = passenger.Passenger
|
||||
passenger, err := s.GetPassenger(booking.Passenger.ID)
|
||||
if err != nil {
|
||||
errMsg := "Postgresql Storage GetBooking Error getting passenger"
|
||||
log.Error().Err(err).Msg(errMsg)
|
||||
return booking, errors.New(errMsg + err.Error())
|
||||
}
|
||||
booking.Passenger = passenger.Passenger
|
||||
driver, err := s.GetDriver(booking.Driver.ID)
|
||||
if err != nil {
|
||||
errMsg := "Postgresql Storage GetBooking Error getting driver"
|
||||
@@ -677,20 +677,20 @@ func (s PostgresqlStorage) populateBookingDetails(booking internal.Booking, depa
|
||||
errCh := make(chan error, 4) // Buffered channel to handle potential errors
|
||||
|
||||
// Concurrently fetch passenger information
|
||||
// wg.Add(1)
|
||||
// go func() {
|
||||
// defer wg.Done()
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
|
||||
// passenger, err := s.GetPassenger(booking.Passenger.ID)
|
||||
// if err != nil {
|
||||
// errCh <- fmt.Errorf("Postgresql Storage GetBooking Error getting passenger: %w", err)
|
||||
// return
|
||||
// }
|
||||
passenger, err := s.GetPassenger(booking.Passenger.ID)
|
||||
if err != nil {
|
||||
errCh <- fmt.Errorf("Postgresql Storage GetBooking Error getting passenger: %w", err)
|
||||
return
|
||||
}
|
||||
|
||||
// mu.Lock()
|
||||
// booking.Passenger = passenger.Passenger
|
||||
// mu.Unlock()
|
||||
// }()
|
||||
mu.Lock()
|
||||
booking.Passenger = passenger.Passenger
|
||||
mu.Unlock()
|
||||
}()
|
||||
|
||||
// Concurrently fetch driver information
|
||||
wg.Add(1)
|
||||
@@ -754,7 +754,64 @@ func (s PostgresqlStorage) populateBookingDetails(booking internal.Booking, depa
|
||||
return booking, nil
|
||||
}
|
||||
|
||||
func (s PostgresqlStorage) GetAllDrivers(date int64) (drivers []internal.Driver, err error) {
|
||||
func (s PostgresqlStorage) GetAllDrivers( ) (drivers []internal.Driver, err error) {
|
||||
rows, err := s.DbConnection.Query(fmt.Sprintf("SELECT driver_id, driver_departure_route, driver_radius, last_name, first_name, grade, alias, picture, verified_identity, preferences, availabilities_type, availabilities, operator, car FROM %s", s.Tables["drivers"]))
|
||||
|
||||
fmt.Println("test; ; ; ; ", rows)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
for rows.Next() {
|
||||
var driver internal.Driver
|
||||
var departureRoute []byte
|
||||
var preferencesJSON []byte
|
||||
var availabilitiesJSON []byte
|
||||
var carJSON []byte
|
||||
|
||||
if err := rows.Scan(
|
||||
&driver.Driver.ID,
|
||||
&departureRoute,
|
||||
&driver.Radius,
|
||||
&driver.Driver.LastName,
|
||||
&driver.Driver.FirstName,
|
||||
&driver.Driver.Grade,
|
||||
&driver.Driver.Alias,
|
||||
&driver.Driver.Picture,
|
||||
&driver.Driver.VerifiedIdentity,
|
||||
&preferencesJSON,
|
||||
&driver.AvailabilitiesType,
|
||||
&availabilitiesJSON,
|
||||
&driver.Driver.Operator,
|
||||
&carJSON,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(departureRoute, &driver.Driver_departure_address); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := json.Unmarshal(preferencesJSON, &driver.Preferences); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := json.Unmarshal(carJSON, &driver.Car); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
drivers = append(drivers, driver)
|
||||
|
||||
}
|
||||
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return drivers, nil
|
||||
}
|
||||
|
||||
|
||||
func (s PostgresqlStorage) GetAllDriversByDate(date int64) (drivers []internal.Driver, err error) {
|
||||
rows, err := s.DbConnection.Query(fmt.Sprintf("SELECT driver_id, driver_departure_route, driver_radius, last_name, first_name, grade, alias, picture, verified_identity, preferences, availabilities_type, availabilities, operator, car FROM %s", s.Tables["drivers"]))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -880,7 +937,7 @@ func (s PostgresqlStorage) GetAllDrivers(date int64) (drivers []internal.Driver,
|
||||
}
|
||||
|
||||
func (s PostgresqlStorage) DriverJourneys(departure_route *geojson.Feature, departure_date int64) (drivers []internal.Driver, err error) {
|
||||
allDrivers, err := s.GetAllDrivers(departure_date)
|
||||
allDrivers, err := s.GetAllDriversByDate(departure_date)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -18,8 +18,9 @@ type Storage interface {
|
||||
UpdateBookingStatus(id string, status internal.BookingStatus) (err error)
|
||||
FilterUserBookingsByStatus(user_type string, status internal.BookingStatus, user_id string) (bookings []internal.Booking, err error)
|
||||
DriverJourneys(departure_route *geojson.Feature, departure_date int64) (drivers []internal.Driver, err error)
|
||||
GetAllDrivers(date int64) (drivers []internal.Driver, err error)
|
||||
}
|
||||
GetAllDriversByDate(date int64) (drivers []internal.Driver, err error)
|
||||
GetAllDrivers() (drivers []internal.Driver, err error)
|
||||
}
|
||||
|
||||
func NewStorage(cfg *viper.Viper) (Storage, error) {
|
||||
var (
|
||||
|
||||
Reference in New Issue
Block a user