Return handling
	
		
			
	
		
	
	
		
			
				
	
				Build and Push Docker Image / build_and_push (push) Failing after 40s
				
					Details
				
			
		
	
				
					
				
			
				
	
				Build and Push Docker Image / build_and_push (push) Failing after 40s
				
					Details
				
			
		
	This commit is contained in:
		
							parent
							
								
									3d32c9a24a
								
							
						
					
					
						commit
						d237401c81
					
				| 
						 | 
				
			
			@ -35,6 +35,14 @@ func ReadConfig() (*viper.Viper, error) {
 | 
			
		|||
			"type":     "valhalla",
 | 
			
		||||
			"base_url": "https://valhalla.coopgo.io",
 | 
			
		||||
		},
 | 
			
		||||
		"parameters": map[string]any{
 | 
			
		||||
			"limits": map[string]any{
 | 
			
		||||
				"distance": map[string]any{
 | 
			
		||||
					"min": 4,
 | 
			
		||||
					"max": 200,
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	v := viper.New()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ import (
 | 
			
		|||
	"github.com/rs/zerolog/log"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (h Handler) BookDriverJourney(passengerid string, driverid string, journeyid string) (*types.Booking, error) {
 | 
			
		||||
func (h Handler) BookDriverJourney(passengerid string, driverid string, journeyid string, returnWaitingDuration time.Duration) (*types.Booking, error) {
 | 
			
		||||
	journey, err := h.Storage.GetDriverJourney(journeyid)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error().Err(err).Msg("could not find driver journey")
 | 
			
		||||
| 
						 | 
				
			
			@ -21,12 +21,13 @@ func (h Handler) BookDriverJourney(passengerid string, driverid string, journeyi
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	booking := types.Booking{
 | 
			
		||||
		Id:          uuid.NewString(),
 | 
			
		||||
		GroupId:     uuid.NewString(),
 | 
			
		||||
		Status:      "WAITING_CONFIRMATION",
 | 
			
		||||
		PassengerId: passengerid,
 | 
			
		||||
		DriverId:    driverid,
 | 
			
		||||
		Journey:     journey,
 | 
			
		||||
		Id:                    uuid.NewString(),
 | 
			
		||||
		GroupId:               uuid.NewString(),
 | 
			
		||||
		Status:                "WAITING_CONFIRMATION",
 | 
			
		||||
		PassengerId:           passengerid,
 | 
			
		||||
		DriverId:              driverid,
 | 
			
		||||
		Journey:               journey,
 | 
			
		||||
		ReturnWaitingDuration: returnWaitingDuration,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := h.Storage.CreateBooking(booking); err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@ import (
 | 
			
		|||
	"errors"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"git.coopgo.io/coopgo-platform/routing-service"
 | 
			
		||||
	"git.coopgo.io/coopgo-platform/solidarity-transport/types"
 | 
			
		||||
	"github.com/google/uuid"
 | 
			
		||||
	"github.com/paulmach/orb"
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +12,9 @@ import (
 | 
			
		|||
	"github.com/rs/zerolog/log"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (h *Handler) GetDriverJourneys(departure *geojson.Feature, arrival *geojson.Feature, departureDate time.Time) ([]*types.DriverJourney, error) {
 | 
			
		||||
func (h *Handler) GetDriverJourneys(departure *geojson.Feature, arrival *geojson.Feature, departureDate time.Time, noreturn bool) ([]*types.DriverJourney, error) {
 | 
			
		||||
	minDistance := h.Config.GetInt64("parameters.limits.distance.min")
 | 
			
		||||
	maxDistance := h.Config.GetInt64("parameters.limits.distance.max")
 | 
			
		||||
	day := int(departureDate.Weekday())
 | 
			
		||||
	timeInDay := departureDate.Format("15:04")
 | 
			
		||||
	driverJourneys := []*types.DriverJourney{}
 | 
			
		||||
| 
						 | 
				
			
			@ -26,14 +29,27 @@ func (h *Handler) GetDriverJourneys(departure *geojson.Feature, arrival *geojson
 | 
			
		|||
	for _, a := range availabilities {
 | 
			
		||||
		log.Debug().Any("availability", a).Msg("Availability found")
 | 
			
		||||
		if a.Address != nil {
 | 
			
		||||
			route, err := h.Routing.Route(
 | 
			
		||||
				[]orb.Point{
 | 
			
		||||
					a.Address.Point(),
 | 
			
		||||
					departure.Point(),
 | 
			
		||||
					arrival.Point(),
 | 
			
		||||
					a.Address.Point(),
 | 
			
		||||
				},
 | 
			
		||||
			)
 | 
			
		||||
			var route *routing.Route
 | 
			
		||||
			if noreturn {
 | 
			
		||||
				route, err = h.Routing.Route(
 | 
			
		||||
					[]orb.Point{
 | 
			
		||||
						a.Address.Point(),
 | 
			
		||||
						departure.Point(),
 | 
			
		||||
						arrival.Point(),
 | 
			
		||||
						a.Address.Point(),
 | 
			
		||||
					},
 | 
			
		||||
				)
 | 
			
		||||
			} else {
 | 
			
		||||
				route, err = h.Routing.Route(
 | 
			
		||||
					[]orb.Point{
 | 
			
		||||
						a.Address.Point(),
 | 
			
		||||
						departure.Point(),
 | 
			
		||||
						arrival.Point(),
 | 
			
		||||
						departure.Point(),
 | 
			
		||||
						a.Address.Point(),
 | 
			
		||||
					},
 | 
			
		||||
				)
 | 
			
		||||
			}
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				log.Error().Err(err).Msg("failedcomputing route request")
 | 
			
		||||
				continue
 | 
			
		||||
| 
						 | 
				
			
			@ -41,12 +57,17 @@ func (h *Handler) GetDriverJourneys(departure *geojson.Feature, arrival *geojson
 | 
			
		|||
 | 
			
		||||
			log.Debug().Any("route", route).Msg("debug route")
 | 
			
		||||
 | 
			
		||||
			passengerDistance := int64(route.Legs[1].Distance)
 | 
			
		||||
			if !noreturn {
 | 
			
		||||
				passengerDistance = passengerDistance + int64(route.Legs[2].Distance)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			driverJourney := &types.DriverJourney{
 | 
			
		||||
				Id:                  uuid.NewString(),
 | 
			
		||||
				DriverId:            a.DriverId,
 | 
			
		||||
				PassengerPickup:     departure,
 | 
			
		||||
				PassengerDrop:       arrival,
 | 
			
		||||
				PassengerDistance:   int64(route.Legs[1].Distance),
 | 
			
		||||
				PassengerDistance:   passengerDistance,
 | 
			
		||||
				DriverDeparture:     a.Address,
 | 
			
		||||
				DriverArrival:       a.Address,
 | 
			
		||||
				DriverDistance:      int64(route.Distance),
 | 
			
		||||
| 
						 | 
				
			
			@ -58,8 +79,11 @@ func (h *Handler) GetDriverJourneys(departure *geojson.Feature, arrival *geojson
 | 
			
		|||
					Currency: "EUR",
 | 
			
		||||
					Amount:   0,
 | 
			
		||||
				},
 | 
			
		||||
				Noreturn: noreturn,
 | 
			
		||||
			}
 | 
			
		||||
			if driverJourney.PassengerDistance >= minDistance && driverJourney.PassengerDistance <= maxDistance {
 | 
			
		||||
				driverJourneys = append(driverJourneys, driverJourney)
 | 
			
		||||
			}
 | 
			
		||||
			driverJourneys = append(driverJourneys, driverJourney)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -83,3 +107,52 @@ func (h Handler) GetDriverJourney(driverid string, journeyid string) (*types.Dri
 | 
			
		|||
 | 
			
		||||
	return journey, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (h Handler) ToggleDriverJourneyNoreturn(journeyid string) error {
 | 
			
		||||
	journey, err := h.Storage.GetDriverJourney(journeyid)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error().Err(err).Msg("error retrieving journey")
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if journey.Noreturn {
 | 
			
		||||
		journey.Noreturn = false
 | 
			
		||||
		route, err := h.Routing.Route(
 | 
			
		||||
			[]orb.Point{
 | 
			
		||||
				journey.DriverDeparture.Point(),
 | 
			
		||||
				journey.PassengerPickup.Point(),
 | 
			
		||||
				journey.PassengerDrop.Point(),
 | 
			
		||||
				journey.PassengerPickup.Point(),
 | 
			
		||||
				journey.DriverDeparture.Point(),
 | 
			
		||||
			},
 | 
			
		||||
		)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Error().Err(err).Msg("error in route calculation")
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
		journey.PassengerDistance = int64(route.Legs[1].Distance) + int64(route.Legs[2].Distance)
 | 
			
		||||
		journey.DriverDistance = int64(route.Distance)
 | 
			
		||||
		journey.Duration = route.Legs[1].Duration + route.Legs[2].Duration
 | 
			
		||||
	} else {
 | 
			
		||||
		journey.Noreturn = true
 | 
			
		||||
		route, err := h.Routing.Route(
 | 
			
		||||
			[]orb.Point{
 | 
			
		||||
				journey.DriverDeparture.Point(),
 | 
			
		||||
				journey.PassengerPickup.Point(),
 | 
			
		||||
				journey.PassengerDrop.Point(),
 | 
			
		||||
				journey.DriverDeparture.Point(),
 | 
			
		||||
			},
 | 
			
		||||
		)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Error().Err(err).Msg("error in route calculation")
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
		journey.PassengerDistance = int64(route.Legs[1].Distance)
 | 
			
		||||
		journey.DriverDistance = int64(route.Distance)
 | 
			
		||||
		journey.Duration = route.Legs[1].Duration
 | 
			
		||||
	}
 | 
			
		||||
	log.Debug().Any("journey", journey).Msg("journey update")
 | 
			
		||||
 | 
			
		||||
	err = h.Storage.UpdateDriverJourney(*journey)
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -220,6 +220,7 @@ type SolidarityTransportDriverJourney struct {
 | 
			
		|||
	PassengerPickupDate *timestamppb.Timestamp    `protobuf:"bytes,11,opt,name=passenger_pickup_date,json=passengerPickupDate,proto3" json:"passenger_pickup_date,omitempty"`
 | 
			
		||||
	DriverDepartureDate *timestamppb.Timestamp    `protobuf:"bytes,12,opt,name=driver_departure_date,json=driverDepartureDate,proto3,oneof" json:"driver_departure_date,omitempty"`
 | 
			
		||||
	Price               *SolidarityTransportPrice `protobuf:"bytes,13,opt,name=price,proto3,oneof" json:"price,omitempty"`
 | 
			
		||||
	Noreturn            bool                      `protobuf:"varint,14,opt,name=noreturn,proto3" json:"noreturn,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SolidarityTransportDriverJourney) Reset() {
 | 
			
		||||
| 
						 | 
				
			
			@ -345,6 +346,13 @@ func (x *SolidarityTransportDriverJourney) GetPrice() *SolidarityTransportPrice
 | 
			
		|||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SolidarityTransportDriverJourney) GetNoreturn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Noreturn
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type SolidarityTransportPrice struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
| 
						 | 
				
			
			@ -405,12 +413,13 @@ type SolidarityTransportBooking struct {
 | 
			
		|||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Id          string                            `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	GroupId     string                            `protobuf:"bytes,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
 | 
			
		||||
	DriverId    string                            `protobuf:"bytes,3,opt,name=driver_id,json=driverId,proto3" json:"driver_id,omitempty"`
 | 
			
		||||
	PassengerId string                            `protobuf:"bytes,4,opt,name=passenger_id,json=passengerId,proto3" json:"passenger_id,omitempty"`
 | 
			
		||||
	Status      string                            `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
 | 
			
		||||
	Journey     *SolidarityTransportDriverJourney `protobuf:"bytes,10,opt,name=journey,proto3" json:"journey,omitempty"`
 | 
			
		||||
	Id                    string                            `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	GroupId               string                            `protobuf:"bytes,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
 | 
			
		||||
	DriverId              string                            `protobuf:"bytes,3,opt,name=driver_id,json=driverId,proto3" json:"driver_id,omitempty"`
 | 
			
		||||
	PassengerId           string                            `protobuf:"bytes,4,opt,name=passenger_id,json=passengerId,proto3" json:"passenger_id,omitempty"`
 | 
			
		||||
	Status                string                            `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
 | 
			
		||||
	ReturnWaitingDuration int64                             `protobuf:"varint,6,opt,name=return_waiting_duration,json=returnWaitingDuration,proto3" json:"return_waiting_duration,omitempty"`
 | 
			
		||||
	Journey               *SolidarityTransportDriverJourney `protobuf:"bytes,10,opt,name=journey,proto3" json:"journey,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SolidarityTransportBooking) Reset() {
 | 
			
		||||
| 
						 | 
				
			
			@ -480,6 +489,13 @@ func (x *SolidarityTransportBooking) GetStatus() string {
 | 
			
		|||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SolidarityTransportBooking) GetReturnWaitingDuration() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ReturnWaitingDuration
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SolidarityTransportBooking) GetJourney() *SolidarityTransportDriverJourney {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Journey
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +529,7 @@ var file_solidarity_transport_types_proto_rawDesc = []byte{
 | 
			
		|||
	0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x47, 0x65, 0x6f, 0x4a,
 | 
			
		||||
	0x73, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x22, 0xef, 0x05, 0x0a, 0x20, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x22, 0x8b, 0x06, 0x0a, 0x20, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69,
 | 
			
		||||
	0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x72, 0x69, 0x76,
 | 
			
		||||
| 
						 | 
				
			
			@ -556,35 +572,40 @@ var file_solidarity_transport_types_proto_rawDesc = []byte{
 | 
			
		|||
	0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18,
 | 
			
		||||
	0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69,
 | 
			
		||||
	0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65,
 | 
			
		||||
	0x48, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11,
 | 
			
		||||
	0x5f, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e,
 | 
			
		||||
	0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70,
 | 
			
		||||
	0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f,
 | 
			
		||||
	0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x4e, 0x0a, 0x18, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72,
 | 
			
		||||
	0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x69, 0x63,
 | 
			
		||||
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72,
 | 
			
		||||
	0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72,
 | 
			
		||||
	0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61,
 | 
			
		||||
	0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f,
 | 
			
		||||
	0x6b, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12,
 | 
			
		||||
	0x1b, 0x0a, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x08, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c,
 | 
			
		||||
	0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12,
 | 
			
		||||
	0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
			
		||||
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e,
 | 
			
		||||
	0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x6f, 0x6c, 0x69, 0x64,
 | 
			
		||||
	0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72,
 | 
			
		||||
	0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x07, 0x6a, 0x6f, 0x75,
 | 
			
		||||
	0x72, 0x6e, 0x65, 0x79, 0x42, 0x4b, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x70,
 | 
			
		||||
	0x67, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2d, 0x70, 0x6c, 0x61,
 | 
			
		||||
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79,
 | 
			
		||||
	0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65,
 | 
			
		||||
	0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x48, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08,
 | 
			
		||||
	0x6e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
 | 
			
		||||
	0x6e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6a, 0x6f, 0x75,
 | 
			
		||||
	0x72, 0x6e, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x18, 0x0a,
 | 
			
		||||
	0x16, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75,
 | 
			
		||||
	0x72, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x72, 0x69, 0x63,
 | 
			
		||||
	0x65, 0x22, 0x4e, 0x0a, 0x18, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54,
 | 
			
		||||
	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61,
 | 
			
		||||
	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
 | 
			
		||||
	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
 | 
			
		||||
	0x79, 0x22, 0x94, 0x02, 0x0a, 0x1a, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79,
 | 
			
		||||
	0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67,
 | 
			
		||||
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
 | 
			
		||||
	0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
 | 
			
		||||
	0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x73,
 | 
			
		||||
	0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
 | 
			
		||||
	0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73,
 | 
			
		||||
	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x77, 0x61,
 | 
			
		||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x57, 0x61, 0x69, 0x74,
 | 
			
		||||
	0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x6a,
 | 
			
		||||
	0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53,
 | 
			
		||||
	0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x72, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52,
 | 
			
		||||
	0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x42, 0x4b, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x2e,
 | 
			
		||||
	0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f,
 | 
			
		||||
	0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61,
 | 
			
		||||
	0x72, 0x69, 0x74, 0x79, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -419,6 +419,7 @@ type GetDriverJourneysRequest struct {
 | 
			
		|||
	Arrival       *GeoJsonFeature        `protobuf:"bytes,3,opt,name=arrival,proto3" json:"arrival,omitempty"`
 | 
			
		||||
	DepartureDate *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=departure_date,json=departureDate,proto3" json:"departure_date,omitempty"`
 | 
			
		||||
	TimeDelta     *int64                 `protobuf:"varint,6,opt,name=time_delta,json=timeDelta,proto3,oneof" json:"time_delta,omitempty"`
 | 
			
		||||
	Noreturn      bool                   `protobuf:"varint,7,opt,name=noreturn,proto3" json:"noreturn,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *GetDriverJourneysRequest) Reset() {
 | 
			
		||||
| 
						 | 
				
			
			@ -481,6 +482,13 @@ func (x *GetDriverJourneysRequest) GetTimeDelta() int64 {
 | 
			
		|||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *GetDriverJourneysRequest) GetNoreturn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Noreturn
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type GetDriverJourneysResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
| 
						 | 
				
			
			@ -635,9 +643,10 @@ type BookDriverJourneyRequest struct {
 | 
			
		|||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PassengerId     string `protobuf:"bytes,1,opt,name=passenger_id,json=passengerId,proto3" json:"passenger_id,omitempty"`
 | 
			
		||||
	DriverId        string `protobuf:"bytes,2,opt,name=driver_id,json=driverId,proto3" json:"driver_id,omitempty"`
 | 
			
		||||
	DriverJourneyId string `protobuf:"bytes,3,opt,name=driver_journey_id,json=driverJourneyId,proto3" json:"driver_journey_id,omitempty"`
 | 
			
		||||
	PassengerId           string `protobuf:"bytes,1,opt,name=passenger_id,json=passengerId,proto3" json:"passenger_id,omitempty"`
 | 
			
		||||
	DriverId              string `protobuf:"bytes,2,opt,name=driver_id,json=driverId,proto3" json:"driver_id,omitempty"`
 | 
			
		||||
	DriverJourneyId       string `protobuf:"bytes,3,opt,name=driver_journey_id,json=driverJourneyId,proto3" json:"driver_journey_id,omitempty"`
 | 
			
		||||
	ReturnWaitingDuration int64  `protobuf:"varint,4,opt,name=return_waiting_duration,json=returnWaitingDuration,proto3" json:"return_waiting_duration,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *BookDriverJourneyRequest) Reset() {
 | 
			
		||||
| 
						 | 
				
			
			@ -693,6 +702,13 @@ func (x *BookDriverJourneyRequest) GetDriverJourneyId() string {
 | 
			
		|||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *BookDriverJourneyRequest) GetReturnWaitingDuration() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ReturnWaitingDuration
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type BookDriverJourneyResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
| 
						 | 
				
			
			@ -1037,6 +1053,91 @@ func (*UpdateSolidarityTransportBookingStatusResponse) Descriptor() ([]byte, []i
 | 
			
		|||
	return file_solidarity_transport_proto_rawDescGZIP(), []int{19}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ToggleSolidarityTransportNoreturnRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	JourneyId string `protobuf:"bytes,1,opt,name=journey_id,json=journeyId,proto3" json:"journey_id,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ToggleSolidarityTransportNoreturnRequest) Reset() {
 | 
			
		||||
	*x = ToggleSolidarityTransportNoreturnRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_solidarity_transport_proto_msgTypes[20]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ToggleSolidarityTransportNoreturnRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ToggleSolidarityTransportNoreturnRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ToggleSolidarityTransportNoreturnRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_solidarity_transport_proto_msgTypes[20]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ToggleSolidarityTransportNoreturnRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ToggleSolidarityTransportNoreturnRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_solidarity_transport_proto_rawDescGZIP(), []int{20}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ToggleSolidarityTransportNoreturnRequest) GetJourneyId() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.JourneyId
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ToggleSolidarityTransportNoreturnResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ToggleSolidarityTransportNoreturnResponse) Reset() {
 | 
			
		||||
	*x = ToggleSolidarityTransportNoreturnResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_solidarity_transport_proto_msgTypes[21]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ToggleSolidarityTransportNoreturnResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ToggleSolidarityTransportNoreturnResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ToggleSolidarityTransportNoreturnResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_solidarity_transport_proto_msgTypes[21]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ToggleSolidarityTransportNoreturnResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ToggleSolidarityTransportNoreturnResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_solidarity_transport_proto_rawDescGZIP(), []int{21}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_solidarity_transport_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_solidarity_transport_proto_rawDesc = []byte{
 | 
			
		||||
| 
						 | 
				
			
			@ -1089,7 +1190,7 @@ var file_solidarity_transport_proto_rawDesc = []byte{
 | 
			
		|||
	0x52, 0x0e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64,
 | 
			
		||||
	0x22, 0x29, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c,
 | 
			
		||||
	0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x18,
 | 
			
		||||
	0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x02, 0x0a, 0x18,
 | 
			
		||||
	0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x61,
 | 
			
		||||
	0x72, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x47, 0x65,
 | 
			
		||||
| 
						 | 
				
			
			@ -1103,151 +1204,172 @@ var file_solidarity_transport_proto_rawDesc = []byte{
 | 
			
		|||
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72,
 | 
			
		||||
	0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x65,
 | 
			
		||||
	0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d,
 | 
			
		||||
	0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x69,
 | 
			
		||||
	0x6d, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x67, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f,
 | 
			
		||||
	0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
 | 
			
		||||
	0x2e, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65,
 | 
			
		||||
	0x79, 0x52, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79,
 | 
			
		||||
	0x73, 0x22, 0x55, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f,
 | 
			
		||||
	0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09,
 | 
			
		||||
	0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
			
		||||
	0x08, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x75,
 | 
			
		||||
	0x72, 0x6e, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a,
 | 
			
		||||
	0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6a,
 | 
			
		||||
	0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53,
 | 
			
		||||
	0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x72, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52,
 | 
			
		||||
	0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x22, 0x86,
 | 
			
		||||
	0x01, 0x0a, 0x18, 0x42, 0x6f, 0x6f, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75,
 | 
			
		||||
	0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70,
 | 
			
		||||
	0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b,
 | 
			
		||||
	0x0a, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x08, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x64,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x69, 0x64,
 | 
			
		||||
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f,
 | 
			
		||||
	0x75, 0x72, 0x6e, 0x65, 0x79, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x19, 0x42, 0x6f, 0x6f, 0x6b, 0x44,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69,
 | 
			
		||||
	0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69,
 | 
			
		||||
	0x6e, 0x67, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x25,
 | 
			
		||||
	0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61,
 | 
			
		||||
	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
 | 
			
		||||
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07,
 | 
			
		||||
	0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65,
 | 
			
		||||
	0x6e, 0x67, 0x65, 0x72, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61,
 | 
			
		||||
	0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x69, 0x64, 0x22, 0x61, 0x0a, 0x26, 0x47, 0x65, 0x74,
 | 
			
		||||
	0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69,
 | 
			
		||||
	0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69,
 | 
			
		||||
	0x6e, 0x67, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x36, 0x0a, 0x24,
 | 
			
		||||
	0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61,
 | 
			
		||||
	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x02, 0x69, 0x64, 0x22, 0x5e, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64,
 | 
			
		||||
	0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f,
 | 
			
		||||
	0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a,
 | 
			
		||||
	0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
 | 
			
		||||
	0x2e, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x6f, 0x6f,
 | 
			
		||||
	0x6b, 0x69, 0x6e, 0x67, 0x22, 0x6d, 0x0a, 0x2d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f,
 | 
			
		||||
	0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72,
 | 
			
		||||
	0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67,
 | 
			
		||||
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6b, 0x69,
 | 
			
		||||
	0x6e, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x75, 0x73, 0x22, 0x30, 0x0a, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x6c,
 | 
			
		||||
	0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x72,
 | 
			
		||||
	0x65, 0x74, 0x75, 0x72, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f, 0x72,
 | 
			
		||||
	0x65, 0x74, 0x75, 0x72, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64,
 | 
			
		||||
	0x65, 0x6c, 0x74, 0x61, 0x22, 0x67, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x75, 0x72,
 | 
			
		||||
	0x6e, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
 | 
			
		||||
	0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc2, 0x08, 0x0a, 0x13, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61,
 | 
			
		||||
	0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6d, 0x0a,
 | 
			
		||||
	0x1c, 0x41, 0x64, 0x64, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61,
 | 
			
		||||
	0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x24, 0x2e,
 | 
			
		||||
	0x41, 0x64, 0x64, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72,
 | 
			
		||||
	0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52,
 | 
			
		||||
	0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69,
 | 
			
		||||
	0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1e,
 | 
			
		||||
	0x41, 0x64, 0x64, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72,
 | 
			
		||||
	0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26,
 | 
			
		||||
	0x2e, 0x41, 0x64, 0x64, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61,
 | 
			
		||||
	0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x72, 0x69, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
 | 
			
		||||
	0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
 | 
			
		||||
	0x00, 0x12, 0x73, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65,
 | 
			
		||||
	0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
 | 
			
		||||
	0x69, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52,
 | 
			
		||||
	0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69,
 | 
			
		||||
	0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x47, 0x65,
 | 
			
		||||
	0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76,
 | 
			
		||||
	0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
 | 
			
		||||
	0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61,
 | 
			
		||||
	0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x27, 0x2e, 0x44, 0x65, 0x6c, 0x65,
 | 
			
		||||
	0x74, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41,
 | 
			
		||||
	0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x28, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69,
 | 
			
		||||
	0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c,
 | 
			
		||||
	0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e,
 | 
			
		||||
	0x65, 0x79, 0x73, 0x12, 0x19, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a,
 | 
			
		||||
	0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
 | 
			
		||||
	0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65,
 | 
			
		||||
	0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x10,
 | 
			
		||||
	0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79,
 | 
			
		||||
	0x12, 0x18, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72,
 | 
			
		||||
	0x6e, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x47, 0x65, 0x74,
 | 
			
		||||
	0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x42, 0x6f, 0x6f, 0x6b, 0x44,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x19, 0x2e, 0x42,
 | 
			
		||||
	0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x0e, 0x64,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x22, 0x55, 0x0a,
 | 
			
		||||
	0x17, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65,
 | 
			
		||||
	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x72, 0x69, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x72, 0x69,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79,
 | 
			
		||||
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x75, 0x72, 0x6e,
 | 
			
		||||
	0x65, 0x79, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x48, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x75, 0x72, 0x6e,
 | 
			
		||||
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x6f, 0x6c, 0x69, 0x64,
 | 
			
		||||
	0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72,
 | 
			
		||||
	0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x0d, 0x64, 0x72, 0x69,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x22, 0xbe, 0x01, 0x0a, 0x18, 0x42,
 | 
			
		||||
	0x6f, 0x6f, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x44, 0x72,
 | 
			
		||||
	0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x73, 0x65,
 | 
			
		||||
	0x6e, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70,
 | 
			
		||||
	0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x72,
 | 
			
		||||
	0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x72, 0x69, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x5f, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x0f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65,
 | 
			
		||||
	0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x77, 0x61,
 | 
			
		||||
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x57, 0x61, 0x69, 0x74,
 | 
			
		||||
	0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x0a, 0x19, 0x42,
 | 
			
		||||
	0x6f, 0x6f, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b,
 | 
			
		||||
	0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x6f, 0x6c, 0x69,
 | 
			
		||||
	0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42,
 | 
			
		||||
	0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
 | 
			
		||||
	0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x27, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54,
 | 
			
		||||
	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x1d, 0x47, 0x65,
 | 
			
		||||
	0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x2e, 0x47, 0x65,
 | 
			
		||||
	0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x26, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69,
 | 
			
		||||
	0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69,
 | 
			
		||||
	0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a,
 | 
			
		||||
	0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74,
 | 
			
		||||
	0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x22,
 | 
			
		||||
	0xbb, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74,
 | 
			
		||||
	0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e,
 | 
			
		||||
	0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61,
 | 
			
		||||
	0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
 | 
			
		||||
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
 | 
			
		||||
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74,
 | 
			
		||||
	0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
 | 
			
		||||
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
 | 
			
		||||
	0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70,
 | 
			
		||||
	0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x69, 0x64, 0x22, 0x61, 0x0a,
 | 
			
		||||
	0x26, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72,
 | 
			
		||||
	0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x69,
 | 
			
		||||
	0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x6f, 0x6c, 0x69,
 | 
			
		||||
	0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42,
 | 
			
		||||
	0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73,
 | 
			
		||||
	0x22, 0x36, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74,
 | 
			
		||||
	0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e,
 | 
			
		||||
	0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5e, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x53,
 | 
			
		||||
	0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x35, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54,
 | 
			
		||||
	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52,
 | 
			
		||||
	0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x6d, 0x0a, 0x2d, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6f,
 | 
			
		||||
	0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62,
 | 
			
		||||
	0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65,
 | 
			
		||||
	0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x30, 0x0a, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x0a, 0x28, 0x54, 0x6f, 0x67,
 | 
			
		||||
	0x67, 0x6c, 0x65, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61,
 | 
			
		||||
	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79,
 | 
			
		||||
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x75, 0x72, 0x6e,
 | 
			
		||||
	0x65, 0x79, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x29, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x53, 0x6f,
 | 
			
		||||
	0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72,
 | 
			
		||||
	0x74, 0x4e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x32, 0xc0, 0x09, 0x0a, 0x13, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79,
 | 
			
		||||
	0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6d, 0x0a, 0x1c, 0x41, 0x64, 0x64,
 | 
			
		||||
	0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61,
 | 
			
		||||
	0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x24, 0x2e, 0x41, 0x64, 0x64, 0x44,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69,
 | 
			
		||||
	0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x25, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c,
 | 
			
		||||
	0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x44,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69,
 | 
			
		||||
	0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x41, 0x64, 0x64,
 | 
			
		||||
	0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61,
 | 
			
		||||
	0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x27, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65,
 | 
			
		||||
	0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
 | 
			
		||||
	0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a,
 | 
			
		||||
	0x1e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61,
 | 
			
		||||
	0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12,
 | 
			
		||||
	0x26, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c,
 | 
			
		||||
	0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69,
 | 
			
		||||
	0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
 | 
			
		||||
	0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x22, 0x00, 0x12, 0x76, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x72, 0x69, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
 | 
			
		||||
	0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x27, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x72,
 | 
			
		||||
	0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c,
 | 
			
		||||
	0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28,
 | 
			
		||||
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67,
 | 
			
		||||
	0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x47, 0x65,
 | 
			
		||||
	0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x12,
 | 
			
		||||
	0x19, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e,
 | 
			
		||||
	0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x47, 0x65, 0x74,
 | 
			
		||||
	0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x18, 0x2e, 0x47,
 | 
			
		||||
	0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76,
 | 
			
		||||
	0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x11, 0x42, 0x6f, 0x6f, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x19, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x44,
 | 
			
		||||
	0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72,
 | 
			
		||||
	0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
 | 
			
		||||
	0x00, 0x12, 0x73, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69,
 | 
			
		||||
	0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69,
 | 
			
		||||
	0x6e, 0x67, 0x73, 0x12, 0x26, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72,
 | 
			
		||||
	0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b,
 | 
			
		||||
	0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x47, 0x65,
 | 
			
		||||
	0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
 | 
			
		||||
	0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c,
 | 
			
		||||
	0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
 | 
			
		||||
	0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
 | 
			
		||||
	0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72,
 | 
			
		||||
	0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61,
 | 
			
		||||
	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x75, 0x73, 0x12, 0x2e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x6c, 0x69,
 | 
			
		||||
	0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42,
 | 
			
		||||
	0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x6c, 0x69,
 | 
			
		||||
	0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42,
 | 
			
		||||
	0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x21, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65,
 | 
			
		||||
	0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x4b, 0x5a, 0x49, 0x67, 0x69,
 | 
			
		||||
	0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6f, 0x70,
 | 
			
		||||
	0x67, 0x6f, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x69,
 | 
			
		||||
	0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
 | 
			
		||||
	0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72,
 | 
			
		||||
	0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x6f, 0x72, 0x74, 0x4e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x12, 0x29, 0x2e, 0x54, 0x6f,
 | 
			
		||||
	0x67, 0x67, 0x6c, 0x65, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72,
 | 
			
		||||
	0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x53,
 | 
			
		||||
	0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x72, 0x74, 0x4e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x22, 0x00, 0x42, 0x4b, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x70,
 | 
			
		||||
	0x67, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2d, 0x70, 0x6c, 0x61,
 | 
			
		||||
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79,
 | 
			
		||||
	0x2d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65,
 | 
			
		||||
	0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65,
 | 
			
		||||
	0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
| 
						 | 
				
			
			@ -1262,7 +1384,7 @@ func file_solidarity_transport_proto_rawDescGZIP() []byte {
 | 
			
		|||
	return file_solidarity_transport_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_solidarity_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
 | 
			
		||||
var file_solidarity_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
 | 
			
		||||
var file_solidarity_transport_proto_goTypes = []interface{}{
 | 
			
		||||
	(*AddDriverRegularAvailabilityRequest)(nil),            // 0: AddDriverRegularAvailabilityRequest
 | 
			
		||||
	(*AddDriverRegularAvailabilityResponse)(nil),           // 1: AddDriverRegularAvailabilityResponse
 | 
			
		||||
| 
						 | 
				
			
			@ -1284,26 +1406,28 @@ var file_solidarity_transport_proto_goTypes = []interface{}{
 | 
			
		|||
	(*GetSolidarityTransportBookingResponse)(nil),          // 17: GetSolidarityTransportBookingResponse
 | 
			
		||||
	(*UpdateSolidarityTransportBookingStatusRequest)(nil),  // 18: UpdateSolidarityTransportBookingStatusRequest
 | 
			
		||||
	(*UpdateSolidarityTransportBookingStatusResponse)(nil), // 19: UpdateSolidarityTransportBookingStatusResponse
 | 
			
		||||
	(*GeoJsonFeature)(nil),                                 // 20: GeoJsonFeature
 | 
			
		||||
	(*DriverRegularAvailability)(nil),                      // 21: DriverRegularAvailability
 | 
			
		||||
	(*timestamppb.Timestamp)(nil),                          // 22: google.protobuf.Timestamp
 | 
			
		||||
	(*SolidarityTransportDriverJourney)(nil),               // 23: SolidarityTransportDriverJourney
 | 
			
		||||
	(*SolidarityTransportBooking)(nil),                     // 24: SolidarityTransportBooking
 | 
			
		||||
	(*ToggleSolidarityTransportNoreturnRequest)(nil),       // 20: ToggleSolidarityTransportNoreturnRequest
 | 
			
		||||
	(*ToggleSolidarityTransportNoreturnResponse)(nil),      // 21: ToggleSolidarityTransportNoreturnResponse
 | 
			
		||||
	(*GeoJsonFeature)(nil),                                 // 22: GeoJsonFeature
 | 
			
		||||
	(*DriverRegularAvailability)(nil),                      // 23: DriverRegularAvailability
 | 
			
		||||
	(*timestamppb.Timestamp)(nil),                          // 24: google.protobuf.Timestamp
 | 
			
		||||
	(*SolidarityTransportDriverJourney)(nil),               // 25: SolidarityTransportDriverJourney
 | 
			
		||||
	(*SolidarityTransportBooking)(nil),                     // 26: SolidarityTransportBooking
 | 
			
		||||
}
 | 
			
		||||
var file_solidarity_transport_proto_depIdxs = []int32{
 | 
			
		||||
	20, // 0: AddDriverRegularAvailabilityRequest.address:type_name -> GeoJsonFeature
 | 
			
		||||
	21, // 1: AddDriverRegularAvailabilitiesRequest.availabilities:type_name -> DriverRegularAvailability
 | 
			
		||||
	21, // 2: GetDriverRegularAvailabilitiesResponse.results:type_name -> DriverRegularAvailability
 | 
			
		||||
	20, // 3: GetDriverJourneysRequest.departure:type_name -> GeoJsonFeature
 | 
			
		||||
	20, // 4: GetDriverJourneysRequest.arrival:type_name -> GeoJsonFeature
 | 
			
		||||
	22, // 5: GetDriverJourneysRequest.departure_date:type_name -> google.protobuf.Timestamp
 | 
			
		||||
	23, // 6: GetDriverJourneysResponse.driver_journeys:type_name -> SolidarityTransportDriverJourney
 | 
			
		||||
	23, // 7: GetDriverJourneyResponse.driver_journey:type_name -> SolidarityTransportDriverJourney
 | 
			
		||||
	24, // 8: BookDriverJourneyResponse.booking:type_name -> SolidarityTransportBooking
 | 
			
		||||
	22, // 9: GetSolidarityTransportBookingsRequest.start_date:type_name -> google.protobuf.Timestamp
 | 
			
		||||
	22, // 10: GetSolidarityTransportBookingsRequest.end_date:type_name -> google.protobuf.Timestamp
 | 
			
		||||
	24, // 11: GetSolidarityTransportBookingsResponse.bookings:type_name -> SolidarityTransportBooking
 | 
			
		||||
	24, // 12: GetSolidarityTransportBookingResponse.booking:type_name -> SolidarityTransportBooking
 | 
			
		||||
	22, // 0: AddDriverRegularAvailabilityRequest.address:type_name -> GeoJsonFeature
 | 
			
		||||
	23, // 1: AddDriverRegularAvailabilitiesRequest.availabilities:type_name -> DriverRegularAvailability
 | 
			
		||||
	23, // 2: GetDriverRegularAvailabilitiesResponse.results:type_name -> DriverRegularAvailability
 | 
			
		||||
	22, // 3: GetDriverJourneysRequest.departure:type_name -> GeoJsonFeature
 | 
			
		||||
	22, // 4: GetDriverJourneysRequest.arrival:type_name -> GeoJsonFeature
 | 
			
		||||
	24, // 5: GetDriverJourneysRequest.departure_date:type_name -> google.protobuf.Timestamp
 | 
			
		||||
	25, // 6: GetDriverJourneysResponse.driver_journeys:type_name -> SolidarityTransportDriverJourney
 | 
			
		||||
	25, // 7: GetDriverJourneyResponse.driver_journey:type_name -> SolidarityTransportDriverJourney
 | 
			
		||||
	26, // 8: BookDriverJourneyResponse.booking:type_name -> SolidarityTransportBooking
 | 
			
		||||
	24, // 9: GetSolidarityTransportBookingsRequest.start_date:type_name -> google.protobuf.Timestamp
 | 
			
		||||
	24, // 10: GetSolidarityTransportBookingsRequest.end_date:type_name -> google.protobuf.Timestamp
 | 
			
		||||
	26, // 11: GetSolidarityTransportBookingsResponse.bookings:type_name -> SolidarityTransportBooking
 | 
			
		||||
	26, // 12: GetSolidarityTransportBookingResponse.booking:type_name -> SolidarityTransportBooking
 | 
			
		||||
	0,  // 13: SolidarityTransport.AddDriverRegularAvailability:input_type -> AddDriverRegularAvailabilityRequest
 | 
			
		||||
	2,  // 14: SolidarityTransport.AddDriverRegularAvailabilities:input_type -> AddDriverRegularAvailabilitiesRequest
 | 
			
		||||
	4,  // 15: SolidarityTransport.GetDriverRegularAvailabilities:input_type -> GetDriverRegularAvailabilitiesRequest
 | 
			
		||||
| 
						 | 
				
			
			@ -1314,18 +1438,20 @@ var file_solidarity_transport_proto_depIdxs = []int32{
 | 
			
		|||
	14, // 20: SolidarityTransport.GetSolidarityTransportBookings:input_type -> GetSolidarityTransportBookingsRequest
 | 
			
		||||
	16, // 21: SolidarityTransport.GetSolidarityTransportBooking:input_type -> GetSolidarityTransportBookingRequest
 | 
			
		||||
	18, // 22: SolidarityTransport.UpdateSolidarityTransportBookingStatus:input_type -> UpdateSolidarityTransportBookingStatusRequest
 | 
			
		||||
	1,  // 23: SolidarityTransport.AddDriverRegularAvailability:output_type -> AddDriverRegularAvailabilityResponse
 | 
			
		||||
	3,  // 24: SolidarityTransport.AddDriverRegularAvailabilities:output_type -> AddDriverRegularAvailabilitiesResponse
 | 
			
		||||
	5,  // 25: SolidarityTransport.GetDriverRegularAvailabilities:output_type -> GetDriverRegularAvailabilitiesResponse
 | 
			
		||||
	7,  // 26: SolidarityTransport.DeleteDriverRegularAvailability:output_type -> DeleteDriverRegularAvailabilityResponse
 | 
			
		||||
	9,  // 27: SolidarityTransport.GetDriverJourneys:output_type -> GetDriverJourneysResponse
 | 
			
		||||
	11, // 28: SolidarityTransport.GetDriverJourney:output_type -> GetDriverJourneyResponse
 | 
			
		||||
	13, // 29: SolidarityTransport.BookDriverJourney:output_type -> BookDriverJourneyResponse
 | 
			
		||||
	15, // 30: SolidarityTransport.GetSolidarityTransportBookings:output_type -> GetSolidarityTransportBookingsResponse
 | 
			
		||||
	17, // 31: SolidarityTransport.GetSolidarityTransportBooking:output_type -> GetSolidarityTransportBookingResponse
 | 
			
		||||
	19, // 32: SolidarityTransport.UpdateSolidarityTransportBookingStatus:output_type -> UpdateSolidarityTransportBookingStatusResponse
 | 
			
		||||
	23, // [23:33] is the sub-list for method output_type
 | 
			
		||||
	13, // [13:23] is the sub-list for method input_type
 | 
			
		||||
	20, // 23: SolidarityTransport.ToggleSolidarityTransportNoreturn:input_type -> ToggleSolidarityTransportNoreturnRequest
 | 
			
		||||
	1,  // 24: SolidarityTransport.AddDriverRegularAvailability:output_type -> AddDriverRegularAvailabilityResponse
 | 
			
		||||
	3,  // 25: SolidarityTransport.AddDriverRegularAvailabilities:output_type -> AddDriverRegularAvailabilitiesResponse
 | 
			
		||||
	5,  // 26: SolidarityTransport.GetDriverRegularAvailabilities:output_type -> GetDriverRegularAvailabilitiesResponse
 | 
			
		||||
	7,  // 27: SolidarityTransport.DeleteDriverRegularAvailability:output_type -> DeleteDriverRegularAvailabilityResponse
 | 
			
		||||
	9,  // 28: SolidarityTransport.GetDriverJourneys:output_type -> GetDriverJourneysResponse
 | 
			
		||||
	11, // 29: SolidarityTransport.GetDriverJourney:output_type -> GetDriverJourneyResponse
 | 
			
		||||
	13, // 30: SolidarityTransport.BookDriverJourney:output_type -> BookDriverJourneyResponse
 | 
			
		||||
	15, // 31: SolidarityTransport.GetSolidarityTransportBookings:output_type -> GetSolidarityTransportBookingsResponse
 | 
			
		||||
	17, // 32: SolidarityTransport.GetSolidarityTransportBooking:output_type -> GetSolidarityTransportBookingResponse
 | 
			
		||||
	19, // 33: SolidarityTransport.UpdateSolidarityTransportBookingStatus:output_type -> UpdateSolidarityTransportBookingStatusResponse
 | 
			
		||||
	21, // 34: SolidarityTransport.ToggleSolidarityTransportNoreturn:output_type -> ToggleSolidarityTransportNoreturnResponse
 | 
			
		||||
	24, // [24:35] is the sub-list for method output_type
 | 
			
		||||
	13, // [13:24] is the sub-list for method input_type
 | 
			
		||||
	13, // [13:13] is the sub-list for extension type_name
 | 
			
		||||
	13, // [13:13] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:13] is the sub-list for field type_name
 | 
			
		||||
| 
						 | 
				
			
			@ -1578,6 +1704,30 @@ func file_solidarity_transport_proto_init() {
 | 
			
		|||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_solidarity_transport_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ToggleSolidarityTransportNoreturnRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_solidarity_transport_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ToggleSolidarityTransportNoreturnResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	file_solidarity_transport_proto_msgTypes[8].OneofWrappers = []interface{}{}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
| 
						 | 
				
			
			@ -1586,7 +1736,7 @@ func file_solidarity_transport_proto_init() {
 | 
			
		|||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_solidarity_transport_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   20,
 | 
			
		||||
			NumMessages:   22,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ const (
 | 
			
		|||
	SolidarityTransport_GetSolidarityTransportBookings_FullMethodName         = "/SolidarityTransport/GetSolidarityTransportBookings"
 | 
			
		||||
	SolidarityTransport_GetSolidarityTransportBooking_FullMethodName          = "/SolidarityTransport/GetSolidarityTransportBooking"
 | 
			
		||||
	SolidarityTransport_UpdateSolidarityTransportBookingStatus_FullMethodName = "/SolidarityTransport/UpdateSolidarityTransportBookingStatus"
 | 
			
		||||
	SolidarityTransport_ToggleSolidarityTransportNoreturn_FullMethodName      = "/SolidarityTransport/ToggleSolidarityTransportNoreturn"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// SolidarityTransportClient is the client API for SolidarityTransport service.
 | 
			
		||||
| 
						 | 
				
			
			@ -48,6 +49,7 @@ type SolidarityTransportClient interface {
 | 
			
		|||
	GetSolidarityTransportBookings(ctx context.Context, in *GetSolidarityTransportBookingsRequest, opts ...grpc.CallOption) (*GetSolidarityTransportBookingsResponse, error)
 | 
			
		||||
	GetSolidarityTransportBooking(ctx context.Context, in *GetSolidarityTransportBookingRequest, opts ...grpc.CallOption) (*GetSolidarityTransportBookingResponse, error)
 | 
			
		||||
	UpdateSolidarityTransportBookingStatus(ctx context.Context, in *UpdateSolidarityTransportBookingStatusRequest, opts ...grpc.CallOption) (*UpdateSolidarityTransportBookingStatusResponse, error)
 | 
			
		||||
	ToggleSolidarityTransportNoreturn(ctx context.Context, in *ToggleSolidarityTransportNoreturnRequest, opts ...grpc.CallOption) (*ToggleSolidarityTransportNoreturnResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type solidarityTransportClient struct {
 | 
			
		||||
| 
						 | 
				
			
			@ -148,6 +150,15 @@ func (c *solidarityTransportClient) UpdateSolidarityTransportBookingStatus(ctx c
 | 
			
		|||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *solidarityTransportClient) ToggleSolidarityTransportNoreturn(ctx context.Context, in *ToggleSolidarityTransportNoreturnRequest, opts ...grpc.CallOption) (*ToggleSolidarityTransportNoreturnResponse, error) {
 | 
			
		||||
	out := new(ToggleSolidarityTransportNoreturnResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, SolidarityTransport_ToggleSolidarityTransportNoreturn_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SolidarityTransportServer is the server API for SolidarityTransport service.
 | 
			
		||||
// All implementations must embed UnimplementedSolidarityTransportServer
 | 
			
		||||
// for forward compatibility
 | 
			
		||||
| 
						 | 
				
			
			@ -165,6 +176,7 @@ type SolidarityTransportServer interface {
 | 
			
		|||
	GetSolidarityTransportBookings(context.Context, *GetSolidarityTransportBookingsRequest) (*GetSolidarityTransportBookingsResponse, error)
 | 
			
		||||
	GetSolidarityTransportBooking(context.Context, *GetSolidarityTransportBookingRequest) (*GetSolidarityTransportBookingResponse, error)
 | 
			
		||||
	UpdateSolidarityTransportBookingStatus(context.Context, *UpdateSolidarityTransportBookingStatusRequest) (*UpdateSolidarityTransportBookingStatusResponse, error)
 | 
			
		||||
	ToggleSolidarityTransportNoreturn(context.Context, *ToggleSolidarityTransportNoreturnRequest) (*ToggleSolidarityTransportNoreturnResponse, error)
 | 
			
		||||
	mustEmbedUnimplementedSolidarityTransportServer()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -202,6 +214,9 @@ func (UnimplementedSolidarityTransportServer) GetSolidarityTransportBooking(cont
 | 
			
		|||
func (UnimplementedSolidarityTransportServer) UpdateSolidarityTransportBookingStatus(context.Context, *UpdateSolidarityTransportBookingStatusRequest) (*UpdateSolidarityTransportBookingStatusResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateSolidarityTransportBookingStatus not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedSolidarityTransportServer) ToggleSolidarityTransportNoreturn(context.Context, *ToggleSolidarityTransportNoreturnRequest) (*ToggleSolidarityTransportNoreturnResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ToggleSolidarityTransportNoreturn not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedSolidarityTransportServer) mustEmbedUnimplementedSolidarityTransportServer() {}
 | 
			
		||||
 | 
			
		||||
// UnsafeSolidarityTransportServer may be embedded to opt out of forward compatibility for this service.
 | 
			
		||||
| 
						 | 
				
			
			@ -395,6 +410,24 @@ func _SolidarityTransport_UpdateSolidarityTransportBookingStatus_Handler(srv int
 | 
			
		|||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _SolidarityTransport_ToggleSolidarityTransportNoreturn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ToggleSolidarityTransportNoreturnRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(SolidarityTransportServer).ToggleSolidarityTransportNoreturn(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: SolidarityTransport_ToggleSolidarityTransportNoreturn_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(SolidarityTransportServer).ToggleSolidarityTransportNoreturn(ctx, req.(*ToggleSolidarityTransportNoreturnRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SolidarityTransport_ServiceDesc is the grpc.ServiceDesc for SolidarityTransport service.
 | 
			
		||||
// It's only intended for direct use with grpc.RegisterService,
 | 
			
		||||
// and not to be introspected or modified (even as a copy)
 | 
			
		||||
| 
						 | 
				
			
			@ -442,6 +475,10 @@ var SolidarityTransport_ServiceDesc = grpc.ServiceDesc{
 | 
			
		|||
			MethodName: "UpdateSolidarityTransportBookingStatus",
 | 
			
		||||
			Handler:    _SolidarityTransport_UpdateSolidarityTransportBookingStatus_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "ToggleSolidarityTransportNoreturn",
 | 
			
		||||
			Handler:    _SolidarityTransport_ToggleSolidarityTransportNoreturn_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "solidarity-transport.proto",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ message SolidarityTransportDriverJourney{
 | 
			
		|||
    google.protobuf.Timestamp passenger_pickup_date = 11;
 | 
			
		||||
    optional google.protobuf.Timestamp driver_departure_date = 12;
 | 
			
		||||
    optional SolidarityTransportPrice price = 13;
 | 
			
		||||
    bool noreturn = 14;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
message SolidarityTransportPrice {
 | 
			
		||||
| 
						 | 
				
			
			@ -47,6 +48,7 @@ message SolidarityTransportBooking {
 | 
			
		|||
    string driver_id = 3;
 | 
			
		||||
    string passenger_id = 4;
 | 
			
		||||
    string status = 5;
 | 
			
		||||
    int64 return_waiting_duration = 6;
 | 
			
		||||
 | 
			
		||||
    SolidarityTransportDriverJourney journey = 10;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@ service SolidarityTransport {
 | 
			
		|||
    rpc GetSolidarityTransportBookings(GetSolidarityTransportBookingsRequest) returns (GetSolidarityTransportBookingsResponse) {}
 | 
			
		||||
    rpc GetSolidarityTransportBooking(GetSolidarityTransportBookingRequest) returns (GetSolidarityTransportBookingResponse) {}
 | 
			
		||||
    rpc UpdateSolidarityTransportBookingStatus(UpdateSolidarityTransportBookingStatusRequest) returns (UpdateSolidarityTransportBookingStatusResponse) {}
 | 
			
		||||
    rpc ToggleSolidarityTransportNoreturn(ToggleSolidarityTransportNoreturnRequest) returns (ToggleSolidarityTransportNoreturnResponse) {}
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
message AddDriverRegularAvailabilityRequest{
 | 
			
		||||
| 
						 | 
				
			
			@ -61,6 +62,7 @@ message GetDriverJourneysRequest {
 | 
			
		|||
    GeoJsonFeature arrival = 3;
 | 
			
		||||
    google.protobuf.Timestamp departure_date = 5;
 | 
			
		||||
    optional int64 time_delta = 6;
 | 
			
		||||
    bool noreturn = 7;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
message GetDriverJourneysResponse {
 | 
			
		||||
| 
						 | 
				
			
			@ -80,6 +82,7 @@ message BookDriverJourneyRequest {
 | 
			
		|||
    string passenger_id = 1;
 | 
			
		||||
    string driver_id = 2;
 | 
			
		||||
    string driver_journey_id = 3;
 | 
			
		||||
    int64 return_waiting_duration = 4;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
message BookDriverJourneyResponse {
 | 
			
		||||
| 
						 | 
				
			
			@ -110,3 +113,9 @@ message UpdateSolidarityTransportBookingStatusRequest {
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
message UpdateSolidarityTransportBookingStatusResponse {}
 | 
			
		||||
 | 
			
		||||
message ToggleSolidarityTransportNoreturnRequest {
 | 
			
		||||
    string journey_id = 1;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
message ToggleSolidarityTransportNoreturnResponse {}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,7 @@ package server
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"git.coopgo.io/coopgo-platform/solidarity-transport/servers/grpc/proto/gen"
 | 
			
		||||
	"git.coopgo.io/coopgo-platform/solidarity-transport/servers/grpc/transformers"
 | 
			
		||||
| 
						 | 
				
			
			@ -14,8 +15,9 @@ func (s SolidarityTransportServerImpl) BookDriverJourney(ctx context.Context, re
 | 
			
		|||
	passengerId := req.PassengerId
 | 
			
		||||
	driverId := req.DriverId
 | 
			
		||||
	journeyId := req.DriverJourneyId
 | 
			
		||||
	returnWaitingDuration := time.Duration(req.ReturnWaitingDuration)
 | 
			
		||||
 | 
			
		||||
	booking, err := s.Handler.BookDriverJourney(passengerId, driverId, journeyId)
 | 
			
		||||
	booking, err := s.Handler.BookDriverJourney(passengerId, driverId, journeyId, returnWaitingDuration)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error().Err(err).Msg("issue in BookDriverJourney handler")
 | 
			
		||||
		return nil, status.Errorf(codes.Internal, "could not create booking : %v", err)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,7 +22,7 @@ func (s SolidarityTransportServerImpl) GetDriverJourneys(ctx context.Context, re
 | 
			
		|||
		return nil, status.Errorf(codes.Internal, "arrival unmarhsalling error : %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	driverJourneys, err := s.Handler.GetDriverJourneys(departure, arrival, departureDate)
 | 
			
		||||
	driverJourneys, err := s.Handler.GetDriverJourneys(departure, arrival, departureDate, req.Noreturn)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error().Err(err).Msg("issue in GetDriverJourneys handler")
 | 
			
		||||
		return nil, status.Errorf(codes.Internal, "could not get driver journeys : %v", err)
 | 
			
		||||
| 
						 | 
				
			
			@ -67,3 +67,14 @@ func (s SolidarityTransportServerImpl) GetDriverJourney(ctx context.Context, req
 | 
			
		|||
		DriverJourney: protojourney,
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s SolidarityTransportServerImpl) ToggleSolidarityTransportNoreturn(ctx context.Context, req *gen.ToggleSolidarityTransportNoreturnRequest) (*gen.ToggleSolidarityTransportNoreturnResponse, error) {
 | 
			
		||||
	journeyid := req.JourneyId
 | 
			
		||||
	err := s.Handler.ToggleDriverJourneyNoreturn(journeyid)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error().Err(err).Msg("could not update data")
 | 
			
		||||
		return nil, status.Errorf(codes.NotFound, "could not update data : %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &gen.ToggleSolidarityTransportNoreturnResponse{}, nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
package transformers
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"git.coopgo.io/coopgo-platform/solidarity-transport/servers/grpc/proto/gen"
 | 
			
		||||
	"git.coopgo.io/coopgo-platform/solidarity-transport/types"
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -11,12 +13,13 @@ func BookingTypeToProto(booking *types.Booking) (*gen.SolidarityTransportBooking
 | 
			
		|||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return &gen.SolidarityTransportBooking{
 | 
			
		||||
		Id:          booking.Id,
 | 
			
		||||
		GroupId:     booking.GroupId,
 | 
			
		||||
		DriverId:    booking.DriverId,
 | 
			
		||||
		PassengerId: booking.PassengerId,
 | 
			
		||||
		Status:      booking.Status,
 | 
			
		||||
		Journey:     journey,
 | 
			
		||||
		Id:                    booking.Id,
 | 
			
		||||
		GroupId:               booking.GroupId,
 | 
			
		||||
		DriverId:              booking.DriverId,
 | 
			
		||||
		PassengerId:           booking.PassengerId,
 | 
			
		||||
		Status:                booking.Status,
 | 
			
		||||
		ReturnWaitingDuration: int64(booking.ReturnWaitingDuration),
 | 
			
		||||
		Journey:               journey,
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -26,11 +29,12 @@ func BookingProtoToType(booking *gen.SolidarityTransportBooking) (*types.Booking
 | 
			
		|||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return &types.Booking{
 | 
			
		||||
		Id:          booking.Id,
 | 
			
		||||
		GroupId:     booking.GroupId,
 | 
			
		||||
		DriverId:    booking.DriverId,
 | 
			
		||||
		PassengerId: booking.PassengerId,
 | 
			
		||||
		Status:      booking.Status,
 | 
			
		||||
		Journey:     journey,
 | 
			
		||||
		Id:                    booking.Id,
 | 
			
		||||
		GroupId:               booking.GroupId,
 | 
			
		||||
		DriverId:              booking.DriverId,
 | 
			
		||||
		PassengerId:           booking.PassengerId,
 | 
			
		||||
		Status:                booking.Status,
 | 
			
		||||
		ReturnWaitingDuration: time.Duration(booking.ReturnWaitingDuration),
 | 
			
		||||
		Journey:               journey,
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,6 +55,7 @@ func DriverJourneyTypeToProto(j *types.DriverJourney) (*gen.SolidarityTransportD
 | 
			
		|||
			Amount:   0,
 | 
			
		||||
			Currency: "EUR",
 | 
			
		||||
		},
 | 
			
		||||
		Noreturn: j.Noreturn,
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -96,5 +97,6 @@ func DriverJourneyProtoToType(j *gen.SolidarityTransportDriverJourney) (*types.D
 | 
			
		|||
			Amount:   j.Price.Amount,
 | 
			
		||||
			Currency: j.Price.Currency,
 | 
			
		||||
		},
 | 
			
		||||
		Noreturn: j.Noreturn,
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,6 +107,11 @@ func (s MemoryStorage) GetDriverJourney(id string) (res *types.DriverJourney, er
 | 
			
		|||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s MemoryStorage) UpdateDriverJourney(journey types.DriverJourney) error {
 | 
			
		||||
	s.DriverJourneys[journey.Id] = &journey
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s MemoryStorage) CreateBooking(booking types.Booking) error {
 | 
			
		||||
	if booking.Id == "" {
 | 
			
		||||
		booking.Id = uuid.NewString()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -166,6 +166,14 @@ func (s MongoDBStorage) GetDriverJourney(id string) (*types.DriverJourney, error
 | 
			
		|||
	return &res, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s MongoDBStorage) UpdateDriverJourney(journey types.DriverJourney) error {
 | 
			
		||||
	if _, err := s.Collections.DriverJourneys.ReplaceOne(context.Background(), bson.M{"_id": journey.Id}, journey); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s MongoDBStorage) CreateBooking(booking types.Booking) error {
 | 
			
		||||
	if booking.Id == "" {
 | 
			
		||||
		booking.Id = uuid.NewString()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,7 @@ type Storage interface {
 | 
			
		|||
 | 
			
		||||
	PushDriverJourneys([]*types.DriverJourney) error
 | 
			
		||||
	GetDriverJourney(id string) (*types.DriverJourney, error)
 | 
			
		||||
	UpdateDriverJourney(types.DriverJourney) error
 | 
			
		||||
 | 
			
		||||
	CreateBooking(types.Booking) error
 | 
			
		||||
	GetAllBookings() ([]*types.Booking, error)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +1,14 @@
 | 
			
		|||
package types
 | 
			
		||||
 | 
			
		||||
import "time"
 | 
			
		||||
 | 
			
		||||
type Booking struct {
 | 
			
		||||
	Id          string `json:"id" bson:"_id"`
 | 
			
		||||
	GroupId     string `json:"group_id" bson:"group_id"`
 | 
			
		||||
	DriverId    string `json:"driver_id" bson:"driver_id"`
 | 
			
		||||
	PassengerId string `json:"passenger_id" bson:"passenger_id"`
 | 
			
		||||
	Status      string `json:"status" bson:"status"`
 | 
			
		||||
	Id                    string        `json:"id" bson:"_id"`
 | 
			
		||||
	GroupId               string        `json:"group_id" bson:"group_id"`
 | 
			
		||||
	DriverId              string        `json:"driver_id" bson:"driver_id"`
 | 
			
		||||
	PassengerId           string        `json:"passenger_id" bson:"passenger_id"`
 | 
			
		||||
	Status                string        `json:"status" bson:"status"`
 | 
			
		||||
	ReturnWaitingDuration time.Duration `json:"return_waiting_duration" bson:"return_waiting_duration"`
 | 
			
		||||
 | 
			
		||||
	Journey *DriverJourney `json:"journey,omitempty" bson:"journey,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ type DriverJourney struct {
 | 
			
		|||
	PassengerPickupDate time.Time `json:"passenger_pickup_date" bson:"passenger_pickup_date"`
 | 
			
		||||
	DriverDepartureDate time.Time `json:"driver_departure_date" bson:"driver_departure_date"`
 | 
			
		||||
	Price               SolidarityTransportPrice
 | 
			
		||||
	Noreturn            bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type PassengerTrip struct {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue