fix call grpc

This commit is contained in:
Maxime 2024-07-31 13:33:11 +02:00
parent 4dc39b60d4
commit 900eef52cf
8 changed files with 767 additions and 782 deletions

14
go.mod
View File

@ -12,8 +12,8 @@ require (
github.com/rs/zerolog v1.32.0 github.com/rs/zerolog v1.32.0
github.com/spf13/viper v1.18.2 github.com/spf13/viper v1.18.2
go.mongodb.org/mongo-driver v1.15.0 go.mongodb.org/mongo-driver v1.15.0
google.golang.org/grpc v1.63.2 google.golang.org/grpc v1.65.0
google.golang.org/protobuf v1.33.0 google.golang.org/protobuf v1.34.2
) )
require ( require (
@ -40,13 +40,13 @@ require (
github.com/xdg-go/stringprep v1.0.4 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
go.uber.org/multierr v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.22.0 // indirect golang.org/x/crypto v0.23.0 // indirect
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect
golang.org/x/net v0.24.0 // indirect golang.org/x/net v0.25.0 // indirect
golang.org/x/sync v0.7.0 // indirect golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.19.0 // indirect golang.org/x/sys v0.20.0 // indirect
golang.org/x/text v0.14.0 // indirect golang.org/x/text v0.15.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
) )

28
go.sum
View File

@ -115,8 +115,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY=
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@ -129,8 +129,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -149,8 +149,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@ -158,8 +158,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
@ -169,14 +169,14 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be h1:LG9vZxsWGOmUKieR8wPAUR3u3MpnYFQZROPIMaXh7/A= google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc=
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions: // versions:
// protoc-gen-go v1.30.0 // protoc-gen-go v1.27.1
// protoc v3.12.4 // protoc v3.12.4
// source: solidarity-api-types.proto // source: solidarity-api-types.proto
@ -307,12 +307,11 @@ type DriverJourney struct {
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
Car *Car `protobuf:"bytes,2,opt,name=car,proto3,oneof" json:"car,omitempty"` Car *Car `protobuf:"bytes,2,opt,name=car,proto3" json:"car,omitempty"`
DriverDeparture_Date *timestamp.Timestamp `protobuf:"bytes,3,opt,name=driver_departure_Date,json=driverDepartureDate,proto3" json:"driver_departure_Date,omitempty"` DriverDeparture_Date *timestamp.Timestamp `protobuf:"bytes,3,opt,name=driver_departure_Date,json=driverDepartureDate,proto3" json:"driver_departure_Date,omitempty"`
Price *Price `protobuf:"bytes,4,opt,name=price,proto3,oneof" json:"price,omitempty"` Price *Price `protobuf:"bytes,4,opt,name=price,proto3" json:"price,omitempty"`
DriverDeparture_Address string `protobuf:"bytes,5,opt,name=driver_departure_Address,json=driverDepartureAddress,proto3" json:"driver_departure_Address,omitempty"` DriverDeparture_Address string `protobuf:"bytes,5,opt,name=driver_departure_Address,json=driverDepartureAddress,proto3" json:"driver_departure_Address,omitempty"`
// Types that are assignable to Availabilities: // Types that are assignable to Availabilities:
//
// *DriverJourney_RepeatedPunctualAvailabilities // *DriverJourney_RepeatedPunctualAvailabilities
// *DriverJourney_RepeatedRegularAvailabilities // *DriverJourney_RepeatedRegularAvailabilities
Availabilities isDriverJourney_Availabilities `protobuf_oneof:"availabilities"` Availabilities isDriverJourney_Availabilities `protobuf_oneof:"availabilities"`
@ -524,8 +523,8 @@ type DriverRequest struct {
DriverAddress *Feature `protobuf:"bytes,1,opt,name=driver_address,json=driverAddress,proto3" json:"driver_address,omitempty"` DriverAddress *Feature `protobuf:"bytes,1,opt,name=driver_address,json=driverAddress,proto3" json:"driver_address,omitempty"`
DriverRadius int32 `protobuf:"varint,2,opt,name=driver_radius,json=driverRadius,proto3" json:"driver_radius,omitempty"` DriverRadius int32 `protobuf:"varint,2,opt,name=driver_radius,json=driverRadius,proto3" json:"driver_radius,omitempty"`
Driver *User `protobuf:"bytes,3,opt,name=driver,proto3" json:"driver,omitempty"` Driver *User `protobuf:"bytes,3,opt,name=driver,proto3" json:"driver,omitempty"`
Preferences *Preferences `protobuf:"bytes,4,opt,name=preferences,proto3,oneof" json:"preferences,omitempty"` Preferences *Preferences `protobuf:"bytes,4,opt,name=preferences,proto3" json:"preferences,omitempty"`
Car *Car `protobuf:"bytes,5,opt,name=car,proto3,oneof" json:"car,omitempty"` Car *Car `protobuf:"bytes,5,opt,name=car,proto3" json:"car,omitempty"`
} }
func (x *DriverRequest) Reset() { func (x *DriverRequest) Reset() {
@ -816,7 +815,7 @@ func (x *BookingRequest) GetPickupDate() *timestamp.Timestamp {
return nil return nil
} }
type Booking struct { type BookingSilvermobi struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
@ -828,15 +827,15 @@ type Booking struct {
PassengerDepartureRoute *Feature `protobuf:"bytes,5,opt,name=passenger_departure_route,json=passengerDepartureRoute,proto3" json:"passenger_departure_route,omitempty"` PassengerDepartureRoute *Feature `protobuf:"bytes,5,opt,name=passenger_departure_route,json=passengerDepartureRoute,proto3" json:"passenger_departure_route,omitempty"`
PassengerDestinationRoute *Feature `protobuf:"bytes,6,opt,name=passenger_destination_route,json=passengerDestinationRoute,proto3" json:"passenger_destination_route,omitempty"` PassengerDestinationRoute *Feature `protobuf:"bytes,6,opt,name=passenger_destination_route,json=passengerDestinationRoute,proto3" json:"passenger_destination_route,omitempty"`
Status BookingStatus `protobuf:"varint,7,opt,name=status,proto3,enum=BookingStatus" json:"status,omitempty"` Status BookingStatus `protobuf:"varint,7,opt,name=status,proto3,enum=BookingStatus" json:"status,omitempty"`
Duration *int64 `protobuf:"varint,8,opt,name=duration,proto3,oneof" json:"duration,omitempty"` Duration int64 `protobuf:"varint,8,opt,name=duration,proto3" json:"duration,omitempty"`
Distance *int64 `protobuf:"varint,9,opt,name=distance,proto3,oneof" json:"distance,omitempty"` Distance int64 `protobuf:"varint,9,opt,name=distance,proto3" json:"distance,omitempty"`
Price *Price `protobuf:"bytes,10,opt,name=price,proto3" json:"price,omitempty"` Price *Price `protobuf:"bytes,10,opt,name=price,proto3" json:"price,omitempty"`
Car *Car `protobuf:"bytes,11,opt,name=car,proto3,oneof" json:"car,omitempty"` Car *Car `protobuf:"bytes,11,opt,name=car,proto3" json:"car,omitempty"`
PickupDate *timestamp.Timestamp `protobuf:"bytes,12,opt,name=pickup_date,json=pickupDate,proto3" json:"pickup_date,omitempty"` PickupDate *timestamp.Timestamp `protobuf:"bytes,12,opt,name=pickup_date,json=pickupDate,proto3" json:"pickup_date,omitempty"`
} }
func (x *Booking) Reset() { func (x *BookingSilvermobi) Reset() {
*x = Booking{} *x = BookingSilvermobi{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_solidarity_api_types_proto_msgTypes[8] mi := &file_solidarity_api_types_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -844,13 +843,13 @@ func (x *Booking) Reset() {
} }
} }
func (x *Booking) String() string { func (x *BookingSilvermobi) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*Booking) ProtoMessage() {} func (*BookingSilvermobi) ProtoMessage() {}
func (x *Booking) ProtoReflect() protoreflect.Message { func (x *BookingSilvermobi) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_api_types_proto_msgTypes[8] mi := &file_solidarity_api_types_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -862,89 +861,89 @@ func (x *Booking) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use Booking.ProtoReflect.Descriptor instead. // Deprecated: Use BookingSilvermobi.ProtoReflect.Descriptor instead.
func (*Booking) Descriptor() ([]byte, []int) { func (*BookingSilvermobi) Descriptor() ([]byte, []int) {
return file_solidarity_api_types_proto_rawDescGZIP(), []int{8} return file_solidarity_api_types_proto_rawDescGZIP(), []int{8}
} }
func (x *Booking) GetId() string { func (x *BookingSilvermobi) GetId() string {
if x != nil { if x != nil {
return x.Id return x.Id
} }
return "" return ""
} }
func (x *Booking) GetDriver() *User { func (x *BookingSilvermobi) GetDriver() *User {
if x != nil { if x != nil {
return x.Driver return x.Driver
} }
return nil return nil
} }
func (x *Booking) GetPassenger() *User { func (x *BookingSilvermobi) GetPassenger() *User {
if x != nil { if x != nil {
return x.Passenger return x.Passenger
} }
return nil return nil
} }
func (x *Booking) GetPassengerPickupDate() *timestamp.Timestamp { func (x *BookingSilvermobi) GetPassengerPickupDate() *timestamp.Timestamp {
if x != nil { if x != nil {
return x.PassengerPickupDate return x.PassengerPickupDate
} }
return nil return nil
} }
func (x *Booking) GetPassengerDepartureRoute() *Feature { func (x *BookingSilvermobi) GetPassengerDepartureRoute() *Feature {
if x != nil { if x != nil {
return x.PassengerDepartureRoute return x.PassengerDepartureRoute
} }
return nil return nil
} }
func (x *Booking) GetPassengerDestinationRoute() *Feature { func (x *BookingSilvermobi) GetPassengerDestinationRoute() *Feature {
if x != nil { if x != nil {
return x.PassengerDestinationRoute return x.PassengerDestinationRoute
} }
return nil return nil
} }
func (x *Booking) GetStatus() BookingStatus { func (x *BookingSilvermobi) GetStatus() BookingStatus {
if x != nil { if x != nil {
return x.Status return x.Status
} }
return BookingStatus_INITIATED return BookingStatus_INITIATED
} }
func (x *Booking) GetDuration() int64 { func (x *BookingSilvermobi) GetDuration() int64 {
if x != nil && x.Duration != nil { if x != nil {
return *x.Duration return x.Duration
} }
return 0 return 0
} }
func (x *Booking) GetDistance() int64 { func (x *BookingSilvermobi) GetDistance() int64 {
if x != nil && x.Distance != nil { if x != nil {
return *x.Distance return x.Distance
} }
return 0 return 0
} }
func (x *Booking) GetPrice() *Price { func (x *BookingSilvermobi) GetPrice() *Price {
if x != nil { if x != nil {
return x.Price return x.Price
} }
return nil return nil
} }
func (x *Booking) GetCar() *Car { func (x *BookingSilvermobi) GetCar() *Car {
if x != nil { if x != nil {
return x.Car return x.Car
} }
return nil return nil
} }
func (x *Booking) GetPickupDate() *timestamp.Timestamp { func (x *BookingSilvermobi) GetPickupDate() *timestamp.Timestamp {
if x != nil { if x != nil {
return x.PickupDate return x.PickupDate
} }
@ -956,8 +955,8 @@ type Car struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Model *string `protobuf:"bytes,1,opt,name=model,proto3,oneof" json:"model,omitempty"` Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
Brand *string `protobuf:"bytes,2,opt,name=brand,proto3,oneof" json:"brand,omitempty"` Brand string `protobuf:"bytes,2,opt,name=brand,proto3" json:"brand,omitempty"`
} }
func (x *Car) Reset() { func (x *Car) Reset() {
@ -993,15 +992,15 @@ func (*Car) Descriptor() ([]byte, []int) {
} }
func (x *Car) GetModel() string { func (x *Car) GetModel() string {
if x != nil && x.Model != nil { if x != nil {
return *x.Model return x.Model
} }
return "" return ""
} }
func (x *Car) GetBrand() string { func (x *Car) GetBrand() string {
if x != nil && x.Brand != nil { if x != nil {
return *x.Brand return x.Brand
} }
return "" return ""
} }
@ -1011,11 +1010,11 @@ type Preferences struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Smoking *bool `protobuf:"varint,1,opt,name=smoking,proto3,oneof" json:"smoking,omitempty"` Smoking bool `protobuf:"varint,1,opt,name=smoking,proto3" json:"smoking,omitempty"`
Animals *bool `protobuf:"varint,2,opt,name=animals,proto3,oneof" json:"animals,omitempty"` Animals bool `protobuf:"varint,2,opt,name=animals,proto3" json:"animals,omitempty"`
Music *bool `protobuf:"varint,3,opt,name=music,proto3,oneof" json:"music,omitempty"` Music bool `protobuf:"varint,3,opt,name=music,proto3" json:"music,omitempty"`
IsTalker *bool `protobuf:"varint,4,opt,name=is_talker,json=isTalker,proto3,oneof" json:"is_talker,omitempty"` IsTalker bool `protobuf:"varint,4,opt,name=is_talker,json=isTalker,proto3" json:"is_talker,omitempty"`
LuggageSize *int64 `protobuf:"varint,5,opt,name=luggage_size,json=luggageSize,proto3,oneof" json:"luggage_size,omitempty"` LuggageSize int64 `protobuf:"varint,5,opt,name=luggage_size,json=luggageSize,proto3" json:"luggage_size,omitempty"`
} }
func (x *Preferences) Reset() { func (x *Preferences) Reset() {
@ -1051,36 +1050,36 @@ func (*Preferences) Descriptor() ([]byte, []int) {
} }
func (x *Preferences) GetSmoking() bool { func (x *Preferences) GetSmoking() bool {
if x != nil && x.Smoking != nil { if x != nil {
return *x.Smoking return x.Smoking
} }
return false return false
} }
func (x *Preferences) GetAnimals() bool { func (x *Preferences) GetAnimals() bool {
if x != nil && x.Animals != nil { if x != nil {
return *x.Animals return x.Animals
} }
return false return false
} }
func (x *Preferences) GetMusic() bool { func (x *Preferences) GetMusic() bool {
if x != nil && x.Music != nil { if x != nil {
return *x.Music return x.Music
} }
return false return false
} }
func (x *Preferences) GetIsTalker() bool { func (x *Preferences) GetIsTalker() bool {
if x != nil && x.IsTalker != nil { if x != nil {
return *x.IsTalker return x.IsTalker
} }
return false return false
} }
func (x *Preferences) GetLuggageSize() int64 { func (x *Preferences) GetLuggageSize() int64 {
if x != nil && x.LuggageSize != nil { if x != nil {
return *x.LuggageSize return x.LuggageSize
} }
return 0 return 0
} }
@ -1090,9 +1089,9 @@ type Price struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Type *PriceType `protobuf:"varint,1,opt,name=type,proto3,enum=PriceType,oneof" json:"type,omitempty"` Type PriceType `protobuf:"varint,1,opt,name=type,proto3,enum=PriceType" json:"type,omitempty"`
Amount *float64 `protobuf:"fixed64,2,opt,name=amount,proto3,oneof" json:"amount,omitempty"` Amount float64 `protobuf:"fixed64,2,opt,name=amount,proto3" json:"amount,omitempty"`
Currency *string `protobuf:"bytes,3,opt,name=currency,proto3,oneof" json:"currency,omitempty"` Currency string `protobuf:"bytes,3,opt,name=currency,proto3" json:"currency,omitempty"`
} }
func (x *Price) Reset() { func (x *Price) Reset() {
@ -1128,22 +1127,22 @@ func (*Price) Descriptor() ([]byte, []int) {
} }
func (x *Price) GetType() PriceType { func (x *Price) GetType() PriceType {
if x != nil && x.Type != nil { if x != nil {
return *x.Type return x.Type
} }
return PriceType_FREE return PriceType_FREE
} }
func (x *Price) GetAmount() float64 { func (x *Price) GetAmount() float64 {
if x != nil && x.Amount != nil { if x != nil {
return *x.Amount return x.Amount
} }
return 0 return 0
} }
func (x *Price) GetCurrency() string { func (x *Price) GetCurrency() string {
if x != nil && x.Currency != nil { if x != nil {
return *x.Currency return x.Currency
} }
return "" return ""
} }
@ -1155,12 +1154,12 @@ type User struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"`
FirstName *string `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3,oneof" json:"first_name,omitempty"` FirstName string `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"`
LastName *string `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3,oneof" json:"last_name,omitempty"` LastName string `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"`
Grade *int64 `protobuf:"varint,5,opt,name=grade,proto3,oneof" json:"grade,omitempty"` Grade int64 `protobuf:"varint,5,opt,name=grade,proto3" json:"grade,omitempty"`
Picture *string `protobuf:"bytes,6,opt,name=picture,proto3,oneof" json:"picture,omitempty"` Picture string `protobuf:"bytes,6,opt,name=picture,proto3" json:"picture,omitempty"`
Gender *string `protobuf:"bytes,7,opt,name=gender,proto3,oneof" json:"gender,omitempty"` Gender string `protobuf:"bytes,7,opt,name=gender,proto3" json:"gender,omitempty"`
VerifiedIdentity *bool `protobuf:"varint,8,opt,name=verified_identity,json=verifiedIdentity,proto3,oneof" json:"verified_identity,omitempty"` VerifiedIdentity bool `protobuf:"varint,8,opt,name=verified_identity,json=verifiedIdentity,proto3" json:"verified_identity,omitempty"`
} }
func (x *User) Reset() { func (x *User) Reset() {
@ -1210,43 +1209,43 @@ func (x *User) GetAlias() string {
} }
func (x *User) GetFirstName() string { func (x *User) GetFirstName() string {
if x != nil && x.FirstName != nil { if x != nil {
return *x.FirstName return x.FirstName
} }
return "" return ""
} }
func (x *User) GetLastName() string { func (x *User) GetLastName() string {
if x != nil && x.LastName != nil { if x != nil {
return *x.LastName return x.LastName
} }
return "" return ""
} }
func (x *User) GetGrade() int64 { func (x *User) GetGrade() int64 {
if x != nil && x.Grade != nil { if x != nil {
return *x.Grade return x.Grade
} }
return 0 return 0
} }
func (x *User) GetPicture() string { func (x *User) GetPicture() string {
if x != nil && x.Picture != nil { if x != nil {
return *x.Picture return x.Picture
} }
return "" return ""
} }
func (x *User) GetGender() string { func (x *User) GetGender() string {
if x != nil && x.Gender != nil { if x != nil {
return *x.Gender return x.Gender
} }
return "" return ""
} }
func (x *User) GetVerifiedIdentity() bool { func (x *User) GetVerifiedIdentity() bool {
if x != nil && x.VerifiedIdentity != nil { if x != nil {
return *x.VerifiedIdentity return x.VerifiedIdentity
} }
return false return false
} }
@ -1262,190 +1261,166 @@ var file_solidarity_api_types_proto_rawDesc = []byte{
0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f,
0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x18, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x18,
0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xf3, 0x03, 0x0a, 0x0d, 0x44, 0x72, 0x69, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xd7, 0x03, 0x0a, 0x0d, 0x44, 0x72, 0x69,
0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x04, 0x75, 0x73, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x04, 0x75, 0x73,
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52,
0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x03, 0x63, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x03, 0x63, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x04, 0x2e, 0x43, 0x61, 0x72, 0x48, 0x01, 0x52, 0x03, 0x63, 0x61, 0x72, 0x88, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x43, 0x61, 0x72, 0x52, 0x03, 0x63, 0x61, 0x72, 0x12, 0x4e, 0x0a,
0x01, 0x01, 0x12, 0x4e, 0x0a, 0x15, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x15, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72,
0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x65, 0x5f, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x64, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
0x72, 0x69, 0x76, 0x65, 0x72, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a,
0x74, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x50,
0x0b, 0x32, 0x06, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x48, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x72, 0x69, 0x63, 0x65, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x64,
0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f,
0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x64,
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x41, 0x64,
0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x6d, 0x0a, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x6d, 0x0a, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x6e, 0x63, 0x64, 0x5f, 0x70, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c,
0x74, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x21, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75,
0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69,
0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x1e,
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c,
0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x6a,
0x0a, 0x1f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x75, 0x6c,
0x61, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65,
0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74,
0x65, 0x64, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x72, 0x65, 0x70,
0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69,
0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x61, 0x76,
0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04,
0x5f, 0x63, 0x61, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x76,
0x0a, 0x20, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75,
0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c,
0x6f, 0x74, 0x12, 0x52, 0x0a, 0x17, 0x70, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75,
0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69,
0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x74, 0x69, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x1f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x16, 0x5f, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
0x70, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x72, 0x0a, 0x1f, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41,
0x65, 0x64, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x48,
0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x4f, 0x0a, 0x16, 0x72, 0x65, 0x67, 0x00, 0x52, 0x1d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x67, 0x75, 0x6c,
0x75, 0x6c, 0x61, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x52, 0x65, 0x67, 0x75, 0x42, 0x10, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69,
0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x73, 0x22, 0x76, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x50, 0x75,
0x6c, 0x6f, 0x74, 0x52, 0x15, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69,
0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xee, 0x01, 0x0a, 0x0d, 0x44, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x52, 0x0a, 0x17, 0x70, 0x75, 0x6e, 0x63, 0x74, 0x75,
0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0e, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65,
0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c,
0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x6f, 0x74, 0x52, 0x16, 0x70, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69,
0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x02, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x72, 0x0a, 0x1f, 0x52, 0x65,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x61, 0x64, 0x69, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61,
0x75, 0x73, 0x12, 0x1d, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x4f, 0x0a,
0x28, 0x0b, 0x32, 0x05, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x16, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
0x72, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c,
0x6e, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x15, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72,
0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x03, 0x63, 0x61, 0x72, 0x18, 0x05, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xcc,
0x01, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x43, 0x61, 0x72, 0x48, 0x01, 0x52, 0x03, 0x63, 0x61, 0x72, 0x01, 0x0a, 0x0d, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x12, 0x2f, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65,
0x63, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x63, 0x61, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x18, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75,
0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x72, 0x65, 0x52, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x64, 0x69,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x64,
0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x72, 0x65,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72,
0x22, 0x7b, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x03, 0x63, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01,
0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x28, 0x0a, 0x09, 0x64, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x43, 0x61, 0x72, 0x52, 0x03, 0x63, 0x61, 0x72, 0x22, 0x82, 0x01,
0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x0a, 0x18, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x09, 0x64, 0x61, 0x79, 0x4f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61,
0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb5, 0x02, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73,
0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x49, 0x64, 0x18, 0x6d, 0x65, 0x22, 0x7b, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x28, 0x0a,
0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x09, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x32, 0x0a, 0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x09, 0x64, 0x61,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74,
0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
0x75, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22,
0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x10, 0x64, 0x65, 0x70, 0xb5, 0x02, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x49,
0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67,
0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64,
0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64,
0x75, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x32, 0x0e, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61,
0x70, 0x44, 0x61, 0x74, 0x65, 0x22, 0xbf, 0x04, 0x0a, 0x07, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20,
0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x10, 0x64,
0x64, 0x12, 0x1d, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
0x0b, 0x32, 0x05, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x39, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61,
0x12, 0x23, 0x0a, 0x09, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x18, 0x03, 0x20, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46,
0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x73, 0x73, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
0x65, 0x6e, 0x67, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x13, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x69,
0x65, 0x72, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x70, 0x69, 0x63,
0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x6b, 0x75, 0x70, 0x44, 0x61, 0x74, 0x65, 0x22, 0x98, 0x04, 0x0a, 0x11, 0x42, 0x6f, 0x6f, 0x6b,
0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x19, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x12, 0x0e, 0x0a,
0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e,
0x52, 0x17, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x70, 0x61, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x09,
0x74, 0x75, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x1b, 0x70, 0x61, 0x73, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x05, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65,
0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x72, 0x12, 0x4c, 0x0a, 0x13, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x50, 0x69,
0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x19, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x67, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x75, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x70, 0x61, 0x73, 0x73,
0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x61, 0x74, 0x65, 0x12,
0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x44, 0x0a, 0x19, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01,
0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x17, 0x70, 0x61,
0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65,
0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x1b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67,
0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x50, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72,
0x72, 0x69, 0x63, 0x65, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x63, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61,
0x61, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x43, 0x61, 0x72, 0x48, 0x02, 0x74, 0x75, 0x72, 0x65, 0x52, 0x19, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x44,
0x52, 0x03, 0x63, 0x61, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12,
0x75, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x26, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x0e, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74,
0x70, 0x44, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74,
0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18,
0x06, 0x0a, 0x04, 0x5f, 0x63, 0x61, 0x72, 0x22, 0x4f, 0x0a, 0x03, 0x43, 0x61, 0x72, 0x12, 0x19, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12,
0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x1c, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06,
0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x62, 0x72, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a,
0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x62, 0x72, 0x61, 0x6e, 0x03, 0x63, 0x61, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x43, 0x61, 0x72,
0x64, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x08, 0x52, 0x03, 0x63, 0x61, 0x72, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x5f,
0x0a, 0x06, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x22, 0xf1, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x73, 0x6d, 0x6f, 0x6b, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x73, 0x6d, 0x6f, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x61,
0x6b, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x03, 0x43, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64,
0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x07, 0x61, 0x6e, 0x69, 0x6d, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12,
0x61, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x88, 0x01, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72,
0x01, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x18, 0x04, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6d, 0x6f, 0x6b, 0x69, 0x6e, 0x67,
0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x69, 0x73, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x6d, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x12,
0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6c, 0x75, 0x67, 0x67, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x18, 0x0a, 0x07, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0b, 0x6c, 0x75, 0x67, 0x52, 0x07, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x73,
0x67, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x12,
0x73, 0x6d, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x6e, 0x69, 0x6d, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
0x61, 0x6c, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x0c, 0x0a, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c,
0x0a, 0x5f, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x75, 0x67, 0x67, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01,
0x6c, 0x75, 0x67, 0x67, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x28, 0x03, 0x52, 0x0b, 0x6c, 0x75, 0x67, 0x67, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22,
0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x5b, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79,
0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x61, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75,
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x06, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01,
0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x63, 0x75, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0xdd, 0x01, 0x0a,
0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02,
0x09, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0xcf, 0x02, 0x0a, 0x04, 0x55, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66,
0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61,
0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c,
0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65,
0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a,
0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x48, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65,
0x19, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12,
0x52, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x69, 0x2b, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e,
0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x70, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69,
0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x66, 0x69, 0x65, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2a, 0x4a, 0x0a, 0x09,
0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, 0x67, 0x65, 0x6e,
0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69,
0x65, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
0x08, 0x48, 0x05, 0x52, 0x10, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x49, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x66, 0x69, 0x72,
0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x61, 0x73, 0x74,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x65, 0x42,
0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f,
0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66,
0x69, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2a, 0x4a, 0x0a, 0x09,
0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x4f, 0x4e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x4f, 0x4e,
0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x55, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x55, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x57,
0x45, 0x44, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x48, 0x55, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x45, 0x44, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x48, 0x55, 0x10, 0x04, 0x12, 0x07, 0x0a,
@ -1502,7 +1477,7 @@ var file_solidarity_api_types_proto_goTypes = []interface{}{
(*PunctualAvailabilitySlot)(nil), // 9: PunctualAvailabilitySlot (*PunctualAvailabilitySlot)(nil), // 9: PunctualAvailabilitySlot
(*RegularAvailabilitySlot)(nil), // 10: RegularAvailabilitySlot (*RegularAvailabilitySlot)(nil), // 10: RegularAvailabilitySlot
(*BookingRequest)(nil), // 11: BookingRequest (*BookingRequest)(nil), // 11: BookingRequest
(*Booking)(nil), // 12: Booking (*BookingSilvermobi)(nil), // 12: BookingSilvermobi
(*Car)(nil), // 13: Car (*Car)(nil), // 13: Car
(*Preferences)(nil), // 14: Preferences (*Preferences)(nil), // 14: Preferences
(*Price)(nil), // 15: Price (*Price)(nil), // 15: Price
@ -1528,15 +1503,15 @@ var file_solidarity_api_types_proto_depIdxs = []int32{
4, // 15: BookingRequest.departure_address:type_name -> Feature 4, // 15: BookingRequest.departure_address:type_name -> Feature
4, // 16: BookingRequest.destination_address:type_name -> Feature 4, // 16: BookingRequest.destination_address:type_name -> Feature
17, // 17: BookingRequest.pickup_date:type_name -> google.protobuf.Timestamp 17, // 17: BookingRequest.pickup_date:type_name -> google.protobuf.Timestamp
16, // 18: Booking.driver:type_name -> User 16, // 18: BookingSilvermobi.driver:type_name -> User
16, // 19: Booking.passenger:type_name -> User 16, // 19: BookingSilvermobi.passenger:type_name -> User
17, // 20: Booking.passengerPickupDate:type_name -> google.protobuf.Timestamp 17, // 20: BookingSilvermobi.passengerPickupDate:type_name -> google.protobuf.Timestamp
4, // 21: Booking.passenger_departure_route:type_name -> Feature 4, // 21: BookingSilvermobi.passenger_departure_route:type_name -> Feature
4, // 22: Booking.passenger_destination_route:type_name -> Feature 4, // 22: BookingSilvermobi.passenger_destination_route:type_name -> Feature
2, // 23: Booking.status:type_name -> BookingStatus 2, // 23: BookingSilvermobi.status:type_name -> BookingStatus
15, // 24: Booking.price:type_name -> Price 15, // 24: BookingSilvermobi.price:type_name -> Price
13, // 25: Booking.car:type_name -> Car 13, // 25: BookingSilvermobi.car:type_name -> Car
17, // 26: Booking.pickup_date:type_name -> google.protobuf.Timestamp 17, // 26: BookingSilvermobi.pickup_date:type_name -> google.protobuf.Timestamp
1, // 27: Price.type:type_name -> PriceType 1, // 27: Price.type:type_name -> PriceType
28, // [28:28] is the sub-list for method output_type 28, // [28:28] is the sub-list for method output_type
28, // [28:28] is the sub-list for method input_type 28, // [28:28] is the sub-list for method input_type
@ -1648,7 +1623,7 @@ func file_solidarity_api_types_proto_init() {
} }
} }
file_solidarity_api_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { file_solidarity_api_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Booking); i { switch v := v.(*BookingSilvermobi); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1712,12 +1687,6 @@ func file_solidarity_api_types_proto_init() {
(*DriverJourney_RepeatedPunctualAvailabilities)(nil), (*DriverJourney_RepeatedPunctualAvailabilities)(nil),
(*DriverJourney_RepeatedRegularAvailabilities)(nil), (*DriverJourney_RepeatedRegularAvailabilities)(nil),
} }
file_solidarity_api_types_proto_msgTypes[4].OneofWrappers = []interface{}{}
file_solidarity_api_types_proto_msgTypes[8].OneofWrappers = []interface{}{}
file_solidarity_api_types_proto_msgTypes[9].OneofWrappers = []interface{}{}
file_solidarity_api_types_proto_msgTypes[10].OneofWrappers = []interface{}{}
file_solidarity_api_types_proto_msgTypes[11].OneofWrappers = []interface{}{}
file_solidarity_api_types_proto_msgTypes[12].OneofWrappers = []interface{}{}
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{ File: protoimpl.DescBuilder{

View File

@ -10,9 +10,9 @@ message Feature {
message DriverJourney { message DriverJourney {
User user = 1; User user = 1;
optional Car car = 2; Car car = 2;
google.protobuf.Timestamp driver_departure_Date = 3; google.protobuf.Timestamp driver_departure_Date = 3;
optional Price price = 4; Price price = 4;
string driver_departure_Address = 5; string driver_departure_Address = 5;
oneof availabilities { oneof availabilities {
RepeatedPunctualAvailabilitySlot repeated_punctual_availabilities = 6; RepeatedPunctualAvailabilitySlot repeated_punctual_availabilities = 6;
@ -31,8 +31,8 @@ message DriverRequest{
Feature driver_address = 1; Feature driver_address = 1;
int32 driver_radius = 2; int32 driver_radius = 2;
User driver = 3; User driver = 3;
optional Preferences preferences = 4; Preferences preferences = 4;
optional Car car = 5; Car car = 5;
} }
message PunctualAvailabilitySlot { message PunctualAvailabilitySlot {
@ -67,7 +67,7 @@ message BookingRequest {
google.protobuf.Timestamp pickup_date = 7; google.protobuf.Timestamp pickup_date = 7;
} }
message Booking { message BookingSilvermobi {
string id = 1; string id = 1;
User driver = 2; User driver = 2;
User passenger = 3; User passenger = 3;
@ -75,25 +75,24 @@ message Booking {
Feature passenger_departure_route = 5; Feature passenger_departure_route = 5;
Feature passenger_destination_route = 6; Feature passenger_destination_route = 6;
BookingStatus status = 7; BookingStatus status = 7;
optional int64 duration = 8; int64 duration = 8;
optional int64 distance = 9; int64 distance = 9;
Price price = 10; Price price = 10;
optional Car car = 11; Car car = 11;
google.protobuf.Timestamp pickup_date = 12; google.protobuf.Timestamp pickup_date = 12;
} }
message Car { message Car {
optional string model = 1; string model = 1;
optional string brand = 2; string brand = 2;
} }
message Preferences { message Preferences {
optional bool smoking = 1; bool smoking = 1;
optional bool animals = 2; bool animals = 2;
optional bool music = 3; bool music = 3;
optional bool is_talker = 4; bool is_talker = 4;
optional int64 luggage_size = 5; int64 luggage_size = 5;
} }
@ -104,20 +103,20 @@ enum PriceType {
} }
message Price { message Price {
optional PriceType type = 1; PriceType type = 1;
optional double amount = 2; double amount = 2;
optional string currency = 3; string currency = 3;
} }
message User { message User {
string id = 1; string id = 1;
string alias = 2; string alias = 2;
optional string first_name = 3; string first_name = 3;
optional string last_name = 4; string last_name = 4;
optional int64 grade = 5; int64 grade = 5;
optional string picture = 6; string picture = 6;
optional string gender = 7; string gender = 7;
optional bool verified_identity = 8; bool verified_identity = 8;
} }
enum BookingStatus { enum BookingStatus {

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions: // versions:
// protoc-gen-go v1.30.0 // protoc-gen-go v1.27.1
// protoc v3.12.4 // protoc v3.12.4
// source: solidarity-api.proto // source: solidarity-api.proto
@ -27,7 +27,7 @@ type PassengerTripRequest struct {
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Passenger *User `protobuf:"bytes,1,opt,name=passenger,proto3" json:"passenger,omitempty"` Passenger *User `protobuf:"bytes,1,opt,name=passenger,proto3" json:"passenger,omitempty"`
Preferences *Preferences `protobuf:"bytes,2,opt,name=preferences,proto3,oneof" json:"preferences,omitempty"` Preferences *Preferences `protobuf:"bytes,2,opt,name=preferences,proto3" json:"preferences,omitempty"`
} }
func (x *PassengerTripRequest) Reset() { func (x *PassengerTripRequest) Reset() {
@ -192,7 +192,7 @@ type PassengerTripResponse struct {
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Message *string `protobuf:"bytes,2,opt,name=message,proto3,oneof" json:"message,omitempty"` Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
} }
func (x *PassengerTripResponse) Reset() { func (x *PassengerTripResponse) Reset() {
@ -235,8 +235,8 @@ func (x *PassengerTripResponse) GetSuccess() bool {
} }
func (x *PassengerTripResponse) GetMessage() string { func (x *PassengerTripResponse) GetMessage() string {
if x != nil && x.Message != nil { if x != nil {
return *x.Message return x.Message
} }
return "" return ""
} }
@ -247,7 +247,7 @@ type DriverAvailabilitiesResponse struct {
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Message *string `protobuf:"bytes,2,opt,name=message,proto3,oneof" json:"message,omitempty"` Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
} }
func (x *DriverAvailabilitiesResponse) Reset() { func (x *DriverAvailabilitiesResponse) Reset() {
@ -290,13 +290,13 @@ func (x *DriverAvailabilitiesResponse) GetSuccess() bool {
} }
func (x *DriverAvailabilitiesResponse) GetMessage() string { func (x *DriverAvailabilitiesResponse) GetMessage() string {
if x != nil && x.Message != nil { if x != nil {
return *x.Message return x.Message
} }
return "" return ""
} }
type CreateBookingRequest struct { type CreateBookingSilvermobiRequest struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
@ -304,8 +304,8 @@ type CreateBookingRequest struct {
Booking *BookingRequest `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"` Booking *BookingRequest `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"`
} }
func (x *CreateBookingRequest) Reset() { func (x *CreateBookingSilvermobiRequest) Reset() {
*x = CreateBookingRequest{} *x = CreateBookingSilvermobiRequest{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_solidarity_api_proto_msgTypes[5] mi := &file_solidarity_api_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -313,13 +313,13 @@ func (x *CreateBookingRequest) Reset() {
} }
} }
func (x *CreateBookingRequest) String() string { func (x *CreateBookingSilvermobiRequest) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*CreateBookingRequest) ProtoMessage() {} func (*CreateBookingSilvermobiRequest) ProtoMessage() {}
func (x *CreateBookingRequest) ProtoReflect() protoreflect.Message { func (x *CreateBookingSilvermobiRequest) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_api_proto_msgTypes[5] mi := &file_solidarity_api_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -331,28 +331,28 @@ func (x *CreateBookingRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use CreateBookingRequest.ProtoReflect.Descriptor instead. // Deprecated: Use CreateBookingSilvermobiRequest.ProtoReflect.Descriptor instead.
func (*CreateBookingRequest) Descriptor() ([]byte, []int) { func (*CreateBookingSilvermobiRequest) Descriptor() ([]byte, []int) {
return file_solidarity_api_proto_rawDescGZIP(), []int{5} return file_solidarity_api_proto_rawDescGZIP(), []int{5}
} }
func (x *CreateBookingRequest) GetBooking() *BookingRequest { func (x *CreateBookingSilvermobiRequest) GetBooking() *BookingRequest {
if x != nil { if x != nil {
return x.Booking return x.Booking
} }
return nil return nil
} }
type CreateBookingResponse struct { type CreateBookingSilvermobiResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Booking *Booking `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"` Booking *BookingSilvermobi `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"`
} }
func (x *CreateBookingResponse) Reset() { func (x *CreateBookingSilvermobiResponse) Reset() {
*x = CreateBookingResponse{} *x = CreateBookingSilvermobiResponse{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_solidarity_api_proto_msgTypes[6] mi := &file_solidarity_api_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -360,13 +360,13 @@ func (x *CreateBookingResponse) Reset() {
} }
} }
func (x *CreateBookingResponse) String() string { func (x *CreateBookingSilvermobiResponse) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*CreateBookingResponse) ProtoMessage() {} func (*CreateBookingSilvermobiResponse) ProtoMessage() {}
func (x *CreateBookingResponse) ProtoReflect() protoreflect.Message { func (x *CreateBookingSilvermobiResponse) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_api_proto_msgTypes[6] mi := &file_solidarity_api_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -378,30 +378,30 @@ func (x *CreateBookingResponse) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use CreateBookingResponse.ProtoReflect.Descriptor instead. // Deprecated: Use CreateBookingSilvermobiResponse.ProtoReflect.Descriptor instead.
func (*CreateBookingResponse) Descriptor() ([]byte, []int) { func (*CreateBookingSilvermobiResponse) Descriptor() ([]byte, []int) {
return file_solidarity_api_proto_rawDescGZIP(), []int{6} return file_solidarity_api_proto_rawDescGZIP(), []int{6}
} }
func (x *CreateBookingResponse) GetBooking() *Booking { func (x *CreateBookingSilvermobiResponse) GetBooking() *BookingSilvermobi {
if x != nil { if x != nil {
return x.Booking return x.Booking
} }
return nil return nil
} }
type UpdateBookingRequest struct { type UpdateBookingSilvermobiRequest struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
BookingId string `protobuf:"bytes,1,opt,name=booking_id,json=bookingId,proto3" json:"booking_id,omitempty"` BookingId string `protobuf:"bytes,1,opt,name=booking_id,json=bookingId,proto3" json:"booking_id,omitempty"`
Status BookingStatus `protobuf:"varint,2,opt,name=status,proto3,enum=BookingStatus" json:"status,omitempty"` Status BookingStatus `protobuf:"varint,2,opt,name=status,proto3,enum=BookingStatus" json:"status,omitempty"`
Message *string `protobuf:"bytes,3,opt,name=message,proto3,oneof" json:"message,omitempty"` Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
} }
func (x *UpdateBookingRequest) Reset() { func (x *UpdateBookingSilvermobiRequest) Reset() {
*x = UpdateBookingRequest{} *x = UpdateBookingSilvermobiRequest{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_solidarity_api_proto_msgTypes[7] mi := &file_solidarity_api_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -409,13 +409,13 @@ func (x *UpdateBookingRequest) Reset() {
} }
} }
func (x *UpdateBookingRequest) String() string { func (x *UpdateBookingSilvermobiRequest) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*UpdateBookingRequest) ProtoMessage() {} func (*UpdateBookingSilvermobiRequest) ProtoMessage() {}
func (x *UpdateBookingRequest) ProtoReflect() protoreflect.Message { func (x *UpdateBookingSilvermobiRequest) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_api_proto_msgTypes[7] mi := &file_solidarity_api_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -427,43 +427,43 @@ func (x *UpdateBookingRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use UpdateBookingRequest.ProtoReflect.Descriptor instead. // Deprecated: Use UpdateBookingSilvermobiRequest.ProtoReflect.Descriptor instead.
func (*UpdateBookingRequest) Descriptor() ([]byte, []int) { func (*UpdateBookingSilvermobiRequest) Descriptor() ([]byte, []int) {
return file_solidarity_api_proto_rawDescGZIP(), []int{7} return file_solidarity_api_proto_rawDescGZIP(), []int{7}
} }
func (x *UpdateBookingRequest) GetBookingId() string { func (x *UpdateBookingSilvermobiRequest) GetBookingId() string {
if x != nil { if x != nil {
return x.BookingId return x.BookingId
} }
return "" return ""
} }
func (x *UpdateBookingRequest) GetStatus() BookingStatus { func (x *UpdateBookingSilvermobiRequest) GetStatus() BookingStatus {
if x != nil { if x != nil {
return x.Status return x.Status
} }
return BookingStatus_INITIATED return BookingStatus_INITIATED
} }
func (x *UpdateBookingRequest) GetMessage() string { func (x *UpdateBookingSilvermobiRequest) GetMessage() string {
if x != nil && x.Message != nil { if x != nil {
return *x.Message return x.Message
} }
return "" return ""
} }
type UpdateBookingResponse struct { type UpdateBookingSilvermobiResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Message *string `protobuf:"bytes,2,opt,name=message,proto3,oneof" json:"message,omitempty"` Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
} }
func (x *UpdateBookingResponse) Reset() { func (x *UpdateBookingSilvermobiResponse) Reset() {
*x = UpdateBookingResponse{} *x = UpdateBookingSilvermobiResponse{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_solidarity_api_proto_msgTypes[8] mi := &file_solidarity_api_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -471,13 +471,13 @@ func (x *UpdateBookingResponse) Reset() {
} }
} }
func (x *UpdateBookingResponse) String() string { func (x *UpdateBookingSilvermobiResponse) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*UpdateBookingResponse) ProtoMessage() {} func (*UpdateBookingSilvermobiResponse) ProtoMessage() {}
func (x *UpdateBookingResponse) ProtoReflect() protoreflect.Message { func (x *UpdateBookingSilvermobiResponse) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_api_proto_msgTypes[8] mi := &file_solidarity_api_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -489,26 +489,26 @@ func (x *UpdateBookingResponse) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use UpdateBookingResponse.ProtoReflect.Descriptor instead. // Deprecated: Use UpdateBookingSilvermobiResponse.ProtoReflect.Descriptor instead.
func (*UpdateBookingResponse) Descriptor() ([]byte, []int) { func (*UpdateBookingSilvermobiResponse) Descriptor() ([]byte, []int) {
return file_solidarity_api_proto_rawDescGZIP(), []int{8} return file_solidarity_api_proto_rawDescGZIP(), []int{8}
} }
func (x *UpdateBookingResponse) GetSuccess() bool { func (x *UpdateBookingSilvermobiResponse) GetSuccess() bool {
if x != nil { if x != nil {
return x.Success return x.Success
} }
return false return false
} }
func (x *UpdateBookingResponse) GetMessage() string { func (x *UpdateBookingSilvermobiResponse) GetMessage() string {
if x != nil && x.Message != nil { if x != nil {
return *x.Message return x.Message
} }
return "" return ""
} }
type GetBookingRequest struct { type GetBookingSilvermobiRequest struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
@ -516,8 +516,8 @@ type GetBookingRequest struct {
BookingId string `protobuf:"bytes,1,opt,name=booking_id,json=bookingId,proto3" json:"booking_id,omitempty"` BookingId string `protobuf:"bytes,1,opt,name=booking_id,json=bookingId,proto3" json:"booking_id,omitempty"`
} }
func (x *GetBookingRequest) Reset() { func (x *GetBookingSilvermobiRequest) Reset() {
*x = GetBookingRequest{} *x = GetBookingSilvermobiRequest{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_solidarity_api_proto_msgTypes[9] mi := &file_solidarity_api_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -525,13 +525,13 @@ func (x *GetBookingRequest) Reset() {
} }
} }
func (x *GetBookingRequest) String() string { func (x *GetBookingSilvermobiRequest) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*GetBookingRequest) ProtoMessage() {} func (*GetBookingSilvermobiRequest) ProtoMessage() {}
func (x *GetBookingRequest) ProtoReflect() protoreflect.Message { func (x *GetBookingSilvermobiRequest) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_api_proto_msgTypes[9] mi := &file_solidarity_api_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -543,28 +543,28 @@ func (x *GetBookingRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use GetBookingRequest.ProtoReflect.Descriptor instead. // Deprecated: Use GetBookingSilvermobiRequest.ProtoReflect.Descriptor instead.
func (*GetBookingRequest) Descriptor() ([]byte, []int) { func (*GetBookingSilvermobiRequest) Descriptor() ([]byte, []int) {
return file_solidarity_api_proto_rawDescGZIP(), []int{9} return file_solidarity_api_proto_rawDescGZIP(), []int{9}
} }
func (x *GetBookingRequest) GetBookingId() string { func (x *GetBookingSilvermobiRequest) GetBookingId() string {
if x != nil { if x != nil {
return x.BookingId return x.BookingId
} }
return "" return ""
} }
type GetBookingResponse struct { type GetBookingSilvermobiResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Booking *Booking `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"` Booking *BookingSilvermobi `protobuf:"bytes,1,opt,name=booking,proto3" json:"booking,omitempty"`
} }
func (x *GetBookingResponse) Reset() { func (x *GetBookingSilvermobiResponse) Reset() {
*x = GetBookingResponse{} *x = GetBookingSilvermobiResponse{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_solidarity_api_proto_msgTypes[10] mi := &file_solidarity_api_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -572,13 +572,13 @@ func (x *GetBookingResponse) Reset() {
} }
} }
func (x *GetBookingResponse) String() string { func (x *GetBookingSilvermobiResponse) String() string {
return protoimpl.X.MessageStringOf(x) return protoimpl.X.MessageStringOf(x)
} }
func (*GetBookingResponse) ProtoMessage() {} func (*GetBookingSilvermobiResponse) ProtoMessage() {}
func (x *GetBookingResponse) ProtoReflect() protoreflect.Message { func (x *GetBookingSilvermobiResponse) ProtoReflect() protoreflect.Message {
mi := &file_solidarity_api_proto_msgTypes[10] mi := &file_solidarity_api_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -590,12 +590,12 @@ func (x *GetBookingResponse) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x) return mi.MessageOf(x)
} }
// Deprecated: Use GetBookingResponse.ProtoReflect.Descriptor instead. // Deprecated: Use GetBookingSilvermobiResponse.ProtoReflect.Descriptor instead.
func (*GetBookingResponse) Descriptor() ([]byte, []int) { func (*GetBookingSilvermobiResponse) Descriptor() ([]byte, []int) {
return file_solidarity_api_proto_rawDescGZIP(), []int{10} return file_solidarity_api_proto_rawDescGZIP(), []int{10}
} }
func (x *GetBookingResponse) GetBooking() *Booking { func (x *GetBookingSilvermobiResponse) GetBooking() *BookingSilvermobi {
if x != nil { if x != nil {
return x.Booking return x.Booking
} }
@ -772,7 +772,7 @@ type GetBookingsByStatusResponse struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Booking []*Booking `protobuf:"bytes,1,rep,name=booking,proto3" json:"booking,omitempty"` Booking []*BookingSilvermobi `protobuf:"bytes,1,rep,name=booking,proto3" json:"booking,omitempty"`
} }
func (x *GetBookingsByStatusResponse) Reset() { func (x *GetBookingsByStatusResponse) Reset() {
@ -807,7 +807,7 @@ func (*GetBookingsByStatusResponse) Descriptor() ([]byte, []int) {
return file_solidarity_api_proto_rawDescGZIP(), []int{14} return file_solidarity_api_proto_rawDescGZIP(), []int{14}
} }
func (x *GetBookingsByStatusResponse) GetBooking() []*Booking { func (x *GetBookingsByStatusResponse) GetBooking() []*BookingSilvermobi {
if x != nil { if x != nil {
return x.Booking return x.Booking
} }
@ -822,103 +822,103 @@ var file_solidarity_api_proto_rawDesc = []byte{
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x72,
0x69, 0x74, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x74, 0x79, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x14, 0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72,
0x72, 0x54, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x09, 0x54, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x09, 0x70,
0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05,
0x05, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72,
0x72, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
0x6e, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73,
0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x1b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c,
0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x1b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x12, 0x35, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65,
0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x64, 0x72, 0x69, 0x76, 0x65,
0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
0x15, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72,
0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x52, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74,
0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x52, 0x14, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69,
0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x14, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x76, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x1c, 0x44, 0x72, 0x69, 0x76, 0x65,
0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x72, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
0x1c, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65,
0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0e, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e,
0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x0a, 0x15, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x15, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69,
0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x76, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x14, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x4b,
0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x0a, 0x15, 0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x54, 0x72, 0x69, 0x70, 0x52,
0x74, 0x69, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x15, 0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
0x72, 0x54, 0x72, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x52, 0x0a, 0x1c, 0x44,
0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73,
0x67, 0x65, 0x22, 0x63, 0x0a, 0x1c, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75,
0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x4b, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67,
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x12, 0x29, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01,
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75,
0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x65, 0x73, 0x74, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x4f, 0x0a, 0x1f,
0x29, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c,
0x32, 0x0f, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x74, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x3b, 0x0a, 0x15, 0x43, 0x72, 0x2c, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x32, 0x12, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72,
0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x81, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53,
0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 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, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12,
0x26, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x0e, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x65, 0x22, 0x55, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69,
0x67, 0x65, 0x22, 0x5c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65, 0x73, 0x70,
0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18,
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3c, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42,
0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69,
0x22, 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6b, 0x69,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x6f,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f,
0x6e, 0x67, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65,
0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x07, 0x62, 0x6f, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e,
0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e,
0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x7c, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x07, 0x62, 0x6f, 0x6f,
0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x79, 0x53, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x7c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69,
0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x6e, 0x67, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x42, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74,
0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x04, 0x74, 0x79,
0x28, 0x0e, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x54,
0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
0x15, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x15, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x09,
0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x75, 0x72, 0x65, 0x52, 0x09, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x12, 0x41, 0x08, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x64, 0x65, 0x70, 0x61, 0x72,
0x0a, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x74, 0x75, 0x72, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x6d, 0x70, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74,
0x65, 0x22, 0x51, 0x0a, 0x16, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0x51, 0x0a, 0x16, 0x44, 0x72, 0x69, 0x76, 0x65,
0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0f, 0x64, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x18, 0x01, 0x65, 0x12, 0x37, 0x0a, 0x0f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x75, 0x72,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x72, 0x69,
0x72, 0x6e, 0x65, 0x79, 0x52, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x52, 0x0e, 0x64, 0x72, 0x69, 0x76,
0x6e, 0x65, 0x79, 0x73, 0x22, 0x41, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x22, 0x4b, 0x0a, 0x1b, 0x47, 0x65,
0x6e, 0x67, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75,
0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x62, 0x6f, 0x6f,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x42, 0x6f, 0x6f,
0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x32, 0xf2, 0x04, 0x0a, 0x11, 0x53, 0x6f, 0x6c, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x07,
0x62, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x32, 0xcc, 0x05, 0x0a, 0x11, 0x53, 0x6f, 0x6c, 0x69,
0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a,
0x1e, 0x53, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x1e, 0x53, 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, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12,
@ -932,37 +932,43 @@ var file_solidarity_api_proto_rawDesc = []byte{
0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
0x1a, 0x1d, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x1a, 0x1d, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x00, 0x12, 0x40, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x00, 0x12, 0x5e, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69,
0x6e, 0x67, 0x12, 0x15, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x12, 0x1f, 0x2e, 0x43,
0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76,
0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c,
0x6b, 0x69, 0x6e, 0x67, 0x12, 0x15, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x55, 0x70, 0x00, 0x12, 0x5e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69,
0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x12, 0x1f, 0x2e, 0x55,
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76,
0x69, 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c,
0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x79, 0x53, 0x00, 0x12, 0x55, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x12, 0x1c, 0x2e, 0x47, 0x65, 0x74, 0x42,
0x6e, 0x67, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69,
0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f,
0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x62, 0x69, 0x52, 0x65,
0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42,
0x6e, 0x65, 0x79, 0x73, 0x12, 0x16, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x44, 0x1b, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x79, 0x53,
0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x47,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x50, 0x61, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74,
0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x54, 0x72, 0x69, 0x70, 0x12, 0x15, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e,
0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x54, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x12, 0x16,
0x73, 0x74, 0x1a, 0x16, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x54, 0x72, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52,
0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x45, 0x5a, 0x43, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4a,
0x67, 0x69, 0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x70, 0x67, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x6f, 0x70, 0x67, 0x6f, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x73, 0x6f, 0x00, 0x12, 0x43, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65,
0x6c, 0x69, 0x64, 0x61, 0x72, 0x69, 0x74, 0x79, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x72, 0x54, 0x72, 0x69, 0x70, 0x12, 0x15, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65,
0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x72, 0x54, 0x72, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x50,
0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x54, 0x72, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x45, 0x5a, 0x43, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -984,12 +990,12 @@ var file_solidarity_api_proto_goTypes = []interface{}{
(*DriverPunctualAvailabilities)(nil), // 2: DriverPunctualAvailabilities (*DriverPunctualAvailabilities)(nil), // 2: DriverPunctualAvailabilities
(*PassengerTripResponse)(nil), // 3: PassengerTripResponse (*PassengerTripResponse)(nil), // 3: PassengerTripResponse
(*DriverAvailabilitiesResponse)(nil), // 4: DriverAvailabilitiesResponse (*DriverAvailabilitiesResponse)(nil), // 4: DriverAvailabilitiesResponse
(*CreateBookingRequest)(nil), // 5: CreateBookingRequest (*CreateBookingSilvermobiRequest)(nil), // 5: CreateBookingSilvermobiRequest
(*CreateBookingResponse)(nil), // 6: CreateBookingResponse (*CreateBookingSilvermobiResponse)(nil), // 6: CreateBookingSilvermobiResponse
(*UpdateBookingRequest)(nil), // 7: UpdateBookingRequest (*UpdateBookingSilvermobiRequest)(nil), // 7: UpdateBookingSilvermobiRequest
(*UpdateBookingResponse)(nil), // 8: UpdateBookingResponse (*UpdateBookingSilvermobiResponse)(nil), // 8: UpdateBookingSilvermobiResponse
(*GetBookingRequest)(nil), // 9: GetBookingRequest (*GetBookingSilvermobiRequest)(nil), // 9: GetBookingSilvermobiRequest
(*GetBookingResponse)(nil), // 10: GetBookingResponse (*GetBookingSilvermobiResponse)(nil), // 10: GetBookingSilvermobiResponse
(*GetBookingsByStatusRequest)(nil), // 11: GetBookingsByStatusRequest (*GetBookingsByStatusRequest)(nil), // 11: GetBookingsByStatusRequest
(*DriverJourneysRequest)(nil), // 12: DriverJourneysRequest (*DriverJourneysRequest)(nil), // 12: DriverJourneysRequest
(*DriverJourneysResponse)(nil), // 13: DriverJourneysResponse (*DriverJourneysResponse)(nil), // 13: DriverJourneysResponse
@ -1000,7 +1006,7 @@ var file_solidarity_api_proto_goTypes = []interface{}{
(*RegularAvailabilitySlot)(nil), // 18: RegularAvailabilitySlot (*RegularAvailabilitySlot)(nil), // 18: RegularAvailabilitySlot
(*PunctualAvailabilitySlot)(nil), // 19: PunctualAvailabilitySlot (*PunctualAvailabilitySlot)(nil), // 19: PunctualAvailabilitySlot
(*BookingRequest)(nil), // 20: BookingRequest (*BookingRequest)(nil), // 20: BookingRequest
(*Booking)(nil), // 21: Booking (*BookingSilvermobi)(nil), // 21: BookingSilvermobi
(BookingStatus)(0), // 22: BookingStatus (BookingStatus)(0), // 22: BookingStatus
(UserType)(0), // 23: UserType (UserType)(0), // 23: UserType
(*Feature)(nil), // 24: Feature (*Feature)(nil), // 24: Feature
@ -1014,29 +1020,29 @@ var file_solidarity_api_proto_depIdxs = []int32{
18, // 3: DriverRegularAvailabilities.driver_availabilities:type_name -> RegularAvailabilitySlot 18, // 3: DriverRegularAvailabilities.driver_availabilities:type_name -> RegularAvailabilitySlot
17, // 4: DriverPunctualAvailabilities.driver_request:type_name -> DriverRequest 17, // 4: DriverPunctualAvailabilities.driver_request:type_name -> DriverRequest
19, // 5: DriverPunctualAvailabilities.driver_availabilities:type_name -> PunctualAvailabilitySlot 19, // 5: DriverPunctualAvailabilities.driver_availabilities:type_name -> PunctualAvailabilitySlot
20, // 6: CreateBookingRequest.booking:type_name -> BookingRequest 20, // 6: CreateBookingSilvermobiRequest.booking:type_name -> BookingRequest
21, // 7: CreateBookingResponse.booking:type_name -> Booking 21, // 7: CreateBookingSilvermobiResponse.booking:type_name -> BookingSilvermobi
22, // 8: UpdateBookingRequest.status:type_name -> BookingStatus 22, // 8: UpdateBookingSilvermobiRequest.status:type_name -> BookingStatus
21, // 9: GetBookingResponse.booking:type_name -> Booking 21, // 9: GetBookingSilvermobiResponse.booking:type_name -> BookingSilvermobi
22, // 10: GetBookingsByStatusRequest.status:type_name -> BookingStatus 22, // 10: GetBookingsByStatusRequest.status:type_name -> BookingStatus
23, // 11: GetBookingsByStatusRequest.type:type_name -> UserType 23, // 11: GetBookingsByStatusRequest.type:type_name -> UserType
24, // 12: DriverJourneysRequest.departure:type_name -> Feature 24, // 12: DriverJourneysRequest.departure:type_name -> Feature
25, // 13: DriverJourneysRequest.departure_date:type_name -> google.protobuf.Timestamp 25, // 13: DriverJourneysRequest.departure_date:type_name -> google.protobuf.Timestamp
26, // 14: DriverJourneysResponse.driver_journeys:type_name -> DriverJourney 26, // 14: DriverJourneysResponse.driver_journeys:type_name -> DriverJourney
21, // 15: GetBookingsByStatusResponse.booking:type_name -> Booking 21, // 15: GetBookingsByStatusResponse.booking:type_name -> BookingSilvermobi
1, // 16: SolidarityService.SetDriverRegularAvailabilities:input_type -> DriverRegularAvailabilities 1, // 16: SolidarityService.SetDriverRegularAvailabilities:input_type -> DriverRegularAvailabilities
2, // 17: SolidarityService.SetDriverPunctualAvailabilities:input_type -> DriverPunctualAvailabilities 2, // 17: SolidarityService.SetDriverPunctualAvailabilities:input_type -> DriverPunctualAvailabilities
5, // 18: SolidarityService.CreateBooking:input_type -> CreateBookingRequest 5, // 18: SolidarityService.CreateBookingSilvermobi:input_type -> CreateBookingSilvermobiRequest
7, // 19: SolidarityService.UpdateBooking:input_type -> UpdateBookingRequest 7, // 19: SolidarityService.UpdateBookingSilvermobi:input_type -> UpdateBookingSilvermobiRequest
9, // 20: SolidarityService.GetBooking:input_type -> GetBookingRequest 9, // 20: SolidarityService.GetBookingSilvermobi:input_type -> GetBookingSilvermobiRequest
11, // 21: SolidarityService.GetBookingsByStatus:input_type -> GetBookingsByStatusRequest 11, // 21: SolidarityService.GetBookingsByStatus:input_type -> GetBookingsByStatusRequest
12, // 22: SolidarityService.DriverJourneys:input_type -> DriverJourneysRequest 12, // 22: SolidarityService.DriverJourneys:input_type -> DriverJourneysRequest
0, // 23: SolidarityService.SetPassengerTrip:input_type -> PassengerTripRequest 0, // 23: SolidarityService.SetPassengerTrip:input_type -> PassengerTripRequest
4, // 24: SolidarityService.SetDriverRegularAvailabilities:output_type -> DriverAvailabilitiesResponse 4, // 24: SolidarityService.SetDriverRegularAvailabilities:output_type -> DriverAvailabilitiesResponse
4, // 25: SolidarityService.SetDriverPunctualAvailabilities:output_type -> DriverAvailabilitiesResponse 4, // 25: SolidarityService.SetDriverPunctualAvailabilities:output_type -> DriverAvailabilitiesResponse
6, // 26: SolidarityService.CreateBooking:output_type -> CreateBookingResponse 6, // 26: SolidarityService.CreateBookingSilvermobi:output_type -> CreateBookingSilvermobiResponse
8, // 27: SolidarityService.UpdateBooking:output_type -> UpdateBookingResponse 8, // 27: SolidarityService.UpdateBookingSilvermobi:output_type -> UpdateBookingSilvermobiResponse
10, // 28: SolidarityService.GetBooking:output_type -> GetBookingResponse 10, // 28: SolidarityService.GetBookingSilvermobi:output_type -> GetBookingSilvermobiResponse
14, // 29: SolidarityService.GetBookingsByStatus:output_type -> GetBookingsByStatusResponse 14, // 29: SolidarityService.GetBookingsByStatus:output_type -> GetBookingsByStatusResponse
13, // 30: SolidarityService.DriverJourneys:output_type -> DriverJourneysResponse 13, // 30: SolidarityService.DriverJourneys:output_type -> DriverJourneysResponse
3, // 31: SolidarityService.SetPassengerTrip:output_type -> PassengerTripResponse 3, // 31: SolidarityService.SetPassengerTrip:output_type -> PassengerTripResponse
@ -1115,7 +1121,7 @@ func file_solidarity_api_proto_init() {
} }
} }
file_solidarity_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { file_solidarity_api_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateBookingRequest); i { switch v := v.(*CreateBookingSilvermobiRequest); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1127,7 +1133,7 @@ func file_solidarity_api_proto_init() {
} }
} }
file_solidarity_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { file_solidarity_api_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateBookingResponse); i { switch v := v.(*CreateBookingSilvermobiResponse); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1139,7 +1145,7 @@ func file_solidarity_api_proto_init() {
} }
} }
file_solidarity_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { file_solidarity_api_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateBookingRequest); i { switch v := v.(*UpdateBookingSilvermobiRequest); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1151,7 +1157,7 @@ func file_solidarity_api_proto_init() {
} }
} }
file_solidarity_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { file_solidarity_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateBookingResponse); i { switch v := v.(*UpdateBookingSilvermobiResponse); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1163,7 +1169,7 @@ func file_solidarity_api_proto_init() {
} }
} }
file_solidarity_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { file_solidarity_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBookingRequest); i { switch v := v.(*GetBookingSilvermobiRequest); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1175,7 +1181,7 @@ func file_solidarity_api_proto_init() {
} }
} }
file_solidarity_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { file_solidarity_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBookingResponse); i { switch v := v.(*GetBookingSilvermobiResponse); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1235,11 +1241,6 @@ func file_solidarity_api_proto_init() {
} }
} }
} }
file_solidarity_api_proto_msgTypes[0].OneofWrappers = []interface{}{}
file_solidarity_api_proto_msgTypes[3].OneofWrappers = []interface{}{}
file_solidarity_api_proto_msgTypes[4].OneofWrappers = []interface{}{}
file_solidarity_api_proto_msgTypes[7].OneofWrappers = []interface{}{}
file_solidarity_api_proto_msgTypes[8].OneofWrappers = []interface{}{}
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{ File: protoimpl.DescBuilder{

View File

@ -6,24 +6,20 @@ import "solidarity-api-types.proto";
service SolidarityService { service SolidarityService {
rpc SetDriverRegularAvailabilities(DriverRegularAvailabilities) returns (DriverAvailabilitiesResponse) {} rpc SetDriverRegularAvailabilities(DriverRegularAvailabilities) returns (DriverAvailabilitiesResponse) {}
rpc SetDriverPunctualAvailabilities(DriverPunctualAvailabilities) returns (DriverAvailabilitiesResponse) {} rpc SetDriverPunctualAvailabilities(DriverPunctualAvailabilities) returns (DriverAvailabilitiesResponse) {}
rpc CreateBooking(CreateBookingRequest) returns (CreateBookingResponse) {} rpc CreateBookingSilvermobi(CreateBookingSilvermobiRequest) returns (CreateBookingSilvermobiResponse) {}
rpc UpdateBooking(UpdateBookingRequest) returns (UpdateBookingResponse) {} rpc UpdateBookingSilvermobi(UpdateBookingSilvermobiRequest) returns (UpdateBookingSilvermobiResponse) {}
rpc GetBooking(GetBookingRequest) returns (GetBookingResponse) {} rpc GetBookingSilvermobi(GetBookingSilvermobiRequest) returns (GetBookingSilvermobiResponse) {}
rpc GetBookingsByStatus(GetBookingsByStatusRequest) returns (GetBookingsByStatusResponse) {} rpc GetBookingsByStatus(GetBookingsByStatusRequest) returns (GetBookingsByStatusResponse) {}
rpc DriverJourneys(DriverJourneysRequest) returns (DriverJourneysResponse) {} rpc DriverJourneys(DriverJourneysRequest) returns (DriverJourneysResponse) {}
rpc SetPassengerTrip(PassengerTripRequest) returns (PassengerTripResponse) {} rpc SetPassengerTrip(PassengerTripRequest) returns (PassengerTripResponse) {}
} }
message PassengerTripRequest{ message PassengerTripRequest{
User passenger = 1; User passenger = 1;
Preferences preferences = 2;
optional Preferences preferences = 2;
} }
message DriverRegularAvailabilities{ message DriverRegularAvailabilities{
DriverRequest driver_request = 1; DriverRequest driver_request = 1;
repeated RegularAvailabilitySlot driver_availabilities = 2; repeated RegularAvailabilitySlot driver_availabilities = 2;
} }
@ -35,38 +31,39 @@ message DriverPunctualAvailabilities{
message PassengerTripResponse { message PassengerTripResponse {
bool success = 1; bool success = 1;
optional string message = 2; string message = 2;
} }
message DriverAvailabilitiesResponse { message DriverAvailabilitiesResponse {
bool success = 1; bool success = 1;
optional string message = 2; string message = 2;
} }
message CreateBookingRequest { message CreateBookingSilvermobiRequest {
BookingRequest booking = 1; BookingRequest booking = 1;
} }
message CreateBookingResponse {
message CreateBookingSilvermobiResponse {
BookingSilvermobi booking = 1; BookingSilvermobi booking = 1;
} }
message UpdateBookingRequest { message UpdateBookingSilvermobiRequest {
string booking_id = 1; string booking_id = 1;
BookingStatus status = 2; BookingStatus status = 2;
optional string message = 3; string message = 3;
} }
message UpdateBookingResponse { message UpdateBookingSilvermobiResponse {
bool success = 1; bool success = 1;
optional string message = 2; string message = 2;
} }
message GetBookingRequest { message GetBookingSilvermobiRequest {
string booking_id = 1; string booking_id = 1;
} }
message GetBookingResponse { message GetBookingSilvermobiResponse {
BookingSilvermobi booking = 1; BookingSilvermobi booking = 1;
} }

View File

@ -1,6 +1,6 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT. // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions: // versions:
// - protoc-gen-go-grpc v1.3.0 // - protoc-gen-go-grpc v1.5.1
// - protoc v3.12.4 // - protoc v3.12.4
// source: solidarity-api.proto // source: solidarity-api.proto
@ -15,15 +15,15 @@ import (
// This is a compile-time assertion to ensure that this generated file // This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against. // is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later. // Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion7 const _ = grpc.SupportPackageIsVersion9
const ( const (
SolidarityService_SetDriverRegularAvailabilities_FullMethodName = "/SolidarityService/SetDriverRegularAvailabilities" SolidarityService_SetDriverRegularAvailabilities_FullMethodName = "/SolidarityService/SetDriverRegularAvailabilities"
SolidarityService_SetDriverPunctualAvailabilities_FullMethodName = "/SolidarityService/SetDriverPunctualAvailabilities" SolidarityService_SetDriverPunctualAvailabilities_FullMethodName = "/SolidarityService/SetDriverPunctualAvailabilities"
SolidarityService_CreateBooking_FullMethodName = "/SolidarityService/CreateBooking" SolidarityService_CreateBookingSilvermobi_FullMethodName = "/SolidarityService/CreateBookingSilvermobi"
SolidarityService_UpdateBooking_FullMethodName = "/SolidarityService/UpdateBooking" SolidarityService_UpdateBookingSilvermobi_FullMethodName = "/SolidarityService/UpdateBookingSilvermobi"
SolidarityService_GetBooking_FullMethodName = "/SolidarityService/GetBooking" SolidarityService_GetBookingSilvermobi_FullMethodName = "/SolidarityService/GetBookingSilvermobi"
SolidarityService_GetBookingsByStatus_FullMethodName = "/SolidarityService/GetBookingsByStatus" SolidarityService_GetBookingsByStatus_FullMethodName = "/SolidarityService/GetBookingsByStatus"
SolidarityService_DriverJourneys_FullMethodName = "/SolidarityService/DriverJourneys" SolidarityService_DriverJourneys_FullMethodName = "/SolidarityService/DriverJourneys"
SolidarityService_SetPassengerTrip_FullMethodName = "/SolidarityService/SetPassengerTrip" SolidarityService_SetPassengerTrip_FullMethodName = "/SolidarityService/SetPassengerTrip"
@ -35,9 +35,9 @@ const (
type SolidarityServiceClient interface { type SolidarityServiceClient interface {
SetDriverRegularAvailabilities(ctx context.Context, in *DriverRegularAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error) SetDriverRegularAvailabilities(ctx context.Context, in *DriverRegularAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error)
SetDriverPunctualAvailabilities(ctx context.Context, in *DriverPunctualAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error) SetDriverPunctualAvailabilities(ctx context.Context, in *DriverPunctualAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error)
CreateBooking(ctx context.Context, in *CreateBookingRequest, opts ...grpc.CallOption) (*CreateBookingResponse, error) CreateBookingSilvermobi(ctx context.Context, in *CreateBookingSilvermobiRequest, opts ...grpc.CallOption) (*CreateBookingSilvermobiResponse, error)
UpdateBooking(ctx context.Context, in *UpdateBookingRequest, opts ...grpc.CallOption) (*UpdateBookingResponse, error) UpdateBookingSilvermobi(ctx context.Context, in *UpdateBookingSilvermobiRequest, opts ...grpc.CallOption) (*UpdateBookingSilvermobiResponse, error)
GetBooking(ctx context.Context, in *GetBookingRequest, opts ...grpc.CallOption) (*GetBookingResponse, error) GetBookingSilvermobi(ctx context.Context, in *GetBookingSilvermobiRequest, opts ...grpc.CallOption) (*GetBookingSilvermobiResponse, error)
GetBookingsByStatus(ctx context.Context, in *GetBookingsByStatusRequest, opts ...grpc.CallOption) (*GetBookingsByStatusResponse, error) GetBookingsByStatus(ctx context.Context, in *GetBookingsByStatusRequest, opts ...grpc.CallOption) (*GetBookingsByStatusResponse, error)
DriverJourneys(ctx context.Context, in *DriverJourneysRequest, opts ...grpc.CallOption) (*DriverJourneysResponse, error) DriverJourneys(ctx context.Context, in *DriverJourneysRequest, opts ...grpc.CallOption) (*DriverJourneysResponse, error)
SetPassengerTrip(ctx context.Context, in *PassengerTripRequest, opts ...grpc.CallOption) (*PassengerTripResponse, error) SetPassengerTrip(ctx context.Context, in *PassengerTripRequest, opts ...grpc.CallOption) (*PassengerTripResponse, error)
@ -52,8 +52,9 @@ func NewSolidarityServiceClient(cc grpc.ClientConnInterface) SolidarityServiceCl
} }
func (c *solidarityServiceClient) SetDriverRegularAvailabilities(ctx context.Context, in *DriverRegularAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error) { func (c *solidarityServiceClient) SetDriverRegularAvailabilities(ctx context.Context, in *DriverRegularAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DriverAvailabilitiesResponse) out := new(DriverAvailabilitiesResponse)
err := c.cc.Invoke(ctx, SolidarityService_SetDriverRegularAvailabilities_FullMethodName, in, out, opts...) err := c.cc.Invoke(ctx, SolidarityService_SetDriverRegularAvailabilities_FullMethodName, in, out, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -61,35 +62,39 @@ func (c *solidarityServiceClient) SetDriverRegularAvailabilities(ctx context.Con
} }
func (c *solidarityServiceClient) SetDriverPunctualAvailabilities(ctx context.Context, in *DriverPunctualAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error) { func (c *solidarityServiceClient) SetDriverPunctualAvailabilities(ctx context.Context, in *DriverPunctualAvailabilities, opts ...grpc.CallOption) (*DriverAvailabilitiesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DriverAvailabilitiesResponse) out := new(DriverAvailabilitiesResponse)
err := c.cc.Invoke(ctx, SolidarityService_SetDriverPunctualAvailabilities_FullMethodName, in, out, opts...) err := c.cc.Invoke(ctx, SolidarityService_SetDriverPunctualAvailabilities_FullMethodName, in, out, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return out, nil return out, nil
} }
func (c *solidarityServiceClient) CreateBooking(ctx context.Context, in *CreateBookingRequest, opts ...grpc.CallOption) (*CreateBookingResponse, error) { func (c *solidarityServiceClient) CreateBookingSilvermobi(ctx context.Context, in *CreateBookingSilvermobiRequest, opts ...grpc.CallOption) (*CreateBookingSilvermobiResponse, error) {
out := new(CreateBookingResponse) cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
err := c.cc.Invoke(ctx, SolidarityService_CreateBooking_FullMethodName, in, out, opts...) out := new(CreateBookingSilvermobiResponse)
err := c.cc.Invoke(ctx, SolidarityService_CreateBookingSilvermobi_FullMethodName, in, out, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return out, nil return out, nil
} }
func (c *solidarityServiceClient) UpdateBooking(ctx context.Context, in *UpdateBookingRequest, opts ...grpc.CallOption) (*UpdateBookingResponse, error) { func (c *solidarityServiceClient) UpdateBookingSilvermobi(ctx context.Context, in *UpdateBookingSilvermobiRequest, opts ...grpc.CallOption) (*UpdateBookingSilvermobiResponse, error) {
out := new(UpdateBookingResponse) cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
err := c.cc.Invoke(ctx, SolidarityService_UpdateBooking_FullMethodName, in, out, opts...) out := new(UpdateBookingSilvermobiResponse)
err := c.cc.Invoke(ctx, SolidarityService_UpdateBookingSilvermobi_FullMethodName, in, out, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return out, nil return out, nil
} }
func (c *solidarityServiceClient) GetBooking(ctx context.Context, in *GetBookingRequest, opts ...grpc.CallOption) (*GetBookingResponse, error) { func (c *solidarityServiceClient) GetBookingSilvermobi(ctx context.Context, in *GetBookingSilvermobiRequest, opts ...grpc.CallOption) (*GetBookingSilvermobiResponse, error) {
out := new(GetBookingResponse) cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
err := c.cc.Invoke(ctx, SolidarityService_GetBooking_FullMethodName, in, out, opts...) out := new(GetBookingSilvermobiResponse)
err := c.cc.Invoke(ctx, SolidarityService_GetBookingSilvermobi_FullMethodName, in, out, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -97,8 +102,9 @@ func (c *solidarityServiceClient) GetBooking(ctx context.Context, in *GetBooking
} }
func (c *solidarityServiceClient) GetBookingsByStatus(ctx context.Context, in *GetBookingsByStatusRequest, opts ...grpc.CallOption) (*GetBookingsByStatusResponse, error) { func (c *solidarityServiceClient) GetBookingsByStatus(ctx context.Context, in *GetBookingsByStatusRequest, opts ...grpc.CallOption) (*GetBookingsByStatusResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(GetBookingsByStatusResponse) out := new(GetBookingsByStatusResponse)
err := c.cc.Invoke(ctx, SolidarityService_GetBookingsByStatus_FullMethodName, in, out, opts...) err := c.cc.Invoke(ctx, SolidarityService_GetBookingsByStatus_FullMethodName, in, out, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -106,8 +112,9 @@ func (c *solidarityServiceClient) GetBookingsByStatus(ctx context.Context, in *G
} }
func (c *solidarityServiceClient) DriverJourneys(ctx context.Context, in *DriverJourneysRequest, opts ...grpc.CallOption) (*DriverJourneysResponse, error) { func (c *solidarityServiceClient) DriverJourneys(ctx context.Context, in *DriverJourneysRequest, opts ...grpc.CallOption) (*DriverJourneysResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(DriverJourneysResponse) out := new(DriverJourneysResponse)
err := c.cc.Invoke(ctx, SolidarityService_DriverJourneys_FullMethodName, in, out, opts...) err := c.cc.Invoke(ctx, SolidarityService_DriverJourneys_FullMethodName, in, out, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -115,8 +122,9 @@ func (c *solidarityServiceClient) DriverJourneys(ctx context.Context, in *Driver
} }
func (c *solidarityServiceClient) SetPassengerTrip(ctx context.Context, in *PassengerTripRequest, opts ...grpc.CallOption) (*PassengerTripResponse, error) { func (c *solidarityServiceClient) SetPassengerTrip(ctx context.Context, in *PassengerTripRequest, opts ...grpc.CallOption) (*PassengerTripResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(PassengerTripResponse) out := new(PassengerTripResponse)
err := c.cc.Invoke(ctx, SolidarityService_SetPassengerTrip_FullMethodName, in, out, opts...) err := c.cc.Invoke(ctx, SolidarityService_SetPassengerTrip_FullMethodName, in, out, cOpts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -125,22 +133,25 @@ func (c *solidarityServiceClient) SetPassengerTrip(ctx context.Context, in *Pass
// SolidarityServiceServer is the server API for SolidarityService service. // SolidarityServiceServer is the server API for SolidarityService service.
// All implementations must embed UnimplementedSolidarityServiceServer // All implementations must embed UnimplementedSolidarityServiceServer
// for forward compatibility // for forward compatibility.
type SolidarityServiceServer interface { type SolidarityServiceServer interface {
SetDriverRegularAvailabilities(context.Context, *DriverRegularAvailabilities) (*DriverAvailabilitiesResponse, error) SetDriverRegularAvailabilities(context.Context, *DriverRegularAvailabilities) (*DriverAvailabilitiesResponse, error)
SetDriverPunctualAvailabilities(context.Context, *DriverPunctualAvailabilities) (*DriverAvailabilitiesResponse, error) SetDriverPunctualAvailabilities(context.Context, *DriverPunctualAvailabilities) (*DriverAvailabilitiesResponse, error)
CreateBooking(context.Context, *CreateBookingRequest) (*CreateBookingResponse, error) CreateBookingSilvermobi(context.Context, *CreateBookingSilvermobiRequest) (*CreateBookingSilvermobiResponse, error)
UpdateBooking(context.Context, *UpdateBookingRequest) (*UpdateBookingResponse, error) UpdateBookingSilvermobi(context.Context, *UpdateBookingSilvermobiRequest) (*UpdateBookingSilvermobiResponse, error)
GetBooking(context.Context, *GetBookingRequest) (*GetBookingResponse, error) GetBookingSilvermobi(context.Context, *GetBookingSilvermobiRequest) (*GetBookingSilvermobiResponse, error)
GetBookingsByStatus(context.Context, *GetBookingsByStatusRequest) (*GetBookingsByStatusResponse, error) GetBookingsByStatus(context.Context, *GetBookingsByStatusRequest) (*GetBookingsByStatusResponse, error)
DriverJourneys(context.Context, *DriverJourneysRequest) (*DriverJourneysResponse, error) DriverJourneys(context.Context, *DriverJourneysRequest) (*DriverJourneysResponse, error)
SetPassengerTrip(context.Context, *PassengerTripRequest) (*PassengerTripResponse, error) SetPassengerTrip(context.Context, *PassengerTripRequest) (*PassengerTripResponse, error)
mustEmbedUnimplementedSolidarityServiceServer() mustEmbedUnimplementedSolidarityServiceServer()
} }
// UnimplementedSolidarityServiceServer must be embedded to have forward compatible implementations. // UnimplementedSolidarityServiceServer must be embedded to have
type UnimplementedSolidarityServiceServer struct { // forward compatible implementations.
} //
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedSolidarityServiceServer struct{}
func (UnimplementedSolidarityServiceServer) SetDriverRegularAvailabilities(context.Context, *DriverRegularAvailabilities) (*DriverAvailabilitiesResponse, error) { func (UnimplementedSolidarityServiceServer) SetDriverRegularAvailabilities(context.Context, *DriverRegularAvailabilities) (*DriverAvailabilitiesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SetDriverRegularAvailabilities not implemented") return nil, status.Errorf(codes.Unimplemented, "method SetDriverRegularAvailabilities not implemented")
@ -148,14 +159,14 @@ func (UnimplementedSolidarityServiceServer) SetDriverRegularAvailabilities(conte
func (UnimplementedSolidarityServiceServer) SetDriverPunctualAvailabilities(context.Context, *DriverPunctualAvailabilities) (*DriverAvailabilitiesResponse, error) { func (UnimplementedSolidarityServiceServer) SetDriverPunctualAvailabilities(context.Context, *DriverPunctualAvailabilities) (*DriverAvailabilitiesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SetDriverPunctualAvailabilities not implemented") return nil, status.Errorf(codes.Unimplemented, "method SetDriverPunctualAvailabilities not implemented")
} }
func (UnimplementedSolidarityServiceServer) CreateBooking(context.Context, *CreateBookingRequest) (*CreateBookingResponse, error) { func (UnimplementedSolidarityServiceServer) CreateBookingSilvermobi(context.Context, *CreateBookingSilvermobiRequest) (*CreateBookingSilvermobiResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateBooking not implemented") return nil, status.Errorf(codes.Unimplemented, "method CreateBookingSilvermobi not implemented")
} }
func (UnimplementedSolidarityServiceServer) UpdateBooking(context.Context, *UpdateBookingRequest) (*UpdateBookingResponse, error) { func (UnimplementedSolidarityServiceServer) UpdateBookingSilvermobi(context.Context, *UpdateBookingSilvermobiRequest) (*UpdateBookingSilvermobiResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateBooking not implemented") return nil, status.Errorf(codes.Unimplemented, "method UpdateBookingSilvermobi not implemented")
} }
func (UnimplementedSolidarityServiceServer) GetBooking(context.Context, *GetBookingRequest) (*GetBookingResponse, error) { func (UnimplementedSolidarityServiceServer) GetBookingSilvermobi(context.Context, *GetBookingSilvermobiRequest) (*GetBookingSilvermobiResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetBooking not implemented") return nil, status.Errorf(codes.Unimplemented, "method GetBookingSilvermobi not implemented")
} }
func (UnimplementedSolidarityServiceServer) GetBookingsByStatus(context.Context, *GetBookingsByStatusRequest) (*GetBookingsByStatusResponse, error) { func (UnimplementedSolidarityServiceServer) GetBookingsByStatus(context.Context, *GetBookingsByStatusRequest) (*GetBookingsByStatusResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetBookingsByStatus not implemented") return nil, status.Errorf(codes.Unimplemented, "method GetBookingsByStatus not implemented")
@ -167,6 +178,7 @@ func (UnimplementedSolidarityServiceServer) SetPassengerTrip(context.Context, *P
return nil, status.Errorf(codes.Unimplemented, "method SetPassengerTrip not implemented") return nil, status.Errorf(codes.Unimplemented, "method SetPassengerTrip not implemented")
} }
func (UnimplementedSolidarityServiceServer) mustEmbedUnimplementedSolidarityServiceServer() {} func (UnimplementedSolidarityServiceServer) mustEmbedUnimplementedSolidarityServiceServer() {}
func (UnimplementedSolidarityServiceServer) testEmbeddedByValue() {}
// UnsafeSolidarityServiceServer may be embedded to opt out of forward compatibility for this service. // UnsafeSolidarityServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to SolidarityServiceServer will // Use of this interface is not recommended, as added methods to SolidarityServiceServer will
@ -176,6 +188,13 @@ type UnsafeSolidarityServiceServer interface {
} }
func RegisterSolidarityServiceServer(s grpc.ServiceRegistrar, srv SolidarityServiceServer) { func RegisterSolidarityServiceServer(s grpc.ServiceRegistrar, srv SolidarityServiceServer) {
// If the following call pancis, it indicates UnimplementedSolidarityServiceServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&SolidarityService_ServiceDesc, srv) s.RegisterService(&SolidarityService_ServiceDesc, srv)
} }
@ -215,56 +234,56 @@ func _SolidarityService_SetDriverPunctualAvailabilities_Handler(srv interface{},
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _SolidarityService_CreateBooking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _SolidarityService_CreateBookingSilvermobi_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateBookingRequest) in := new(CreateBookingSilvermobiRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
if interceptor == nil { if interceptor == nil {
return srv.(SolidarityServiceServer).CreateBooking(ctx, in) return srv.(SolidarityServiceServer).CreateBookingSilvermobi(ctx, in)
} }
info := &grpc.UnaryServerInfo{ info := &grpc.UnaryServerInfo{
Server: srv, Server: srv,
FullMethod: SolidarityService_CreateBooking_FullMethodName, FullMethod: SolidarityService_CreateBookingSilvermobi_FullMethodName,
} }
handler := func(ctx context.Context, req interface{}) (interface{}, error) { handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SolidarityServiceServer).CreateBooking(ctx, req.(*CreateBookingRequest)) return srv.(SolidarityServiceServer).CreateBookingSilvermobi(ctx, req.(*CreateBookingSilvermobiRequest))
} }
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _SolidarityService_UpdateBooking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _SolidarityService_UpdateBookingSilvermobi_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateBookingRequest) in := new(UpdateBookingSilvermobiRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
if interceptor == nil { if interceptor == nil {
return srv.(SolidarityServiceServer).UpdateBooking(ctx, in) return srv.(SolidarityServiceServer).UpdateBookingSilvermobi(ctx, in)
} }
info := &grpc.UnaryServerInfo{ info := &grpc.UnaryServerInfo{
Server: srv, Server: srv,
FullMethod: SolidarityService_UpdateBooking_FullMethodName, FullMethod: SolidarityService_UpdateBookingSilvermobi_FullMethodName,
} }
handler := func(ctx context.Context, req interface{}) (interface{}, error) { handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SolidarityServiceServer).UpdateBooking(ctx, req.(*UpdateBookingRequest)) return srv.(SolidarityServiceServer).UpdateBookingSilvermobi(ctx, req.(*UpdateBookingSilvermobiRequest))
} }
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _SolidarityService_GetBooking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _SolidarityService_GetBookingSilvermobi_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetBookingRequest) in := new(GetBookingSilvermobiRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
if interceptor == nil { if interceptor == nil {
return srv.(SolidarityServiceServer).GetBooking(ctx, in) return srv.(SolidarityServiceServer).GetBookingSilvermobi(ctx, in)
} }
info := &grpc.UnaryServerInfo{ info := &grpc.UnaryServerInfo{
Server: srv, Server: srv,
FullMethod: SolidarityService_GetBooking_FullMethodName, FullMethod: SolidarityService_GetBookingSilvermobi_FullMethodName,
} }
handler := func(ctx context.Context, req interface{}) (interface{}, error) { handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SolidarityServiceServer).GetBooking(ctx, req.(*GetBookingRequest)) return srv.(SolidarityServiceServer).GetBookingSilvermobi(ctx, req.(*GetBookingSilvermobiRequest))
} }
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
@ -339,16 +358,16 @@ var SolidarityService_ServiceDesc = grpc.ServiceDesc{
Handler: _SolidarityService_SetDriverPunctualAvailabilities_Handler, Handler: _SolidarityService_SetDriverPunctualAvailabilities_Handler,
}, },
{ {
MethodName: "CreateBooking", MethodName: "CreateBookingSilvermobi",
Handler: _SolidarityService_CreateBooking_Handler, Handler: _SolidarityService_CreateBookingSilvermobi_Handler,
}, },
{ {
MethodName: "UpdateBooking", MethodName: "UpdateBookingSilvermobi",
Handler: _SolidarityService_UpdateBooking_Handler, Handler: _SolidarityService_UpdateBookingSilvermobi_Handler,
}, },
{ {
MethodName: "GetBooking", MethodName: "GetBookingSilvermobi",
Handler: _SolidarityService_GetBooking_Handler, Handler: _SolidarityService_GetBookingSilvermobi_Handler,
}, },
{ {
MethodName: "GetBookingsByStatus", MethodName: "GetBookingsByStatus",

View File

@ -36,38 +36,38 @@ func (s *SolidarityServiceServerImpl) SetDriverRegularAvailabilities(ctx context
AvailabilitiesType: internal.Regular, AvailabilitiesType: internal.Regular,
} }
if req.DriverRequest.Driver.FirstName != nil { if req.DriverRequest.Driver.FirstName != "" {
driver.Driver.FirstName = *req.DriverRequest.Driver.FirstName driver.Driver.FirstName = req.DriverRequest.Driver.FirstName
} }
if req.DriverRequest.Driver.LastName != nil { if req.DriverRequest.Driver.LastName != "" {
driver.Driver.LastName = *req.DriverRequest.Driver.LastName driver.Driver.LastName = req.DriverRequest.Driver.LastName
} }
if req.DriverRequest.Driver.Grade != nil { if req.DriverRequest.Driver.Grade != 0 {
driver.Driver.Grade = *req.DriverRequest.Driver.Grade driver.Driver.Grade = req.DriverRequest.Driver.Grade
} }
if req.DriverRequest.Driver.Picture != nil { if req.DriverRequest.Driver.Picture != "" {
driver.Driver.Picture = *req.DriverRequest.Driver.Picture driver.Driver.Picture = req.DriverRequest.Driver.Picture
} }
if req.DriverRequest.Driver.Gender != nil { if req.DriverRequest.Driver.Gender != "" {
driver.Driver.Gender = *req.DriverRequest.Driver.Gender driver.Driver.Gender = req.DriverRequest.Driver.Gender
} }
if req.DriverRequest.Driver.VerifiedIdentity != nil { if req.DriverRequest.Driver.VerifiedIdentity != false {
driver.Driver.VerifiedIdentity = *req.DriverRequest.Driver.VerifiedIdentity driver.Driver.VerifiedIdentity = req.DriverRequest.Driver.VerifiedIdentity
} }
if req.DriverRequest.Car != nil { if req.DriverRequest.Car != nil {
driver.Car = internal.Car{ driver.Car = internal.Car{
Model: *req.DriverRequest.Car.Model, Model: req.DriverRequest.Car.Model,
Brand: *req.DriverRequest.Car.Brand, Brand: req.DriverRequest.Car.Brand,
} }
} }
if req.DriverRequest.Preferences != nil { if req.DriverRequest.Preferences != nil {
driver.Preferences = internal.Preferences{ driver.Preferences = internal.Preferences{
Smoking: *req.DriverRequest.Preferences.Smoking, Smoking: req.DriverRequest.Preferences.Smoking,
Animals: *req.DriverRequest.Preferences.Animals, Animals: req.DriverRequest.Preferences.Animals,
Music: *req.DriverRequest.Preferences.Music, Music: req.DriverRequest.Preferences.Music,
Is_talker: *req.DriverRequest.Preferences.IsTalker, Is_talker: req.DriverRequest.Preferences.IsTalker,
Luggage_size: *req.DriverRequest.Preferences.LuggageSize, Luggage_size: req.DriverRequest.Preferences.LuggageSize,
} }
} }
for _, v := range req.DriverAvailabilities { for _, v := range req.DriverAvailabilities {
@ -111,38 +111,38 @@ func (s *SolidarityServiceServerImpl) SetDriverPunctualAvailabilities(ctx contex
AvailabilitiesType: internal.Punctual, AvailabilitiesType: internal.Punctual,
} }
if req.DriverRequest.Driver.FirstName != nil { if req.DriverRequest.Driver.FirstName != "" {
driver.Driver.FirstName = *req.DriverRequest.Driver.FirstName driver.Driver.FirstName = req.DriverRequest.Driver.FirstName
} }
if req.DriverRequest.Driver.LastName != nil { if req.DriverRequest.Driver.LastName != "" {
driver.Driver.LastName = *req.DriverRequest.Driver.LastName driver.Driver.LastName = req.DriverRequest.Driver.LastName
} }
if req.DriverRequest.Driver.Grade != nil { if req.DriverRequest.Driver.Grade != 0 {
driver.Driver.Grade = *req.DriverRequest.Driver.Grade driver.Driver.Grade = req.DriverRequest.Driver.Grade
} }
if req.DriverRequest.Driver.Picture != nil { if req.DriverRequest.Driver.Picture != "" {
driver.Driver.Picture = *req.DriverRequest.Driver.Picture driver.Driver.Picture = req.DriverRequest.Driver.Picture
} }
if req.DriverRequest.Driver.Gender != nil { if req.DriverRequest.Driver.Gender != ""{
driver.Driver.Gender = *req.DriverRequest.Driver.Gender driver.Driver.Gender = req.DriverRequest.Driver.Gender
} }
if req.DriverRequest.Driver.VerifiedIdentity != nil { if req.DriverRequest.Driver.VerifiedIdentity != false {
driver.Driver.VerifiedIdentity = *req.DriverRequest.Driver.VerifiedIdentity driver.Driver.VerifiedIdentity = req.DriverRequest.Driver.VerifiedIdentity
} }
if req.DriverRequest.Car != nil { if req.DriverRequest.Car != nil {
driver.Car = internal.Car{ driver.Car = internal.Car{
Model: *req.DriverRequest.Car.Model, Model: req.DriverRequest.Car.Model,
Brand: *req.DriverRequest.Car.Brand, Brand: req.DriverRequest.Car.Brand,
} }
} }
if req.DriverRequest.Preferences != nil { if req.DriverRequest.Preferences != nil {
driver.Preferences = internal.Preferences{ driver.Preferences = internal.Preferences{
Smoking: *req.DriverRequest.Preferences.Smoking, Smoking: req.DriverRequest.Preferences.Smoking,
Animals: *req.DriverRequest.Preferences.Animals, Animals: req.DriverRequest.Preferences.Animals,
Music: *req.DriverRequest.Preferences.Music, Music: req.DriverRequest.Preferences.Music,
Is_talker: *req.DriverRequest.Preferences.IsTalker, Is_talker: req.DriverRequest.Preferences.IsTalker,
Luggage_size: *req.DriverRequest.Preferences.LuggageSize, Luggage_size: req.DriverRequest.Preferences.LuggageSize,
} }
} }
for _, v := range req.DriverAvailabilities { for _, v := range req.DriverAvailabilities {
@ -164,7 +164,7 @@ func (s *SolidarityServiceServerImpl) SetDriverPunctualAvailabilities(ctx contex
}, nil }, nil
} }
func (s *SolidarityServiceServerImpl) CreateBooking(ctx context.Context, req *proto.CreateBookingRequest) (resp *proto.CreateBookingResponse, err error) { func (s *SolidarityServiceServerImpl) CreateBooking(ctx context.Context, req *proto.CreateBookingSilvermobiRequest) (resp *proto.CreateBookingSilvermobiResponse, err error) {
if req.Booking.DriverId == "" || req.Booking.PassengerId == "" || req.Booking.Id == "" || req.Booking.Status.String() == "" || req.Booking.DepartureAddress == nil || req.Booking.DestinationAddress == nil || req.Booking.PickupDate.Seconds == 0 { if req.Booking.DriverId == "" || req.Booking.PassengerId == "" || req.Booking.Id == "" || req.Booking.Status.String() == "" || req.Booking.DepartureAddress == nil || req.Booking.DestinationAddress == nil || req.Booking.PickupDate.Seconds == 0 {
return nil, errors.New("missing required fields") return nil, errors.New("missing required fields")
} }
@ -202,30 +202,30 @@ func (s *SolidarityServiceServerImpl) CreateBooking(ctx context.Context, req *pr
} }
distance := s.Handler.CalculateDistanceBetweenFeatures(bookingRequest.Departure_address, bookingRequest.Destination_address) distance := s.Handler.CalculateDistanceBetweenFeatures(bookingRequest.Departure_address, bookingRequest.Destination_address)
priceType := proto.PriceType_FREE priceType := proto.PriceType_FREE
resp = &proto.CreateBookingResponse{ resp = &proto.CreateBookingSilvermobiResponse{
Booking: &proto.Booking{}, Booking: &proto.BookingSilvermobi{},
} }
resp.Booking = &proto.Booking{ resp.Booking = &proto.BookingSilvermobi{
Id: bookingRequest.ID, Id: bookingRequest.ID,
Driver: &proto.User{ Driver: &proto.User{
Id: driver.Driver.ID, Id: driver.Driver.ID,
Alias: driver.Driver.Alias, Alias: driver.Driver.Alias,
FirstName: &driver.Driver.FirstName, FirstName: driver.Driver.FirstName,
LastName: &driver.Driver.LastName, LastName: driver.Driver.LastName,
Grade: &driver.Driver.Grade, Grade: driver.Driver.Grade,
Picture: &driver.Driver.Picture, Picture: driver.Driver.Picture,
Gender: &driver.Driver.Gender, Gender: driver.Driver.Gender,
VerifiedIdentity: &driver.Driver.VerifiedIdentity, VerifiedIdentity: driver.Driver.VerifiedIdentity,
}, },
Passenger: &proto.User{ Passenger: &proto.User{
Id: passenger.Passenger.ID, Id: passenger.Passenger.ID,
Alias: passenger.Passenger.Alias, Alias: passenger.Passenger.Alias,
FirstName: &passenger.Passenger.FirstName, FirstName: passenger.Passenger.FirstName,
LastName: &passenger.Passenger.LastName, LastName: passenger.Passenger.LastName,
Grade: &passenger.Passenger.Grade, Grade: passenger.Passenger.Grade,
Picture: &passenger.Passenger.Picture, Picture: passenger.Passenger.Picture,
Gender: &passenger.Passenger.Gender, Gender: passenger.Passenger.Gender,
VerifiedIdentity: &passenger.Passenger.VerifiedIdentity, VerifiedIdentity: passenger.Passenger.VerifiedIdentity,
}, },
PassengerPickupDate: &timestamp.Timestamp{ PassengerPickupDate: &timestamp.Timestamp{
Seconds: bookingRequest.Pickup_date, Seconds: bookingRequest.Pickup_date,
@ -241,22 +241,22 @@ func (s *SolidarityServiceServerImpl) CreateBooking(ctx context.Context, req *pr
Address: bookingRequest.Destination_address.Properties.MustString("name"), Address: bookingRequest.Destination_address.Properties.MustString("name"),
}, },
Status: ConvertInternalToProtoBookingStatus(bookingRequest.Status), Status: ConvertInternalToProtoBookingStatus(bookingRequest.Status),
Duration: &duration, Duration: duration,
Distance: &distance, Distance: distance,
Price: &proto.Price{ Price: &proto.Price{
Type: &priceType, Type: priceType,
}, },
Car: &proto.Car{ Car: &proto.Car{
Model: &driver.Car.Model, Model: driver.Car.Model,
Brand: &driver.Car.Brand, Brand: driver.Car.Brand,
}, },
} }
return resp, nil return resp, nil
} }
func (s *SolidarityServiceServerImpl) UpdateBooking(ctx context.Context, req *proto.UpdateBookingRequest) (resp *proto.UpdateBookingResponse, err error) { func (s *SolidarityServiceServerImpl) UpdateBooking(ctx context.Context, req *proto.UpdateBookingSilvermobiRequest) (resp *proto.UpdateBookingSilvermobiResponse, err error) {
if req.BookingId == "" || req.Status.String() == "" { if req.BookingId == "" || req.Status.String() == "" {
return &proto.UpdateBookingResponse{ return &proto.UpdateBookingSilvermobiResponse{
Success: false, Success: false,
}, errors.New("missing required fields") }, errors.New("missing required fields")
} }
@ -266,16 +266,16 @@ func (s *SolidarityServiceServerImpl) UpdateBooking(ctx context.Context, req *pr
if strings.Contains(err.Error(), utils.SQL_NO_ROWS) { if strings.Contains(err.Error(), utils.SQL_NO_ROWS) {
err = errors.New("invalid ID") err = errors.New("invalid ID")
} }
return &proto.UpdateBookingResponse{ return &proto.UpdateBookingSilvermobiResponse{
Success: false, Success: false,
}, err }, err
} }
return &proto.UpdateBookingResponse{ return &proto.UpdateBookingSilvermobiResponse{
Success: true, Success: true,
}, nil }, nil
} }
func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto.GetBookingRequest) (resp *proto.GetBookingResponse, err error) { func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto.GetBookingSilvermobiRequest) (resp *proto.GetBookingSilvermobiResponse, err error) {
if req.BookingId == "" { if req.BookingId == "" {
return nil, errors.New("empty booking ID") return nil, errors.New("empty booking ID")
} }
@ -286,8 +286,8 @@ func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto
} }
return nil, err return nil, err
} }
resp = &proto.GetBookingResponse{ resp = &proto.GetBookingSilvermobiResponse{
Booking: &proto.Booking{}, Booking: &proto.BookingSilvermobi{},
} }
priceType := proto.PriceType_FREE priceType := proto.PriceType_FREE
driver, err := s.Handler.GetDriver(context.Background(), booking.Driver.ID) driver, err := s.Handler.GetDriver(context.Background(), booking.Driver.ID)
@ -296,27 +296,27 @@ func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto
} }
car := driver.Car car := driver.Car
distance := int64(booking.Distance) distance := int64(booking.Distance)
resp.Booking = &proto.Booking{ resp.Booking = &proto.BookingSilvermobi{
Id: booking.ID, Id: booking.ID,
Driver: &proto.User{ Driver: &proto.User{
Id: booking.Driver.ID, Id: booking.Driver.ID,
Alias: booking.Driver.Alias, Alias: booking.Driver.Alias,
FirstName: &booking.Driver.FirstName, FirstName: booking.Driver.FirstName,
LastName: &booking.Driver.LastName, LastName: booking.Driver.LastName,
Grade: &booking.Driver.Grade, Grade: booking.Driver.Grade,
Picture: &booking.Driver.Picture, Picture: booking.Driver.Picture,
Gender: &booking.Driver.Gender, Gender: booking.Driver.Gender,
VerifiedIdentity: &booking.Driver.VerifiedIdentity, VerifiedIdentity: booking.Driver.VerifiedIdentity,
}, },
Passenger: &proto.User{ Passenger: &proto.User{
Id: booking.Passenger.ID, Id: booking.Passenger.ID,
Alias: booking.Passenger.Alias, Alias: booking.Passenger.Alias,
FirstName: &booking.Passenger.FirstName, FirstName: booking.Passenger.FirstName,
LastName: &booking.Passenger.LastName, LastName: booking.Passenger.LastName,
Grade: &booking.Passenger.Grade, Grade: booking.Passenger.Grade,
Picture: &booking.Passenger.Picture, Picture: booking.Passenger.Picture,
Gender: &booking.Passenger.Gender, Gender: booking.Passenger.Gender,
VerifiedIdentity: &booking.Passenger.VerifiedIdentity, VerifiedIdentity: booking.Passenger.VerifiedIdentity,
}, },
PassengerPickupDate: &timestamp.Timestamp{ PassengerPickupDate: &timestamp.Timestamp{
Seconds: booking.Pickup_date, Seconds: booking.Pickup_date,
@ -332,14 +332,14 @@ func (s *SolidarityServiceServerImpl) GetBooking(ctx context.Context, req *proto
Address: booking.PassengerDropAddress.Properties.MustString("name"), Address: booking.PassengerDropAddress.Properties.MustString("name"),
}, },
Status: ConvertInternalToProtoBookingStatus(booking.Status), Status: ConvertInternalToProtoBookingStatus(booking.Status),
Duration: &booking.Duration, Duration: booking.Duration,
Distance: &distance, Distance: distance,
Car: &proto.Car{ Car: &proto.Car{
Model: &car.Model, Model: car.Model,
Brand: &car.Brand, Brand: car.Brand,
}, },
Price: &proto.Price{ Price: &proto.Price{
Type: &priceType, Type: priceType,
}, },
} }
return resp, nil return resp, nil
@ -359,7 +359,7 @@ func (s *SolidarityServiceServerImpl) GetBookingsByStatus(ctx context.Context, r
} }
// Use a goroutine to concurrently convert bookings to proto // Use a goroutine to concurrently convert bookings to proto
respChan := make(chan []*proto.Booking, 1) respChan := make(chan []*proto.BookingSilvermobi, 1)
go func() { go func() {
respChan <- convertInternalBookingsToProto(s, bookings, 50) respChan <- convertInternalBookingsToProto(s, bookings, 50)
}() }()
@ -379,8 +379,8 @@ func (s *SolidarityServiceServerImpl) GetBookingsByStatus(ctx context.Context, r
} }
} }
func convertInternalBookingsToProto(s *SolidarityServiceServerImpl, bookings []internal.Booking, maxGoroutines int) []*proto.Booking { func convertInternalBookingsToProto(s *SolidarityServiceServerImpl, bookings []internal.Booking, maxGoroutines int) []*proto.BookingSilvermobi {
var responses []*proto.Booking var responses []*proto.BookingSilvermobi
var wg sync.WaitGroup var wg sync.WaitGroup
var mu sync.Mutex var mu sync.Mutex
semaphore := make(chan struct{}, maxGoroutines) semaphore := make(chan struct{}, maxGoroutines)
@ -426,7 +426,7 @@ func convertInternalBookingsToProto(s *SolidarityServiceServerImpl, bookings []i
priceType := proto.PriceType_FREE priceType := proto.PriceType_FREE
distance := int64(booking.Distance) distance := int64(booking.Distance)
protoBooking := &proto.Booking{ protoBooking := &proto.BookingSilvermobi{
Id: booking.ID, Id: booking.ID,
Status: ConvertInternalToProtoBookingStatus(booking.Status), Status: ConvertInternalToProtoBookingStatus(booking.Status),
Driver: convertInternalUserToProtoUser(driver.Driver), Driver: convertInternalUserToProtoUser(driver.Driver),
@ -436,14 +436,14 @@ func convertInternalBookingsToProto(s *SolidarityServiceServerImpl, bookings []i
}, },
PassengerDepartureRoute: convertInternalFeatureToProtoFeature(booking.PassengerPickupAddress), PassengerDepartureRoute: convertInternalFeatureToProtoFeature(booking.PassengerPickupAddress),
PassengerDestinationRoute: convertInternalFeatureToProtoFeature(booking.PassengerDropAddress), PassengerDestinationRoute: convertInternalFeatureToProtoFeature(booking.PassengerDropAddress),
Duration: &booking.Duration, Duration: booking.Duration,
Distance: &distance, Distance: distance,
Car: &proto.Car{ Car: &proto.Car{
Model: &car.Model, Model: car.Model,
Brand: &car.Brand, Brand: car.Brand,
}, },
Price: &proto.Price{ Price: &proto.Price{
Type: &priceType, Type: priceType,
}, },
} }
@ -466,12 +466,12 @@ func convertInternalUserToProtoUser(user internal.User) *proto.User {
return &proto.User{ return &proto.User{
Id: user.ID, Id: user.ID,
Alias: user.Alias, Alias: user.Alias,
FirstName: &user.FirstName, FirstName: user.FirstName,
LastName: &user.LastName, LastName: user.LastName,
Grade: &user.Grade, Grade: user.Grade,
Picture: &user.Picture, Picture: user.Picture,
Gender: &user.Gender, Gender: user.Gender,
VerifiedIdentity: &user.VerifiedIdentity, VerifiedIdentity: user.VerifiedIdentity,
} }
} }
@ -544,22 +544,22 @@ func (s *SolidarityServiceServerImpl) DriverJourneys(ctx context.Context, req *p
User: &proto.User{ User: &proto.User{
Id: v.Driver.ID, Id: v.Driver.ID,
Alias: v.Driver.Alias, Alias: v.Driver.Alias,
FirstName: &v.Driver.FirstName, FirstName: v.Driver.FirstName,
LastName: &v.Driver.LastName, LastName: v.Driver.LastName,
Grade: &v.Driver.Grade, Grade: v.Driver.Grade,
Picture: &v.Driver.Picture, Picture: v.Driver.Picture,
Gender: &v.Driver.Gender, Gender: v.Driver.Gender,
VerifiedIdentity: &v.Driver.VerifiedIdentity, VerifiedIdentity: v.Driver.VerifiedIdentity,
}, },
Car: &proto.Car{ Car: &proto.Car{
Model: &v.Car.Model, Model: v.Car.Model,
Brand: &v.Car.Brand, Brand: v.Car.Brand,
}, },
DriverDeparture_Date: &timestamp.Timestamp{ DriverDeparture_Date: &timestamp.Timestamp{
Seconds: req.DepartureDate.Seconds, Seconds: req.DepartureDate.Seconds,
}, },
Price: &proto.Price{ Price: &proto.Price{
Type: &priceType, Type: priceType,
}, },
DriverDeparture_Address: v.Driver_departure_address.Properties.MustString("name"), DriverDeparture_Address: v.Driver_departure_address.Properties.MustString("name"),
} }
@ -582,31 +582,31 @@ func (s *SolidarityServiceServerImpl) SetPassengerTrip(ctx context.Context, req
passenger := internal.Passenger{} passenger := internal.Passenger{}
passenger.Passenger.ID = req.Passenger.Id passenger.Passenger.ID = req.Passenger.Id
passenger.Passenger.Alias = req.Passenger.Alias passenger.Passenger.Alias = req.Passenger.Alias
if req.Passenger.FirstName != nil { if req.Passenger.FirstName != "" {
passenger.Passenger.FirstName = *req.Passenger.FirstName passenger.Passenger.FirstName = req.Passenger.FirstName
} }
if req.Passenger.LastName != nil { if req.Passenger.LastName != "" {
passenger.Passenger.LastName = *req.Passenger.LastName passenger.Passenger.LastName = req.Passenger.LastName
} }
if req.Passenger.Grade != nil { if req.Passenger.Grade != 0 {
passenger.Passenger.Grade = *req.Passenger.Grade passenger.Passenger.Grade = req.Passenger.Grade
} }
if req.Passenger.Picture != nil { if req.Passenger.Picture != "" {
passenger.Passenger.Picture = *req.Passenger.Picture passenger.Passenger.Picture = req.Passenger.Picture
} }
if req.Passenger.Gender != nil { if req.Passenger.Gender != "" {
passenger.Passenger.Gender = *req.Passenger.Gender passenger.Passenger.Gender = req.Passenger.Gender
} }
if req.Passenger.VerifiedIdentity != nil { if req.Passenger.VerifiedIdentity != false {
passenger.Passenger.VerifiedIdentity = *req.Passenger.VerifiedIdentity passenger.Passenger.VerifiedIdentity = req.Passenger.VerifiedIdentity
} }
if req.Preferences != nil { if req.Preferences != nil {
passenger.Preferences = internal.Preferences{ passenger.Preferences = internal.Preferences{
Smoking: *req.Preferences.Smoking, Smoking: req.Preferences.Smoking,
Animals: *req.Preferences.Animals, Animals: req.Preferences.Animals,
Music: *req.Preferences.Music, Music: req.Preferences.Music,
Is_talker: *req.Preferences.IsTalker, Is_talker: req.Preferences.IsTalker,
Luggage_size: *req.Preferences.LuggageSize, Luggage_size: req.Preferences.LuggageSize,
} }
} }