logic to update vehicles

This commit is contained in:
soukainna
2023-05-19 11:26:36 +02:00
parent d48c1ccf8e
commit 41bf03682c
4 changed files with 41 additions and 3 deletions

View File

@@ -79,9 +79,6 @@ func (s FleetsServerImpl) GetVehicles(ctx context.Context, req *GetVehiclesReque
return &GetVehiclesResponse{Vehicles: vehicles}, nil
}
func (s FleetsServerImpl) UpdateVehicle(context.Context, *UpdateVehicleRequest) (*UpdateVehicleResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateVehicle not implemented")
}
func (s FleetsServerImpl) CreateBooking(ctx context.Context, req *CreateBookingRequest) (*CreateBookingResponse, error) {
b := req.Booking.ToStorageType()
booking, err := s.handler.AddBooking(b)
@@ -195,3 +192,19 @@ func Run(done chan error, cfg *viper.Viper, handler handlers.FleetsHandler) {
done <- err
}
}
/////////////////////update////////////////////////
func (s FleetsServerImpl) UpdateVehicle(ctx context.Context, req *UpdateVehicleRequest) (*UpdateVehicleResponse, error) {
b := req.Vehicle.ToStorageType()
vehicle, err := s.handler.UpdateVehicle(b)
if err != nil {
fmt.Println(err)
return nil, status.Errorf(codes.AlreadyExists, "vehicle update failed : %v", err)
}
response, err := VehicleFromStorageType(vehicle)
if err != nil {
fmt.Println(err)
return nil, status.Errorf(codes.Internal, "issue while retrieving vehicle : %v", err)
}
return &UpdateVehicleResponse{Vehicle: response}, nil
}