new grpc functions
Build and Push Docker Image / build_and_push (push) Failing after 34s Details

This commit is contained in:
Arnaud Delcasse 2025-06-16 13:01:16 +02:00
parent 2f0a45ced0
commit d71da5accd
12 changed files with 472 additions and 220 deletions

View File

@ -9,7 +9,7 @@ import (
"github.com/rs/zerolog/log"
)
func (h Handler) BookDriverJourney(passengerid string, driverid string, journeyid string, returnWaitingDuration time.Duration, data map[string]any) (*types.Booking, error) {
func (h Handler) BookDriverJourney(passengerid string, driverid string, journeyid string, returnWaitingDuration time.Duration, priceAmount float64, priceCurrency string, data map[string]any) (*types.Booking, error) {
journey, err := h.Storage.GetDriverJourney(journeyid)
if err != nil {
log.Error().Err(err).Msg("could not find driver journey")
@ -20,6 +20,11 @@ func (h Handler) BookDriverJourney(passengerid string, driverid string, journeyi
return nil, errors.New("not authorized : journey id driver and driverid mismatch")
}
journey.Price.Amount = priceAmount
journey.Price.Currency = priceCurrency
log.Debug().Float64("Price", priceAmount).Any("journey", journey.Price).Msg("store booking")
booking := types.Booking{
Id: uuid.NewString(),
GroupId: uuid.NewString(),
@ -72,8 +77,16 @@ func (h Handler) GetBooking(id string) (*types.Booking, error) {
return booking, nil
}
func (h Handler) UpdateBookingStatus(bookingid string, newStatus string) error {
if err := h.Storage.UpdateBookingStatus(bookingid, newStatus); err != nil {
func (h Handler) UpdateBooking(booking types.Booking) error {
if err := h.Storage.UpdateBooking(booking); err != nil {
log.Error().Err(err).Msg("could not update booking")
return err
}
return nil
}
func (h Handler) UpdateBookingStatus(bookingid string, newStatus string, reason string) error {
if err := h.Storage.UpdateBookingStatus(bookingid, newStatus, reason); err != nil {
log.Error().Err(err).Msg("could not update booking")
return err
}

View File

@ -13,6 +13,7 @@ import (
)
func (h *Handler) GetDriverJourneys(departure *geojson.Feature, arrival *geojson.Feature, departureDate time.Time, noreturn bool) ([]*types.DriverJourney, error) {
log.Info().Time("departureDate", departureDate).Bool("noreturn", noreturn).Str("departure", departure.Properties.MustString("label")).Str("arrival", arrival.Properties.MustString("label")).Msg("calling GetDriverJourneys")
minDistance := h.Config.GetInt64("parameters.limits.distance.min")
maxDistance := h.Config.GetInt64("parameters.limits.distance.max")
day := int(departureDate.Weekday())
@ -27,7 +28,6 @@ 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 {
var route *routing.Route
if noreturn {
@ -55,8 +55,6 @@ func (h *Handler) GetDriverJourneys(departure *geojson.Feature, arrival *geojson
continue
}
log.Debug().Any("route", route).Msg("debug route")
passengerDistance := int64(route.Legs[1].Distance)
if !noreturn {
passengerDistance = passengerDistance + int64(route.Legs[2].Distance)
@ -151,7 +149,6 @@ func (h Handler) ToggleDriverJourneyNoreturn(journeyid string) error {
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

View File

@ -12,7 +12,7 @@ import (
)
func main() {
zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
// zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
cfg, err := ReadConfig()
if err != nil {
panic(err)

View File

@ -648,7 +648,9 @@ type BookDriverJourneyRequest struct {
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"`
Data *structpb.Struct `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"`
PriceAmount float64 `protobuf:"fixed64,5,opt,name=price_amount,json=priceAmount,proto3" json:"price_amount,omitempty"`
PriceCurrency string `protobuf:"bytes,6,opt,name=price_currency,json=priceCurrency,proto3" json:"price_currency,omitempty"`
Data *structpb.Struct `protobuf:"bytes,7,opt,name=data,proto3" json:"data,omitempty"`
}
func (x *BookDriverJourneyRequest) Reset() {
@ -711,6 +713,20 @@ func (x *BookDriverJourneyRequest) GetReturnWaitingDuration() int64 {
return 0
}
func (x *BookDriverJourneyRequest) GetPriceAmount() float64 {
if x != nil {
return x.PriceAmount
}
return 0
}
func (x *BookDriverJourneyRequest) GetPriceCurrency() string {
if x != nil {
return x.PriceCurrency
}
return ""
}
func (x *BookDriverJourneyRequest) GetData() *structpb.Struct {
if x != nil {
return x.Data
@ -977,6 +993,91 @@ func (x *GetSolidarityTransportBookingResponse) GetBooking() *SolidarityTranspor
return nil
}
type UpdateSolidarityTransportBookingRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Booking *SolidarityTransportBooking `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"`
}
func (x *UpdateSolidarityTransportBookingRequest) Reset() {
*x = UpdateSolidarityTransportBookingRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_solidarity_transport_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSolidarityTransportBookingRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSolidarityTransportBookingRequest) ProtoMessage() {}
func (x *UpdateSolidarityTransportBookingRequest) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_transport_proto_msgTypes[18]
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 UpdateSolidarityTransportBookingRequest.ProtoReflect.Descriptor instead.
func (*UpdateSolidarityTransportBookingRequest) Descriptor() ([]byte, []int) {
return file_solidarity_transport_proto_rawDescGZIP(), []int{18}
}
func (x *UpdateSolidarityTransportBookingRequest) GetBooking() *SolidarityTransportBooking {
if x != nil {
return x.Booking
}
return nil
}
type UpdateSolidarityTransportBookingResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateSolidarityTransportBookingResponse) Reset() {
*x = UpdateSolidarityTransportBookingResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_solidarity_transport_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSolidarityTransportBookingResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSolidarityTransportBookingResponse) ProtoMessage() {}
func (x *UpdateSolidarityTransportBookingResponse) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_transport_proto_msgTypes[19]
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 UpdateSolidarityTransportBookingResponse.ProtoReflect.Descriptor instead.
func (*UpdateSolidarityTransportBookingResponse) Descriptor() ([]byte, []int) {
return file_solidarity_transport_proto_rawDescGZIP(), []int{19}
}
type UpdateSolidarityTransportBookingStatusRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -984,12 +1085,13 @@ type UpdateSolidarityTransportBookingStatusRequest struct {
BookingId string `protobuf:"bytes,1,opt,name=booking_id,json=bookingId,proto3" json:"booking_id,omitempty"`
NewStatus string `protobuf:"bytes,2,opt,name=new_status,json=newStatus,proto3" json:"new_status,omitempty"`
Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
}
func (x *UpdateSolidarityTransportBookingStatusRequest) Reset() {
*x = UpdateSolidarityTransportBookingStatusRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_solidarity_transport_proto_msgTypes[18]
mi := &file_solidarity_transport_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1002,7 +1104,7 @@ func (x *UpdateSolidarityTransportBookingStatusRequest) String() string {
func (*UpdateSolidarityTransportBookingStatusRequest) ProtoMessage() {}
func (x *UpdateSolidarityTransportBookingStatusRequest) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_transport_proto_msgTypes[18]
mi := &file_solidarity_transport_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1015,7 +1117,7 @@ func (x *UpdateSolidarityTransportBookingStatusRequest) ProtoReflect() protorefl
// Deprecated: Use UpdateSolidarityTransportBookingStatusRequest.ProtoReflect.Descriptor instead.
func (*UpdateSolidarityTransportBookingStatusRequest) Descriptor() ([]byte, []int) {
return file_solidarity_transport_proto_rawDescGZIP(), []int{18}
return file_solidarity_transport_proto_rawDescGZIP(), []int{20}
}
func (x *UpdateSolidarityTransportBookingStatusRequest) GetBookingId() string {
@ -1032,6 +1134,13 @@ func (x *UpdateSolidarityTransportBookingStatusRequest) GetNewStatus() string {
return ""
}
func (x *UpdateSolidarityTransportBookingStatusRequest) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
type UpdateSolidarityTransportBookingStatusResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -1041,7 +1150,7 @@ type UpdateSolidarityTransportBookingStatusResponse struct {
func (x *UpdateSolidarityTransportBookingStatusResponse) Reset() {
*x = UpdateSolidarityTransportBookingStatusResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_solidarity_transport_proto_msgTypes[19]
mi := &file_solidarity_transport_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1054,7 +1163,7 @@ func (x *UpdateSolidarityTransportBookingStatusResponse) String() string {
func (*UpdateSolidarityTransportBookingStatusResponse) ProtoMessage() {}
func (x *UpdateSolidarityTransportBookingStatusResponse) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_transport_proto_msgTypes[19]
mi := &file_solidarity_transport_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1067,7 +1176,7 @@ func (x *UpdateSolidarityTransportBookingStatusResponse) ProtoReflect() protoref
// Deprecated: Use UpdateSolidarityTransportBookingStatusResponse.ProtoReflect.Descriptor instead.
func (*UpdateSolidarityTransportBookingStatusResponse) Descriptor() ([]byte, []int) {
return file_solidarity_transport_proto_rawDescGZIP(), []int{19}
return file_solidarity_transport_proto_rawDescGZIP(), []int{21}
}
type ToggleSolidarityTransportNoreturnRequest struct {
@ -1081,7 +1190,7 @@ type ToggleSolidarityTransportNoreturnRequest struct {
func (x *ToggleSolidarityTransportNoreturnRequest) Reset() {
*x = ToggleSolidarityTransportNoreturnRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_solidarity_transport_proto_msgTypes[20]
mi := &file_solidarity_transport_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1094,7 +1203,7 @@ func (x *ToggleSolidarityTransportNoreturnRequest) String() string {
func (*ToggleSolidarityTransportNoreturnRequest) ProtoMessage() {}
func (x *ToggleSolidarityTransportNoreturnRequest) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_transport_proto_msgTypes[20]
mi := &file_solidarity_transport_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1107,7 +1216,7 @@ func (x *ToggleSolidarityTransportNoreturnRequest) ProtoReflect() protoreflect.M
// Deprecated: Use ToggleSolidarityTransportNoreturnRequest.ProtoReflect.Descriptor instead.
func (*ToggleSolidarityTransportNoreturnRequest) Descriptor() ([]byte, []int) {
return file_solidarity_transport_proto_rawDescGZIP(), []int{20}
return file_solidarity_transport_proto_rawDescGZIP(), []int{22}
}
func (x *ToggleSolidarityTransportNoreturnRequest) GetJourneyId() string {
@ -1126,7 +1235,7 @@ type ToggleSolidarityTransportNoreturnResponse struct {
func (x *ToggleSolidarityTransportNoreturnResponse) Reset() {
*x = ToggleSolidarityTransportNoreturnResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_solidarity_transport_proto_msgTypes[21]
mi := &file_solidarity_transport_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1139,7 +1248,7 @@ func (x *ToggleSolidarityTransportNoreturnResponse) String() string {
func (*ToggleSolidarityTransportNoreturnResponse) ProtoMessage() {}
func (x *ToggleSolidarityTransportNoreturnResponse) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_transport_proto_msgTypes[21]
mi := &file_solidarity_transport_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1152,7 +1261,7 @@ func (x *ToggleSolidarityTransportNoreturnResponse) ProtoReflect() protoreflect.
// Deprecated: Use ToggleSolidarityTransportNoreturnResponse.ProtoReflect.Descriptor instead.
func (*ToggleSolidarityTransportNoreturnResponse) Descriptor() ([]byte, []int) {
return file_solidarity_transport_proto_rawDescGZIP(), []int{21}
return file_solidarity_transport_proto_rawDescGZIP(), []int{23}
}
var File_solidarity_transport_proto protoreflect.FileDescriptor
@ -1244,7 +1353,7 @@ var file_solidarity_transport_proto_rawDesc = []byte{
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, 0xeb, 0x01, 0x0a, 0x18, 0x42, 0x6f, 0x6f,
0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x22, 0xb5, 0x02, 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,
@ -1256,143 +1365,166 @@ var file_solidarity_transport_proto_rawDesc = []byte{
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, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74,
0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 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, 0xd7, 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, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x69, 0x76,
0x65, 0x72, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x72, 0x69, 0x76,
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,
0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69,
0x63, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52,
0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e,
0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x63, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65,
0x6e, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
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, 0xd7, 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, 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,
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, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x69, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x72, 0x69, 0x76, 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,
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,
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, 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,
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, 0x60, 0x0a, 0x27, 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, 0x4e, 0x6f, 0x72, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x12, 0x29, 0x2e, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x53, 0x6f, 0x6c, 0x69, 0x64,
0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 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, 0x2a, 0x0a, 0x28, 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, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 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, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 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, 0x1a, 0x2a, 0x2e,
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, 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,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xbb, 0x0a, 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, 0x79, 0x0a, 0x20, 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, 0x12, 0x28, 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, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29,
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, 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, 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 (
@ -1407,7 +1539,7 @@ func file_solidarity_transport_proto_rawDescGZIP() []byte {
return file_solidarity_transport_proto_rawDescData
}
var file_solidarity_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_solidarity_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_solidarity_transport_proto_goTypes = []interface{}{
(*AddDriverRegularAvailabilityRequest)(nil), // 0: AddDriverRegularAvailabilityRequest
(*AddDriverRegularAvailabilityResponse)(nil), // 1: AddDriverRegularAvailabilityResponse
@ -1427,59 +1559,64 @@ var file_solidarity_transport_proto_goTypes = []interface{}{
(*GetSolidarityTransportBookingsResponse)(nil), // 15: GetSolidarityTransportBookingsResponse
(*GetSolidarityTransportBookingRequest)(nil), // 16: GetSolidarityTransportBookingRequest
(*GetSolidarityTransportBookingResponse)(nil), // 17: GetSolidarityTransportBookingResponse
(*UpdateSolidarityTransportBookingStatusRequest)(nil), // 18: UpdateSolidarityTransportBookingStatusRequest
(*UpdateSolidarityTransportBookingStatusResponse)(nil), // 19: UpdateSolidarityTransportBookingStatusResponse
(*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
(*structpb.Struct)(nil), // 26: google.protobuf.Struct
(*SolidarityTransportBooking)(nil), // 27: SolidarityTransportBooking
(*UpdateSolidarityTransportBookingRequest)(nil), // 18: UpdateSolidarityTransportBookingRequest
(*UpdateSolidarityTransportBookingResponse)(nil), // 19: UpdateSolidarityTransportBookingResponse
(*UpdateSolidarityTransportBookingStatusRequest)(nil), // 20: UpdateSolidarityTransportBookingStatusRequest
(*UpdateSolidarityTransportBookingStatusResponse)(nil), // 21: UpdateSolidarityTransportBookingStatusResponse
(*ToggleSolidarityTransportNoreturnRequest)(nil), // 22: ToggleSolidarityTransportNoreturnRequest
(*ToggleSolidarityTransportNoreturnResponse)(nil), // 23: ToggleSolidarityTransportNoreturnResponse
(*GeoJsonFeature)(nil), // 24: GeoJsonFeature
(*DriverRegularAvailability)(nil), // 25: DriverRegularAvailability
(*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp
(*SolidarityTransportDriverJourney)(nil), // 27: SolidarityTransportDriverJourney
(*structpb.Struct)(nil), // 28: google.protobuf.Struct
(*SolidarityTransportBooking)(nil), // 29: SolidarityTransportBooking
}
var file_solidarity_transport_proto_depIdxs = []int32{
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: BookDriverJourneyRequest.data:type_name -> google.protobuf.Struct
27, // 9: BookDriverJourneyResponse.booking:type_name -> SolidarityTransportBooking
24, // 10: GetSolidarityTransportBookingsRequest.start_date:type_name -> google.protobuf.Timestamp
24, // 11: GetSolidarityTransportBookingsRequest.end_date:type_name -> google.protobuf.Timestamp
27, // 12: GetSolidarityTransportBookingsResponse.bookings:type_name -> SolidarityTransportBooking
27, // 13: GetSolidarityTransportBookingResponse.booking:type_name -> SolidarityTransportBooking
0, // 14: SolidarityTransport.AddDriverRegularAvailability:input_type -> AddDriverRegularAvailabilityRequest
2, // 15: SolidarityTransport.AddDriverRegularAvailabilities:input_type -> AddDriverRegularAvailabilitiesRequest
4, // 16: SolidarityTransport.GetDriverRegularAvailabilities:input_type -> GetDriverRegularAvailabilitiesRequest
6, // 17: SolidarityTransport.DeleteDriverRegularAvailability:input_type -> DeleteDriverRegularAvailabilityRequest
8, // 18: SolidarityTransport.GetDriverJourneys:input_type -> GetDriverJourneysRequest
10, // 19: SolidarityTransport.GetDriverJourney:input_type -> GetDriverJourneyRequest
12, // 20: SolidarityTransport.BookDriverJourney:input_type -> BookDriverJourneyRequest
14, // 21: SolidarityTransport.GetSolidarityTransportBookings:input_type -> GetSolidarityTransportBookingsRequest
16, // 22: SolidarityTransport.GetSolidarityTransportBooking:input_type -> GetSolidarityTransportBookingRequest
18, // 23: SolidarityTransport.UpdateSolidarityTransportBookingStatus:input_type -> UpdateSolidarityTransportBookingStatusRequest
20, // 24: SolidarityTransport.ToggleSolidarityTransportNoreturn:input_type -> ToggleSolidarityTransportNoreturnRequest
1, // 25: SolidarityTransport.AddDriverRegularAvailability:output_type -> AddDriverRegularAvailabilityResponse
3, // 26: SolidarityTransport.AddDriverRegularAvailabilities:output_type -> AddDriverRegularAvailabilitiesResponse
5, // 27: SolidarityTransport.GetDriverRegularAvailabilities:output_type -> GetDriverRegularAvailabilitiesResponse
7, // 28: SolidarityTransport.DeleteDriverRegularAvailability:output_type -> DeleteDriverRegularAvailabilityResponse
9, // 29: SolidarityTransport.GetDriverJourneys:output_type -> GetDriverJourneysResponse
11, // 30: SolidarityTransport.GetDriverJourney:output_type -> GetDriverJourneyResponse
13, // 31: SolidarityTransport.BookDriverJourney:output_type -> BookDriverJourneyResponse
15, // 32: SolidarityTransport.GetSolidarityTransportBookings:output_type -> GetSolidarityTransportBookingsResponse
17, // 33: SolidarityTransport.GetSolidarityTransportBooking:output_type -> GetSolidarityTransportBookingResponse
19, // 34: SolidarityTransport.UpdateSolidarityTransportBookingStatus:output_type -> UpdateSolidarityTransportBookingStatusResponse
21, // 35: SolidarityTransport.ToggleSolidarityTransportNoreturn:output_type -> ToggleSolidarityTransportNoreturnResponse
25, // [25:36] is the sub-list for method output_type
14, // [14:25] is the sub-list for method input_type
14, // [14:14] is the sub-list for extension type_name
14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
24, // 0: AddDriverRegularAvailabilityRequest.address:type_name -> GeoJsonFeature
25, // 1: AddDriverRegularAvailabilitiesRequest.availabilities:type_name -> DriverRegularAvailability
25, // 2: GetDriverRegularAvailabilitiesResponse.results:type_name -> DriverRegularAvailability
24, // 3: GetDriverJourneysRequest.departure:type_name -> GeoJsonFeature
24, // 4: GetDriverJourneysRequest.arrival:type_name -> GeoJsonFeature
26, // 5: GetDriverJourneysRequest.departure_date:type_name -> google.protobuf.Timestamp
27, // 6: GetDriverJourneysResponse.driver_journeys:type_name -> SolidarityTransportDriverJourney
27, // 7: GetDriverJourneyResponse.driver_journey:type_name -> SolidarityTransportDriverJourney
28, // 8: BookDriverJourneyRequest.data:type_name -> google.protobuf.Struct
29, // 9: BookDriverJourneyResponse.booking:type_name -> SolidarityTransportBooking
26, // 10: GetSolidarityTransportBookingsRequest.start_date:type_name -> google.protobuf.Timestamp
26, // 11: GetSolidarityTransportBookingsRequest.end_date:type_name -> google.protobuf.Timestamp
29, // 12: GetSolidarityTransportBookingsResponse.bookings:type_name -> SolidarityTransportBooking
29, // 13: GetSolidarityTransportBookingResponse.booking:type_name -> SolidarityTransportBooking
29, // 14: UpdateSolidarityTransportBookingRequest.booking:type_name -> SolidarityTransportBooking
0, // 15: SolidarityTransport.AddDriverRegularAvailability:input_type -> AddDriverRegularAvailabilityRequest
2, // 16: SolidarityTransport.AddDriverRegularAvailabilities:input_type -> AddDriverRegularAvailabilitiesRequest
4, // 17: SolidarityTransport.GetDriverRegularAvailabilities:input_type -> GetDriverRegularAvailabilitiesRequest
6, // 18: SolidarityTransport.DeleteDriverRegularAvailability:input_type -> DeleteDriverRegularAvailabilityRequest
8, // 19: SolidarityTransport.GetDriverJourneys:input_type -> GetDriverJourneysRequest
10, // 20: SolidarityTransport.GetDriverJourney:input_type -> GetDriverJourneyRequest
12, // 21: SolidarityTransport.BookDriverJourney:input_type -> BookDriverJourneyRequest
14, // 22: SolidarityTransport.GetSolidarityTransportBookings:input_type -> GetSolidarityTransportBookingsRequest
16, // 23: SolidarityTransport.GetSolidarityTransportBooking:input_type -> GetSolidarityTransportBookingRequest
18, // 24: SolidarityTransport.UpdateSolidarityTransportBooking:input_type -> UpdateSolidarityTransportBookingRequest
20, // 25: SolidarityTransport.UpdateSolidarityTransportBookingStatus:input_type -> UpdateSolidarityTransportBookingStatusRequest
22, // 26: SolidarityTransport.ToggleSolidarityTransportNoreturn:input_type -> ToggleSolidarityTransportNoreturnRequest
1, // 27: SolidarityTransport.AddDriverRegularAvailability:output_type -> AddDriverRegularAvailabilityResponse
3, // 28: SolidarityTransport.AddDriverRegularAvailabilities:output_type -> AddDriverRegularAvailabilitiesResponse
5, // 29: SolidarityTransport.GetDriverRegularAvailabilities:output_type -> GetDriverRegularAvailabilitiesResponse
7, // 30: SolidarityTransport.DeleteDriverRegularAvailability:output_type -> DeleteDriverRegularAvailabilityResponse
9, // 31: SolidarityTransport.GetDriverJourneys:output_type -> GetDriverJourneysResponse
11, // 32: SolidarityTransport.GetDriverJourney:output_type -> GetDriverJourneyResponse
13, // 33: SolidarityTransport.BookDriverJourney:output_type -> BookDriverJourneyResponse
15, // 34: SolidarityTransport.GetSolidarityTransportBookings:output_type -> GetSolidarityTransportBookingsResponse
17, // 35: SolidarityTransport.GetSolidarityTransportBooking:output_type -> GetSolidarityTransportBookingResponse
19, // 36: SolidarityTransport.UpdateSolidarityTransportBooking:output_type -> UpdateSolidarityTransportBookingResponse
21, // 37: SolidarityTransport.UpdateSolidarityTransportBookingStatus:output_type -> UpdateSolidarityTransportBookingStatusResponse
23, // 38: SolidarityTransport.ToggleSolidarityTransportNoreturn:output_type -> ToggleSolidarityTransportNoreturnResponse
27, // [27:39] is the sub-list for method output_type
15, // [15:27] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
}
func init() { file_solidarity_transport_proto_init() }
@ -1706,7 +1843,7 @@ func file_solidarity_transport_proto_init() {
}
}
file_solidarity_transport_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSolidarityTransportBookingStatusRequest); i {
switch v := v.(*UpdateSolidarityTransportBookingRequest); i {
case 0:
return &v.state
case 1:
@ -1718,7 +1855,7 @@ func file_solidarity_transport_proto_init() {
}
}
file_solidarity_transport_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSolidarityTransportBookingStatusResponse); i {
switch v := v.(*UpdateSolidarityTransportBookingResponse); i {
case 0:
return &v.state
case 1:
@ -1730,7 +1867,7 @@ func file_solidarity_transport_proto_init() {
}
}
file_solidarity_transport_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ToggleSolidarityTransportNoreturnRequest); i {
switch v := v.(*UpdateSolidarityTransportBookingStatusRequest); i {
case 0:
return &v.state
case 1:
@ -1742,6 +1879,30 @@ func file_solidarity_transport_proto_init() {
}
}
file_solidarity_transport_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSolidarityTransportBookingStatusResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_solidarity_transport_proto_msgTypes[22].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[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ToggleSolidarityTransportNoreturnResponse); i {
case 0:
return &v.state
@ -1761,7 +1922,7 @@ func file_solidarity_transport_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_solidarity_transport_proto_rawDesc,
NumEnums: 0,
NumMessages: 22,
NumMessages: 24,
NumExtensions: 0,
NumServices: 1,
},

View File

@ -28,6 +28,7 @@ const (
SolidarityTransport_BookDriverJourney_FullMethodName = "/SolidarityTransport/BookDriverJourney"
SolidarityTransport_GetSolidarityTransportBookings_FullMethodName = "/SolidarityTransport/GetSolidarityTransportBookings"
SolidarityTransport_GetSolidarityTransportBooking_FullMethodName = "/SolidarityTransport/GetSolidarityTransportBooking"
SolidarityTransport_UpdateSolidarityTransportBooking_FullMethodName = "/SolidarityTransport/UpdateSolidarityTransportBooking"
SolidarityTransport_UpdateSolidarityTransportBookingStatus_FullMethodName = "/SolidarityTransport/UpdateSolidarityTransportBookingStatus"
SolidarityTransport_ToggleSolidarityTransportNoreturn_FullMethodName = "/SolidarityTransport/ToggleSolidarityTransportNoreturn"
)
@ -48,6 +49,7 @@ type SolidarityTransportClient interface {
BookDriverJourney(ctx context.Context, in *BookDriverJourneyRequest, opts ...grpc.CallOption) (*BookDriverJourneyResponse, error)
GetSolidarityTransportBookings(ctx context.Context, in *GetSolidarityTransportBookingsRequest, opts ...grpc.CallOption) (*GetSolidarityTransportBookingsResponse, error)
GetSolidarityTransportBooking(ctx context.Context, in *GetSolidarityTransportBookingRequest, opts ...grpc.CallOption) (*GetSolidarityTransportBookingResponse, error)
UpdateSolidarityTransportBooking(ctx context.Context, in *UpdateSolidarityTransportBookingRequest, opts ...grpc.CallOption) (*UpdateSolidarityTransportBookingResponse, error)
UpdateSolidarityTransportBookingStatus(ctx context.Context, in *UpdateSolidarityTransportBookingStatusRequest, opts ...grpc.CallOption) (*UpdateSolidarityTransportBookingStatusResponse, error)
ToggleSolidarityTransportNoreturn(ctx context.Context, in *ToggleSolidarityTransportNoreturnRequest, opts ...grpc.CallOption) (*ToggleSolidarityTransportNoreturnResponse, error)
}
@ -141,6 +143,15 @@ func (c *solidarityTransportClient) GetSolidarityTransportBooking(ctx context.Co
return out, nil
}
func (c *solidarityTransportClient) UpdateSolidarityTransportBooking(ctx context.Context, in *UpdateSolidarityTransportBookingRequest, opts ...grpc.CallOption) (*UpdateSolidarityTransportBookingResponse, error) {
out := new(UpdateSolidarityTransportBookingResponse)
err := c.cc.Invoke(ctx, SolidarityTransport_UpdateSolidarityTransportBooking_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *solidarityTransportClient) UpdateSolidarityTransportBookingStatus(ctx context.Context, in *UpdateSolidarityTransportBookingStatusRequest, opts ...grpc.CallOption) (*UpdateSolidarityTransportBookingStatusResponse, error) {
out := new(UpdateSolidarityTransportBookingStatusResponse)
err := c.cc.Invoke(ctx, SolidarityTransport_UpdateSolidarityTransportBookingStatus_FullMethodName, in, out, opts...)
@ -175,6 +186,7 @@ type SolidarityTransportServer interface {
BookDriverJourney(context.Context, *BookDriverJourneyRequest) (*BookDriverJourneyResponse, error)
GetSolidarityTransportBookings(context.Context, *GetSolidarityTransportBookingsRequest) (*GetSolidarityTransportBookingsResponse, error)
GetSolidarityTransportBooking(context.Context, *GetSolidarityTransportBookingRequest) (*GetSolidarityTransportBookingResponse, error)
UpdateSolidarityTransportBooking(context.Context, *UpdateSolidarityTransportBookingRequest) (*UpdateSolidarityTransportBookingResponse, error)
UpdateSolidarityTransportBookingStatus(context.Context, *UpdateSolidarityTransportBookingStatusRequest) (*UpdateSolidarityTransportBookingStatusResponse, error)
ToggleSolidarityTransportNoreturn(context.Context, *ToggleSolidarityTransportNoreturnRequest) (*ToggleSolidarityTransportNoreturnResponse, error)
mustEmbedUnimplementedSolidarityTransportServer()
@ -211,6 +223,9 @@ func (UnimplementedSolidarityTransportServer) GetSolidarityTransportBookings(con
func (UnimplementedSolidarityTransportServer) GetSolidarityTransportBooking(context.Context, *GetSolidarityTransportBookingRequest) (*GetSolidarityTransportBookingResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetSolidarityTransportBooking not implemented")
}
func (UnimplementedSolidarityTransportServer) UpdateSolidarityTransportBooking(context.Context, *UpdateSolidarityTransportBookingRequest) (*UpdateSolidarityTransportBookingResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateSolidarityTransportBooking not implemented")
}
func (UnimplementedSolidarityTransportServer) UpdateSolidarityTransportBookingStatus(context.Context, *UpdateSolidarityTransportBookingStatusRequest) (*UpdateSolidarityTransportBookingStatusResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateSolidarityTransportBookingStatus not implemented")
}
@ -392,6 +407,24 @@ func _SolidarityTransport_GetSolidarityTransportBooking_Handler(srv interface{},
return interceptor(ctx, in, info, handler)
}
func _SolidarityTransport_UpdateSolidarityTransportBooking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateSolidarityTransportBookingRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SolidarityTransportServer).UpdateSolidarityTransportBooking(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: SolidarityTransport_UpdateSolidarityTransportBooking_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SolidarityTransportServer).UpdateSolidarityTransportBooking(ctx, req.(*UpdateSolidarityTransportBookingRequest))
}
return interceptor(ctx, in, info, handler)
}
func _SolidarityTransport_UpdateSolidarityTransportBookingStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateSolidarityTransportBookingStatusRequest)
if err := dec(in); err != nil {
@ -471,6 +504,10 @@ var SolidarityTransport_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetSolidarityTransportBooking",
Handler: _SolidarityTransport_GetSolidarityTransportBooking_Handler,
},
{
MethodName: "UpdateSolidarityTransportBooking",
Handler: _SolidarityTransport_UpdateSolidarityTransportBooking_Handler,
},
{
MethodName: "UpdateSolidarityTransportBookingStatus",
Handler: _SolidarityTransport_UpdateSolidarityTransportBookingStatus_Handler,

View File

@ -21,6 +21,7 @@ service SolidarityTransport {
rpc BookDriverJourney(BookDriverJourneyRequest) returns (BookDriverJourneyResponse) {}
rpc GetSolidarityTransportBookings(GetSolidarityTransportBookingsRequest) returns (GetSolidarityTransportBookingsResponse) {}
rpc GetSolidarityTransportBooking(GetSolidarityTransportBookingRequest) returns (GetSolidarityTransportBookingResponse) {}
rpc UpdateSolidarityTransportBooking(UpdateSolidarityTransportBookingRequest) returns (UpdateSolidarityTransportBookingResponse) {}
rpc UpdateSolidarityTransportBookingStatus(UpdateSolidarityTransportBookingStatusRequest) returns (UpdateSolidarityTransportBookingStatusResponse) {}
rpc ToggleSolidarityTransportNoreturn(ToggleSolidarityTransportNoreturnRequest) returns (ToggleSolidarityTransportNoreturnResponse) {}
}
@ -84,7 +85,9 @@ message BookDriverJourneyRequest {
string driver_id = 2;
string driver_journey_id = 3;
int64 return_waiting_duration = 4;
google.protobuf.Struct data = 5;
double price_amount = 5;
string price_currency = 6;
google.protobuf.Struct data = 7;
}
message BookDriverJourneyResponse {
@ -110,9 +113,16 @@ message GetSolidarityTransportBookingResponse {
SolidarityTransportBooking booking = 1;
}
message UpdateSolidarityTransportBookingRequest {
SolidarityTransportBooking booking = 1;
}
message UpdateSolidarityTransportBookingResponse {}
message UpdateSolidarityTransportBookingStatusRequest {
string booking_id = 1;
string new_status = 2;
string reason = 3;
}
message UpdateSolidarityTransportBookingStatusResponse {}

View File

@ -15,10 +15,12 @@ func (s SolidarityTransportServerImpl) BookDriverJourney(ctx context.Context, re
passengerId := req.PassengerId
driverId := req.DriverId
journeyId := req.DriverJourneyId
priceAmount := req.PriceAmount
priceCurrency := req.PriceCurrency
returnWaitingDuration := time.Duration(req.ReturnWaitingDuration)
data := req.Data.AsMap()
booking, err := s.Handler.BookDriverJourney(passengerId, driverId, journeyId, returnWaitingDuration, data)
booking, err := s.Handler.BookDriverJourney(passengerId, driverId, journeyId, returnWaitingDuration, priceAmount, priceCurrency, data)
if err != nil {
log.Error().Err(err).Msg("issue in BookDriverJourney handler")
return nil, status.Errorf(codes.Internal, "could not create booking : %v", err)
@ -76,13 +78,31 @@ func (s SolidarityTransportServerImpl) GetSolidarityTransportBooking(ctx context
}, nil
}
func (s SolidarityTransportServerImpl) UpdateSolidarityTransportBooking(ctx context.Context, req *gen.UpdateSolidarityTransportBookingRequest) (*gen.UpdateSolidarityTransportBookingResponse, error) {
booking := req.Booking
b, err := transformers.BookingProtoToType(booking)
if err != nil || b == nil {
log.Error().Err(err).Msg("issue in UpdateBooking handler")
return nil, status.Errorf(codes.NotFound, "cannot update booking : %v", err)
}
err = s.Handler.UpdateBooking(*b)
if err != nil {
log.Error().Err(err).Msg("issue in UpdateBooking handler")
return nil, status.Errorf(codes.NotFound, "issue on update booking : %v", err)
}
return &gen.UpdateSolidarityTransportBookingResponse{}, nil
}
func (s SolidarityTransportServerImpl) UpdateSolidarityTransportBookingStatus(ctx context.Context, req *gen.UpdateSolidarityTransportBookingStatusRequest) (*gen.UpdateSolidarityTransportBookingStatusResponse, error) {
bookingid := req.BookingId
newStatus := req.NewStatus
reason := req.Reason
err := s.Handler.UpdateBookingStatus(bookingid, newStatus)
err := s.Handler.UpdateBookingStatus(bookingid, newStatus, reason)
if err != nil {
log.Error().Err(err).Msg("issue in GetBooking handler")
log.Error().Err(err).Msg("issue in UpdateBookingStatus handler")
return nil, status.Errorf(codes.NotFound, "transformer issue on booking : %v", err)
}

View File

@ -28,8 +28,6 @@ func (s SolidarityTransportServerImpl) GetDriverJourneys(ctx context.Context, re
return nil, status.Errorf(codes.Internal, "could not get driver journeys : %v", err)
}
log.Trace().Any("driver journeys", driverJourneys).Msg("got driver journeys")
results := []*gen.SolidarityTransportDriverJourney{}
for _, j := range driverJourneys {

View File

@ -52,8 +52,8 @@ func DriverJourneyTypeToProto(j *types.DriverJourney) (*gen.SolidarityTransportD
DriverDepartureDate: timestamppb.New(j.DriverDepartureDate),
PassengerPickupDate: timestamppb.New(j.PassengerPickupDate),
Price: &gen.SolidarityTransportPrice{
Amount: 0,
Currency: "EUR",
Amount: j.Price.Amount,
Currency: j.Price.Currency,
},
Noreturn: j.Noreturn,
}, nil

View File

@ -144,7 +144,12 @@ func (s MemoryStorage) GetBooking(id string) (res *types.Booking, err error) {
return
}
func (s MemoryStorage) UpdateBookingStatus(bookingid string, newStatus string) error {
func (s MemoryStorage) UpdateBooking(booking types.Booking) error {
s.Bookings[booking.Id] = &booking
return nil
}
func (s MemoryStorage) UpdateBookingStatus(bookingid string, newStatus string, reason string) error {
b := s.Bookings[bookingid]
if b == nil {
@ -152,6 +157,7 @@ func (s MemoryStorage) UpdateBookingStatus(bookingid string, newStatus string) e
}
b.Status = newStatus
b.Data["reason"] = reason
return nil
}

View File

@ -210,9 +210,18 @@ func (s MongoDBStorage) GetBooking(id string) (*types.Booking, error) {
return &res, nil
}
func (s MongoDBStorage) UpdateBookingStatus(bookingid string, newStatus string) error {
func (s MongoDBStorage) UpdateBooking(booking types.Booking) error {
// filter := bson.M{"_id": bookingid}
replacement := bson.M{"$set": bson.M{"status": newStatus}}
if _, err := s.Collections.Bookings.ReplaceOne(context.Background(), bson.M{"_id": booking.Id}, booking); err != nil {
return err
}
return nil
}
func (s MongoDBStorage) UpdateBookingStatus(bookingid string, newStatus string, reason string) error {
// filter := bson.M{"_id": bookingid}
replacement := bson.M{"$set": bson.M{"status": newStatus, "data.reason": reason}}
if _, err := s.Collections.Bookings.UpdateByID(context.Background(), bookingid, replacement); err != nil {
return err

View File

@ -23,7 +23,8 @@ type Storage interface {
CreateBooking(types.Booking) error
GetAllBookings() ([]*types.Booking, error)
GetBooking(id string) (*types.Booking, error)
UpdateBookingStatus(bookingid string, newStatus string) error
UpdateBooking(booking types.Booking) error
UpdateBookingStatus(bookingid string, newStatus string, reason string) error
}
func NewStorage(cfg *viper.Viper) (Storage, error) {