sql error handling: no rows + duplicated key

This commit is contained in:
2023-10-20 21:34:20 +02:00
parent 513b048e49
commit d12c55d740
14 changed files with 88 additions and 2564 deletions

View File

@@ -80,20 +80,20 @@ func (s PostgresqlStorage) CreatePassenger(passenger internal.Passenger) (err er
if err != nil {
errMsg := "Postgresql Storage CreatePassenger Error encoding Preferences to JSON"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
departureJSON, err := json.Marshal(passenger.Passenger_departure_address)
if err != nil {
errMsg := "Postgresql Storage CreatePassenger Error encoding departure Feature to JSON"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
destinationJSON, err := json.Marshal(passenger.Passenger_destination_address)
if err != nil {
errMsg := "Postgresql Storage CreatePassenger Error converting destination Feature to JSON"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
_, err = s.DbConnection.Exec(fmt.Sprintf("INSERT INTO %s (passenger_id, passenger_departure_route, passenger_destination_route, alias, last_name, first_name, grade, picture, verified_identity, operator, preferences, passenger_pickup_date) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12)", s.Tables["passengers"]),
passenger.Passenger.ID,
@@ -111,7 +111,7 @@ func (s PostgresqlStorage) CreatePassenger(passenger internal.Passenger) (err er
if err != nil {
errMsg := "Postgresql Storage CreatePassenger Error inserting data into the database"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
return nil
}
@@ -139,26 +139,26 @@ func (s PostgresqlStorage) GetPassenger(passengerID string) (passenger internal.
fmt.Println(err)
errMsg := "Postgresql Storage GetPassenger Error querying data from the database"
log.Error().Err(err).Msg(errMsg)
return passenger, errors.New(errMsg)
return passenger, errors.New(errMsg + err.Error())
}
err = json.Unmarshal(preferencesJSON, &passenger.Preferences)
if err != nil {
errMsg := "Postgresql Storage GetPassenger Error decoding Preferences from JSON"
log.Error().Err(err).Msg(errMsg)
return passenger, errors.New(errMsg)
return passenger, errors.New(errMsg + err.Error())
}
passenger.Passenger_destination_address, err = geojson.UnmarshalFeature(destination_address)
if err != nil {
errMsg := "Postgresql Storage GetPassenger Error decoding Passenger destination route into GeoJSON"
log.Error().Err(err).Msg(errMsg)
return passenger, errors.New(errMsg)
return passenger, errors.New(errMsg + err.Error())
}
passenger.Passenger_departure_address, err = geojson.UnmarshalFeature(departure_address)
if err != nil {
errMsg := "Postgresql Storage GetPassenger Error decoding Passenger departure route into GeoJSON"
log.Error().Err(err).Msg(errMsg)
return passenger, errors.New(errMsg)
return passenger, errors.New(errMsg + err.Error())
}
return passenger, nil
}
@@ -174,19 +174,19 @@ func (s PostgresqlStorage) CreateDriver(driver internal.Driver) (err error) {
if err != nil {
errMsg := "Postgresql Storage CreateDriver Error encoding departure Feature to JSON"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
preferencesJSON, err := json.Marshal(driver.Preferences)
if err != nil {
errMsg := "Postgresql Storage CreateDriver Error encoding Preferences to JSON"
log.Error().Err(err).Msg(errMsg)
log.Error().Err(err).Msg(errMsg + err.Error())
return errors.New(errMsg)
}
carJSON, err := json.Marshal(driver.Car)
if err != nil {
errMsg := "Postgresql Storage CreateDriver Error encoding Car to JSON"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
if driver.Driver.Alias == "" || driver.Driver.Operator == "" {
errMsg := "Postgresql Storage CreateDriver empty alias or operator FQDN."
@@ -209,14 +209,14 @@ func (s PostgresqlStorage) CreateDriver(driver internal.Driver) (err error) {
if err != nil {
errMsg := "Postgresql Storage CreateDriver error converting Punctual availabilities"
log.Error().Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
case internal.Regular:
availabilities, err = json.Marshal(driver.RegularAvailabilities)
if err != nil {
errMsg := "Postgresql Storage CreateDriver error converting Regular availabilities"
log.Error().Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
}
_, err = s.DbConnection.Exec(fmt.Sprintf("INSERT INTO %s (driver_id,driver_departure_route,driver_radius,last_name,first_name,grade,alias,picture,verified_identity,preferences,availabilities_type,availabilities,operator , car) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14)", s.Tables["drivers"]),
@@ -239,7 +239,7 @@ func (s PostgresqlStorage) CreateDriver(driver internal.Driver) (err error) {
fmt.Println(err)
errMsg := "Postgresql Storage CreateDriver Error inserting data into the database"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
return nil
}
@@ -269,26 +269,26 @@ func (s PostgresqlStorage) GetDriver(driverID string) (driver internal.Driver, e
if err != nil {
errMsg := "Postgresql Storage GetDriver Error querying data from the database"
log.Error().Err(err).Msg(errMsg)
return driver, errors.New(errMsg)
return driver, errors.New(errMsg + err.Error())
}
err = json.Unmarshal(preferencesJSON, &driver.Preferences)
if err != nil {
errMsg := "Postgresql Storage GetDriver Error decoding Preferences from JSON"
log.Error().Err(err).Msg(errMsg)
return driver, errors.New(errMsg)
return driver, errors.New(errMsg + err.Error())
}
err = json.Unmarshal(carJSON, &driver.Car)
if err != nil {
errMsg := "Postgresql Storage GetDriver Error decoding Car from JSON"
log.Error().Err(err).Msg(errMsg)
return driver, errors.New(errMsg)
return driver, errors.New(errMsg + err.Error())
}
driver.Driver_departure_address, err = geojson.UnmarshalFeature(departureAddress)
if err != nil {
errMsg := "Postgresql Storage GetDriver Error decoding Driver departure route into GeoJSON"
log.Error().Err(err).Msg(errMsg)
return driver, errors.New(errMsg)
return driver, errors.New(errMsg + err.Error())
}
switch driver.AvailabilitiesType {
@@ -297,19 +297,19 @@ func (s PostgresqlStorage) GetDriver(driverID string) (driver internal.Driver, e
if err != nil {
errMsg := "Postgresql Storage GetDriver Error decoding Regular Availabilities from JSON"
log.Error().Err(err).Msg(errMsg)
return driver, errors.New(errMsg)
return driver, errors.New(errMsg + err.Error())
}
case internal.Punctual:
err = json.Unmarshal(availabilitiesJSON, &driver.PunctualAvailabilities)
if err != nil {
errMsg := "Postgresql Storage GetDriver Error decoding Punctual Availabilities from JSON"
log.Error().Err(err).Msg(errMsg)
return driver, errors.New(errMsg)
return driver, errors.New(errMsg + err.Error())
}
default:
errMsg := "Postgresql Storage GetDriver Invalid Availabilities Type"
log.Error().Msg(errMsg)
return driver, errors.New(errMsg)
return driver, errors.New(errMsg + err.Error())
}
return driver, nil
@@ -345,7 +345,7 @@ func (s PostgresqlStorage) CreateBooking(booking internal.BookingRequest) (err e
if err != nil {
errMsg := "Postgresql Storage CreateBooking Error inserting data into the database"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
return nil
}
@@ -358,7 +358,7 @@ func (s PostgresqlStorage) GetBooking(id string) (booking internal.Booking, err
&booking.Driver.ID,
&booking.Status,
)
fmt.Println(err)
if err != nil {
errMsg := "Postgresql Storage GetBooking Error getting booking"
log.Error().Err(err).Msg(errMsg)
@@ -398,7 +398,7 @@ func (s PostgresqlStorage) UpdateBookingStatus(id string, status internal.Bookin
if err != nil {
errMsg := "Postgresql Storage UpdateBookingStatus Error updating booking status"
log.Error().Err(err).Msg(errMsg)
return errors.New(errMsg)
return errors.New(errMsg + err.Error())
}
return nil