fix conflict with fleets bookings
This commit is contained in:
@@ -5,23 +5,23 @@ import (
|
||||
"solidarity-service/servers/grpc/proto"
|
||||
)
|
||||
|
||||
func ConvertInternalToProtoBookingStatus(internalStatus internal.BookingStatus) proto.BookingStatus {
|
||||
func ConvertInternalToProtoBookingStatus(internalStatus internal.BookingStatus) proto.BookingSolidarityStatus {
|
||||
switch internalStatus {
|
||||
case internal.BookingStatusINITIATED:
|
||||
return proto.BookingStatus_INITIATED
|
||||
return proto.BookingSolidarityStatus_INITIATED
|
||||
case internal.BookingStatusWAITINGPASSENGERCONFIRMATION:
|
||||
return proto.BookingStatus_WAITING_PASSENGER_CONFIRMATION
|
||||
return proto.BookingSolidarityStatus_WAITING_PASSENGER_CONFIRMATION
|
||||
case internal.BookingStatusWAITINGDRIVERCONFIRMATION:
|
||||
return proto.BookingStatus_WAITING_DRIVER_CONFIRMATION
|
||||
return proto.BookingSolidarityStatus_WAITING_DRIVER_CONFIRMATION
|
||||
case internal.BookingStatusCONFIRMED:
|
||||
return proto.BookingStatus_CONFIRMED
|
||||
return proto.BookingSolidarityStatus_CONFIRMED
|
||||
case internal.BookingStatusCANCELLED:
|
||||
return proto.BookingStatus_CANCELLED
|
||||
return proto.BookingSolidarityStatus_CANCELLED
|
||||
case internal.BookingStatusCOMPLETEDPENDINGVALIDATION:
|
||||
return proto.BookingStatus_COMPLETED_PENDING_VALIDATION
|
||||
return proto.BookingSolidarityStatus_COMPLETED_PENDING_VALIDATION
|
||||
case internal.BookingStatusVALIDATED:
|
||||
return proto.BookingStatus_VALIDATED
|
||||
return proto.BookingSolidarityStatus_VALIDATED
|
||||
default:
|
||||
return proto.BookingStatus_CONFIRMED
|
||||
return proto.BookingSolidarityStatus_CONFIRMED
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ func (s *SolidarityServiceServerImpl) SetDriverPunctualAvailabilities(ctx contex
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *SolidarityServiceServerImpl) CreateBooking(ctx context.Context, req *proto.CreateBookingSilvermobiRequest) (resp *proto.CreateBookingSilvermobiResponse, err error) {
|
||||
func (s *SolidarityServiceServerImpl) CreateBooking(ctx context.Context, req *proto.CreateBookingSolidarityRequest) (resp *proto.CreateBookingSolidarityResponse, err error) {
|
||||
if req.Booking.DriverId == "" || req.Booking.PassengerId == "" || req.Booking.Id == "" || req.Booking.Status.String() == "" || req.Booking.DepartureAddress == nil || req.Booking.DestinationAddress == nil || req.Booking.PickupDate.Seconds == 0 {
|
||||
return nil, errors.New("missing required fields")
|
||||
}
|
||||
@@ -202,10 +202,10 @@ func (s *SolidarityServiceServerImpl) CreateBooking(ctx context.Context, req *pr
|
||||
}
|
||||
distance := s.Handler.CalculateDistanceBetweenFeatures(bookingRequest.Departure_address, bookingRequest.Destination_address)
|
||||
priceType := proto.PriceType_FREE
|
||||
resp = &proto.CreateBookingSilvermobiResponse{
|
||||
Booking: &proto.BookingSilvermobi{},
|
||||
resp = &proto.CreateBookingSolidarityResponse{
|
||||
Booking: &proto.BookingSolidarity{},
|
||||
}
|
||||
resp.Booking = &proto.BookingSilvermobi{
|
||||
resp.Booking = &proto.BookingSolidarity{
|
||||
Id: bookingRequest.ID,
|
||||
Driver: &proto.User{
|
||||
Id: driver.Driver.ID,
|
||||
@@ -254,9 +254,9 @@ func (s *SolidarityServiceServerImpl) CreateBooking(ctx context.Context, req *pr
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *SolidarityServiceServerImpl) UpdateBooking(ctx context.Context, req *proto.UpdateBookingSilvermobiRequest) (resp *proto.UpdateBookingSilvermobiResponse, err error) {
|
||||
func (s *SolidarityServiceServerImpl) UpdateBooking(ctx context.Context, req *proto.UpdateBookingSolidarityRequest) (resp *proto.UpdateBookingSolidarityResponse, err error) {
|
||||
if req.BookingId == "" || req.Status.String() == "" {
|
||||
return &proto.UpdateBookingSilvermobiResponse{
|
||||
return &proto.UpdateBookingSolidarityResponse{
|
||||
Success: false,
|
||||
}, errors.New("missing required fields")
|
||||
}
|
||||
@@ -266,16 +266,16 @@ func (s *SolidarityServiceServerImpl) UpdateBooking(ctx context.Context, req *pr
|
||||
if strings.Contains(err.Error(), utils.SQL_NO_ROWS) {
|
||||
err = errors.New("invalid ID")
|
||||
}
|
||||
return &proto.UpdateBookingSilvermobiResponse{
|
||||
return &proto.UpdateBookingSolidarityResponse{
|
||||
Success: false,
|
||||
}, err
|
||||
}
|
||||
return &proto.UpdateBookingSilvermobiResponse{
|
||||
return &proto.UpdateBookingSolidarityResponse{
|
||||
Success: true,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto.GetBookingSilvermobiRequest) (resp *proto.GetBookingSilvermobiResponse, err error) {
|
||||
func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto.GetBookingSolidarityRequest) (resp *proto.GetBookingSolidarityResponse, err error) {
|
||||
if req.BookingId == "" {
|
||||
return nil, errors.New("empty booking ID")
|
||||
}
|
||||
@@ -286,8 +286,8 @@ func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
resp = &proto.GetBookingSilvermobiResponse{
|
||||
Booking: &proto.BookingSilvermobi{},
|
||||
resp = &proto.GetBookingSolidarityResponse{
|
||||
Booking: &proto.BookingSolidarity{},
|
||||
}
|
||||
priceType := proto.PriceType_FREE
|
||||
driver, err := s.Handler.GetDriver(context.Background(), booking.Driver.ID)
|
||||
@@ -296,7 +296,7 @@ func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto
|
||||
}
|
||||
car := driver.Car
|
||||
distance := int64(booking.Distance)
|
||||
resp.Booking = &proto.BookingSilvermobi{
|
||||
resp.Booking = &proto.BookingSolidarity{
|
||||
Id: booking.ID,
|
||||
Driver: &proto.User{
|
||||
Id: booking.Driver.ID,
|
||||
@@ -359,7 +359,7 @@ func (s *SolidarityServiceServerImpl) GetBookingsByStatus(ctx context.Context, r
|
||||
}
|
||||
|
||||
// Use a goroutine to concurrently convert bookings to proto
|
||||
respChan := make(chan []*proto.BookingSilvermobi, 1)
|
||||
respChan := make(chan []*proto.BookingSolidarity, 1)
|
||||
go func() {
|
||||
respChan <- convertInternalBookingsToProto(s, bookings, 50)
|
||||
}()
|
||||
@@ -379,8 +379,8 @@ func (s *SolidarityServiceServerImpl) GetBookingsByStatus(ctx context.Context, r
|
||||
}
|
||||
}
|
||||
|
||||
func convertInternalBookingsToProto(s *SolidarityServiceServerImpl, bookings []internal.Booking, maxGoroutines int) []*proto.BookingSilvermobi {
|
||||
var responses []*proto.BookingSilvermobi
|
||||
func convertInternalBookingsToProto(s *SolidarityServiceServerImpl, bookings []internal.Booking, maxGoroutines int) []*proto.BookingSolidarity {
|
||||
var responses []*proto.BookingSolidarity
|
||||
var wg sync.WaitGroup
|
||||
var mu sync.Mutex
|
||||
semaphore := make(chan struct{}, maxGoroutines)
|
||||
@@ -426,7 +426,7 @@ func convertInternalBookingsToProto(s *SolidarityServiceServerImpl, bookings []i
|
||||
|
||||
priceType := proto.PriceType_FREE
|
||||
distance := int64(booking.Distance)
|
||||
protoBooking := &proto.BookingSilvermobi{
|
||||
protoBooking := &proto.BookingSolidarity{
|
||||
Id: booking.ID,
|
||||
Status: ConvertInternalToProtoBookingStatus(booking.Status),
|
||||
Driver: convertInternalUserToProtoUser(driver.Driver),
|
||||
|
||||
Reference in New Issue
Block a user