From 183187479346d3a95f18e88684ae1e4776d1efdc Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Wed, 13 Jul 2022 22:08:40 +0200 Subject: [PATCH 01/24] change proto file, added comments to fields --- api/CampusService.pb.go | 1671 ++++++++++++------ api/CampusService.pb.gw.go | 139 +- api/CampusService.proto | 160 +- api/CampusService_grpc.pb.go | 118 +- api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 378 ++-- server/swagger/swagger.json | 378 ++-- 7 files changed, 1997 insertions(+), 849 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index d0c3c50d..7c94668c 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -32,9 +32,6 @@ type GetRoomScheduleRequest struct { Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"` End *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"` } -type Test struct { - State uint -} func (x *GetRoomScheduleRequest) Reset() { *x = GetRoomScheduleRequest{} @@ -828,19 +825,23 @@ func (x *GetTopNewsReply) GetTo() *timestamppb.Timestamp { return nil } -type GetCafeteriaRating struct { +type CafeteriaRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` - To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` - Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` + // cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme) + CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Optional Parameter to define an interval for the ratings (Lower bound) + From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` + // Optional Parameter to define an interval for the ratings (Upper bound) + To *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` + // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } -func (x *GetCafeteriaRating) Reset() { - *x = GetCafeteriaRating{} +func (x *CafeteriaRatingRequest) Reset() { + *x = CafeteriaRatingRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -848,13 +849,13 @@ func (x *GetCafeteriaRating) Reset() { } } -func (x *GetCafeteriaRating) String() string { +func (x *CafeteriaRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetCafeteriaRating) ProtoMessage() {} +func (*CafeteriaRatingRequest) ProtoMessage() {} -func (x *GetCafeteriaRating) ProtoReflect() protoreflect.Message { +func (x *CafeteriaRatingRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -866,53 +867,58 @@ func (x *GetCafeteriaRating) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetCafeteriaRating.ProtoReflect.Descriptor instead. -func (*GetCafeteriaRating) Descriptor() ([]byte, []int) { +// Deprecated: Use CafeteriaRatingRequest.ProtoReflect.Descriptor instead. +func (*CafeteriaRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{14} } -func (x *GetCafeteriaRating) GetCafeteriaName() string { +func (x *CafeteriaRatingRequest) GetCafeteriaName() string { if x != nil { return x.CafeteriaName } return "" } -func (x *GetCafeteriaRating) GetFrom() *timestamppb.Timestamp { +func (x *CafeteriaRatingRequest) GetFrom() *timestamppb.Timestamp { if x != nil { return x.From } return nil } -func (x *GetCafeteriaRating) GetTo() *timestamppb.Timestamp { +func (x *CafeteriaRatingRequest) GetTo() *timestamppb.Timestamp { if x != nil { return x.To } return nil } -func (x *GetCafeteriaRating) GetLimit() int32 { +func (x *CafeteriaRatingRequest) GetLimit() int32 { if x != nil { return x.Limit } return 0 } -type GetMealInCafeteriaRating struct { +type MealRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Meal string `protobuf:"bytes,2,opt,name=meal,proto3" json:"meal,omitempty"` - From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` - To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` - Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` + // Mandatory Name of the cafeteria (EAT-API naming scheme) + CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + Meal string `protobuf:"bytes,2,opt,name=meal,proto3" json:"meal,omitempty"` + // Optional Parameter to define an interval for the ratings (Lower bound) + From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` + // Optional Parameter to define an interval for the ratings (Upper bound) + To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` + // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` } -func (x *GetMealInCafeteriaRating) Reset() { - *x = GetMealInCafeteriaRating{} +func (x *MealRatingRequest) Reset() { + *x = MealRatingRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -920,13 +926,13 @@ func (x *GetMealInCafeteriaRating) Reset() { } } -func (x *GetMealInCafeteriaRating) String() string { +func (x *MealRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMealInCafeteriaRating) ProtoMessage() {} +func (*MealRatingRequest) ProtoMessage() {} -func (x *GetMealInCafeteriaRating) ProtoReflect() protoreflect.Message { +func (x *MealRatingRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -938,57 +944,61 @@ func (x *GetMealInCafeteriaRating) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMealInCafeteriaRating.ProtoReflect.Descriptor instead. -func (*GetMealInCafeteriaRating) Descriptor() ([]byte, []int) { +// Deprecated: Use MealRatingRequest.ProtoReflect.Descriptor instead. +func (*MealRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{15} } -func (x *GetMealInCafeteriaRating) GetCafeteriaName() string { +func (x *MealRatingRequest) GetCafeteriaName() string { if x != nil { return x.CafeteriaName } return "" } -func (x *GetMealInCafeteriaRating) GetMeal() string { +func (x *MealRatingRequest) GetMeal() string { if x != nil { return x.Meal } return "" } -func (x *GetMealInCafeteriaRating) GetFrom() *timestamppb.Timestamp { +func (x *MealRatingRequest) GetFrom() *timestamppb.Timestamp { if x != nil { return x.From } return nil } -func (x *GetMealInCafeteriaRating) GetTo() *timestamppb.Timestamp { +func (x *MealRatingRequest) GetTo() *timestamppb.Timestamp { if x != nil { return x.To } return nil } -func (x *GetMealInCafeteriaRating) GetLimit() int32 { +func (x *MealRatingRequest) GetLimit() int32 { if x != nil { return x.Limit } return 0 } -type GetCafeteriaRatingReply struct { +type CafeteriaRatingResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*CafeteriaRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - AverageRating float64 `protobuf:"fixed64,2,opt,name=averageRating,proto3" json:"averageRating,omitempty"` + Rating []*CafeteriaRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + AveragePoints float64 `protobuf:"fixed64,2,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` + StandardDeviation float64 `protobuf:"fixed64,3,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` + MinPoints int32 `protobuf:"varint,4,opt,name=minPoints,proto3" json:"minPoints,omitempty"` + MaxPoints int32 `protobuf:"varint,5,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` + RatingTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` } -func (x *GetCafeteriaRatingReply) Reset() { - *x = GetCafeteriaRatingReply{} +func (x *CafeteriaRatingResponse) Reset() { + *x = CafeteriaRatingResponse{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -996,13 +1006,13 @@ func (x *GetCafeteriaRatingReply) Reset() { } } -func (x *GetCafeteriaRatingReply) String() string { +func (x *CafeteriaRatingResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetCafeteriaRatingReply) ProtoMessage() {} +func (*CafeteriaRatingResponse) ProtoMessage() {} -func (x *GetCafeteriaRatingReply) ProtoReflect() protoreflect.Message { +func (x *CafeteriaRatingResponse) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1014,37 +1024,69 @@ func (x *GetCafeteriaRatingReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetCafeteriaRatingReply.ProtoReflect.Descriptor instead. -func (*GetCafeteriaRatingReply) Descriptor() ([]byte, []int) { +// Deprecated: Use CafeteriaRatingResponse.ProtoReflect.Descriptor instead. +func (*CafeteriaRatingResponse) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{16} } -func (x *GetCafeteriaRatingReply) GetRating() []*CafeteriaRating { +func (x *CafeteriaRatingResponse) GetRating() []*CafeteriaRating { if x != nil { return x.Rating } return nil } -func (x *GetCafeteriaRatingReply) GetAverageRating() float64 { +func (x *CafeteriaRatingResponse) GetAveragePoints() float64 { + if x != nil { + return x.AveragePoints + } + return 0 +} + +func (x *CafeteriaRatingResponse) GetStandardDeviation() float64 { + if x != nil { + return x.StandardDeviation + } + return 0 +} + +func (x *CafeteriaRatingResponse) GetMinPoints() int32 { + if x != nil { + return x.MinPoints + } + return 0 +} + +func (x *CafeteriaRatingResponse) GetMaxPoints() int32 { if x != nil { - return x.AverageRating + return x.MaxPoints } return 0 } -type GetMealInCafeteriaRatingReply struct { +func (x *CafeteriaRatingResponse) GetRatingTags() []*TagRatingsResult { + if x != nil { + return x.RatingTags + } + return nil +} + +type MealRatingResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*MealRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - AverageRating float64 `protobuf:"fixed64,2,opt,name=averageRating,proto3" json:"averageRating,omitempty"` - TagRating []*TagRating `protobuf:"bytes,3,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + Rating []*MealRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + AveragePoints float64 `protobuf:"fixed64,2,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` + StandardDeviation float64 `protobuf:"fixed64,3,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` + MinPoints int32 `protobuf:"varint,4,opt,name=minPoints,proto3" json:"minPoints,omitempty"` + MaxPoints int32 `protobuf:"varint,5,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` + RatingTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + NameTags []*TagRatingsResult `protobuf:"bytes,7,rep,name=nameTags,proto3" json:"nameTags,omitempty"` } -func (x *GetMealInCafeteriaRatingReply) Reset() { - *x = GetMealInCafeteriaRatingReply{} +func (x *MealRatingResponse) Reset() { + *x = MealRatingResponse{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1052,13 +1094,13 @@ func (x *GetMealInCafeteriaRatingReply) Reset() { } } -func (x *GetMealInCafeteriaRatingReply) String() string { +func (x *MealRatingResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMealInCafeteriaRatingReply) ProtoMessage() {} +func (*MealRatingResponse) ProtoMessage() {} -func (x *GetMealInCafeteriaRatingReply) ProtoReflect() protoreflect.Message { +func (x *MealRatingResponse) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1070,85 +1112,58 @@ func (x *GetMealInCafeteriaRatingReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMealInCafeteriaRatingReply.ProtoReflect.Descriptor instead. -func (*GetMealInCafeteriaRatingReply) Descriptor() ([]byte, []int) { +// Deprecated: Use MealRatingResponse.ProtoReflect.Descriptor instead. +func (*MealRatingResponse) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{17} } -func (x *GetMealInCafeteriaRatingReply) GetRating() []*MealRating { +func (x *MealRatingResponse) GetRating() []*MealRating { if x != nil { return x.Rating } return nil } -func (x *GetMealInCafeteriaRatingReply) GetAverageRating() float64 { +func (x *MealRatingResponse) GetAveragePoints() float64 { if x != nil { - return x.AverageRating + return x.AveragePoints } return 0 } -func (x *GetMealInCafeteriaRatingReply) GetTagRating() []*TagRating { +func (x *MealRatingResponse) GetStandardDeviation() float64 { if x != nil { - return x.TagRating + return x.StandardDeviation } - return nil -} - -type TagRating struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` - Rating float64 `protobuf:"fixed64,2,opt,name=rating,proto3" json:"rating,omitempty"` + return 0 } -func (x *TagRating) Reset() { - *x = TagRating{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *MealRatingResponse) GetMinPoints() int32 { + if x != nil { + return x.MinPoints } + return 0 } -func (x *TagRating) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TagRating) ProtoMessage() {} - -func (x *TagRating) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *MealRatingResponse) GetMaxPoints() int32 { + if x != nil { + return x.MaxPoints } - return mi.MessageOf(x) -} - -// Deprecated: Use TagRating.ProtoReflect.Descriptor instead. -func (*TagRating) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{18} + return 0 } -func (x *TagRating) GetTag() string { +func (x *MealRatingResponse) GetRatingTags() []*TagRatingsResult { if x != nil { - return x.Tag + return x.RatingTags } - return "" + return nil } -func (x *TagRating) GetRating() float64 { +func (x *MealRatingResponse) GetNameTags() []*TagRatingsResult { if x != nil { - return x.Rating + return x.NameTags } - return 0 + return nil } type CafeteriaRating struct { @@ -1156,19 +1171,22 @@ type CafeteriaRating struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating float64 `protobuf:"fixed64,1,opt,name=rating,proto3" json:"rating,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` - Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` - Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` - TagRating []*TagRating `protobuf:"bytes,7,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + // number in the range 1-5 + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Optional JPEG image in Base64 + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + // Optional comment (max 256 chars) + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + TagRating []*TagRatingResult `protobuf:"bytes,5,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` } func (x *CafeteriaRating) Reset() { *x = CafeteriaRating{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[19] + mi := &file_CampusService_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1199,7 @@ func (x *CafeteriaRating) String() string { func (*CafeteriaRating) ProtoMessage() {} func (x *CafeteriaRating) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[19] + mi := &file_CampusService_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,12 +1212,12 @@ func (x *CafeteriaRating) ProtoReflect() protoreflect.Message { // Deprecated: Use CafeteriaRating.ProtoReflect.Descriptor instead. func (*CafeteriaRating) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{19} + return file_CampusService_proto_rawDescGZIP(), []int{18} } -func (x *CafeteriaRating) GetRating() float64 { +func (x *CafeteriaRating) GetPoints() int32 { if x != nil { - return x.Rating + return x.Points } return 0 } @@ -1218,30 +1236,23 @@ func (x *CafeteriaRating) GetImage() []byte { return nil } -func (x *CafeteriaRating) GetTags() []string { +func (x *CafeteriaRating) GetComment() string { if x != nil { - return x.Tags + return x.Comment } - return nil + return "" } -func (x *CafeteriaRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { +func (x *CafeteriaRating) GetTagRating() []*TagRatingResult { if x != nil { - return x.CafeteriaVisitedAt + return x.TagRating } return nil } -func (x *CafeteriaRating) GetComment() string { - if x != nil { - return x.Comment - } - return "" -} - -func (x *CafeteriaRating) GetTagRating() []*TagRating { +func (x *CafeteriaRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { if x != nil { - return x.TagRating + return x.CafeteriaVisitedAt } return nil } @@ -1251,20 +1262,24 @@ type MealRating struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` - Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` - Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` - TagRating []*TagRating `protobuf:"bytes,8,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + // number in the range 1-5 + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` + // Optional JPEG image in Base64 + Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` + // Optional comment (max 256 chars) + Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` + TagRating []*TagRatingResult `protobuf:"bytes,6,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` } func (x *MealRating) Reset() { *x = MealRating{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[20] + mi := &file_CampusService_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1277,7 +1292,7 @@ func (x *MealRating) String() string { func (*MealRating) ProtoMessage() {} func (x *MealRating) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[20] + mi := &file_CampusService_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1290,12 +1305,12 @@ func (x *MealRating) ProtoReflect() protoreflect.Message { // Deprecated: Use MealRating.ProtoReflect.Descriptor instead. func (*MealRating) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{20} + return file_CampusService_proto_rawDescGZIP(), []int{19} } -func (x *MealRating) GetRating() int32 { +func (x *MealRating) GetPoints() int32 { if x != nil { - return x.Rating + return x.Points } return 0 } @@ -1321,9 +1336,16 @@ func (x *MealRating) GetImage() []byte { return nil } -func (x *MealRating) GetTags() []string { +func (x *MealRating) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +func (x *MealRating) GetTagRating() []*TagRatingResult { if x != nil { - return x.Tags + return x.TagRating } return nil } @@ -1335,37 +1357,109 @@ func (x *MealRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { return nil } -func (x *MealRating) GetComment() string { +type NewCafeteriaRatingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // number in the range 1-5 + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags + Tags []*TagRating `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` + // Optional comment (max 256 chars) + Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` +} + +func (x *NewCafeteriaRatingRequest) Reset() { + *x = NewCafeteriaRatingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NewCafeteriaRatingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewCafeteriaRatingRequest) ProtoMessage() {} + +func (x *NewCafeteriaRatingRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewCafeteriaRatingRequest.ProtoReflect.Descriptor instead. +func (*NewCafeteriaRatingRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{20} +} + +func (x *NewCafeteriaRatingRequest) GetPoints() int32 { if x != nil { - return x.Comment + return x.Points + } + return 0 +} + +func (x *NewCafeteriaRatingRequest) GetCafeteriaName() string { + if x != nil { + return x.CafeteriaName } return "" } -func (x *MealRating) GetTagRating() []*TagRating { +func (x *NewCafeteriaRatingRequest) GetImage() []byte { if x != nil { - return x.TagRating + return x.Image + } + return nil +} + +func (x *NewCafeteriaRatingRequest) GetTags() []*TagRating { + if x != nil { + return x.Tags } return nil } -type NewRating struct { +func (x *NewCafeteriaRatingRequest) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +type NewMealRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` - Image string `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` - IdentifierOfUser string `protobuf:"bytes,7,opt,name=identifierOfUser,proto3" json:"identifierOfUser,omitempty"` - Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` -} - -func (x *NewRating) Reset() { - *x = NewRating{} + // number in the range 1-5 + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` + // Optional JPEG image in Base64 + Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags + Tags []*TagRating `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` + // Optional comment (max 256 chars) + Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` +} + +func (x *NewMealRatingRequest) Reset() { + *x = NewMealRatingRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1373,13 +1467,13 @@ func (x *NewRating) Reset() { } } -func (x *NewRating) String() string { +func (x *NewMealRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NewRating) ProtoMessage() {} +func (*NewMealRatingRequest) ProtoMessage() {} -func (x *NewRating) ProtoReflect() protoreflect.Message { +func (x *NewMealRatingRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1391,61 +1485,47 @@ func (x *NewRating) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NewRating.ProtoReflect.Descriptor instead. -func (*NewRating) Descriptor() ([]byte, []int) { +// Deprecated: Use NewMealRatingRequest.ProtoReflect.Descriptor instead. +func (*NewMealRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{21} } -func (x *NewRating) GetRating() int32 { +func (x *NewMealRatingRequest) GetPoints() int32 { if x != nil { - return x.Rating + return x.Points } return 0 } -func (x *NewRating) GetCafeteriaName() string { +func (x *NewMealRatingRequest) GetCafeteriaName() string { if x != nil { return x.CafeteriaName } return "" } -func (x *NewRating) GetMeal() string { +func (x *NewMealRatingRequest) GetMeal() string { if x != nil { return x.Meal } return "" } -func (x *NewRating) GetImage() string { +func (x *NewMealRatingRequest) GetImage() []byte { if x != nil { return x.Image } - return "" -} - -func (x *NewRating) GetTags() []string { - if x != nil { - return x.Tags - } return nil } -func (x *NewRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { +func (x *NewMealRatingRequest) GetTags() []*TagRating { if x != nil { - return x.CafeteriaVisitedAt + return x.Tags } return nil } -func (x *NewRating) GetIdentifierOfUser() string { - if x != nil { - return x.IdentifierOfUser - } - return "" -} - -func (x *NewRating) GetComment() string { +func (x *NewMealRatingRequest) GetComment() string { if x != nil { return x.Comment } @@ -1457,7 +1537,7 @@ type GetRatingTagsReply struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tags []string `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` + Tags []*TagRatingOverview `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` } func (x *GetRatingTagsReply) Reset() { @@ -1492,27 +1572,24 @@ func (*GetRatingTagsReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{22} } -func (x *GetRatingTagsReply) GetTags() []string { +func (x *GetRatingTagsReply) GetTags() []*TagRatingOverview { if x != nil { return x.Tags } return nil } -type GetRoomScheduleReply_RoomScheduleEvent struct { +type TagRatingOverview struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` - End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - EventId int32 `protobuf:"varint,4,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` - CourseCode string `protobuf:"bytes,5,opt,name=course_code,json=courseCode,proto3" json:"course_code,omitempty"` + DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` + EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` } -func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { - *x = GetRoomScheduleReply_RoomScheduleEvent{} +func (x *TagRatingOverview) Reset() { + *x = TagRatingOverview{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1520,13 +1597,13 @@ func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { } } -func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { +func (x *TagRatingOverview) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} +func (*TagRatingOverview) ProtoMessage() {} -func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { +func (x *TagRatingOverview) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1538,60 +1615,37 @@ func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use GetRoomScheduleReply_RoomScheduleEvent.ProtoReflect.Descriptor instead. -func (*GetRoomScheduleReply_RoomScheduleEvent) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{1, 0} -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetStart() *timestamppb.Timestamp { - if x != nil { - return x.Start - } - return nil -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEnd() *timestamppb.Timestamp { - if x != nil { - return x.End - } - return nil +// Deprecated: Use TagRatingOverview.ProtoReflect.Descriptor instead. +func (*TagRatingOverview) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{23} } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetTitle() string { +func (x *TagRatingOverview) GetDE() string { if x != nil { - return x.Title + return x.DE } return "" } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEventId() int32 { - if x != nil { - return x.EventId - } - return 0 -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetCourseCode() string { +func (x *TagRatingOverview) GetEN() string { if x != nil { - return x.CourseCode + return x.EN } return "" } -type GetRoomMapsReply_Map struct { +type TagRatingResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Scale int64 `protobuf:"varint,3,opt,name=scale,proto3" json:"scale,omitempty"` - Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` - Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` + DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` + EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` + Points int32 `protobuf:"varint,3,opt,name=points,proto3" json:"points,omitempty"` } -func (x *GetRoomMapsReply_Map) Reset() { - *x = GetRoomMapsReply_Map{} +func (x *TagRatingResult) Reset() { + *x = TagRatingResult{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1599,13 +1653,13 @@ func (x *GetRoomMapsReply_Map) Reset() { } } -func (x *GetRoomMapsReply_Map) String() string { +func (x *TagRatingResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRoomMapsReply_Map) ProtoMessage() {} +func (*TagRatingResult) ProtoMessage() {} -func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { +func (x *TagRatingResult) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1617,41 +1671,445 @@ func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetRoomMapsReply_Map.ProtoReflect.Descriptor instead. -func (*GetRoomMapsReply_Map) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{5, 0} +// Deprecated: Use TagRatingResult.ProtoReflect.Descriptor instead. +func (*TagRatingResult) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{24} } -func (x *GetRoomMapsReply_Map) GetMapId() int64 { +func (x *TagRatingResult) GetDE() string { if x != nil { - return x.MapId + return x.DE } - return 0 + return "" } -func (x *GetRoomMapsReply_Map) GetDescription() string { +func (x *TagRatingResult) GetEN() string { if x != nil { - return x.Description + return x.EN } return "" } -func (x *GetRoomMapsReply_Map) GetScale() int64 { +func (x *TagRatingResult) GetPoints() int32 { if x != nil { - return x.Scale + return x.Points } return 0 } -func (x *GetRoomMapsReply_Map) GetWidth() int64 { - if x != nil { - return x.Width - } - return 0 +type TagRating struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + Points float64 `protobuf:"fixed64,2,opt,name=points,proto3" json:"points,omitempty"` } -func (x *GetRoomMapsReply_Map) GetHeight() int64 { - if x != nil { +func (x *TagRating) Reset() { + *x = TagRating{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TagRating) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TagRating) ProtoMessage() {} + +func (x *TagRating) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TagRating.ProtoReflect.Descriptor instead. +func (*TagRating) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{25} +} + +func (x *TagRating) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *TagRating) GetPoints() float64 { + if x != nil { + return x.Points + } + return 0 +} + +type TagRatingsResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` + EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` + AveragePoints float64 `protobuf:"fixed64,3,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` + StandardDeviation float64 `protobuf:"fixed64,4,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` + MinPoints int32 `protobuf:"varint,5,opt,name=minPoints,proto3" json:"minPoints,omitempty"` + MaxPoints int32 `protobuf:"varint,6,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` +} + +func (x *TagRatingsResult) Reset() { + *x = TagRatingsResult{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TagRatingsResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TagRatingsResult) ProtoMessage() {} + +func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TagRatingsResult.ProtoReflect.Descriptor instead. +func (*TagRatingsResult) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{26} +} + +func (x *TagRatingsResult) GetDE() string { + if x != nil { + return x.DE + } + return "" +} + +func (x *TagRatingsResult) GetEN() string { + if x != nil { + return x.EN + } + return "" +} + +func (x *TagRatingsResult) GetAveragePoints() float64 { + if x != nil { + return x.AveragePoints + } + return 0 +} + +func (x *TagRatingsResult) GetStandardDeviation() float64 { + if x != nil { + return x.StandardDeviation + } + return 0 +} + +func (x *TagRatingsResult) GetMinPoints() int32 { + if x != nil { + return x.MinPoints + } + return 0 +} + +func (x *TagRatingsResult) GetMaxPoints() int32 { + if x != nil { + return x.MaxPoints + } + return 0 +} + +type GetCafeteriaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cafeteria []*Cafeteria `protobuf:"bytes,1,rep,name=cafeteria,proto3" json:"cafeteria,omitempty"` +} + +func (x *GetCafeteriaResponse) Reset() { + *x = GetCafeteriaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCafeteriaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCafeteriaResponse) ProtoMessage() {} + +func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCafeteriaResponse.ProtoReflect.Descriptor instead. +func (*GetCafeteriaResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{27} +} + +func (x *GetCafeteriaResponse) GetCafeteria() []*Cafeteria { + if x != nil { + return x.Cafeteria + } + return nil +} + +type Cafeteria struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + Longitude float64 `protobuf:"fixed64,3,opt,name=longitude,proto3" json:"longitude,omitempty"` + Latitude float64 `protobuf:"fixed64,4,opt,name=latitude,proto3" json:"latitude,omitempty"` +} + +func (x *Cafeteria) Reset() { + *x = Cafeteria{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Cafeteria) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Cafeteria) ProtoMessage() {} + +func (x *Cafeteria) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Cafeteria.ProtoReflect.Descriptor instead. +func (*Cafeteria) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{28} +} + +func (x *Cafeteria) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Cafeteria) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *Cafeteria) GetLongitude() float64 { + if x != nil { + return x.Longitude + } + return 0 +} + +func (x *Cafeteria) GetLatitude() float64 { + if x != nil { + return x.Latitude + } + return 0 +} + +type GetRoomScheduleReply_RoomScheduleEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + EventId int32 `protobuf:"varint,4,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` + CourseCode string `protobuf:"bytes,5,opt,name=course_code,json=courseCode,proto3" json:"course_code,omitempty"` +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { + *x = GetRoomScheduleReply_RoomScheduleEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoomScheduleReply_RoomScheduleEvent.ProtoReflect.Descriptor instead. +func (*GetRoomScheduleReply_RoomScheduleEvent) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetStart() *timestamppb.Timestamp { + if x != nil { + return x.Start + } + return nil +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEnd() *timestamppb.Timestamp { + if x != nil { + return x.End + } + return nil +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetCourseCode() string { + if x != nil { + return x.CourseCode + } + return "" +} + +type GetRoomMapsReply_Map struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Scale int64 `protobuf:"varint,3,opt,name=scale,proto3" json:"scale,omitempty"` + Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` + Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` +} + +func (x *GetRoomMapsReply_Map) Reset() { + *x = GetRoomMapsReply_Map{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRoomMapsReply_Map) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoomMapsReply_Map) ProtoMessage() {} + +func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoomMapsReply_Map.ProtoReflect.Descriptor instead. +func (*GetRoomMapsReply_Map) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *GetRoomMapsReply_Map) GetMapId() int64 { + if x != nil { + return x.MapId + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *GetRoomMapsReply_Map) GetScale() int64 { + if x != nil { + return x.Scale + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetWidth() int64 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetHeight() int64 { + if x != nil { return x.Height } return 0 @@ -1672,7 +2130,7 @@ type GetLocationsReply_Location struct { func (x *GetLocationsReply_Location) Reset() { *x = GetLocationsReply_Location{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[25] + mi := &file_CampusService_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1685,7 +2143,7 @@ func (x *GetLocationsReply_Location) String() string { func (*GetLocationsReply_Location) ProtoMessage() {} func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[25] + mi := &file_CampusService_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1859,204 +2317,268 @@ var file_CampusService_proto_rawDesc = []byte{ 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, - 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, - 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, - 0x6c, 0x49, 0x6e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, - 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, - 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x6d, - 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xbf, 0x01, 0x0a, 0x11, 0x4d, 0x65, + 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x17, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, - 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, - 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x9c, 0x01, - 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x49, 0x6e, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x27, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, - 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2c, - 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x35, 0x0a, 0x09, - 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x22, 0x8d, 0x02, 0x0a, 0x0f, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, + 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0xb7, 0x02, 0x0a, + 0x12, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, + 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, + 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, + 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x12, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, + 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x61, 0x67, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, + 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x4e, 0x65, + 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, - 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, - 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x22, 0x9c, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x4e, 0x65, + 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x4a, - 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, - 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x22, 0x99, 0x02, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, - 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x12, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, - 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4f, 0x66, 0x55, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4f, 0x66, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x28, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x32, 0xb9, 0x0b, 0x0a, 0x06, 0x43, 0x61, 0x6d, - 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, - 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x74, - 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, 0x77, - 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, - 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, - 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, - 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x0c, - 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, - 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, - 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, - 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x70, - 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, - 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, - 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, 0x6f, - 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x7f, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x68, - 0x72, 0x65, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x1a, 0x1c, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x67, - 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x81, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x68, 0x72, 0x65, 0x65, - 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x49, 0x6e, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x1a, - 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x49, 0x6e, 0x43, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x69, - 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x76, 0x0a, 0x12, 0x4e, 0x65, 0x77, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x22, - 0x2d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x6e, 0x65, 0x77, 0x43, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, - 0x2a, 0x12, 0x67, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x28, 0x22, 0x23, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, - 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, - 0x61, 0x6c, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, - 0x12, 0x22, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, - 0x54, 0x61, 0x67, 0x73, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, - 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, - 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, - 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, - 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, + 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, + 0x76, 0x69, 0x65, 0x77, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x33, 0x0a, 0x11, 0x54, 0x61, + 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, + 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x44, 0x45, 0x12, + 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x45, 0x4e, 0x22, + 0x49, 0x0a, 0x0f, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x44, 0x45, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x45, 0x4e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x35, 0x0a, 0x09, 0x54, 0x61, + 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x44, 0x45, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x45, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, + 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, + 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, + 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, + 0x0a, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x52, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0x73, 0x0a, 0x09, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x32, 0xac, 0x0c, 0x0a, 0x06, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, + 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, + 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, + 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, + 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, + 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, + 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, + 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, + 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, + 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, + 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, + 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, + 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, + 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, + 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x7b, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, + 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 0x2f, 0x63, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0d, + 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, + 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, + 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, + 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, + 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, + 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, + 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, + 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, + 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2071,7 +2593,7 @@ func file_CampusService_proto_rawDescGZIP() []byte { return file_CampusService_proto_rawDescData } -var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_CampusService_proto_goTypes = []interface{}{ (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply @@ -2087,77 +2609,90 @@ var file_CampusService_proto_goTypes = []interface{}{ (*NewsSourceArray)(nil), // 11: api.NewsSourceArray (*NewsSource)(nil), // 12: api.NewsSource (*GetTopNewsReply)(nil), // 13: api.GetTopNewsReply - (*GetCafeteriaRating)(nil), // 14: api.GetCafeteriaRating - (*GetMealInCafeteriaRating)(nil), // 15: api.GetMealInCafeteriaRating - (*GetCafeteriaRatingReply)(nil), // 16: api.GetCafeteriaRatingReply - (*GetMealInCafeteriaRatingReply)(nil), // 17: api.GetMealInCafeteriaRatingReply - (*TagRating)(nil), // 18: api.TagRating - (*CafeteriaRating)(nil), // 19: api.CafeteriaRating - (*MealRating)(nil), // 20: api.MealRating - (*NewRating)(nil), // 21: api.NewRating + (*CafeteriaRatingRequest)(nil), // 14: api.CafeteriaRatingRequest + (*MealRatingRequest)(nil), // 15: api.MealRatingRequest + (*CafeteriaRatingResponse)(nil), // 16: api.CafeteriaRatingResponse + (*MealRatingResponse)(nil), // 17: api.MealRatingResponse + (*CafeteriaRating)(nil), // 18: api.CafeteriaRating + (*MealRating)(nil), // 19: api.MealRating + (*NewCafeteriaRatingRequest)(nil), // 20: api.NewCafeteriaRatingRequest + (*NewMealRatingRequest)(nil), // 21: api.NewMealRatingRequest (*GetRatingTagsReply)(nil), // 22: api.GetRatingTagsReply - (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 23: api.GetRoomScheduleReply.RoomScheduleEvent - (*GetRoomMapsReply_Map)(nil), // 24: api.GetRoomMapsReply.Map - (*GetLocationsReply_Location)(nil), // 25: api.GetLocationsReply.Location - (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 27: google.protobuf.Empty + (*TagRatingOverview)(nil), // 23: api.TagRatingOverview + (*TagRatingResult)(nil), // 24: api.TagRatingResult + (*TagRating)(nil), // 25: api.TagRating + (*TagRatingsResult)(nil), // 26: api.TagRatingsResult + (*GetCafeteriaResponse)(nil), // 27: api.GetCafeteriaResponse + (*Cafeteria)(nil), // 28: api.Cafeteria + (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 29: api.GetRoomScheduleReply.RoomScheduleEvent + (*GetRoomMapsReply_Map)(nil), // 30: api.GetRoomMapsReply.Map + (*GetLocationsReply_Location)(nil), // 31: api.GetLocationsReply.Location + (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 33: google.protobuf.Empty } var file_CampusService_proto_depIdxs = []int32{ - 26, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp - 26, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp - 23, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent - 24, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map - 25, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location + 32, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp + 32, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp + 29, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent + 30, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map + 31, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource - 26, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp - 26, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp - 26, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp - 26, // 10: api.GetCafeteriaRating.from:type_name -> google.protobuf.Timestamp - 26, // 11: api.GetCafeteriaRating.to:type_name -> google.protobuf.Timestamp - 26, // 12: api.GetMealInCafeteriaRating.from:type_name -> google.protobuf.Timestamp - 26, // 13: api.GetMealInCafeteriaRating.to:type_name -> google.protobuf.Timestamp - 19, // 14: api.GetCafeteriaRatingReply.rating:type_name -> api.CafeteriaRating - 20, // 15: api.GetMealInCafeteriaRatingReply.rating:type_name -> api.MealRating - 18, // 16: api.GetMealInCafeteriaRatingReply.tagRating:type_name -> api.TagRating - 26, // 17: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 18, // 18: api.CafeteriaRating.tagRating:type_name -> api.TagRating - 26, // 19: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 18, // 20: api.MealRating.tagRating:type_name -> api.TagRating - 26, // 21: api.NewRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 26, // 22: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp - 26, // 23: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp - 27, // 24: api.Campus.GetTopNews:input_type -> google.protobuf.Empty - 27, // 25: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty - 8, // 26: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest - 6, // 27: api.Campus.GetLocations:input_type -> api.GetLocationsRequest - 4, // 28: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest - 2, // 29: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest - 0, // 30: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest - 14, // 31: api.Campus.GetCafeteriaRatingLastThree:input_type -> api.GetCafeteriaRating - 15, // 32: api.Campus.GetMealRatingLastThree:input_type -> api.GetMealInCafeteriaRating - 21, // 33: api.Campus.NewCafeteriaRating:input_type -> api.NewRating - 21, // 34: api.Campus.NewMealRating:input_type -> api.NewRating - 27, // 35: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty - 27, // 36: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty - 13, // 37: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 38: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 39: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 40: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 41: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 42: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 43: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 44: api.Campus.GetCafeteriaRatingLastThree:output_type -> api.GetCafeteriaRatingReply - 17, // 45: api.Campus.GetMealRatingLastThree:output_type -> api.GetMealInCafeteriaRatingReply - 27, // 46: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 27, // 47: api.Campus.NewMealRating:output_type -> google.protobuf.Empty - 22, // 48: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply - 22, // 49: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 37, // [37:50] is the sub-list for method output_type - 24, // [24:37] is the sub-list for method input_type - 24, // [24:24] is the sub-list for extension type_name - 24, // [24:24] is the sub-list for extension extendee - 0, // [0:24] is the sub-list for field type_name + 32, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp + 32, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp + 32, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp + 32, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp + 32, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp + 32, // 12: api.MealRatingRequest.from:type_name -> google.protobuf.Timestamp + 32, // 13: api.MealRatingRequest.to:type_name -> google.protobuf.Timestamp + 18, // 14: api.CafeteriaRatingResponse.rating:type_name -> api.CafeteriaRating + 26, // 15: api.CafeteriaRatingResponse.ratingTags:type_name -> api.TagRatingsResult + 19, // 16: api.MealRatingResponse.rating:type_name -> api.MealRating + 26, // 17: api.MealRatingResponse.ratingTags:type_name -> api.TagRatingsResult + 26, // 18: api.MealRatingResponse.nameTags:type_name -> api.TagRatingsResult + 24, // 19: api.CafeteriaRating.tagRating:type_name -> api.TagRatingResult + 32, // 20: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 24, // 21: api.MealRating.tagRating:type_name -> api.TagRatingResult + 32, // 22: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 25, // 23: api.NewCafeteriaRatingRequest.tags:type_name -> api.TagRating + 25, // 24: api.NewMealRatingRequest.tags:type_name -> api.TagRating + 23, // 25: api.GetRatingTagsReply.tags:type_name -> api.TagRatingOverview + 28, // 26: api.GetCafeteriaResponse.cafeteria:type_name -> api.Cafeteria + 32, // 27: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp + 32, // 28: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp + 33, // 29: api.Campus.GetTopNews:input_type -> google.protobuf.Empty + 33, // 30: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty + 8, // 31: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest + 6, // 32: api.Campus.GetLocations:input_type -> api.GetLocationsRequest + 4, // 33: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest + 2, // 34: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest + 0, // 35: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest + 14, // 36: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest + 15, // 37: api.Campus.GetMealRatings:input_type -> api.MealRatingRequest + 20, // 38: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest + 21, // 39: api.Campus.NewMealRating:input_type -> api.NewMealRatingRequest + 33, // 40: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty + 33, // 41: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty + 33, // 42: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty + 13, // 43: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 44: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 45: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 46: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 47: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 48: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 49: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 50: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingResponse + 17, // 51: api.Campus.GetMealRatings:output_type -> api.MealRatingResponse + 33, // 52: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 33, // 53: api.Campus.NewMealRating:output_type -> google.protobuf.Empty + 22, // 54: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply + 22, // 55: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 27, // 56: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaResponse + 43, // [43:57] is the sub-list for method output_type + 29, // [29:43] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] is the sub-list for field type_name } func init() { file_CampusService_proto_init() } @@ -2335,7 +2870,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCafeteriaRating); i { + switch v := v.(*CafeteriaRatingRequest); i { case 0: return &v.state case 1: @@ -2347,7 +2882,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMealInCafeteriaRating); i { + switch v := v.(*MealRatingRequest); i { case 0: return &v.state case 1: @@ -2359,7 +2894,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCafeteriaRatingReply); i { + switch v := v.(*CafeteriaRatingResponse); i { case 0: return &v.state case 1: @@ -2371,7 +2906,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMealInCafeteriaRatingReply); i { + switch v := v.(*MealRatingResponse); i { case 0: return &v.state case 1: @@ -2383,7 +2918,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRating); i { + switch v := v.(*CafeteriaRating); i { case 0: return &v.state case 1: @@ -2395,7 +2930,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRating); i { + switch v := v.(*MealRating); i { case 0: return &v.state case 1: @@ -2407,7 +2942,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRating); i { + switch v := v.(*NewCafeteriaRatingRequest); i { case 0: return &v.state case 1: @@ -2419,7 +2954,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewRating); i { + switch v := v.(*NewMealRatingRequest); i { case 0: return &v.state case 1: @@ -2443,7 +2978,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { + switch v := v.(*TagRatingOverview); i { case 0: return &v.state case 1: @@ -2455,7 +2990,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsReply_Map); i { + switch v := v.(*TagRatingResult); i { case 0: return &v.state case 1: @@ -2467,6 +3002,78 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TagRating); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TagRatingsResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCafeteriaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Cafeteria); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsReply_Map); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLocationsReply_Location); i { case 0: return &v.state @@ -2485,7 +3092,7 @@ func file_CampusService_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_CampusService_proto_rawDesc, NumEnums: 0, - NumMessages: 26, + NumMessages: 32, NumExtensions: 0, NumServices: 1, }, diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index 248d9302..c5376279 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -256,8 +256,8 @@ func local_request_Campus_GetRoomSchedule_0(ctx context.Context, marshaler runti } -func request_Campus_GetCafeteriaRatingLastThree_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetCafeteriaRating +func request_Campus_GetCafeteriaRatings_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CafeteriaRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -268,13 +268,13 @@ func request_Campus_GetCafeteriaRatingLastThree_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetCafeteriaRatingLastThree(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetCafeteriaRatings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetCafeteriaRatingLastThree_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetCafeteriaRating +func local_request_Campus_GetCafeteriaRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CafeteriaRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -285,13 +285,13 @@ func local_request_Campus_GetCafeteriaRatingLastThree_0(ctx context.Context, mar return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.GetCafeteriaRatingLastThree(ctx, &protoReq) + msg, err := server.GetCafeteriaRatings(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetMealRatingLastThree_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMealInCafeteriaRating +func request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MealRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -302,13 +302,13 @@ func request_Campus_GetMealRatingLastThree_0(ctx context.Context, marshaler runt return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetMealRatingLastThree(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetMealRatings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetMealRatingLastThree_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMealInCafeteriaRating +func local_request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MealRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -319,13 +319,13 @@ func local_request_Campus_GetMealRatingLastThree_0(ctx context.Context, marshale return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.GetMealRatingLastThree(ctx, &protoReq) + msg, err := server.GetMealRatings(ctx, &protoReq) return msg, metadata, err } func request_Campus_NewCafeteriaRating_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewRating + var protoReq NewCafeteriaRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -342,7 +342,7 @@ func request_Campus_NewCafeteriaRating_0(ctx context.Context, marshaler runtime. } func local_request_Campus_NewCafeteriaRating_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewRating + var protoReq NewCafeteriaRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -359,7 +359,7 @@ func local_request_Campus_NewCafeteriaRating_0(ctx context.Context, marshaler ru } func request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewRating + var protoReq NewMealRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -376,7 +376,7 @@ func request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marsh } func local_request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewRating + var protoReq NewMealRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -428,6 +428,24 @@ func local_request_Campus_GetAvailableCafeteriaTags_0(ctx context.Context, marsh } +func request_Campus_GetCafeterias_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetCafeterias(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetCafeterias_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetCafeterias(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". // UnaryRPC :call CampusServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -602,19 +620,19 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) - mux.Handle("POST", pattern_Campus_GetCafeteriaRatingLastThree_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatingLastThree", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetCafeteriaRatingLastThree_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -622,23 +640,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetCafeteriaRatingLastThree_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMealRatingLastThree_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMealRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMealRatingLastThree", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMealRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetMealRatingLastThree_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetMealRatings_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -646,7 +664,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetMealRatingLastThree_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMealRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -746,6 +764,30 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allCafeterias")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -934,45 +976,45 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_GetCafeteriaRatingLastThree_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatingLastThree", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetCafeteriaRatingLastThree_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeteriaRatingLastThree_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMealRatingLastThree_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMealRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMealRatingLastThree", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMealRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetMealRatingLastThree_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetMealRatings_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMealRatingLastThree_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMealRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1060,6 +1102,27 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allCafeterias")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetCafeterias_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1123,9 +1186,9 @@ var ( pattern_Campus_GetRoomSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"roomfinder", "room", "scheduleById"}, "")) - pattern_Campus_GetCafeteriaRatingLastThree_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "get"}, "")) + pattern_Campus_GetCafeteriaRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "get"}, "")) - pattern_Campus_GetMealRatingLastThree_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "dish", "get"}, "")) + pattern_Campus_GetMealRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "dish", "get"}, "")) pattern_Campus_NewCafeteriaRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "newCafeteriaRating"}, "")) @@ -1134,6 +1197,8 @@ var ( pattern_Campus_GetAvailableMealTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "meal", "allTags"}, "")) pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allTags"}, "")) + + pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allCafeterias"}, "")) ) var ( @@ -1151,9 +1216,9 @@ var ( forward_Campus_GetRoomSchedule_0 = runtime.ForwardResponseMessage - forward_Campus_GetCafeteriaRatingLastThree_0 = runtime.ForwardResponseMessage + forward_Campus_GetCafeteriaRatings_0 = runtime.ForwardResponseMessage - forward_Campus_GetMealRatingLastThree_0 = runtime.ForwardResponseMessage + forward_Campus_GetMealRatings_0 = runtime.ForwardResponseMessage forward_Campus_NewCafeteriaRating_0 = runtime.ForwardResponseMessage @@ -1162,4 +1227,6 @@ var ( forward_Campus_GetAvailableMealTags_0 = runtime.ForwardResponseMessage forward_Campus_GetAvailableCafeteriaTags_0 = runtime.ForwardResponseMessage + + forward_Campus_GetCafeterias_0 = runtime.ForwardResponseMessage ) diff --git a/api/CampusService.proto b/api/CampusService.proto index 89889ba4..1d812bed 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -66,7 +66,8 @@ service Campus { } - rpc GetCafeteriaRatingLastThree (GetCafeteriaRating) returns (GetCafeteriaRatingReply) { + // This endpoint retrieves Cafeteria Ratings from the Backend. + rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingResponse) { option (google.api.http) = { post: "/cafeteriaRating/cafeteria/get" body: "*", @@ -74,7 +75,7 @@ service Campus { } - rpc GetMealRatingLastThree (GetMealInCafeteriaRating) returns (GetMealInCafeteriaRatingReply) { + rpc GetMealRatings (MealRatingRequest) returns (MealRatingResponse) { option (google.api.http) = { post: "/cafeteriaRating/dish/get" body: "*", @@ -83,14 +84,14 @@ service Campus { - rpc NewCafeteriaRating (NewRating) returns (google.protobuf.Empty) { + rpc NewCafeteriaRating (NewCafeteriaRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/cafeteriaRating/cafeteria/newCafeteriaRating" body: "*", }; } - rpc NewMealRating (NewRating) returns (google.protobuf.Empty) { + rpc NewMealRating (NewMealRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/cafeteriaRating/meal/newMealRating" body: "*", @@ -109,6 +110,12 @@ service Campus { }; } + rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaResponse) { + option (google.api.http) = { + get: "/cafeteriaRating/cafeteria/allCafeterias", + }; + } + } message GetRoomScheduleRequest { @@ -207,73 +214,150 @@ message GetTopNewsReply { } -message GetCafeteriaRating { +message CafeteriaRatingRequest { + // cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme) string cafeteriaName = 1; - google.protobuf.Timestamp from = 3; - google.protobuf.Timestamp to = 4; - int32 limit = 5; + // Optional Parameter to define an interval for the ratings (Lower bound) + google.protobuf.Timestamp from = 2; + // Optional Parameter to define an interval for the ratings (Upper bound) + google.protobuf.Timestamp to = 3; + // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + int32 limit = 4; } -message GetMealInCafeteriaRating { +message MealRatingRequest { + // Mandatory Name of the cafeteria (EAT-API naming scheme) string cafeteriaName = 1; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string meal = 2; + // Optional Parameter to define an interval for the ratings (Lower bound) google.protobuf.Timestamp from = 3; + // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 4; + // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request int32 limit = 5; } -message GetCafeteriaRatingReply { +message CafeteriaRatingResponse { repeated CafeteriaRating rating = 1; - double averageRating = 2; + double averagePoints = 2; + double standardDeviation = 3; + int32 minPoints = 4; + int32 maxPoints = 5; + repeated TagRatingsResult ratingTags = 6; } -message GetMealInCafeteriaRatingReply { +message MealRatingResponse { repeated MealRating rating = 1; - double averageRating = 2; - repeated TagRating tagRating = 3; + double averagePoints = 2; + double standardDeviation = 3; + int32 minPoints = 4; + int32 maxPoints = 5; + repeated TagRatingsResult ratingTags = 6; + repeated TagRatingsResult nameTags = 7; } -message TagRating { - string tag = 1; - double rating = 2; -} - message CafeteriaRating{ - double rating = 1; + // number in the range 1-5 + int32 points = 1; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string cafeteriaName = 2; + // Optional JPEG image in Base64 bytes image = 3; - repeated string tags = 4; - google.protobuf.Timestamp cafeteriaVisitedAt = 5; - string comment = 6; - repeated TagRating tagRating = 7; + // Optional comment (max 256 chars) + string comment = 4; + repeated TagRatingResult tagRating = 5; + google.protobuf.Timestamp cafeteriaVisitedAt = 6; } message MealRating{ - int32 rating = 1; + // number in the range 1-5 + int32 points = 1; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string cafeteriaName = 2; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string meal = 3; + // Optional JPEG image in Base64 bytes image = 4; - repeated string tags = 5; - google.protobuf.Timestamp cafeteriaVisitedAt = 6; - string comment = 7; - repeated TagRating tagRating = 8; + // Optional comment (max 256 chars) + string comment = 5; + repeated TagRatingResult tagRating = 6; + google.protobuf.Timestamp cafeteriaVisitedAt = 7; } -message NewRating{ - int32 rating = 1; + +message NewCafeteriaRatingRequest{ + // number in the range 1-5 + int32 points = 1; string cafeteriaName = 2; + bytes image = 3; + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags + repeated TagRating tags = 4; + // Optional comment (max 256 chars) + string comment = 6; +} + +message NewMealRatingRequest{ + // number in the range 1-5 + int32 points = 1; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + string cafeteriaName = 2; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string meal = 3; - string image = 4; - repeated string tags = 5; - google.protobuf.Timestamp cafeteriaVisitedAt = 6; - string identifierOfUser = 7; - string comment = 8; + // Optional JPEG image in Base64 + bytes image = 4; + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags + repeated TagRating tags = 5; + // Optional comment (max 256 chars) + string comment = 7; } message GetRatingTagsReply{ - repeated string tags=1; -} \ No newline at end of file + repeated TagRatingOverview tags = 1; +} + + +message TagRatingOverview { + string DE = 1; + string EN = 2; +} + +message TagRatingResult { + string DE = 1; + string EN = 2; + int32 points = 3; +} + +message TagRating { + string tag = 1; + double points = 2; +} + +message TagRatingsResult { + string DE = 1; + string EN = 2; + double averagePoints = 3; + double standardDeviation = 4; + int32 minPoints = 5; + int32 maxPoints = 6; +} + + + +message GetCafeteriaResponse{ + repeated Cafeteria cafeteria = 1; +} + +message Cafeteria{ + string name = 1; + string address = 2; + double longitude = 3; + double latitude = 4; +} + + + diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index 88a743c0..46022225 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -31,12 +31,14 @@ type CampusClient interface { GetRoomMaps(ctx context.Context, in *GetRoomMapsRequest, opts ...grpc.CallOption) (*GetRoomMapsReply, error) GetRoomCoordinates(ctx context.Context, in *GetRoomCoordinatesRequest, opts ...grpc.CallOption) (*GetRoomCoordinatesReply, error) GetRoomSchedule(ctx context.Context, in *GetRoomScheduleRequest, opts ...grpc.CallOption) (*GetRoomScheduleReply, error) - GetCafeteriaRatingLastThree(ctx context.Context, in *GetCafeteriaRating, opts ...grpc.CallOption) (*GetCafeteriaRatingReply, error) - GetMealRatingLastThree(ctx context.Context, in *GetMealInCafeteriaRating, opts ...grpc.CallOption) (*GetMealInCafeteriaRatingReply, error) - NewCafeteriaRating(ctx context.Context, in *NewRating, opts ...grpc.CallOption) (*emptypb.Empty, error) - NewMealRating(ctx context.Context, in *NewRating, opts ...grpc.CallOption) (*emptypb.Empty, error) + // This endpoint retrieves Cafeteria Ratings from the Backend. + GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingResponse, error) + GetMealRatings(ctx context.Context, in *MealRatingRequest, opts ...grpc.CallOption) (*MealRatingResponse, error) + NewCafeteriaRating(ctx context.Context, in *NewCafeteriaRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + NewMealRating(ctx context.Context, in *NewMealRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) + GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) } type campusClient struct { @@ -110,25 +112,25 @@ func (c *campusClient) GetRoomSchedule(ctx context.Context, in *GetRoomScheduleR return out, nil } -func (c *campusClient) GetCafeteriaRatingLastThree(ctx context.Context, in *GetCafeteriaRating, opts ...grpc.CallOption) (*GetCafeteriaRatingReply, error) { - out := new(GetCafeteriaRatingReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetCafeteriaRatingLastThree", in, out, opts...) +func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingResponse, error) { + out := new(CafeteriaRatingResponse) + err := c.cc.Invoke(ctx, "/api.Campus/GetCafeteriaRatings", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetMealRatingLastThree(ctx context.Context, in *GetMealInCafeteriaRating, opts ...grpc.CallOption) (*GetMealInCafeteriaRatingReply, error) { - out := new(GetMealInCafeteriaRatingReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetMealRatingLastThree", in, out, opts...) +func (c *campusClient) GetMealRatings(ctx context.Context, in *MealRatingRequest, opts ...grpc.CallOption) (*MealRatingResponse, error) { + out := new(MealRatingResponse) + err := c.cc.Invoke(ctx, "/api.Campus/GetMealRatings", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) NewCafeteriaRating(ctx context.Context, in *NewRating, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *campusClient) NewCafeteriaRating(ctx context.Context, in *NewCafeteriaRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/api.Campus/NewCafeteriaRating", in, out, opts...) if err != nil { @@ -137,7 +139,7 @@ func (c *campusClient) NewCafeteriaRating(ctx context.Context, in *NewRating, op return out, nil } -func (c *campusClient) NewMealRating(ctx context.Context, in *NewRating, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *campusClient) NewMealRating(ctx context.Context, in *NewMealRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/api.Campus/NewMealRating", in, out, opts...) if err != nil { @@ -164,6 +166,15 @@ func (c *campusClient) GetAvailableCafeteriaTags(ctx context.Context, in *emptyp return out, nil } +func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) { + out := new(GetCafeteriaResponse) + err := c.cc.Invoke(ctx, "/api.Campus/GetCafeterias", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // CampusServer is the server API for Campus service. // All implementations must embed UnimplementedCampusServer // for forward compatibility @@ -176,12 +187,14 @@ type CampusServer interface { GetRoomMaps(context.Context, *GetRoomMapsRequest) (*GetRoomMapsReply, error) GetRoomCoordinates(context.Context, *GetRoomCoordinatesRequest) (*GetRoomCoordinatesReply, error) GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) - GetCafeteriaRatingLastThree(context.Context, *GetCafeteriaRating) (*GetCafeteriaRatingReply, error) - GetMealRatingLastThree(context.Context, *GetMealInCafeteriaRating) (*GetMealInCafeteriaRatingReply, error) - NewCafeteriaRating(context.Context, *NewRating) (*emptypb.Empty, error) - NewMealRating(context.Context, *NewRating) (*emptypb.Empty, error) + // This endpoint retrieves Cafeteria Ratings from the Backend. + GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) + GetMealRatings(context.Context, *MealRatingRequest) (*MealRatingResponse, error) + NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) + NewMealRating(context.Context, *NewMealRatingRequest) (*emptypb.Empty, error) GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) + GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) mustEmbedUnimplementedCampusServer() } @@ -210,16 +223,16 @@ func (UnimplementedCampusServer) GetRoomCoordinates(context.Context, *GetRoomCoo func (UnimplementedCampusServer) GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRoomSchedule not implemented") } -func (UnimplementedCampusServer) GetCafeteriaRatingLastThree(context.Context, *GetCafeteriaRating) (*GetCafeteriaRatingReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetCafeteriaRatingLastThree not implemented") +func (UnimplementedCampusServer) GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCafeteriaRatings not implemented") } -func (UnimplementedCampusServer) GetMealRatingLastThree(context.Context, *GetMealInCafeteriaRating) (*GetMealInCafeteriaRatingReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMealRatingLastThree not implemented") +func (UnimplementedCampusServer) GetMealRatings(context.Context, *MealRatingRequest) (*MealRatingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMealRatings not implemented") } -func (UnimplementedCampusServer) NewCafeteriaRating(context.Context, *NewRating) (*emptypb.Empty, error) { +func (UnimplementedCampusServer) NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method NewCafeteriaRating not implemented") } -func (UnimplementedCampusServer) NewMealRating(context.Context, *NewRating) (*emptypb.Empty, error) { +func (UnimplementedCampusServer) NewMealRating(context.Context, *NewMealRatingRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method NewMealRating not implemented") } func (UnimplementedCampusServer) GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { @@ -228,6 +241,9 @@ func (UnimplementedCampusServer) GetAvailableMealTags(context.Context, *emptypb. func (UnimplementedCampusServer) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAvailableCafeteriaTags not implemented") } +func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCafeterias not implemented") +} func (UnimplementedCampusServer) mustEmbedUnimplementedCampusServer() {} // UnsafeCampusServer may be embedded to opt out of forward compatibility for this service. @@ -367,44 +383,44 @@ func _Campus_GetRoomSchedule_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } -func _Campus_GetCafeteriaRatingLastThree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetCafeteriaRating) +func _Campus_GetCafeteriaRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CafeteriaRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetCafeteriaRatingLastThree(ctx, in) + return srv.(CampusServer).GetCafeteriaRatings(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetCafeteriaRatingLastThree", + FullMethod: "/api.Campus/GetCafeteriaRatings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetCafeteriaRatingLastThree(ctx, req.(*GetCafeteriaRating)) + return srv.(CampusServer).GetCafeteriaRatings(ctx, req.(*CafeteriaRatingRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetMealRatingLastThree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMealInCafeteriaRating) +func _Campus_GetMealRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MealRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetMealRatingLastThree(ctx, in) + return srv.(CampusServer).GetMealRatings(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetMealRatingLastThree", + FullMethod: "/api.Campus/GetMealRatings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMealRatingLastThree(ctx, req.(*GetMealInCafeteriaRating)) + return srv.(CampusServer).GetMealRatings(ctx, req.(*MealRatingRequest)) } return interceptor(ctx, in, info, handler) } func _Campus_NewCafeteriaRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewRating) + in := new(NewCafeteriaRatingRequest) if err := dec(in); err != nil { return nil, err } @@ -416,13 +432,13 @@ func _Campus_NewCafeteriaRating_Handler(srv interface{}, ctx context.Context, de FullMethod: "/api.Campus/NewCafeteriaRating", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).NewCafeteriaRating(ctx, req.(*NewRating)) + return srv.(CampusServer).NewCafeteriaRating(ctx, req.(*NewCafeteriaRatingRequest)) } return interceptor(ctx, in, info, handler) } func _Campus_NewMealRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewRating) + in := new(NewMealRatingRequest) if err := dec(in); err != nil { return nil, err } @@ -434,7 +450,7 @@ func _Campus_NewMealRating_Handler(srv interface{}, ctx context.Context, dec fun FullMethod: "/api.Campus/NewMealRating", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).NewMealRating(ctx, req.(*NewRating)) + return srv.(CampusServer).NewMealRating(ctx, req.(*NewMealRatingRequest)) } return interceptor(ctx, in, info, handler) } @@ -475,6 +491,24 @@ func _Campus_GetAvailableCafeteriaTags_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _Campus_GetCafeterias_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetCafeterias(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetCafeterias", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetCafeterias(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + // Campus_ServiceDesc is the grpc.ServiceDesc for Campus service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -511,12 +545,12 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetRoomSchedule_Handler, }, { - MethodName: "GetCafeteriaRatingLastThree", - Handler: _Campus_GetCafeteriaRatingLastThree_Handler, + MethodName: "GetCafeteriaRatings", + Handler: _Campus_GetCafeteriaRatings_Handler, }, { - MethodName: "GetMealRatingLastThree", - Handler: _Campus_GetMealRatingLastThree_Handler, + MethodName: "GetMealRatings", + Handler: _Campus_GetMealRatings_Handler, }, { MethodName: "NewCafeteriaRating", @@ -534,6 +568,10 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetAvailableCafeteriaTags", Handler: _Campus_GetAvailableCafeteriaTags_Handler, }, + { + MethodName: "GetCafeterias", + Handler: _Campus_GetCafeterias_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "CampusService.proto", diff --git a/api/buf.lock b/api/buf.lock index e0f49fb1..01d764b9 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: 7529bb85c9cd4c489dba05e04769c547 + commit: 18d0a6e7027c4a75811cd43a894346fe diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index f1c64c44..6b4eb713 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -17,6 +17,28 @@ "application/json" ], "paths": { + "/cafeteriaRating/cafeteria/allCafeterias": { + "get": { + "operationId": "Campus_GetCafeterias", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetCafeteriaResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, "/cafeteriaRating/cafeteria/allTags": { "get": { "operationId": "Campus_GetAvailableCafeteriaTags", @@ -41,12 +63,13 @@ }, "/cafeteriaRating/cafeteria/get": { "post": { - "operationId": "Campus_GetCafeteriaRatingLastThree", + "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", + "operationId": "Campus_GetCafeteriaRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetCafeteriaRatingReply" + "$ref": "#/definitions/apiCafeteriaRatingResponse" } }, "default": { @@ -62,7 +85,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiGetCafeteriaRating" + "$ref": "#/definitions/apiCafeteriaRatingRequest" } } ], @@ -94,7 +117,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiNewRating" + "$ref": "#/definitions/apiNewCafeteriaRatingRequest" } } ], @@ -105,12 +128,12 @@ }, "/cafeteriaRating/dish/get": { "post": { - "operationId": "Campus_GetMealRatingLastThree", + "operationId": "Campus_GetMealRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetMealInCafeteriaRatingReply" + "$ref": "#/definitions/apiMealRatingResponse" } }, "default": { @@ -126,7 +149,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiGetMealInCafeteriaRating" + "$ref": "#/definitions/apiMealRatingRequest" } } ], @@ -180,7 +203,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiNewRating" + "$ref": "#/definitions/apiNewMealRatingRequest" } } ], @@ -456,62 +479,83 @@ } } }, - "apiCafeteriaRating": { + "apiCafeteria": { "type": "object", "properties": { - "rating": { + "name": { + "type": "string" + }, + "address": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { "type": "number", "format": "double" + } + } + }, + "apiCafeteriaRating": { + "type": "object", + "properties": { + "points": { + "type": "integer", + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", - "format": "byte" + "format": "byte", + "title": "Optional JPEG image in Base64" }, - "tags": { + "comment": { + "type": "string", + "title": "Optional comment (max 256 chars)" + }, + "tagRating": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/apiTagRatingResult" } }, "cafeteriaVisitedAt": { "type": "string", "format": "date-time" - }, - "comment": { - "type": "string" - }, - "tagRating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRating" - } } } }, - "apiGetCafeteriaRating": { + "apiCafeteriaRatingRequest": { "type": "object", "properties": { "cafeteriaName": { - "type": "string" + "type": "string", + "title": "cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme)" }, "from": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" }, "to": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" }, "limit": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" } } }, - "apiGetCafeteriaRatingReply": { + "apiCafeteriaRatingResponse": { "type": "object", "properties": { "rating": { @@ -520,9 +564,38 @@ "$ref": "#/definitions/apiCafeteriaRating" } }, - "averageRating": { + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { "type": "number", "format": "double" + }, + "minPoints": { + "type": "integer", + "format": "int32" + }, + "maxPoints": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } + } + } + }, + "apiGetCafeteriaResponse": { + "type": "object", + "properties": { + "cafeteria": { + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } } }, @@ -557,57 +630,13 @@ } } }, - "apiGetMealInCafeteriaRating": { - "type": "object", - "properties": { - "cafeteriaName": { - "type": "string" - }, - "meal": { - "type": "string" - }, - "from": { - "type": "string", - "format": "date-time" - }, - "to": { - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "integer", - "format": "int32" - } - } - }, - "apiGetMealInCafeteriaRatingReply": { - "type": "object", - "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMealRating" - } - }, - "averageRating": { - "type": "number", - "format": "double" - }, - "tagRating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRating" - } - } - } - }, "apiGetRatingTagsReply": { "type": "object", "properties": { "tags": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/apiTagRatingOverview" } } } @@ -709,72 +738,166 @@ "apiMealRating": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "meal": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", - "format": "byte" + "format": "byte", + "title": "Optional JPEG image in Base64" }, - "tags": { + "comment": { + "type": "string", + "title": "Optional comment (max 256 chars)" + }, + "tagRating": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/apiTagRatingResult" } }, "cafeteriaVisitedAt": { "type": "string", "format": "date-time" + } + } + }, + "apiMealRatingRequest": { + "type": "object", + "properties": { + "cafeteriaName": { + "type": "string", + "title": "Mandatory Name of the cafeteria (EAT-API naming scheme)" }, - "comment": { - "type": "string" + "meal": { + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, - "tagRating": { + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + } + } + }, + "apiMealRatingResponse": { + "type": "object", + "properties": { + "rating": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiMealRating" + } + }, + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { + "type": "number", + "format": "double" + }, + "minPoints": { + "type": "integer", + "format": "int32" + }, + "maxPoints": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } + }, + "nameTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" } } } }, - "apiNewRating": { + "apiNewCafeteriaRatingRequest": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { "type": "string" }, - "meal": { - "type": "string" - }, "image": { - "type": "string" + "type": "string", + "format": "byte" }, "tags": { "type": "array", "items": { - "type": "string" - } + "$ref": "#/definitions/apiTagRating" + }, + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" }, - "cafeteriaVisitedAt": { + "comment": { "type": "string", - "format": "date-time" + "title": "Optional comment (max 256 chars)" + } + } + }, + "apiNewMealRatingRequest": { + "type": "object", + "properties": { + "points": { + "type": "integer", + "format": "int32", + "title": "number in the range 1-5" }, - "identifierOfUser": { - "type": "string" + "cafeteriaName": { + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + }, + "meal": { + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + }, + "image": { + "type": "string", + "format": "byte", + "title": "Optional JPEG image in Base64" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRating" + }, + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" } } }, @@ -861,12 +984,65 @@ "tag": { "type": "string" }, - "rating": { + "points": { "type": "number", "format": "double" } } }, + "apiTagRatingOverview": { + "type": "object", + "properties": { + "DE": { + "type": "string" + }, + "EN": { + "type": "string" + } + } + }, + "apiTagRatingResult": { + "type": "object", + "properties": { + "DE": { + "type": "string" + }, + "EN": { + "type": "string" + }, + "points": { + "type": "integer", + "format": "int32" + } + } + }, + "apiTagRatingsResult": { + "type": "object", + "properties": { + "DE": { + "type": "string" + }, + "EN": { + "type": "string" + }, + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { + "type": "number", + "format": "double" + }, + "minPoints": { + "type": "integer", + "format": "int32" + }, + "maxPoints": { + "type": "integer", + "format": "int32" + } + } + }, "protobufAny": { "type": "object", "properties": { diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index f1c64c44..6b4eb713 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -17,6 +17,28 @@ "application/json" ], "paths": { + "/cafeteriaRating/cafeteria/allCafeterias": { + "get": { + "operationId": "Campus_GetCafeterias", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetCafeteriaResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, "/cafeteriaRating/cafeteria/allTags": { "get": { "operationId": "Campus_GetAvailableCafeteriaTags", @@ -41,12 +63,13 @@ }, "/cafeteriaRating/cafeteria/get": { "post": { - "operationId": "Campus_GetCafeteriaRatingLastThree", + "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", + "operationId": "Campus_GetCafeteriaRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetCafeteriaRatingReply" + "$ref": "#/definitions/apiCafeteriaRatingResponse" } }, "default": { @@ -62,7 +85,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiGetCafeteriaRating" + "$ref": "#/definitions/apiCafeteriaRatingRequest" } } ], @@ -94,7 +117,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiNewRating" + "$ref": "#/definitions/apiNewCafeteriaRatingRequest" } } ], @@ -105,12 +128,12 @@ }, "/cafeteriaRating/dish/get": { "post": { - "operationId": "Campus_GetMealRatingLastThree", + "operationId": "Campus_GetMealRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetMealInCafeteriaRatingReply" + "$ref": "#/definitions/apiMealRatingResponse" } }, "default": { @@ -126,7 +149,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiGetMealInCafeteriaRating" + "$ref": "#/definitions/apiMealRatingRequest" } } ], @@ -180,7 +203,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiNewRating" + "$ref": "#/definitions/apiNewMealRatingRequest" } } ], @@ -456,62 +479,83 @@ } } }, - "apiCafeteriaRating": { + "apiCafeteria": { "type": "object", "properties": { - "rating": { + "name": { + "type": "string" + }, + "address": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { "type": "number", "format": "double" + } + } + }, + "apiCafeteriaRating": { + "type": "object", + "properties": { + "points": { + "type": "integer", + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", - "format": "byte" + "format": "byte", + "title": "Optional JPEG image in Base64" }, - "tags": { + "comment": { + "type": "string", + "title": "Optional comment (max 256 chars)" + }, + "tagRating": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/apiTagRatingResult" } }, "cafeteriaVisitedAt": { "type": "string", "format": "date-time" - }, - "comment": { - "type": "string" - }, - "tagRating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRating" - } } } }, - "apiGetCafeteriaRating": { + "apiCafeteriaRatingRequest": { "type": "object", "properties": { "cafeteriaName": { - "type": "string" + "type": "string", + "title": "cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme)" }, "from": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" }, "to": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" }, "limit": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" } } }, - "apiGetCafeteriaRatingReply": { + "apiCafeteriaRatingResponse": { "type": "object", "properties": { "rating": { @@ -520,9 +564,38 @@ "$ref": "#/definitions/apiCafeteriaRating" } }, - "averageRating": { + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { "type": "number", "format": "double" + }, + "minPoints": { + "type": "integer", + "format": "int32" + }, + "maxPoints": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } + } + } + }, + "apiGetCafeteriaResponse": { + "type": "object", + "properties": { + "cafeteria": { + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } } }, @@ -557,57 +630,13 @@ } } }, - "apiGetMealInCafeteriaRating": { - "type": "object", - "properties": { - "cafeteriaName": { - "type": "string" - }, - "meal": { - "type": "string" - }, - "from": { - "type": "string", - "format": "date-time" - }, - "to": { - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "integer", - "format": "int32" - } - } - }, - "apiGetMealInCafeteriaRatingReply": { - "type": "object", - "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMealRating" - } - }, - "averageRating": { - "type": "number", - "format": "double" - }, - "tagRating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRating" - } - } - } - }, "apiGetRatingTagsReply": { "type": "object", "properties": { "tags": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/apiTagRatingOverview" } } } @@ -709,72 +738,166 @@ "apiMealRating": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "meal": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", - "format": "byte" + "format": "byte", + "title": "Optional JPEG image in Base64" }, - "tags": { + "comment": { + "type": "string", + "title": "Optional comment (max 256 chars)" + }, + "tagRating": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/apiTagRatingResult" } }, "cafeteriaVisitedAt": { "type": "string", "format": "date-time" + } + } + }, + "apiMealRatingRequest": { + "type": "object", + "properties": { + "cafeteriaName": { + "type": "string", + "title": "Mandatory Name of the cafeteria (EAT-API naming scheme)" }, - "comment": { - "type": "string" + "meal": { + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, - "tagRating": { + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + } + } + }, + "apiMealRatingResponse": { + "type": "object", + "properties": { + "rating": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiMealRating" + } + }, + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { + "type": "number", + "format": "double" + }, + "minPoints": { + "type": "integer", + "format": "int32" + }, + "maxPoints": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } + }, + "nameTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" } } } }, - "apiNewRating": { + "apiNewCafeteriaRatingRequest": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { "type": "string" }, - "meal": { - "type": "string" - }, "image": { - "type": "string" + "type": "string", + "format": "byte" }, "tags": { "type": "array", "items": { - "type": "string" - } + "$ref": "#/definitions/apiTagRating" + }, + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" }, - "cafeteriaVisitedAt": { + "comment": { "type": "string", - "format": "date-time" + "title": "Optional comment (max 256 chars)" + } + } + }, + "apiNewMealRatingRequest": { + "type": "object", + "properties": { + "points": { + "type": "integer", + "format": "int32", + "title": "number in the range 1-5" }, - "identifierOfUser": { - "type": "string" + "cafeteriaName": { + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + }, + "meal": { + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + }, + "image": { + "type": "string", + "format": "byte", + "title": "Optional JPEG image in Base64" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRating" + }, + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" } } }, @@ -861,12 +984,65 @@ "tag": { "type": "string" }, - "rating": { + "points": { "type": "number", "format": "double" } } }, + "apiTagRatingOverview": { + "type": "object", + "properties": { + "DE": { + "type": "string" + }, + "EN": { + "type": "string" + } + } + }, + "apiTagRatingResult": { + "type": "object", + "properties": { + "DE": { + "type": "string" + }, + "EN": { + "type": "string" + }, + "points": { + "type": "integer", + "format": "int32" + } + } + }, + "apiTagRatingsResult": { + "type": "object", + "properties": { + "DE": { + "type": "string" + }, + "EN": { + "type": "string" + }, + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { + "type": "number", + "format": "double" + }, + "minPoints": { + "type": "integer", + "format": "int32" + }, + "maxPoints": { + "type": "integer", + "format": "int32" + } + } + }, "protobufAny": { "type": "object", "properties": { From 99a6302d57554fb1a62128c34c1ad2154fe984e8 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Thu, 14 Jul 2022 11:19:19 +0200 Subject: [PATCH 02/24] fixed merge error in proto file --- api/CampusService.proto | 218 ---------------------------------------- go.work.sum | 3 +- 2 files changed, 1 insertion(+), 220 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 4aba05bf..601743b7 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -66,224 +66,6 @@ service Campus { } - - // This endpoint retrieves Cafeteria Ratings from the Backend. - rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingResponse) { - option (google.api.http) = { - post: "/cafeteriaRating/cafeteria/get" - body: "*", - }; - } - - - - rpc GetMealRatings (MealRatingRequest) returns (MealRatingResponse) { - option (google.api.http) = { - post: "/cafeteriaRating/dish/get" - body: "*", - }; - } - - - - rpc NewCafeteriaRating (NewCafeteriaRatingRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/cafeteriaRating/cafeteria/newCafeteriaRating" - body: "*", - }; - } - - rpc NewMealRating (NewMealRatingRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - post: "/cafeteriaRating/meal/newMealRating" - body: "*", - }; - } - - rpc GetAvailableMealTags (google.protobuf.Empty) returns (GetRatingTagsReply) { - option (google.api.http) = { - get: "/cafeteriaRating/meal/allTags", - }; - } - - rpc GetAvailableCafeteriaTags (google.protobuf.Empty) returns (GetRatingTagsReply) { - option (google.api.http) = { - get: "/cafeteriaRating/cafeteria/allTags", - }; - } - - rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaResponse) { - option (google.api.http) = { - get: "/cafeteriaRating/cafeteria/allCafeterias", - }; - } - -} - -message GetRoomScheduleRequest { - int32 room = 1; - google.protobuf.Timestamp start = 2; - google.protobuf.Timestamp end = 3; -} - -message GetRoomScheduleReply { - message RoomScheduleEvent { - google.protobuf.Timestamp start = 1; - google.protobuf.Timestamp end = 2; - string title = 3; - int32 event_id = 4; - string course_code = 5; - } - repeated RoomScheduleEvent events = 1; -} - -message GetRoomCoordinatesRequest { - string arch_id = 1; -} - -message GetRoomCoordinatesReply { - string utm_zone = 1; - float utm_easting = 2; - float utm_northing = 3; -} - -message GetRoomMapsRequest { - string arch_id = 1; -} - -message GetRoomMapsReply { - message Map { - int64 map_id = 1; - string description = 2; - int64 scale = 3; - int64 width = 4; - int64 height = 5; - }; - repeated Map maps = 1; -} - -message GetLocationsRequest { - string location = 1; -} - -message GetLocationsReply { - message Location { - string location = 1; - string name = 2; - string lon = 3; - string lat = 4; - string radius = 5; - } - repeated Location locations = 1; -} - -message SearchRoomsRequest { - string query = 1; -} - -message SearchRoomsReply { - repeated Room rooms = 1; -} - -message Room { - int32 room_id = 1; - string room_code = 2; - string building_nr = 3; - string arch_id = 4; - string info = 5; - string address = 6; - string purpose = 7; - string campus = 8; - string name = 9; -} - -message NewsSourceArray { - repeated NewsSource sources = 1; -} - -message NewsSource { - string source = 1; - string title = 2; - string icon = 3; -} - -message GetTopNewsReply { - string image_url = 1; - string link = 2; - google.protobuf.Timestamp created = 3; - google.protobuf.Timestamp from = 4; - google.protobuf.Timestamp to = 5; -} - - -syntax = "proto3"; - -option go_package = "github.com/TUM-Dev/Campus-Backend/api"; -option java_multiple_files = true; -option java_package = "app.tum.campus.api"; -option java_outer_classname = "CampusApiProto"; -option csharp_namespace = "CampusApiProto"; - -package api; - -import "google/api/annotations.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -service Campus { - rpc GetTopNews (google.protobuf.Empty) returns (GetTopNewsReply) { - option (google.api.http) = { - get: "/news/top" - }; - } - - rpc GetNewsSources (google.protobuf.Empty) returns (NewsSourceArray) { - option (google.api.http) = { - get: "/news/sources", - response_body: "sources" - }; - } - - rpc SearchRooms (SearchRoomsRequest) returns (SearchRoomsReply) { - option (google.api.http) = { - post: "/roomfinder/room/search", - body: "*", - response_body: "rooms" - }; - } - - // a location is a campus location/building, e.g. "Garching Forschungszentrum" - rpc GetLocations (GetLocationsRequest) returns (GetLocationsReply) { - option (google.api.http) = { - get: "/locations/{location}", - response_body: "locations" - }; - } - - rpc GetRoomMaps (GetRoomMapsRequest) returns (GetRoomMapsReply) { - option (google.api.http) = { - post: "/roomfinder/maps", - body: "*", - response_body: "maps" - }; - } - - rpc GetRoomCoordinates (GetRoomCoordinatesRequest) returns (GetRoomCoordinatesReply) { - option (google.api.http) = { - post: "/roomfinder/room/coordinates", - body: "*" - }; - } - - rpc GetRoomSchedule (GetRoomScheduleRequest) returns (GetRoomScheduleReply) { - option (google.api.http) = { - post: "/roomfinder/room/scheduleById", - body: "*", - response_body: "events" - }; - } - - // This endpoint retrieves Cafeteria Ratings from the Backend. rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingResponse) { option (google.api.http) = { diff --git a/go.work.sum b/go.work.sum index aae1dcde..7741bf87 100644 --- a/go.work.sum +++ b/go.work.sum @@ -65,6 +65,7 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -160,9 +161,7 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 86904cd7feae264131b2861455d6e96b5c9de5d2 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sun, 17 Jul 2022 21:15:54 +0200 Subject: [PATCH 03/24] added new stubs for barrier free endpoints --- api/CampusService.pb.go | 1270 +++++++++++++++--- api/CampusService.pb.gw.go | 420 ++++++ api/CampusService.proto | 105 ++ api/CampusService_grpc.pb.go | 216 +++ api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 287 ++++ server/swagger/swagger.json | 287 ++++ 7 files changed, 2417 insertions(+), 170 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index 7c94668c..fb9b0c8b 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -1957,6 +1957,651 @@ func (x *Cafeteria) GetLatitude() float64 { return 0 } +type GetResponsiblePersonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResponsiblePerson []*ResponsiblePersonElement `protobuf:"bytes,1,rep,name=responsiblePerson,proto3" json:"responsiblePerson,omitempty"` +} + +func (x *GetResponsiblePersonResponse) Reset() { + *x = GetResponsiblePersonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetResponsiblePersonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResponsiblePersonResponse) ProtoMessage() {} + +func (x *GetResponsiblePersonResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetResponsiblePersonResponse.ProtoReflect.Descriptor instead. +func (*GetResponsiblePersonResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{29} +} + +func (x *GetResponsiblePersonResponse) GetResponsiblePerson() []*ResponsiblePersonElement { + if x != nil { + return x.ResponsiblePerson + } + return nil +} + +type ResponsiblePersonElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Telephone string `protobuf:"bytes,2,opt,name=telephone,proto3" json:"telephone,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + Faculty string `protobuf:"bytes,4,opt,name=faculty,proto3" json:"faculty,omitempty"` + TumID string `protobuf:"bytes,5,opt,name=tumID,proto3" json:"tumID,omitempty"` +} + +func (x *ResponsiblePersonElement) Reset() { + *x = ResponsiblePersonElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponsiblePersonElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponsiblePersonElement) ProtoMessage() {} + +func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponsiblePersonElement.ProtoReflect.Descriptor instead. +func (*ResponsiblePersonElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{30} +} + +func (x *ResponsiblePersonElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResponsiblePersonElement) GetTelephone() string { + if x != nil { + return x.Telephone + } + return "" +} + +func (x *ResponsiblePersonElement) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *ResponsiblePersonElement) GetFaculty() string { + if x != nil { + return x.Faculty + } + return "" +} + +func (x *ResponsiblePersonElement) GetTumID() string { + if x != nil { + return x.TumID + } + return "" +} + +type GetBuilding2GpsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Building2Gps []*Building2GpsElement `protobuf:"bytes,1,rep,name=building2Gps,proto3" json:"building2Gps,omitempty"` +} + +func (x *GetBuilding2GpsResponse) Reset() { + *x = GetBuilding2GpsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBuilding2GpsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBuilding2GpsResponse) ProtoMessage() {} + +func (x *GetBuilding2GpsResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBuilding2GpsResponse.ProtoReflect.Descriptor instead. +func (*GetBuilding2GpsResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{31} +} + +func (x *GetBuilding2GpsResponse) GetBuilding2Gps() []*Building2GpsElement { + if x != nil { + return x.Building2Gps + } + return nil +} + +type Building2GpsElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Latitude string `protobuf:"bytes,2,opt,name=latitude,proto3" json:"latitude,omitempty"` + Longitude string `protobuf:"bytes,3,opt,name=longitude,proto3" json:"longitude,omitempty"` +} + +func (x *Building2GpsElement) Reset() { + *x = Building2GpsElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Building2GpsElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Building2GpsElement) ProtoMessage() {} + +func (x *Building2GpsElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Building2GpsElement.ProtoReflect.Descriptor instead. +func (*Building2GpsElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{32} +} + +func (x *Building2GpsElement) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Building2GpsElement) GetLatitude() string { + if x != nil { + return x.Latitude + } + return "" +} + +func (x *Building2GpsElement) GetLongitude() string { + if x != nil { + return x.Longitude + } + return "" +} + +type GetAreaFacilitiesByBuildingNrResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AreaFacilitiesByBuildingNr []*RoomInformationElement `protobuf:"bytes,1,rep,name=areaFacilitiesByBuildingNr,proto3" json:"areaFacilitiesByBuildingNr,omitempty"` +} + +func (x *GetAreaFacilitiesByBuildingNrResponse) Reset() { + *x = GetAreaFacilitiesByBuildingNrResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAreaFacilitiesByBuildingNrResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAreaFacilitiesByBuildingNrResponse) ProtoMessage() {} + +func (x *GetAreaFacilitiesByBuildingNrResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAreaFacilitiesByBuildingNrResponse.ProtoReflect.Descriptor instead. +func (*GetAreaFacilitiesByBuildingNrResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{33} +} + +func (x *GetAreaFacilitiesByBuildingNrResponse) GetAreaFacilitiesByBuildingNr() []*RoomInformationElement { + if x != nil { + return x.AreaFacilitiesByBuildingNr + } + return nil +} + +type GetAreaFacilitiesByBuildingNrRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildingNr string `protobuf:"bytes,1,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` +} + +func (x *GetAreaFacilitiesByBuildingNrRequest) Reset() { + *x = GetAreaFacilitiesByBuildingNrRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAreaFacilitiesByBuildingNrRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAreaFacilitiesByBuildingNrRequest) ProtoMessage() {} + +func (x *GetAreaFacilitiesByBuildingNrRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAreaFacilitiesByBuildingNrRequest.ProtoReflect.Descriptor instead. +func (*GetAreaFacilitiesByBuildingNrRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{34} +} + +func (x *GetAreaFacilitiesByBuildingNrRequest) GetBuildingNr() string { + if x != nil { + return x.BuildingNr + } + return "" +} + +type GetListOfToiletsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ListOfToilets []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfToilets,proto3" json:"listOfToilets,omitempty"` +} + +func (x *GetListOfToiletsResponse) Reset() { + *x = GetListOfToiletsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetListOfToiletsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetListOfToiletsResponse) ProtoMessage() {} + +func (x *GetListOfToiletsResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetListOfToiletsResponse.ProtoReflect.Descriptor instead. +func (*GetListOfToiletsResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{35} +} + +func (x *GetListOfToiletsResponse) GetListOfToilets() []*RoomInformationElement { + if x != nil { + return x.ListOfToilets + } + return nil +} + +type RoomInformationElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` + RoomCode string `protobuf:"bytes,2,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` + BuildingNr string `protobuf:"bytes,3,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` + ArchId string `protobuf:"bytes,4,opt,name=arch_id,json=archId,proto3" json:"arch_id,omitempty"` + Info string `protobuf:"bytes,5,opt,name=info,proto3" json:"info,omitempty"` + Address string `protobuf:"bytes,6,opt,name=address,proto3" json:"address,omitempty"` + Purpose string `protobuf:"bytes,7,opt,name=purpose,proto3" json:"purpose,omitempty"` + Campus string `protobuf:"bytes,8,opt,name=campus,proto3" json:"campus,omitempty"` + Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RoomInformationElement) Reset() { + *x = RoomInformationElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RoomInformationElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoomInformationElement) ProtoMessage() {} + +func (x *RoomInformationElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoomInformationElement.ProtoReflect.Descriptor instead. +func (*RoomInformationElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{36} +} + +func (x *RoomInformationElement) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *RoomInformationElement) GetRoomCode() string { + if x != nil { + return x.RoomCode + } + return "" +} + +func (x *RoomInformationElement) GetBuildingNr() string { + if x != nil { + return x.BuildingNr + } + return "" +} + +func (x *RoomInformationElement) GetArchId() string { + if x != nil { + return x.ArchId + } + return "" +} + +func (x *RoomInformationElement) GetInfo() string { + if x != nil { + return x.Info + } + return "" +} + +func (x *RoomInformationElement) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *RoomInformationElement) GetPurpose() string { + if x != nil { + return x.Purpose + } + return "" +} + +func (x *RoomInformationElement) GetCampus() string { + if x != nil { + return x.Campus + } + return "" +} + +func (x *RoomInformationElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetListOfElevatorsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ListOfElevators []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfElevators,proto3" json:"listOfElevators,omitempty"` +} + +func (x *GetListOfElevatorsResponse) Reset() { + *x = GetListOfElevatorsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetListOfElevatorsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetListOfElevatorsResponse) ProtoMessage() {} + +func (x *GetListOfElevatorsResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetListOfElevatorsResponse.ProtoReflect.Descriptor instead. +func (*GetListOfElevatorsResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{37} +} + +func (x *GetListOfElevatorsResponse) GetListOfElevators() []*RoomInformationElement { + if x != nil { + return x.ListOfElevators + } + return nil +} + +type GetMoreInformationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Information []*MoreInformationElement `protobuf:"bytes,1,rep,name=information,proto3" json:"information,omitempty"` +} + +func (x *GetMoreInformationResponse) Reset() { + *x = GetMoreInformationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMoreInformationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMoreInformationResponse) ProtoMessage() {} + +func (x *GetMoreInformationResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMoreInformationResponse.ProtoReflect.Descriptor instead. +func (*GetMoreInformationResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{38} +} + +func (x *GetMoreInformationResponse) GetInformation() []*MoreInformationElement { + if x != nil { + return x.Information + } + return nil +} + +type MoreInformationElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` + Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *MoreInformationElement) Reset() { + *x = MoreInformationElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MoreInformationElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MoreInformationElement) ProtoMessage() {} + +func (x *MoreInformationElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MoreInformationElement.ProtoReflect.Descriptor instead. +func (*MoreInformationElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{39} +} + +func (x *MoreInformationElement) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *MoreInformationElement) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *MoreInformationElement) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + type GetRoomScheduleReply_RoomScheduleEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1972,7 +2617,7 @@ type GetRoomScheduleReply_RoomScheduleEvent struct { func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { *x = GetRoomScheduleReply_RoomScheduleEvent{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[29] + mi := &file_CampusService_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1985,7 +2630,7 @@ func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[29] + mi := &file_CampusService_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2051,7 +2696,7 @@ type GetRoomMapsReply_Map struct { func (x *GetRoomMapsReply_Map) Reset() { *x = GetRoomMapsReply_Map{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[30] + mi := &file_CampusService_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2064,7 +2709,7 @@ func (x *GetRoomMapsReply_Map) String() string { func (*GetRoomMapsReply_Map) ProtoMessage() {} func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[30] + mi := &file_CampusService_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2130,7 +2775,7 @@ type GetLocationsReply_Location struct { func (x *GetLocationsReply_Location) Reset() { *x = GetLocationsReply_Location{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[31] + mi := &file_CampusService_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2143,7 +2788,7 @@ func (x *GetLocationsReply_Location) String() string { func (*GetLocationsReply_Location) ProtoMessage() {} func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[31] + mi := &file_CampusService_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2473,112 +3118,238 @@ var file_CampusService_proto_rawDesc = []byte{ 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x32, 0xac, 0x0c, 0x0a, 0x06, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, - 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, - 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, - 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, - 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, - 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, - 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, - 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, - 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, - 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, - 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, - 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, - 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, - 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x7b, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, - 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x65, 0x22, 0x6b, 0x0a, 0x1c, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x22, 0x92, + 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x75, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x75, + 0x6d, 0x49, 0x44, 0x22, 0x57, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, + 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x13, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x84, 0x01, + 0x0a, 0x25, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, + 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, + 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x47, 0x0a, 0x24, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, + 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x5d, 0x0a, + 0x18, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x6c, 0x69, 0x73, + 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x6c, + 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, + 0x16, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x17, + 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x1a, 0x67, + 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x69, 0x73, + 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x22, 0x5b, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, + 0x0a, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, + 0x16, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x32, 0xfb, 0x11, 0x0a, 0x06, + 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, + 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, + 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, + 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, + 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, + 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, + 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, + 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, + 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x67, 0x65, + 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, + 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, + 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x2f, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, + 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x28, 0x22, 0x23, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, + 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, + 0x61, 0x6c, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, + 0x12, 0x22, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, + 0x12, 0x28, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x70, 0x0a, 0x14, 0x67, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, + 0x72, 0x65, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6d, 0x0a, 0x0f, + 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, + 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, + 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x1d, + 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, + 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, + 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, + 0x12, 0x6d, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, + 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, + 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, + 0x73, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, + 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, + 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x73, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 0x2f, 0x63, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0d, - 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, - 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, - 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, - 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, - 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, - 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, - 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, - 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, - 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, - 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, + 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, + 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, + 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, + 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, + 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -2593,7 +3364,7 @@ func file_CampusService_proto_rawDescGZIP() []byte { return file_CampusService_proto_rawDescData } -var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 32) +var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 43) var file_CampusService_proto_goTypes = []interface{}{ (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply @@ -2624,75 +3395,104 @@ var file_CampusService_proto_goTypes = []interface{}{ (*TagRatingsResult)(nil), // 26: api.TagRatingsResult (*GetCafeteriaResponse)(nil), // 27: api.GetCafeteriaResponse (*Cafeteria)(nil), // 28: api.Cafeteria - (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 29: api.GetRoomScheduleReply.RoomScheduleEvent - (*GetRoomMapsReply_Map)(nil), // 30: api.GetRoomMapsReply.Map - (*GetLocationsReply_Location)(nil), // 31: api.GetLocationsReply.Location - (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 33: google.protobuf.Empty + (*GetResponsiblePersonResponse)(nil), // 29: api.getResponsiblePersonResponse + (*ResponsiblePersonElement)(nil), // 30: api.ResponsiblePersonElement + (*GetBuilding2GpsResponse)(nil), // 31: api.getBuilding2GpsResponse + (*Building2GpsElement)(nil), // 32: api.Building2GpsElement + (*GetAreaFacilitiesByBuildingNrResponse)(nil), // 33: api.getAreaFacilitiesByBuildingNrResponse + (*GetAreaFacilitiesByBuildingNrRequest)(nil), // 34: api.getAreaFacilitiesByBuildingNrRequest + (*GetListOfToiletsResponse)(nil), // 35: api.getListOfToiletsResponse + (*RoomInformationElement)(nil), // 36: api.RoomInformationElement + (*GetListOfElevatorsResponse)(nil), // 37: api.getListOfElevatorsResponse + (*GetMoreInformationResponse)(nil), // 38: api.getMoreInformationResponse + (*MoreInformationElement)(nil), // 39: api.MoreInformationElement + (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 40: api.GetRoomScheduleReply.RoomScheduleEvent + (*GetRoomMapsReply_Map)(nil), // 41: api.GetRoomMapsReply.Map + (*GetLocationsReply_Location)(nil), // 42: api.GetLocationsReply.Location + (*timestamppb.Timestamp)(nil), // 43: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 44: google.protobuf.Empty } var file_CampusService_proto_depIdxs = []int32{ - 32, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp - 32, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp - 29, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent - 30, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map - 31, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location + 43, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp + 43, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp + 40, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent + 41, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map + 42, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource - 32, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp - 32, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp - 32, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp - 32, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp - 32, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp - 32, // 12: api.MealRatingRequest.from:type_name -> google.protobuf.Timestamp - 32, // 13: api.MealRatingRequest.to:type_name -> google.protobuf.Timestamp + 43, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp + 43, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp + 43, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp + 43, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp + 43, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp + 43, // 12: api.MealRatingRequest.from:type_name -> google.protobuf.Timestamp + 43, // 13: api.MealRatingRequest.to:type_name -> google.protobuf.Timestamp 18, // 14: api.CafeteriaRatingResponse.rating:type_name -> api.CafeteriaRating 26, // 15: api.CafeteriaRatingResponse.ratingTags:type_name -> api.TagRatingsResult 19, // 16: api.MealRatingResponse.rating:type_name -> api.MealRating 26, // 17: api.MealRatingResponse.ratingTags:type_name -> api.TagRatingsResult 26, // 18: api.MealRatingResponse.nameTags:type_name -> api.TagRatingsResult 24, // 19: api.CafeteriaRating.tagRating:type_name -> api.TagRatingResult - 32, // 20: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 43, // 20: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp 24, // 21: api.MealRating.tagRating:type_name -> api.TagRatingResult - 32, // 22: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 43, // 22: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp 25, // 23: api.NewCafeteriaRatingRequest.tags:type_name -> api.TagRating 25, // 24: api.NewMealRatingRequest.tags:type_name -> api.TagRating 23, // 25: api.GetRatingTagsReply.tags:type_name -> api.TagRatingOverview 28, // 26: api.GetCafeteriaResponse.cafeteria:type_name -> api.Cafeteria - 32, // 27: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp - 32, // 28: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp - 33, // 29: api.Campus.GetTopNews:input_type -> google.protobuf.Empty - 33, // 30: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty - 8, // 31: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest - 6, // 32: api.Campus.GetLocations:input_type -> api.GetLocationsRequest - 4, // 33: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest - 2, // 34: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest - 0, // 35: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest - 14, // 36: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest - 15, // 37: api.Campus.GetMealRatings:input_type -> api.MealRatingRequest - 20, // 38: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest - 21, // 39: api.Campus.NewMealRating:input_type -> api.NewMealRatingRequest - 33, // 40: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty - 33, // 41: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty - 33, // 42: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty - 13, // 43: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 44: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 45: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 46: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 47: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 48: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 49: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 50: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingResponse - 17, // 51: api.Campus.GetMealRatings:output_type -> api.MealRatingResponse - 33, // 52: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 33, // 53: api.Campus.NewMealRating:output_type -> google.protobuf.Empty - 22, // 54: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply - 22, // 55: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 27, // 56: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaResponse - 43, // [43:57] is the sub-list for method output_type - 29, // [29:43] is the sub-list for method input_type - 29, // [29:29] is the sub-list for extension type_name - 29, // [29:29] is the sub-list for extension extendee - 0, // [0:29] is the sub-list for field type_name + 30, // 27: api.getResponsiblePersonResponse.responsiblePerson:type_name -> api.ResponsiblePersonElement + 32, // 28: api.getBuilding2GpsResponse.building2Gps:type_name -> api.Building2GpsElement + 36, // 29: api.getAreaFacilitiesByBuildingNrResponse.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement + 36, // 30: api.getListOfToiletsResponse.listOfToilets:type_name -> api.RoomInformationElement + 36, // 31: api.getListOfElevatorsResponse.listOfElevators:type_name -> api.RoomInformationElement + 39, // 32: api.getMoreInformationResponse.information:type_name -> api.MoreInformationElement + 43, // 33: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp + 43, // 34: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp + 44, // 35: api.Campus.GetTopNews:input_type -> google.protobuf.Empty + 44, // 36: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty + 8, // 37: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest + 6, // 38: api.Campus.GetLocations:input_type -> api.GetLocationsRequest + 4, // 39: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest + 2, // 40: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest + 0, // 41: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest + 14, // 42: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest + 15, // 43: api.Campus.GetMealRatings:input_type -> api.MealRatingRequest + 20, // 44: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest + 21, // 45: api.Campus.NewMealRating:input_type -> api.NewMealRatingRequest + 44, // 46: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty + 44, // 47: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty + 44, // 48: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty + 44, // 49: api.Campus.getResponsiblePerson:input_type -> google.protobuf.Empty + 44, // 50: api.Campus.getBuilding2Gps:input_type -> google.protobuf.Empty + 34, // 51: api.Campus.getAreaFacilitiesByBuildingNr:input_type -> api.getAreaFacilitiesByBuildingNrRequest + 44, // 52: api.Campus.getListOfToilets:input_type -> google.protobuf.Empty + 44, // 53: api.Campus.getListOfElevators:input_type -> google.protobuf.Empty + 44, // 54: api.Campus.getMoreInformation:input_type -> google.protobuf.Empty + 13, // 55: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 56: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 57: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 58: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 59: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 60: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 61: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 62: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingResponse + 17, // 63: api.Campus.GetMealRatings:output_type -> api.MealRatingResponse + 44, // 64: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 44, // 65: api.Campus.NewMealRating:output_type -> google.protobuf.Empty + 22, // 66: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply + 22, // 67: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 27, // 68: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaResponse + 29, // 69: api.Campus.getResponsiblePerson:output_type -> api.getResponsiblePersonResponse + 31, // 70: api.Campus.getBuilding2Gps:output_type -> api.getBuilding2GpsResponse + 33, // 71: api.Campus.getAreaFacilitiesByBuildingNr:output_type -> api.getAreaFacilitiesByBuildingNrResponse + 35, // 72: api.Campus.getListOfToilets:output_type -> api.getListOfToiletsResponse + 37, // 73: api.Campus.getListOfElevators:output_type -> api.getListOfElevatorsResponse + 38, // 74: api.Campus.getMoreInformation:output_type -> api.getMoreInformationResponse + 55, // [55:75] is the sub-list for method output_type + 35, // [35:55] is the sub-list for method input_type + 35, // [35:35] is the sub-list for extension type_name + 35, // [35:35] is the sub-list for extension extendee + 0, // [0:35] is the sub-list for field type_name } func init() { file_CampusService_proto_init() } @@ -3050,7 +3850,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { + switch v := v.(*GetResponsiblePersonResponse); i { case 0: return &v.state case 1: @@ -3062,7 +3862,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsReply_Map); i { + switch v := v.(*ResponsiblePersonElement); i { case 0: return &v.state case 1: @@ -3074,6 +3874,138 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBuilding2GpsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Building2GpsElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAreaFacilitiesByBuildingNrResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAreaFacilitiesByBuildingNrRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetListOfToiletsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RoomInformationElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetListOfElevatorsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMoreInformationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MoreInformationElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsReply_Map); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLocationsReply_Location); i { case 0: return &v.state @@ -3092,7 +4024,7 @@ func file_CampusService_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_CampusService_proto_rawDesc, NumEnums: 0, - NumMessages: 32, + NumMessages: 43, NumExtensions: 0, NumServices: 1, }, diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index c5376279..87a0c1b0 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -446,6 +446,132 @@ func local_request_Campus_GetCafeterias_0(ctx context.Context, marshaler runtime } +func request_Campus_GetResponsiblePerson_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetResponsiblePerson(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetResponsiblePerson_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetResponsiblePerson(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetBuilding2Gps_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetBuilding2Gps(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetBuilding2Gps_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetBuilding2Gps(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_GetAreaFacilitiesByBuildingNr_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAreaFacilitiesByBuildingNrRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetAreaFacilitiesByBuildingNr(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAreaFacilitiesByBuildingNrRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetAreaFacilitiesByBuildingNr(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetListOfToilets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetListOfToilets(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetListOfElevators(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetListOfElevators(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetMoreInformation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetMoreInformation(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". // UnaryRPC :call CampusServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -788,6 +914,150 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1123,6 +1393,132 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1199,6 +1595,18 @@ var ( pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allTags"}, "")) pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allCafeterias"}, "")) + + pattern_Campus_GetResponsiblePerson_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "contacts"}, "")) + + pattern_Campus_GetBuilding2Gps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "getBuilding2Gps"}, "")) + + pattern_Campus_GetAreaFacilitiesByBuildingNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "nerby"}, "")) + + pattern_Campus_GetListOfToilets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfToilets"}, "")) + + pattern_Campus_GetListOfElevators_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfElevators"}, "")) + + pattern_Campus_GetMoreInformation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "moreInformation"}, "")) ) var ( @@ -1229,4 +1637,16 @@ var ( forward_Campus_GetAvailableCafeteriaTags_0 = runtime.ForwardResponseMessage forward_Campus_GetCafeterias_0 = runtime.ForwardResponseMessage + + forward_Campus_GetResponsiblePerson_0 = runtime.ForwardResponseMessage + + forward_Campus_GetBuilding2Gps_0 = runtime.ForwardResponseMessage + + forward_Campus_GetAreaFacilitiesByBuildingNr_0 = runtime.ForwardResponseMessage + + forward_Campus_GetListOfToilets_0 = runtime.ForwardResponseMessage + + forward_Campus_GetListOfElevators_0 = runtime.ForwardResponseMessage + + forward_Campus_GetMoreInformation_0 = runtime.ForwardResponseMessage ) diff --git a/api/CampusService.proto b/api/CampusService.proto index 601743b7..23637ac2 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -116,6 +116,43 @@ service Campus { }; } + + + rpc getResponsiblePerson (google.protobuf.Empty) returns (getResponsiblePersonResponse) { + option (google.api.http) = { + get: "/barrierfree/contacts", + }; + } + + rpc getBuilding2Gps (google.protobuf.Empty) returns (getBuilding2GpsResponse) { + option (google.api.http) = { + get: "/barrierfree/getBuilding2Gps", + }; + } + + rpc getAreaFacilitiesByBuildingNr (getAreaFacilitiesByBuildingNrRequest) returns (getAreaFacilitiesByBuildingNrResponse) { + option (google.api.http) = { + get: "/barrierfree/nerby", + }; + } + + rpc getListOfToilets (google.protobuf.Empty) returns (getListOfToiletsResponse) { + option (google.api.http) = { + get: "/barrierfree/listOfToilets", + }; + } + + rpc getListOfElevators (google.protobuf.Empty) returns (getListOfElevatorsResponse) { + option (google.api.http) = { + get: "/barrierfree/listOfElevators", + }; + } + + rpc getMoreInformation (google.protobuf.Empty) returns (getMoreInformationResponse) { + option (google.api.http) = { + get: "/barrierfree/moreInformation", + }; + } } message GetRoomScheduleRequest { @@ -362,3 +399,71 @@ message Cafeteria{ +message getResponsiblePersonResponse { + repeated ResponsiblePersonElement responsiblePerson = 1; +} + +message ResponsiblePersonElement{ + string name = 1; + string telephone = 2; + string email = 3; + string faculty = 4; + string tumID = 5; + +} + +message getBuilding2GpsResponse { + repeated Building2GpsElement building2Gps = 1; +} + +message Building2GpsElement{ + string id=1; + string latitude=2; + string longitude=3; + +} + +message getAreaFacilitiesByBuildingNrResponse { + repeated RoomInformationElement areaFacilitiesByBuildingNr = 1; +} + + + +message getAreaFacilitiesByBuildingNrRequest { + string building_nr = 1; +} + +message getListOfToiletsResponse { + repeated RoomInformationElement listOfToilets = 1; +} + +message RoomInformationElement{ + int32 room_id = 1; + string room_code = 2; + string building_nr = 3; + string arch_id = 4; + string info = 5; + string address = 6; + string purpose = 7; + string campus = 8; + string name = 9; +} + +message getListOfElevatorsResponse { + repeated RoomInformationElement listOfElevators = 1; +} + + + +message getMoreInformationResponse { + repeated MoreInformationElement information = 1; +} + +message MoreInformationElement{ + string title = 1; + string category = 2; + string url = 3; +} + + + diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index 46022225..7c29ebef 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -39,6 +39,12 @@ type CampusClient interface { GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) + GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonResponse, error) + GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsResponse, error) + GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrResponse, error) + GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsResponse, error) + GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsResponse, error) + GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationResponse, error) } type campusClient struct { @@ -175,6 +181,60 @@ func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opt return out, nil } +func (c *campusClient) GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonResponse, error) { + out := new(GetResponsiblePersonResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getResponsiblePerson", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsResponse, error) { + out := new(GetBuilding2GpsResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getBuilding2Gps", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrResponse, error) { + out := new(GetAreaFacilitiesByBuildingNrResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getAreaFacilitiesByBuildingNr", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsResponse, error) { + out := new(GetListOfToiletsResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getListOfToilets", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsResponse, error) { + out := new(GetListOfElevatorsResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getListOfElevators", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationResponse, error) { + out := new(GetMoreInformationResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getMoreInformation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // CampusServer is the server API for Campus service. // All implementations must embed UnimplementedCampusServer // for forward compatibility @@ -195,6 +255,12 @@ type CampusServer interface { GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) + GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonResponse, error) + GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsResponse, error) + GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrResponse, error) + GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsResponse, error) + GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsResponse, error) + GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationResponse, error) mustEmbedUnimplementedCampusServer() } @@ -244,6 +310,24 @@ func (UnimplementedCampusServer) GetAvailableCafeteriaTags(context.Context, *emp func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCafeterias not implemented") } +func (UnimplementedCampusServer) GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetResponsiblePerson not implemented") +} +func (UnimplementedCampusServer) GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBuilding2Gps not implemented") +} +func (UnimplementedCampusServer) GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAreaFacilitiesByBuildingNr not implemented") +} +func (UnimplementedCampusServer) GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetListOfToilets not implemented") +} +func (UnimplementedCampusServer) GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetListOfElevators not implemented") +} +func (UnimplementedCampusServer) GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMoreInformation not implemented") +} func (UnimplementedCampusServer) mustEmbedUnimplementedCampusServer() {} // UnsafeCampusServer may be embedded to opt out of forward compatibility for this service. @@ -509,6 +593,114 @@ func _Campus_GetCafeterias_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Campus_GetResponsiblePerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetResponsiblePerson(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getResponsiblePerson", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetResponsiblePerson(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetBuilding2Gps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetBuilding2Gps(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getBuilding2Gps", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetBuilding2Gps(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetAreaFacilitiesByBuildingNr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAreaFacilitiesByBuildingNrRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetAreaFacilitiesByBuildingNr(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getAreaFacilitiesByBuildingNr", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetAreaFacilitiesByBuildingNr(ctx, req.(*GetAreaFacilitiesByBuildingNrRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetListOfToilets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetListOfToilets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getListOfToilets", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetListOfToilets(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetListOfElevators_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetListOfElevators(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getListOfElevators", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetListOfElevators(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetMoreInformation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetMoreInformation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getMoreInformation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetMoreInformation(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + // Campus_ServiceDesc is the grpc.ServiceDesc for Campus service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -572,6 +764,30 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetCafeterias", Handler: _Campus_GetCafeterias_Handler, }, + { + MethodName: "getResponsiblePerson", + Handler: _Campus_GetResponsiblePerson_Handler, + }, + { + MethodName: "getBuilding2Gps", + Handler: _Campus_GetBuilding2Gps_Handler, + }, + { + MethodName: "getAreaFacilitiesByBuildingNr", + Handler: _Campus_GetAreaFacilitiesByBuildingNr_Handler, + }, + { + MethodName: "getListOfToilets", + Handler: _Campus_GetListOfToilets_Handler, + }, + { + MethodName: "getListOfElevators", + Handler: _Campus_GetListOfElevators_Handler, + }, + { + MethodName: "getMoreInformation", + Handler: _Campus_GetMoreInformation_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "CampusService.proto", diff --git a/api/buf.lock b/api/buf.lock index 01d764b9..432e5196 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: 18d0a6e7027c4a75811cd43a894346fe + commit: bab7e2fd165a45d2a08d4f2fd277c224 diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index 6b4eb713..966a46a2 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -17,6 +17,146 @@ "application/json" ], "paths": { + "/barrierfree/contacts": { + "get": { + "operationId": "Campus_getResponsiblePerson", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetResponsiblePersonResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/getBuilding2Gps": { + "get": { + "operationId": "Campus_getBuilding2Gps", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetBuilding2GpsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/listOfElevators": { + "get": { + "operationId": "Campus_getListOfElevators", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetListOfElevatorsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/listOfToilets": { + "get": { + "operationId": "Campus_getListOfToilets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetListOfToiletsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/moreInformation": { + "get": { + "operationId": "Campus_getMoreInformation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetMoreInformationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/nerby": { + "get": { + "operationId": "Campus_getAreaFacilitiesByBuildingNr", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetAreaFacilitiesByBuildingNrResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "buildingNr", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, "/cafeteriaRating/cafeteria/allCafeterias": { "get": { "operationId": "Campus_GetCafeterias", @@ -479,6 +619,20 @@ } } }, + "apiBuilding2GpsElement": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "latitude": { + "type": "string" + }, + "longitude": { + "type": "string" + } + } + }, "apiCafeteria": { "type": "object", "properties": { @@ -839,6 +993,20 @@ } } }, + "apiMoreInformationElement": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "category": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, "apiNewCafeteriaRatingRequest": { "type": "object", "properties": { @@ -926,6 +1094,26 @@ } } }, + "apiResponsiblePersonElement": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "telephone": { + "type": "string" + }, + "email": { + "type": "string" + }, + "faculty": { + "type": "string" + }, + "tumID": { + "type": "string" + } + } + }, "apiRoom": { "type": "object", "properties": { @@ -959,6 +1147,39 @@ } } }, + "apiRoomInformationElement": { + "type": "object", + "properties": { + "roomId": { + "type": "integer", + "format": "int32" + }, + "roomCode": { + "type": "string" + }, + "buildingNr": { + "type": "string" + }, + "archId": { + "type": "string" + }, + "info": { + "type": "string" + }, + "address": { + "type": "string" + }, + "purpose": { + "type": "string" + }, + "campus": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, "apiSearchRoomsReply": { "type": "object", "properties": { @@ -1043,6 +1264,72 @@ } } }, + "apigetAreaFacilitiesByBuildingNrResponse": { + "type": "object", + "properties": { + "areaFacilitiesByBuildingNr": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetBuilding2GpsResponse": { + "type": "object", + "properties": { + "building2Gps": { + "type": "array", + "items": { + "$ref": "#/definitions/apiBuilding2GpsElement" + } + } + } + }, + "apigetListOfElevatorsResponse": { + "type": "object", + "properties": { + "listOfElevators": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetListOfToiletsResponse": { + "type": "object", + "properties": { + "listOfToilets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetMoreInformationResponse": { + "type": "object", + "properties": { + "information": { + "type": "array", + "items": { + "$ref": "#/definitions/apiMoreInformationElement" + } + } + } + }, + "apigetResponsiblePersonResponse": { + "type": "object", + "properties": { + "responsiblePerson": { + "type": "array", + "items": { + "$ref": "#/definitions/apiResponsiblePersonElement" + } + } + } + }, "protobufAny": { "type": "object", "properties": { diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index 6b4eb713..966a46a2 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -17,6 +17,146 @@ "application/json" ], "paths": { + "/barrierfree/contacts": { + "get": { + "operationId": "Campus_getResponsiblePerson", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetResponsiblePersonResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/getBuilding2Gps": { + "get": { + "operationId": "Campus_getBuilding2Gps", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetBuilding2GpsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/listOfElevators": { + "get": { + "operationId": "Campus_getListOfElevators", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetListOfElevatorsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/listOfToilets": { + "get": { + "operationId": "Campus_getListOfToilets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetListOfToiletsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/moreInformation": { + "get": { + "operationId": "Campus_getMoreInformation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetMoreInformationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/nerby": { + "get": { + "operationId": "Campus_getAreaFacilitiesByBuildingNr", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetAreaFacilitiesByBuildingNrResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "buildingNr", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, "/cafeteriaRating/cafeteria/allCafeterias": { "get": { "operationId": "Campus_GetCafeterias", @@ -479,6 +619,20 @@ } } }, + "apiBuilding2GpsElement": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "latitude": { + "type": "string" + }, + "longitude": { + "type": "string" + } + } + }, "apiCafeteria": { "type": "object", "properties": { @@ -839,6 +993,20 @@ } } }, + "apiMoreInformationElement": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "category": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, "apiNewCafeteriaRatingRequest": { "type": "object", "properties": { @@ -926,6 +1094,26 @@ } } }, + "apiResponsiblePersonElement": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "telephone": { + "type": "string" + }, + "email": { + "type": "string" + }, + "faculty": { + "type": "string" + }, + "tumID": { + "type": "string" + } + } + }, "apiRoom": { "type": "object", "properties": { @@ -959,6 +1147,39 @@ } } }, + "apiRoomInformationElement": { + "type": "object", + "properties": { + "roomId": { + "type": "integer", + "format": "int32" + }, + "roomCode": { + "type": "string" + }, + "buildingNr": { + "type": "string" + }, + "archId": { + "type": "string" + }, + "info": { + "type": "string" + }, + "address": { + "type": "string" + }, + "purpose": { + "type": "string" + }, + "campus": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, "apiSearchRoomsReply": { "type": "object", "properties": { @@ -1043,6 +1264,72 @@ } } }, + "apigetAreaFacilitiesByBuildingNrResponse": { + "type": "object", + "properties": { + "areaFacilitiesByBuildingNr": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetBuilding2GpsResponse": { + "type": "object", + "properties": { + "building2Gps": { + "type": "array", + "items": { + "$ref": "#/definitions/apiBuilding2GpsElement" + } + } + } + }, + "apigetListOfElevatorsResponse": { + "type": "object", + "properties": { + "listOfElevators": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetListOfToiletsResponse": { + "type": "object", + "properties": { + "listOfToilets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetMoreInformationResponse": { + "type": "object", + "properties": { + "information": { + "type": "array", + "items": { + "$ref": "#/definitions/apiMoreInformationElement" + } + } + } + }, + "apigetResponsiblePersonResponse": { + "type": "object", + "properties": { + "responsiblePerson": { + "type": "array", + "items": { + "$ref": "#/definitions/apiResponsiblePersonElement" + } + } + } + }, "protobufAny": { "type": "object", "properties": { From 12bd481c9c47f13459d3c60d1340f6a4c86dc0e5 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Thu, 21 Jul 2022 17:03:18 +0200 Subject: [PATCH 04/24] changed language fields to iso names (lowercase) --- api/CampusService.proto | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 23637ac2..3786fd8f 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -360,13 +360,13 @@ message GetRatingTagsReply{ message TagRatingOverview { - string DE = 1; - string EN = 2; + string de = 1; + string en = 2; } message TagRatingResult { - string DE = 1; - string EN = 2; + string de = 1; + string en = 2; int32 points = 3; } @@ -376,8 +376,8 @@ message TagRating { } message TagRatingsResult { - string DE = 1; - string EN = 2; + string de = 1; + string en = 2; double averagePoints = 3; double standardDeviation = 4; int32 minPoints = 5; From 3f81fd21280ad13accf05a6d94b4760ae22cb206 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 09:49:33 +0200 Subject: [PATCH 05/24] added stubs without messages --- api/CampusService.proto | 87 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/api/CampusService.proto b/api/CampusService.proto index 3786fd8f..2263d164 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -153,6 +153,93 @@ service Campus { get: "/barrierfree/moreInformation", }; } + + + rpc getOpeningTimes (GetOpeningTimesRequest) returns (GetOpeningTimesResponse) { + option (google.api.http) = { + get: "/openingtimes/:language", + }; + } + + + rpc getUpdateNote (GetUpdateNoteRequest) returns (GetUpdateNoteResponse) { + option (google.api.http) = { + get: "/updatenote/:version", + }; + } + + + rpc getStudyRoomList (GetStudyRoomListRequest) returns (GetStudyRoomListResponse) { + option (google.api.http) = { + get: "/studyroom/list", + }; + } + + rpc getEventList(GetEventListRequest) returns (GetEventListResponse) { + option (google.api.http) = { + get: "/event/list", + }; + } + + rpc postEventTicketMy(PostEventTicketMyRequest) returns (PostEventTicketMyResponse) { + option (google.api.http) = { + post: "/event/ticket/my", + }; + } + + rpc postEventTicket(PostEventTicketRequest) returns (PostEventTicketResponse) { + option (google.api.http) = { + post: "/event/ticket/:ticket_id", + }; + } + + rpc getEventTicketType(GetEventTicketTypeRequest) returns (GetEventTicketTypeResponse) { + option (google.api.http) = { + get: "/event/ticket/type/:event_id", + }; + } + + rpc postEventTicketReserveMultiple(PostEventTicketReserveMultipleRequest) returns (PostEventTicketReserveMultipleResponse) { + option (google.api.http) = { + post: "/event/ticket/reserve/multiple", + }; + } + + rpc postEventTicketPaymentStripePurchaseMultiple(PostEventTicketPaymentStripePurchaseMultiple) returns (PostEventTicketPaymentStripePurchaseMultiple) { + option (google.api.http) = { + post: "/event/ticket/payment/stripe/purchase/multiple", + }; + } + + rpc postEventTicketPaymentStripeEphermalKeyTicket(PostEventTicketPaymentStripeEphermalKeyRequest) returns (PostEventTicketPaymentStripeEphermalKeyResponse) { + option (google.api.http) = { + post: "/event/ticket/payment/stripe/ephemeralkey", + }; + } + + rpc getEventTicketStatus(GetEventTicketStatusRequest) returns (GetEventTicketStatusResponse) { + option (google.api.http) = { + get: "/event/ticket/status/:event_id", + }; + } + + rpc getKino(GetKinoRequest) returns (GetKinoResponse) { + option (google.api.http) = { + get: "/kino/:last_id", + }; + } + + rpc postFeedback(PostFeedbackRequest) returns (PostFeedbackResponse) { + option (google.api.http) = { + post: "/feedback", + }; + } + + rpc postFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackIDImageNrResponse) { + option (google.api.http) = { + post: "/feedback/:id/:image_nr", + }; + } } message GetRoomScheduleRequest { From a95e3db8f642c0b2eb993bed4271391e3559e2d3 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 10:00:45 +0200 Subject: [PATCH 06/24] converted meal -> dish, unified ratingTag naming scheme --- api/CampusService.proto | 72 ++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 2263d164..b59e04e6 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -75,7 +75,7 @@ service Campus { } - rpc GetMealRatings (MealRatingRequest) returns (MealRatingResponse) { + rpc GetDishRatings (DishRatingRequest) returns (DishRatingResponse) { option (google.api.http) = { post: "/cafeteriaRating/dish/get" body: "*", @@ -91,16 +91,16 @@ service Campus { }; } - rpc NewMealRating (NewMealRatingRequest) returns (google.protobuf.Empty) { + rpc NewDishRating (NewDishRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { - post: "/cafeteriaRating/meal/newMealRating" + post: "/cafeteriaRating/dish/newDishRating" body: "*", }; } - rpc GetAvailableMealTags (google.protobuf.Empty) returns (GetRatingTagsReply) { + rpc GetAvailableDishTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { - get: "/cafeteriaRating/meal/allTags", + get: "/cafeteriaRating/dish/allTags", }; } @@ -350,11 +350,11 @@ message CafeteriaRatingRequest { int32 limit = 4; } -message MealRatingRequest { +message DishRatingRequest { // Mandatory Name of the cafeteria (EAT-API naming scheme) string cafeteriaName = 1; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string meal = 2; + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + string dish = 2; // Optional Parameter to define an interval for the ratings (Lower bound) google.protobuf.Timestamp from = 3; // Optional Parameter to define an interval for the ratings (Upper bound) @@ -369,18 +369,18 @@ message CafeteriaRatingResponse { double standardDeviation = 3; int32 minPoints = 4; int32 maxPoints = 5; - repeated TagRatingsResult ratingTags = 6; + repeated RatingTagResult ratingTags = 6; } -message MealRatingResponse { - repeated MealRating rating = 1; +message DishRatingResponse { + repeated DishRating rating = 1; double averagePoints = 2; double standardDeviation = 3; int32 minPoints = 4; int32 maxPoints = 5; - repeated TagRatingsResult ratingTags = 6; - repeated TagRatingsResult nameTags = 7; + repeated RatingTagResult ratingTags = 6; + repeated RatingTagResult nameTags = 7; } @@ -389,28 +389,28 @@ message MealRatingResponse { message CafeteriaRating{ // number in the range 1-5 int32 points = 1; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa string cafeteriaName = 2; // Optional JPEG image in Base64 bytes image = 3; // Optional comment (max 256 chars) string comment = 4; - repeated TagRatingResult tagRating = 5; + repeated RatingTagNewRequest ratingTags = 5; google.protobuf.Timestamp cafeteriaVisitedAt = 6; } -message MealRating{ +message DishRating{ // number in the range 1-5 int32 points = 1; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa string cafeteriaName = 2; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string meal = 3; + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + string dish = 3; // Optional JPEG image in Base64 bytes image = 4; // Optional comment (max 256 chars) string comment = 5; - repeated TagRatingResult tagRating = 6; + repeated RatingTagNewRequest ratingTags = 6; google.protobuf.Timestamp cafeteriaVisitedAt = 7; } @@ -421,48 +421,48 @@ message NewCafeteriaRatingRequest{ string cafeteriaName = 2; bytes image = 3; // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags - repeated TagRating tags = 4; + repeated RatingTag ratingTags = 4; // Optional comment (max 256 chars) string comment = 6; } -message NewMealRatingRequest{ +message NewDishRatingRequest{ // number in the range 1-5 int32 points = 1; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa string cafeteriaName = 2; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string meal = 3; + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + string dish = 3; // Optional JPEG image in Base64 bytes image = 4; - // Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags - repeated TagRating tags = 5; + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags + repeated RatingTag ratingTags = 5; // Optional comment (max 256 chars) string comment = 7; } message GetRatingTagsReply{ - repeated TagRatingOverview tags = 1; + repeated RatingTagsOverview ratingTags = 1; } -message TagRatingOverview { +message RatingTagsOverview { string de = 1; string en = 2; } -message TagRatingResult { +message RatingTag { + string tag = 1; + double points = 2; +} + +message RatingTagNewRequest { string de = 1; string en = 2; int32 points = 3; } -message TagRating { - string tag = 1; - double points = 2; -} - -message TagRatingsResult { +message RatingTagResult { string de = 1; string en = 2; double averagePoints = 3; From e2cb358de9fd91b7a0deb3c02dd841e4f59a8ad4 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 10:13:55 +0200 Subject: [PATCH 07/24] rating tags with ids, removed unnecessary fields --- api/CampusService.proto | 88 ++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 54 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index b59e04e6..33ffe8a8 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -340,8 +340,8 @@ message GetTopNewsReply { message CafeteriaRatingRequest { - // cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme) - string cafeteriaName = 1; + // cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") + string cafeteriaId = 1; // Optional Parameter to define an interval for the ratings (Lower bound) google.protobuf.Timestamp from = 2; // Optional Parameter to define an interval for the ratings (Upper bound) @@ -351,8 +351,8 @@ message CafeteriaRatingRequest { } message DishRatingRequest { - // Mandatory Name of the cafeteria (EAT-API naming scheme) - string cafeteriaName = 1; + // Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") + string cafeteriaId = 1; // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa string dish = 2; // Optional Parameter to define an interval for the ratings (Lower bound) @@ -364,61 +364,42 @@ message DishRatingRequest { } message CafeteriaRatingResponse { - repeated CafeteriaRating rating = 1; - double averagePoints = 2; - double standardDeviation = 3; - int32 minPoints = 4; - int32 maxPoints = 5; + repeated SingleRatingResponse rating = 1; + double avg = 2; + double std = 3; + int32 min = 4; + int32 max = 5; repeated RatingTagResult ratingTags = 6; } message DishRatingResponse { - repeated DishRating rating = 1; - double averagePoints = 2; - double standardDeviation = 3; - int32 minPoints = 4; - int32 maxPoints = 5; + repeated SingleRatingResponse rating = 1; + double avg = 2; + double std = 3; + int32 min = 4; + int32 max = 5; repeated RatingTagResult ratingTags = 6; repeated RatingTagResult nameTags = 7; } - - -message CafeteriaRating{ - // number in the range 1-5 - int32 points = 1; - // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa - string cafeteriaName = 2; - // Optional JPEG image in Base64 - bytes image = 3; - // Optional comment (max 256 chars) - string comment = 4; - repeated RatingTagNewRequest ratingTags = 5; - google.protobuf.Timestamp cafeteriaVisitedAt = 6; -} - -message DishRating{ +message SingleRatingResponse{ // number in the range 1-5 int32 points = 1; - // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa - string cafeteriaName = 2; - // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa - string dish = 3; // Optional JPEG image in Base64 - bytes image = 4; + bytes image = 2; // Optional comment (max 256 chars) - string comment = 5; - repeated RatingTagNewRequest ratingTags = 6; - google.protobuf.Timestamp cafeteriaVisitedAt = 7; + string comment = 3; + repeated RatingTagNewRequest ratingTags = 4; + google.protobuf.Timestamp visited = 5; } message NewCafeteriaRatingRequest{ // number in the range 1-5 int32 points = 1; - string cafeteriaName = 2; + string cafeteriaId = 2; bytes image = 3; // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags repeated RatingTag ratingTags = 4; @@ -429,8 +410,8 @@ message NewCafeteriaRatingRequest{ message NewDishRatingRequest{ // number in the range 1-5 int32 points = 1; - // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa - string cafeteriaName = 2; + // Mandatory Name of the dish (EAT-API naming scheme "MENSA_GARCHING") Must be available int the given mensa + string cafeteriaId = 2; // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa string dish = 3; // Optional JPEG image in Base64 @@ -447,28 +428,27 @@ message GetRatingTagsReply{ message RatingTagsOverview { - string de = 1; - string en = 2; + int32 tagId= 1; + string de = 2; + string en = 3; } message RatingTag { - string tag = 1; + int32 tagId= 1; double points = 2; } message RatingTagNewRequest { - string de = 1; - string en = 2; - int32 points = 3; + int32 tagId= 1; + int32 points = 2; } message RatingTagResult { - string de = 1; - string en = 2; - double averagePoints = 3; - double standardDeviation = 4; - int32 minPoints = 5; - int32 maxPoints = 6; + int32 tagId= 1; + double avg = 2; + double std = 3; + int32 min = 4; + int32 max = 5; } @@ -478,7 +458,7 @@ message GetCafeteriaResponse{ } message Cafeteria{ - string name = 1; + string id = 1; string address = 2; double longitude = 3; double latitude = 4; From 8deac5009c52ebc14cb82ed4a6c195e9d56f6769 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 10:37:14 +0200 Subject: [PATCH 08/24] added getDishes endpoint --- api/CampusService.proto | 46 ++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 33ffe8a8..79aebcfd 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -69,7 +69,7 @@ service Campus { // This endpoint retrieves Cafeteria Ratings from the Backend. rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingResponse) { option (google.api.http) = { - post: "/cafeteriaRating/cafeteria/get" + post: "/cafeteria/rating/get", body: "*", }; } @@ -77,7 +77,7 @@ service Campus { rpc GetDishRatings (DishRatingRequest) returns (DishRatingResponse) { option (google.api.http) = { - post: "/cafeteriaRating/dish/get" + post: "/dish/rating/get", body: "*", }; } @@ -86,33 +86,48 @@ service Campus { rpc NewCafeteriaRating (NewCafeteriaRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { - post: "/cafeteriaRating/cafeteria/newCafeteriaRating" + post: "/cafeteria/rating/new", body: "*", }; } rpc NewDishRating (NewDishRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { - post: "/cafeteriaRating/dish/newDishRating" + post: "/dish/rating/new", body: "*", }; } rpc GetAvailableDishTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { - get: "/cafeteriaRating/dish/allTags", + get: "/dish/rating/allTags", + body: "*", + response_body: "ratingTags" }; } rpc GetAvailableCafeteriaTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { - get: "/cafeteriaRating/cafeteria/allTags", + get: "/cafeteria/rating/allTags", + body: "*", + response_body: "ratingTags" }; } rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaResponse) { option (google.api.http) = { - get: "/cafeteriaRating/cafeteria/allCafeterias", + get: "/cafeteria/allCafeterias", + body: "*", + response_body: "cafeteria" + }; + } + + + rpc GetDishes (GetDishesRequest) returns (GetDishesResponse) { + option (google.api.http) = { + get: "/dish/allDishes", + body: "*", + response_body: "dish" }; } @@ -240,6 +255,8 @@ service Campus { post: "/feedback/:id/:image_nr", }; } + + } message GetRoomScheduleRequest { @@ -465,6 +482,21 @@ message Cafeteria{ } +message GetDishesRequestRequest{ + string cafeteriaId = 1; + int32 year = 2; + int32 month = 3; + int32 day = 4; +} + +message GetDishesRequestResponse{ + repeated string dish = 1; +} + + + + + message getResponsiblePersonResponse { repeated ResponsiblePersonElement responsiblePerson = 1; From a6cbe87344645cc0c59bb45b5c911653167d54c1 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 11:44:16 +0200 Subject: [PATCH 09/24] added remaining stubs from issue without messages --- api/CampusService.proto | 204 +++++++++++++++++++++++++++++++--------- 1 file changed, 159 insertions(+), 45 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 79aebcfd..abce7c31 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -67,7 +67,7 @@ service Campus { // This endpoint retrieves Cafeteria Ratings from the Backend. - rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingResponse) { + rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingReply) { option (google.api.http) = { post: "/cafeteria/rating/get", body: "*", @@ -75,7 +75,7 @@ service Campus { } - rpc GetDishRatings (DishRatingRequest) returns (DishRatingResponse) { + rpc GetDishRatings (DishRatingRequest) returns (DishRatingReply) { option (google.api.http) = { post: "/dish/rating/get", body: "*", @@ -114,7 +114,7 @@ service Campus { }; } - rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaResponse) { + rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaReply) { option (google.api.http) = { get: "/cafeteria/allCafeterias", body: "*", @@ -123,7 +123,7 @@ service Campus { } - rpc GetDishes (GetDishesRequest) returns (GetDishesResponse) { + rpc GetDishes (GetDishesRequest) returns (GetDishesReply) { option (google.api.http) = { get: "/dish/allDishes", body: "*", @@ -133,130 +133,244 @@ service Campus { - rpc getResponsiblePerson (google.protobuf.Empty) returns (getResponsiblePersonResponse) { + rpc GetResponsiblePerson (google.protobuf.Empty) returns (GetResponsiblePersonReply) { option (google.api.http) = { get: "/barrierfree/contacts", }; } - rpc getBuilding2Gps (google.protobuf.Empty) returns (getBuilding2GpsResponse) { + rpc GetBuilding2Gps (google.protobuf.Empty) returns (GetBuilding2GpsReply) { option (google.api.http) = { get: "/barrierfree/getBuilding2Gps", }; } - rpc getAreaFacilitiesByBuildingNr (getAreaFacilitiesByBuildingNrRequest) returns (getAreaFacilitiesByBuildingNrResponse) { + rpc GetAreaFacilitiesByBuildingNr (GetAreaFacilitiesByBuildingNrRequest) returns (GetAreaFacilitiesByBuildingNrReply) { option (google.api.http) = { get: "/barrierfree/nerby", }; } - rpc getListOfToilets (google.protobuf.Empty) returns (getListOfToiletsResponse) { + rpc GetListOfToilets (google.protobuf.Empty) returns (GetListOfToiletsReply) { option (google.api.http) = { get: "/barrierfree/listOfToilets", }; } - rpc getListOfElevators (google.protobuf.Empty) returns (getListOfElevatorsResponse) { + rpc GetListOfElevators (google.protobuf.Empty) returns (GetListOfElevatorsReply) { option (google.api.http) = { get: "/barrierfree/listOfElevators", }; } - rpc getMoreInformation (google.protobuf.Empty) returns (getMoreInformationResponse) { + rpc GetMoreInformation (google.protobuf.Empty) returns (GetMoreInformationReply) { option (google.api.http) = { get: "/barrierfree/moreInformation", }; } - rpc getOpeningTimes (GetOpeningTimesRequest) returns (GetOpeningTimesResponse) { + rpc GetOpeningTimes (GetOpeningTimesRequest) returns (GetOpeningTimesReply) { option (google.api.http) = { - get: "/openingtimes/:language", + Get: "/openingtimes/{language}", }; } - rpc getUpdateNote (GetUpdateNoteRequest) returns (GetUpdateNoteResponse) { + rpc GetUpdateNote (GetUpdateNoteRequest) returns (GetUpdateNoteReply) { option (google.api.http) = { - get: "/updatenote/:version", + get: "/updatenote/{version}", }; } - rpc getStudyRoomList (GetStudyRoomListRequest) returns (GetStudyRoomListResponse) { + rpc GetStudyRoomList (GetStudyRoomListRequest) returns (GetStudyRoomListReply) { option (google.api.http) = { get: "/studyroom/list", }; } - rpc getEventList(GetEventListRequest) returns (GetEventListResponse) { + rpc GetEventList(GetEventListRequest) returns (GetEventListReply) { option (google.api.http) = { get: "/event/list", }; } - rpc postEventTicketMy(PostEventTicketMyRequest) returns (PostEventTicketMyResponse) { + rpc PostEventTicketMy(PostEventTicketMyRequest) returns (PostEventTicketMyReply) { option (google.api.http) = { post: "/event/ticket/my", }; } - rpc postEventTicket(PostEventTicketRequest) returns (PostEventTicketResponse) { + rpc PostEventTicket(PostEventTicketRequest) returns (PostEventTicketReply) { option (google.api.http) = { - post: "/event/ticket/:ticket_id", + post: "/event/ticket/{ticket_id}", }; } - rpc getEventTicketType(GetEventTicketTypeRequest) returns (GetEventTicketTypeResponse) { + rpc GetEventTicketType(GetEventTicketTypeRequest) returns (GetEventTicketTypeReply) { option (google.api.http) = { - get: "/event/ticket/type/:event_id", + get: "/event/ticket/type/{event_id}", }; } - rpc postEventTicketReserveMultiple(PostEventTicketReserveMultipleRequest) returns (PostEventTicketReserveMultipleResponse) { + rpc PostEventTicketReserveMultiple(PostEventTicketReserveMultipleRequest) returns (PostEventTicketReserveMultipleReply) { option (google.api.http) = { post: "/event/ticket/reserve/multiple", }; } - rpc postEventTicketPaymentStripePurchaseMultiple(PostEventTicketPaymentStripePurchaseMultiple) returns (PostEventTicketPaymentStripePurchaseMultiple) { + rpc PostEventTicketPaymentStripePurchaseMultiple(PostEventTicketPaymentStripePurchaseMultiple) returns (PostEventTicketPaymentStripePurchaseMultiple) { option (google.api.http) = { post: "/event/ticket/payment/stripe/purchase/multiple", }; } - rpc postEventTicketPaymentStripeEphermalKeyTicket(PostEventTicketPaymentStripeEphermalKeyRequest) returns (PostEventTicketPaymentStripeEphermalKeyResponse) { + rpc PostEventTicketPaymentStripeEphermalKeyTicket(PostEventTicketPaymentStripeEphermalKeyRequest) returns (PostEventTicketPaymentStripeEphermalKeyReply) { option (google.api.http) = { post: "/event/ticket/payment/stripe/ephemeralkey", }; } - rpc getEventTicketStatus(GetEventTicketStatusRequest) returns (GetEventTicketStatusResponse) { + rpc GetEventTicketStatus(GetEventTicketStatusRequest) returns (GetEventTicketStatusReply) { option (google.api.http) = { - get: "/event/ticket/status/:event_id", + get: "/event/ticket/status/{event_id}", }; } - rpc getKino(GetKinoRequest) returns (GetKinoResponse) { + rpc GetKino(GetKinoRequest) returns (GetKinoReply) { option (google.api.http) = { - get: "/kino/:last_id", + get: "/kino/{last_id}", }; } - rpc postFeedback(PostFeedbackRequest) returns (PostFeedbackResponse) { + rpc PostFeedback(PostFeedbackRequest) returns (PostFeedbackReply) { option (google.api.http) = { post: "/feedback", }; } - rpc postFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackIDImageNrResponse) { + rpc PostFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackIDImageNrReply) { option (google.api.http) = { - post: "/feedback/:id/:image_nr", + post: "/feedback/{id}/{image_nr}", }; } + rpc PostDeviceRegister(PostDeviceRegisterRequest) returns (PostDeviceRegisterReply) { + option (google.api.http) = { + post: "/device/register", + }; + } + + rpc GetDeviceVerifyKey(GetDeviceVerifyKeyRequest) returns (GetDeviceVerifyKeyReply) { + option (google.api.http) = { + get: "/device/verifyKey", + }; + } + + rpc PostDeviceAddGcmToken(PostDeviceAddGcmTokenRequest) returns (PostDeviceAddGcmTokenReply) { + option (google.api.http) = { + post: "/device/addGcmToken", + }; + } + + rpc GetDeviceUploaded(GetDeviceUploadedRequest) returns (GetDeviceUploadedReply) { + option (google.api.http) = { + get: "/device/uploaded/{lrz_id}", + }; + } + + + rpc GetNotifications(GetNotificationsRequest) returns (GetNotificationsReply) { + option (google.api.http) = { + get: "/notifications", + }; + } + + rpc GetNotificationsConfirm(GetNotificationsConfirmRequest) returns (GetNotificationsConfirmReply) { + option (google.api.http) = { + get: "/notifications/confirm/{notification_id}", + }; + } + + rpc GetMembers(GetMembersRequest) returns (GetMembersReply) { + option (google.api.http) = { + get: "/members/{lrz_id}", + }; + } + + rpc PostChatRooms(PostChatRoomsRequest) returns (PostChatRoomsReply) { + option (google.api.http) = { + post: "/chat/rooms/", + }; + } + + rpc GetChatRoomsRoomId(GetChatRoomsRoomIdRequest) returns (GetChatRoomsRoomIdReply) { + option (google.api.http) = { + get: "/chat/rooms/{room_id}", + }; + } + + rpc PostChatRoomsRoomIdLeave(PostChatRoomsRoomIdLeaveRequest) returns (PostChatRoomsRoomIdLeaveReply) { + option (google.api.http) = { + post: "/chat/rooms/{room_id}/leave", + }; + } + rpc PostChatRoomsRoomIdAdd(PostChatRoomsRoomIdAddRequest) returns (PostChatRoomsRoomIdAddReply) { + option (google.api.http) = { + post: "/chat/rooms/{room_id}", + }; + } + + rpc PutChatRoomsRoomIdMessage(PutChatRoomsRoomIdMessageRequest) returns (PutChatRoomsIdRoomMessageReply) { + option (google.api.http) = { + put: "/chat/rooms/{room_id}/message/", + }; + } + + rpc PutChatRoomsRoomIdMessageMessageId(PutChatRoomsRoomIdMessageMessageIdRequest) returns (PutChatRoomsRoomIdMessageMessageIdReply) { + option (google.api.http) = { + put: "/chat/rooms/{room_id}/message/{message_id}", + }; + } + + rpc PostChatRoomsRoomIdMessagesPage(PostChatRoomsRoomIdMessagesPageRequest) returns (PostChatRoomsRoomIdMessagesPageReply) { + option (google.api.http) = { + post: "/chat/rooms/{room_id}/messages/{page}", + }; + } + + rpc PostChatRoomsRoomIdMessages(PostChatRoomsRoomIdMessagesRequest) returns (PostChatRoomsRoomIdMessagesReply) { + option (google.api.http) = { + post: "/chat/rooms/{room_id}/messages", + }; + } + + + rpc PostChatMembers(PostChatMembersRequest) returns (PostChatMembersReply) { + option (google.api.http) = { + post: "/chat/members", + }; + } + + rpc GetChatMembersLrzId(GetChatMembersLrzIdRequest) returns (GetChatMembersLrzIdReply) { + option (google.api.http) = { + get: "/chat/members/{lrz_id}", + }; + } + + rpc GetChatMembersSearch(GetChatMembersSearchRequest) returns (GetChatMembersSearchReply) { + option (google.api.http) = { + get: "/chat/members/search/{query}", + }; + } + + rpc PostChatMembersUserIdRooms(PostChatMembersUserIdRoomsRequest) returns (PostChatMembersUserIdRoomsReply) { + option (google.api.http) = { + post: "/chat/members/{user_id}/rooms", + }; + } } message GetRoomScheduleRequest { @@ -380,8 +494,8 @@ message DishRatingRequest { int32 limit = 5; } -message CafeteriaRatingResponse { - repeated SingleRatingResponse rating = 1; +message CafeteriaRatingReply { + repeated SingleRatingReply rating = 1; double avg = 2; double std = 3; int32 min = 4; @@ -390,8 +504,8 @@ message CafeteriaRatingResponse { } -message DishRatingResponse { - repeated SingleRatingResponse rating = 1; +message DishRatingReply { + repeated SingleRatingReply rating = 1; double avg = 2; double std = 3; int32 min = 4; @@ -401,7 +515,7 @@ message DishRatingResponse { } -message SingleRatingResponse{ +message SingleRatingReply{ // number in the range 1-5 int32 points = 1; // Optional JPEG image in Base64 @@ -470,7 +584,7 @@ message RatingTagResult { -message GetCafeteriaResponse{ +message GetCafeteriaReply{ repeated Cafeteria cafeteria = 1; } @@ -489,7 +603,7 @@ message GetDishesRequestRequest{ int32 day = 4; } -message GetDishesRequestResponse{ +message GetDishesRequestReply{ repeated string dish = 1; } @@ -498,7 +612,7 @@ message GetDishesRequestResponse{ -message getResponsiblePersonResponse { +message GetResponsiblePersonReply { repeated ResponsiblePersonElement responsiblePerson = 1; } @@ -511,7 +625,7 @@ message ResponsiblePersonElement{ } -message getBuilding2GpsResponse { +message GetBuilding2GpsReply { repeated Building2GpsElement building2Gps = 1; } @@ -522,17 +636,17 @@ message Building2GpsElement{ } -message getAreaFacilitiesByBuildingNrResponse { +message GetAreaFacilitiesByBuildingNrReply { repeated RoomInformationElement areaFacilitiesByBuildingNr = 1; } -message getAreaFacilitiesByBuildingNrRequest { +message GetAreaFacilitiesByBuildingNrRequest { string building_nr = 1; } -message getListOfToiletsResponse { +message GetListOfToiletsReply { repeated RoomInformationElement listOfToilets = 1; } @@ -548,13 +662,13 @@ message RoomInformationElement{ string name = 9; } -message getListOfElevatorsResponse { +message GetListOfElevatorsReply { repeated RoomInformationElement listOfElevators = 1; } -message getMoreInformationResponse { +message GetMoreInformationReply { repeated MoreInformationElement information = 1; } From d05a8a8b3ea058ca3bb10306608aec9c7a2db80d Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 13:00:36 +0200 Subject: [PATCH 10/24] added messages until kino stub --- api/CampusService.proto | 181 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 168 insertions(+), 13 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index abce7c31..64057119 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -184,7 +184,7 @@ service Campus { } - rpc GetStudyRoomList (GetStudyRoomListRequest) returns (GetStudyRoomListReply) { + rpc GetStudyRoomList (google.protobuf.Empty) returns (GetStudyRoomListReply) { option (google.api.http) = { get: "/studyroom/list", }; @@ -196,19 +196,20 @@ service Campus { }; } - rpc PostEventTicketMy(PostEventTicketMyRequest) returns (PostEventTicketMyReply) { + // todo check again + rpc PostEventTicketMy(google.protobuf.Empty) returns (PostEventTicketMyReply) { option (google.api.http) = { post: "/event/ticket/my", }; } - rpc PostEventTicket(PostEventTicketRequest) returns (PostEventTicketReply) { + rpc PostEventTicket(PostEventTicketRequest) returns (EventListMsgElement) { option (google.api.http) = { post: "/event/ticket/{ticket_id}", }; } - rpc GetEventTicketType(GetEventTicketTypeRequest) returns (GetEventTicketTypeReply) { + rpc GetEventTicketType(PostEventTicketRequest) returns (GetEventTicketTypeReply) { option (google.api.http) = { get: "/event/ticket/type/{event_id}", }; @@ -559,23 +560,23 @@ message GetRatingTagsReply{ message RatingTagsOverview { - int32 tagId= 1; + int32 tagId = 1; string de = 2; string en = 3; } message RatingTag { - int32 tagId= 1; + int32 tagId = 1; double points = 2; } message RatingTagNewRequest { - int32 tagId= 1; + int32 tagId = 1; int32 points = 2; } message RatingTagResult { - int32 tagId= 1; + int32 tagId = 1; double avg = 2; double std = 3; int32 min = 4; @@ -596,14 +597,14 @@ message Cafeteria{ } -message GetDishesRequestRequest{ +message GetDishesRequest{ string cafeteriaId = 1; int32 year = 2; int32 month = 3; int32 day = 4; } -message GetDishesRequestReply{ +message GetDishesReply{ repeated string dish = 1; } @@ -630,9 +631,9 @@ message GetBuilding2GpsReply { } message Building2GpsElement{ - string id=1; - string latitude=2; - string longitude=3; + string id = 1; + string latitude = 2; + string longitude = 3; } @@ -679,4 +680,158 @@ message MoreInformationElement{ } +message GetOpeningTimesRequest{ + string language = 1; +} + + + +message GetOpeningTimesReply{ + repeated OpeningTimesMsgElement facilities = 1; + +} + +message OpeningTimesMsgElement{ + int32 id = 1; + string category = 2; + string name = 3; + string address = 4; + string room = 5; + string transport_station = 6; + string opening_hours = 7; + string infos = 8; + string url = 9; + string language = 10; + int32 reference_id = 11; +} + +message GetUpdateNoteRequest{ + int32 versionCode = 1; +} + +message GetUpdateNoteReply{ + string message = 1; +} + +message GetStudyRoomListReply{ + repeated StudyRoomMsgElement rooms = 1; + +} +message StudyRoomMsgElement{ + int32 id = 1; + string name = 2; + string details = 3; + repeated StudyRoom rooms = 4; +} + +message StudyRoom{ + int32 group_id = 1; + int32 room_id = 2; + string room_code = 3; + string room_name = 4; + string building_name = 5; +} +message GetEventListRequest{ + // optional parameter, will return all events if no id is specified + int32 eventId = 1; +} + +message GetEventListReply{ + repeated EventListMsgElement events = 1; +} + +message EventListMsgElement{ + string name = 1; + string path = 2; + int32 event = 3; + int32 news = 4; + int32 kino = 5; + int32 file = 6; + string title = 7; + string description = 8; + string locality = 9; + string link = 10; + google.protobuf.Timestamp start = 11; + google.protobuf.Timestamp end = 12; + int32 ticket_group = 13; +} + + +message PostEventTicketMyReply{ + repeated EventTicketMyMsgElement myTickets = 1; +} + +message EventTicketMyMsgElement{ + int32 ticket_history = 1; + int32 ticket_type = 2; + google.protobuf.Timestamp redemption = 3; + string code = 4; + int32 event = 5; +} + +message PostEventTicketRequest { + int32 id = 1; +} + +message GetEventTicketTypeReply{ + repeated EventTicketTypeMsgElement eventTickets = 1; + +} +message EventTicketTypeMsgElement{ + int32 ticket_type = 1; + int32 event = 2; + int32 ticket_payment = 3; + int32 price = 4; + int32 contingent = 5; + string description = 6; + EventTicketPaymentMsg payment = 7; + int32 sold = 8; +} + +message EventTicketPaymentMsg{ + string stripe_publishable_key = 1; + string terms = 2; + int32 minTickets = 3; + int32 maxTickets = 4; +} + +message PostEventTicketReserveMultipleRequest{ + repeated int32 ticketTypes = 1; + repeated int32 amounts = 2; +} + +message PostEventTicketReserveMultipleReply{ + repeated EventTicketReserveMultipleMsgElement tickets = 1; +} + +message EventTicketReserveMultipleMsgElement{ + int32 ticket_ids = 1; +} + +message GetKinoRequest{ + int32 id = 1; +} + +message GetKinoReply{ + repeated KinoMsgElement kinos = 1; +} + +message KinoMsgElement{ + string name = 1; + string path = 2; + int32 kino = 3; + google.protobuf.Timestamp date = 4; + google.protobuf.Timestamp created = 5; + string title = 6; + string year = 7; + string runtime = 8; + string genre = 9; + string director = 10; + string actors = 11; + string rating = 12; + string description = 13; + int32 cover = 14; + string trailer = 15; + string link = 16; +} \ No newline at end of file From 3193dbd64371c997c77fc5734cc6f5ad83d1baf8 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 14:07:07 +0200 Subject: [PATCH 11/24] added more messages to stubs --- api/CampusService.proto | 78 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 71 insertions(+), 7 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 64057119..cd05c017 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -251,7 +251,7 @@ service Campus { }; } - rpc PostFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackIDImageNrReply) { + rpc PostFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackReply) { option (google.api.http) = { post: "/feedback/{id}/{image_nr}", }; @@ -301,26 +301,26 @@ service Campus { }; } - rpc PostChatRooms(PostChatRoomsRequest) returns (PostChatRoomsReply) { + rpc PostChatRooms(google.protobuf.Empty) returns (PostChatRoomsReply) { option (google.api.http) = { post: "/chat/rooms/", }; } - rpc GetChatRoomsRoomId(GetChatRoomsRoomIdRequest) returns (GetChatRoomsRoomIdReply) { + rpc GetChatRoomsRoomId(GetChatRoomsRoomIdRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { get: "/chat/rooms/{room_id}", }; } - rpc PostChatRoomsRoomIdLeave(PostChatRoomsRoomIdLeaveRequest) returns (PostChatRoomsRoomIdLeaveReply) { + rpc PostChatRoomsRoomIdLeave(PostChatRoomsRoomIdLeaveRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { post: "/chat/rooms/{room_id}/leave", }; } - rpc PostChatRoomsRoomIdAdd(PostChatRoomsRoomIdAddRequest) returns (PostChatRoomsRoomIdAddReply) { + rpc PostChatRoomsRoomIdAdd(PostChatRoomsRoomIdAddRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { - post: "/chat/rooms/{room_id}", + post: "/chat/rooms/{room_id}/add/{member}", }; } @@ -834,4 +834,68 @@ message KinoMsgElement{ int32 cover = 14; string trailer = 15; string link = 16; -} \ No newline at end of file +} + +message PostFeedbackRequest{ + string topic = 1; + string email = 2; + string emailId = 3; + string message = 4; + int32 image_count = 5; + double latitude = 6; + double longitude = 7; + string osVersion = 8; + string appVersion = 9; + + +} + +message PostFeedbackReply{ + string status = 1; +} + +message PostFeedbackIDImageNrRequest{ + int32 id = 1; + int32 imageNr = 2; + //todo wo kommt das eigentliche file her? +} + + +message GetMembersRequest{ + string lrzId = 1; +} + +message GetMembersReply{ + string lrzId = 1; + string name = 2; + int32 member = 3; +} + + + +message PostChatRoomsReply{ + repeated ChatRoomsMsgElement rooms = 1; +} + +message ChatRoomsMsgElement{ + int32 id = 1; + string name = 2; + string semester = 3; + string title = 4; + int32 members = 5; +} + +message GetChatRoomsRoomIdRequest{ + int32 roomId = 1; +} + + +message PostChatRoomsRoomIdLeaveRequest{ + int32 roomId = 1; +} + +message PostChatRoomsRoomIdAddRequest{ + int32 room=1; + int32 member=2; +} + From f0344b526959ff13cb42fea5b29edf68de65521a Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 16:53:00 +0200 Subject: [PATCH 12/24] added all messages except device stubs --- api/CampusService.proto | 124 ++++++++++++++++++++++++++++++++++------ 1 file changed, 107 insertions(+), 17 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index cd05c017..733ca201 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -132,7 +132,6 @@ service Campus { } - rpc GetResponsiblePerson (google.protobuf.Empty) returns (GetResponsiblePersonReply) { option (google.api.http) = { get: "/barrierfree/contacts", @@ -221,13 +220,13 @@ service Campus { }; } - rpc PostEventTicketPaymentStripePurchaseMultiple(PostEventTicketPaymentStripePurchaseMultiple) returns (PostEventTicketPaymentStripePurchaseMultiple) { + rpc PurchaseTicketStripe(google.protobuf.Empty) returns (PurchaseTicketStripeReply) { option (google.api.http) = { post: "/event/ticket/payment/stripe/purchase/multiple", }; } - rpc PostEventTicketPaymentStripeEphermalKeyTicket(PostEventTicketPaymentStripeEphermalKeyRequest) returns (PostEventTicketPaymentStripeEphermalKeyReply) { + rpc RetrieveEphemeralKey(google.protobuf.Empty) returns (RetrieveEphemeralKeyReply) { option (google.api.http) = { post: "/event/ticket/payment/stripe/ephemeralkey", }; @@ -324,52 +323,53 @@ service Campus { }; } - rpc PutChatRoomsRoomIdMessage(PutChatRoomsRoomIdMessageRequest) returns (PutChatRoomsIdRoomMessageReply) { + rpc PutChatRoomsSendMessage(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsgElement) { option (google.api.http) = { put: "/chat/rooms/{room_id}/message/", }; } - rpc PutChatRoomsRoomIdMessageMessageId(PutChatRoomsRoomIdMessageMessageIdRequest) returns (PutChatRoomsRoomIdMessageMessageIdReply) { + rpc PutChatRoomsUpdateMessage(PutChatRoomsUpdateMessageRequest) returns (ChatMessageModelMsgElement) { option (google.api.http) = { put: "/chat/rooms/{room_id}/message/{message_id}", }; } - rpc PostChatRoomsRoomIdMessagesPage(PostChatRoomsRoomIdMessagesPageRequest) returns (PostChatRoomsRoomIdMessagesPageReply) { + rpc PostChatRoomsGetMessages(PostChatRoomsGetMessagesRequest) returns (ChatMessageModelMsg) {//get messageModel returnen option (google.api.http) = { post: "/chat/rooms/{room_id}/messages/{page}", }; } - rpc PostChatRoomsRoomIdMessages(PostChatRoomsRoomIdMessagesRequest) returns (PostChatRoomsRoomIdMessagesReply) { + rpc PostChatRoomsGetNewMessages(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsg) { option (google.api.http) = { post: "/chat/rooms/{room_id}/messages", }; } - rpc PostChatMembers(PostChatMembersRequest) returns (PostChatMembersReply) { + rpc PostChatCreateMember(ChatMemberMsgElement) returns (ChatMemberMsgElement) { option (google.api.http) = { post: "/chat/members", + body: "ChatMember", }; } - rpc GetChatMembersLrzId(GetChatMembersLrzIdRequest) returns (GetChatMembersLrzIdReply) { + rpc GetChatMemberByLrzId(GetChatMemberRequest) returns (ChatMemberMsgElement) { option (google.api.http) = { get: "/chat/members/{lrz_id}", }; } - rpc GetChatMembersSearch(GetChatMembersSearchRequest) returns (GetChatMembersSearchReply) { + rpc SearchMemberByName(SearchMemberByNameRequest) returns (ChatMemberMsg) { option (google.api.http) = { get: "/chat/members/search/{query}", }; } - rpc PostChatMembersUserIdRooms(PostChatMembersUserIdRoomsRequest) returns (PostChatMembersUserIdRoomsReply) { + rpc GetMemberRooms(GetMemberRoomsRequest) returns (GetMemberRoomsReply) { option (google.api.http) = { - post: "/chat/members/{user_id}/rooms", + post: "/chat/members/{member_id}/rooms", }; } } @@ -846,8 +846,6 @@ message PostFeedbackRequest{ double longitude = 7; string osVersion = 8; string appVersion = 9; - - } message PostFeedbackReply{ @@ -868,7 +866,7 @@ message GetMembersRequest{ message GetMembersReply{ string lrzId = 1; string name = 2; - int32 member = 3; + int32 memberId = 3; } @@ -895,7 +893,99 @@ message PostChatRoomsRoomIdLeaveRequest{ } message PostChatRoomsRoomIdAddRequest{ - int32 room=1; - int32 member=2; + int32 room = 1; + int32 memberId = 2; +} + +message PutChatRoomsSendRoomIdRequest{ + int32 roomId = 1; +} + +message PutChatRoomsUpdateMessageRequest{ + int32 roomId = 1; + int32 messageId = 2; +} + + +message ChatMessageModelMsg{ + repeated ChatMessageModelMsgElement messages = 1; +} + +message ChatMessageModelMsgElement{ + int32 id = 1; + int32 previous = 2; + int32 room = 3; + string text = 4; + google.protobuf.Timestamp timestamp = 5; + string signature = 6; + int32 memberId = 7; + int32 sendingStatus = 8; +} + +message PostChatRoomsGetMessagesRequest{ + int32 roomId = 1; + int32 pageId = 2; +} + +message ChatMemberMsg{ + repeated ChatMemberMsgElement members=1; +} + +message ChatMemberMsgElement{ + int32 id = 1; + string lrzId = 2; + string displayName = 3; + string signature = 4; +} + + +message GetChatMemberRequest{ + string lrzId=1; +} + + +message SearchMemberByNameRequest{ + string nameQuery=1; +} + +message GetMemberRoomsRequest{ + int32 memberId=1; +} + +message GetMemberRoomsReply{ +repeated ChatRoomsMsgElement chatRooms=1; +} + + +message PurchaseTicketStripeReply{ + repeated TicketMessageElement tickets=1; +} + +message TicketMessageElement{ + int32 id= 1; + int32 eventId= 2; + string code= 3; + int32 ticketTypeId= 4; + google.protobuf.Timestamp redemption= 5; +} + + +message RetrieveEphemeralKeyReply{ + //todo How does this look? +} + + +message GetEventTicketStatusRequest{ + int32 event =1; +} + + +message GetEventTicketStatusReply{ + repeated TicketStatus status=1; } +message TicketStatus{ + int32 ticketType=1; + int32 contingent=2; + int32 sold=3; +} \ No newline at end of file From 78d2516cdabf4386af668392f845ad438f408381 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 17:10:35 +0200 Subject: [PATCH 13/24] added first version of remaining messages --- api/CampusService.proto | 77 +++++++++++++++++++++++++++++------------ 1 file changed, 55 insertions(+), 22 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 733ca201..123b955c 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -257,38 +257,38 @@ service Campus { } - rpc PostDeviceRegister(PostDeviceRegisterRequest) returns (PostDeviceRegisterReply) { + rpc RegisterDevice(google.protobuf.Empty) returns (TUMCabeStatus) { option (google.api.http) = { post: "/device/register", }; } - rpc GetDeviceVerifyKey(GetDeviceVerifyKeyRequest) returns (GetDeviceVerifyKeyReply) { + rpc VerifyKey(google.protobuf.Empty) returns (TUMCabeStatus) { option (google.api.http) = { get: "/device/verifyKey", }; } - rpc PostDeviceAddGcmToken(PostDeviceAddGcmTokenRequest) returns (PostDeviceAddGcmTokenReply) { + rpc DeviceUploadGcmToken(google.protobuf.Empty) returns (TUMCabeStatus) { option (google.api.http) = { post: "/device/addGcmToken", }; } - rpc GetDeviceUploaded(GetDeviceUploadedRequest) returns (GetDeviceUploadedReply) { + rpc GetUploadStatus(GetUploadStatusRequest) returns (GetUploadStatusReply) { option (google.api.http) = { get: "/device/uploaded/{lrz_id}", }; } - rpc GetNotifications(GetNotificationsRequest) returns (GetNotificationsReply) { + rpc GetNotification(NotificationsRequest) returns (GetNotificationsReply) { option (google.api.http) = { get: "/notifications", }; } - rpc GetNotificationsConfirm(GetNotificationsConfirmRequest) returns (GetNotificationsConfirmReply) { + rpc GetNotificationConfirm(NotificationsRequest) returns (GetNotificationsConfirmReply) { option (google.api.http) = { get: "/notifications/confirm/{notification_id}", }; @@ -928,7 +928,7 @@ message PostChatRoomsGetMessagesRequest{ } message ChatMemberMsg{ - repeated ChatMemberMsgElement members=1; + repeated ChatMemberMsgElement members = 1; } message ChatMemberMsgElement{ @@ -940,33 +940,33 @@ message ChatMemberMsgElement{ message GetChatMemberRequest{ - string lrzId=1; + string lrzId = 1; } message SearchMemberByNameRequest{ - string nameQuery=1; + string nameQuery = 1; } message GetMemberRoomsRequest{ - int32 memberId=1; + int32 memberId = 1; } message GetMemberRoomsReply{ -repeated ChatRoomsMsgElement chatRooms=1; + repeated ChatRoomsMsgElement chatRooms = 1; } message PurchaseTicketStripeReply{ - repeated TicketMessageElement tickets=1; + repeated TicketMessageElement tickets = 1; } message TicketMessageElement{ - int32 id= 1; - int32 eventId= 2; - string code= 3; - int32 ticketTypeId= 4; - google.protobuf.Timestamp redemption= 5; + int32 id = 1; + int32 eventId = 2; + string code = 3; + int32 ticketTypeId = 4; + google.protobuf.Timestamp redemption = 5; } @@ -976,16 +976,49 @@ message RetrieveEphemeralKeyReply{ message GetEventTicketStatusRequest{ - int32 event =1; + int32 event = 1; } message GetEventTicketStatusReply{ - repeated TicketStatus status=1; + repeated TicketStatus status = 1; } message TicketStatus{ - int32 ticketType=1; - int32 contingent=2; - int32 sold=3; + int32 ticketType = 1; + int32 contingent = 2; + int32 sold = 3; +} + +message TUMCabeStatus{ + string status = 1; +} + +message GetUploadStatusRequest{ + string lrzId = 1; +} + +message GetUploadStatusReply{ + string fcm_token = 1; + string public_key = 2; + bool student_id = 3; + bool employee_id = 4; + bool external_id = 5; +} + +message GetNotificationsReply{ + int32 notification=1; + int32 type=2; + string title=3; + string description=4; + string signature=5; +} + + +message NotificationsRequest{ + int32 notificationId=1; +} + +message GetNotificationsConfirmReply{ + string status=1; } \ No newline at end of file From e2fc256d2f0c0f39fc4026e04120e80d57f90564 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 17:51:05 +0200 Subject: [PATCH 14/24] fixing small bug to enable generating --- api/CampusService.pb.go | 7589 ++++++++++++++---- api/CampusService.pb.gw.go | 3878 ++++++++- api/CampusService.proto | 62 +- api/CampusService_grpc.pb.go | 1430 +++- api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 2561 +++++- server/swagger/swagger.json | 2 + 7 files changed, 13265 insertions(+), 2259 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index fb9b0c8b..8dde185a 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -530,7 +530,7 @@ type Room struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RoomId int32 `protobuf:"varint,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` RoomCode string `protobuf:"bytes,2,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` BuildingNr string `protobuf:"bytes,3,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` ArchId string `protobuf:"bytes,4,opt,name=arch_id,json=archId,proto3" json:"arch_id,omitempty"` @@ -830,8 +830,8 @@ type CafeteriaRatingRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme) - CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") + CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` // Optional Parameter to define an interval for the ratings (Lower bound) From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` // Optional Parameter to define an interval for the ratings (Upper bound) @@ -872,9 +872,9 @@ func (*CafeteriaRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{14} } -func (x *CafeteriaRatingRequest) GetCafeteriaName() string { +func (x *CafeteriaRatingRequest) GetCafeteriaId() string { if x != nil { - return x.CafeteriaName + return x.CafeteriaId } return "" } @@ -900,15 +900,15 @@ func (x *CafeteriaRatingRequest) GetLimit() int32 { return 0 } -type MealRatingRequest struct { +type DishRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Mandatory Name of the cafeteria (EAT-API naming scheme) - CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - Meal string `protobuf:"bytes,2,opt,name=meal,proto3" json:"meal,omitempty"` + // Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") + CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + Dish string `protobuf:"bytes,2,opt,name=dish,proto3" json:"dish,omitempty"` // Optional Parameter to define an interval for the ratings (Lower bound) From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` // Optional Parameter to define an interval for the ratings (Upper bound) @@ -917,8 +917,8 @@ type MealRatingRequest struct { Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` } -func (x *MealRatingRequest) Reset() { - *x = MealRatingRequest{} +func (x *DishRatingRequest) Reset() { + *x = DishRatingRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -926,13 +926,13 @@ func (x *MealRatingRequest) Reset() { } } -func (x *MealRatingRequest) String() string { +func (x *DishRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MealRatingRequest) ProtoMessage() {} +func (*DishRatingRequest) ProtoMessage() {} -func (x *MealRatingRequest) ProtoReflect() protoreflect.Message { +func (x *DishRatingRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -944,61 +944,61 @@ func (x *MealRatingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MealRatingRequest.ProtoReflect.Descriptor instead. -func (*MealRatingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DishRatingRequest.ProtoReflect.Descriptor instead. +func (*DishRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{15} } -func (x *MealRatingRequest) GetCafeteriaName() string { +func (x *DishRatingRequest) GetCafeteriaId() string { if x != nil { - return x.CafeteriaName + return x.CafeteriaId } return "" } -func (x *MealRatingRequest) GetMeal() string { +func (x *DishRatingRequest) GetDish() string { if x != nil { - return x.Meal + return x.Dish } return "" } -func (x *MealRatingRequest) GetFrom() *timestamppb.Timestamp { +func (x *DishRatingRequest) GetFrom() *timestamppb.Timestamp { if x != nil { return x.From } return nil } -func (x *MealRatingRequest) GetTo() *timestamppb.Timestamp { +func (x *DishRatingRequest) GetTo() *timestamppb.Timestamp { if x != nil { return x.To } return nil } -func (x *MealRatingRequest) GetLimit() int32 { +func (x *DishRatingRequest) GetLimit() int32 { if x != nil { return x.Limit } return 0 } -type CafeteriaRatingResponse struct { +type CafeteriaRatingReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*CafeteriaRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - AveragePoints float64 `protobuf:"fixed64,2,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` - StandardDeviation float64 `protobuf:"fixed64,3,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` - MinPoints int32 `protobuf:"varint,4,opt,name=minPoints,proto3" json:"minPoints,omitempty"` - MaxPoints int32 `protobuf:"varint,5,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` - RatingTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + Rating []*SingleRatingReply `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` + Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` + Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` + Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` + RatingTags []*RatingTagResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` } -func (x *CafeteriaRatingResponse) Reset() { - *x = CafeteriaRatingResponse{} +func (x *CafeteriaRatingReply) Reset() { + *x = CafeteriaRatingReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1006,13 +1006,13 @@ func (x *CafeteriaRatingResponse) Reset() { } } -func (x *CafeteriaRatingResponse) String() string { +func (x *CafeteriaRatingReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CafeteriaRatingResponse) ProtoMessage() {} +func (*CafeteriaRatingReply) ProtoMessage() {} -func (x *CafeteriaRatingResponse) ProtoReflect() protoreflect.Message { +func (x *CafeteriaRatingReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1024,69 +1024,69 @@ func (x *CafeteriaRatingResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CafeteriaRatingResponse.ProtoReflect.Descriptor instead. -func (*CafeteriaRatingResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use CafeteriaRatingReply.ProtoReflect.Descriptor instead. +func (*CafeteriaRatingReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{16} } -func (x *CafeteriaRatingResponse) GetRating() []*CafeteriaRating { +func (x *CafeteriaRatingReply) GetRating() []*SingleRatingReply { if x != nil { return x.Rating } return nil } -func (x *CafeteriaRatingResponse) GetAveragePoints() float64 { +func (x *CafeteriaRatingReply) GetAvg() float64 { if x != nil { - return x.AveragePoints + return x.Avg } return 0 } -func (x *CafeteriaRatingResponse) GetStandardDeviation() float64 { +func (x *CafeteriaRatingReply) GetStd() float64 { if x != nil { - return x.StandardDeviation + return x.Std } return 0 } -func (x *CafeteriaRatingResponse) GetMinPoints() int32 { +func (x *CafeteriaRatingReply) GetMin() int32 { if x != nil { - return x.MinPoints + return x.Min } return 0 } -func (x *CafeteriaRatingResponse) GetMaxPoints() int32 { +func (x *CafeteriaRatingReply) GetMax() int32 { if x != nil { - return x.MaxPoints + return x.Max } return 0 } -func (x *CafeteriaRatingResponse) GetRatingTags() []*TagRatingsResult { +func (x *CafeteriaRatingReply) GetRatingTags() []*RatingTagResult { if x != nil { return x.RatingTags } return nil } -type MealRatingResponse struct { +type DishRatingReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*MealRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - AveragePoints float64 `protobuf:"fixed64,2,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` - StandardDeviation float64 `protobuf:"fixed64,3,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` - MinPoints int32 `protobuf:"varint,4,opt,name=minPoints,proto3" json:"minPoints,omitempty"` - MaxPoints int32 `protobuf:"varint,5,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` - RatingTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` - NameTags []*TagRatingsResult `protobuf:"bytes,7,rep,name=nameTags,proto3" json:"nameTags,omitempty"` + Rating []*SingleRatingReply `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` + Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` + Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` + Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` + RatingTags []*RatingTagResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + NameTags []*RatingTagResult `protobuf:"bytes,7,rep,name=nameTags,proto3" json:"nameTags,omitempty"` } -func (x *MealRatingResponse) Reset() { - *x = MealRatingResponse{} +func (x *DishRatingReply) Reset() { + *x = DishRatingReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1094,13 +1094,13 @@ func (x *MealRatingResponse) Reset() { } } -func (x *MealRatingResponse) String() string { +func (x *DishRatingReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MealRatingResponse) ProtoMessage() {} +func (*DishRatingReply) ProtoMessage() {} -func (x *MealRatingResponse) ProtoReflect() protoreflect.Message { +func (x *DishRatingReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1112,79 +1112,77 @@ func (x *MealRatingResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MealRatingResponse.ProtoReflect.Descriptor instead. -func (*MealRatingResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use DishRatingReply.ProtoReflect.Descriptor instead. +func (*DishRatingReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{17} } -func (x *MealRatingResponse) GetRating() []*MealRating { +func (x *DishRatingReply) GetRating() []*SingleRatingReply { if x != nil { return x.Rating } return nil } -func (x *MealRatingResponse) GetAveragePoints() float64 { +func (x *DishRatingReply) GetAvg() float64 { if x != nil { - return x.AveragePoints + return x.Avg } return 0 } -func (x *MealRatingResponse) GetStandardDeviation() float64 { +func (x *DishRatingReply) GetStd() float64 { if x != nil { - return x.StandardDeviation + return x.Std } return 0 } -func (x *MealRatingResponse) GetMinPoints() int32 { +func (x *DishRatingReply) GetMin() int32 { if x != nil { - return x.MinPoints + return x.Min } return 0 } -func (x *MealRatingResponse) GetMaxPoints() int32 { +func (x *DishRatingReply) GetMax() int32 { if x != nil { - return x.MaxPoints + return x.Max } return 0 } -func (x *MealRatingResponse) GetRatingTags() []*TagRatingsResult { +func (x *DishRatingReply) GetRatingTags() []*RatingTagResult { if x != nil { return x.RatingTags } return nil } -func (x *MealRatingResponse) GetNameTags() []*TagRatingsResult { +func (x *DishRatingReply) GetNameTags() []*RatingTagResult { if x != nil { return x.NameTags } return nil } -type CafeteriaRating struct { +type SingleRatingReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // number in the range 1-5 Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` // Optional JPEG image in Base64 - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` // Optional comment (max 256 chars) - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` - TagRating []*TagRatingResult `protobuf:"bytes,5,rep,name=tagRating,proto3" json:"tagRating,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + RatingTags []*RatingTagNewRequest `protobuf:"bytes,4,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + Visited *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=visited,proto3" json:"visited,omitempty"` } -func (x *CafeteriaRating) Reset() { - *x = CafeteriaRating{} +func (x *SingleRatingReply) Reset() { + *x = SingleRatingReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1192,13 +1190,13 @@ func (x *CafeteriaRating) Reset() { } } -func (x *CafeteriaRating) String() string { +func (x *SingleRatingReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CafeteriaRating) ProtoMessage() {} +func (*SingleRatingReply) ProtoMessage() {} -func (x *CafeteriaRating) ProtoReflect() protoreflect.Message { +func (x *SingleRatingReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1210,149 +1208,42 @@ func (x *CafeteriaRating) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CafeteriaRating.ProtoReflect.Descriptor instead. -func (*CafeteriaRating) Descriptor() ([]byte, []int) { +// Deprecated: Use SingleRatingReply.ProtoReflect.Descriptor instead. +func (*SingleRatingReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{18} } -func (x *CafeteriaRating) GetPoints() int32 { +func (x *SingleRatingReply) GetPoints() int32 { if x != nil { return x.Points } return 0 } -func (x *CafeteriaRating) GetCafeteriaName() string { - if x != nil { - return x.CafeteriaName - } - return "" -} - -func (x *CafeteriaRating) GetImage() []byte { - if x != nil { - return x.Image - } - return nil -} - -func (x *CafeteriaRating) GetComment() string { - if x != nil { - return x.Comment - } - return "" -} - -func (x *CafeteriaRating) GetTagRating() []*TagRatingResult { - if x != nil { - return x.TagRating - } - return nil -} - -func (x *CafeteriaRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { - if x != nil { - return x.CafeteriaVisitedAt - } - return nil -} - -type MealRating struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // number in the range 1-5 - Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` - // Optional JPEG image in Base64 - Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - // Optional comment (max 256 chars) - Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` - TagRating []*TagRatingResult `protobuf:"bytes,6,rep,name=tagRating,proto3" json:"tagRating,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` -} - -func (x *MealRating) Reset() { - *x = MealRating{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MealRating) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MealRating) ProtoMessage() {} - -func (x *MealRating) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MealRating.ProtoReflect.Descriptor instead. -func (*MealRating) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{19} -} - -func (x *MealRating) GetPoints() int32 { - if x != nil { - return x.Points - } - return 0 -} - -func (x *MealRating) GetCafeteriaName() string { - if x != nil { - return x.CafeteriaName - } - return "" -} - -func (x *MealRating) GetMeal() string { - if x != nil { - return x.Meal - } - return "" -} - -func (x *MealRating) GetImage() []byte { +func (x *SingleRatingReply) GetImage() []byte { if x != nil { return x.Image } return nil } -func (x *MealRating) GetComment() string { +func (x *SingleRatingReply) GetComment() string { if x != nil { return x.Comment } return "" } -func (x *MealRating) GetTagRating() []*TagRatingResult { +func (x *SingleRatingReply) GetRatingTags() []*RatingTagNewRequest { if x != nil { - return x.TagRating + return x.RatingTags } return nil } -func (x *MealRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { +func (x *SingleRatingReply) GetVisited() *timestamppb.Timestamp { if x != nil { - return x.CafeteriaVisitedAt + return x.Visited } return nil } @@ -1363,11 +1254,11 @@ type NewCafeteriaRatingRequest struct { unknownFields protoimpl.UnknownFields // number in the range 1-5 - Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + CafeteriaId string `protobuf:"bytes,2,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags - Tags []*TagRating `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` + RatingTags []*RatingTag `protobuf:"bytes,4,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` // Optional comment (max 256 chars) Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` } @@ -1375,7 +1266,7 @@ type NewCafeteriaRatingRequest struct { func (x *NewCafeteriaRatingRequest) Reset() { *x = NewCafeteriaRatingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[20] + mi := &file_CampusService_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1388,7 +1279,7 @@ func (x *NewCafeteriaRatingRequest) String() string { func (*NewCafeteriaRatingRequest) ProtoMessage() {} func (x *NewCafeteriaRatingRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[20] + mi := &file_CampusService_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1401,7 +1292,7 @@ func (x *NewCafeteriaRatingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NewCafeteriaRatingRequest.ProtoReflect.Descriptor instead. func (*NewCafeteriaRatingRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{20} + return file_CampusService_proto_rawDescGZIP(), []int{19} } func (x *NewCafeteriaRatingRequest) GetPoints() int32 { @@ -1411,9 +1302,9 @@ func (x *NewCafeteriaRatingRequest) GetPoints() int32 { return 0 } -func (x *NewCafeteriaRatingRequest) GetCafeteriaName() string { +func (x *NewCafeteriaRatingRequest) GetCafeteriaId() string { if x != nil { - return x.CafeteriaName + return x.CafeteriaId } return "" } @@ -1425,9 +1316,9 @@ func (x *NewCafeteriaRatingRequest) GetImage() []byte { return nil } -func (x *NewCafeteriaRatingRequest) GetTags() []*TagRating { +func (x *NewCafeteriaRatingRequest) GetRatingTags() []*RatingTag { if x != nil { - return x.Tags + return x.RatingTags } return nil } @@ -1439,42 +1330,42 @@ func (x *NewCafeteriaRatingRequest) GetComment() string { return "" } -type NewMealRatingRequest struct { +type NewDishRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // number in the range 1-5 Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` + // Mandatory Name of the dish (EAT-API naming scheme "MENSA_GARCHING") Must be available int the given mensa + CafeteriaId string `protobuf:"bytes,2,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + Dish string `protobuf:"bytes,3,opt,name=dish,proto3" json:"dish,omitempty"` // Optional JPEG image in Base64 Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - // Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags - Tags []*TagRating `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags + RatingTags []*RatingTag `protobuf:"bytes,5,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` // Optional comment (max 256 chars) Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` } -func (x *NewMealRatingRequest) Reset() { - *x = NewMealRatingRequest{} +func (x *NewDishRatingRequest) Reset() { + *x = NewDishRatingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[21] + mi := &file_CampusService_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NewMealRatingRequest) String() string { +func (x *NewDishRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NewMealRatingRequest) ProtoMessage() {} +func (*NewDishRatingRequest) ProtoMessage() {} -func (x *NewMealRatingRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[21] +func (x *NewDishRatingRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1485,47 +1376,47 @@ func (x *NewMealRatingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NewMealRatingRequest.ProtoReflect.Descriptor instead. -func (*NewMealRatingRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{21} +// Deprecated: Use NewDishRatingRequest.ProtoReflect.Descriptor instead. +func (*NewDishRatingRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{20} } -func (x *NewMealRatingRequest) GetPoints() int32 { +func (x *NewDishRatingRequest) GetPoints() int32 { if x != nil { return x.Points } return 0 } -func (x *NewMealRatingRequest) GetCafeteriaName() string { +func (x *NewDishRatingRequest) GetCafeteriaId() string { if x != nil { - return x.CafeteriaName + return x.CafeteriaId } return "" } -func (x *NewMealRatingRequest) GetMeal() string { +func (x *NewDishRatingRequest) GetDish() string { if x != nil { - return x.Meal + return x.Dish } return "" } -func (x *NewMealRatingRequest) GetImage() []byte { +func (x *NewDishRatingRequest) GetImage() []byte { if x != nil { return x.Image } return nil } -func (x *NewMealRatingRequest) GetTags() []*TagRating { +func (x *NewDishRatingRequest) GetRatingTags() []*RatingTag { if x != nil { - return x.Tags + return x.RatingTags } return nil } -func (x *NewMealRatingRequest) GetComment() string { +func (x *NewDishRatingRequest) GetComment() string { if x != nil { return x.Comment } @@ -1537,13 +1428,13 @@ type GetRatingTagsReply struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tags []*TagRatingOverview `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` + RatingTags []*RatingTagsOverview `protobuf:"bytes,1,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` } func (x *GetRatingTagsReply) Reset() { *x = GetRatingTagsReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[22] + mi := &file_CampusService_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1556,7 +1447,7 @@ func (x *GetRatingTagsReply) String() string { func (*GetRatingTagsReply) ProtoMessage() {} func (x *GetRatingTagsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[22] + mi := &file_CampusService_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1569,42 +1460,43 @@ func (x *GetRatingTagsReply) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRatingTagsReply.ProtoReflect.Descriptor instead. func (*GetRatingTagsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{22} + return file_CampusService_proto_rawDescGZIP(), []int{21} } -func (x *GetRatingTagsReply) GetTags() []*TagRatingOverview { +func (x *GetRatingTagsReply) GetRatingTags() []*RatingTagsOverview { if x != nil { - return x.Tags + return x.RatingTags } return nil } -type TagRatingOverview struct { +type RatingTagsOverview struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` - EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` + TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` + De string `protobuf:"bytes,2,opt,name=de,proto3" json:"de,omitempty"` + En string `protobuf:"bytes,3,opt,name=en,proto3" json:"en,omitempty"` } -func (x *TagRatingOverview) Reset() { - *x = TagRatingOverview{} +func (x *RatingTagsOverview) Reset() { + *x = RatingTagsOverview{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[23] + mi := &file_CampusService_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRatingOverview) String() string { +func (x *RatingTagsOverview) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRatingOverview) ProtoMessage() {} +func (*RatingTagsOverview) ProtoMessage() {} -func (x *TagRatingOverview) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[23] +func (x *RatingTagsOverview) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1615,52 +1507,58 @@ func (x *TagRatingOverview) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRatingOverview.ProtoReflect.Descriptor instead. -func (*TagRatingOverview) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{23} +// Deprecated: Use RatingTagsOverview.ProtoReflect.Descriptor instead. +func (*RatingTagsOverview) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{22} +} + +func (x *RatingTagsOverview) GetTagId() int32 { + if x != nil { + return x.TagId + } + return 0 } -func (x *TagRatingOverview) GetDE() string { +func (x *RatingTagsOverview) GetDe() string { if x != nil { - return x.DE + return x.De } return "" } -func (x *TagRatingOverview) GetEN() string { +func (x *RatingTagsOverview) GetEn() string { if x != nil { - return x.EN + return x.En } return "" } -type TagRatingResult struct { +type RatingTag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` - EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` - Points int32 `protobuf:"varint,3,opt,name=points,proto3" json:"points,omitempty"` + TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` + Points float64 `protobuf:"fixed64,2,opt,name=points,proto3" json:"points,omitempty"` } -func (x *TagRatingResult) Reset() { - *x = TagRatingResult{} +func (x *RatingTag) Reset() { + *x = RatingTag{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[24] + mi := &file_CampusService_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRatingResult) String() string { +func (x *RatingTag) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRatingResult) ProtoMessage() {} +func (*RatingTag) ProtoMessage() {} -func (x *TagRatingResult) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[24] +func (x *RatingTag) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1671,58 +1569,51 @@ func (x *TagRatingResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRatingResult.ProtoReflect.Descriptor instead. -func (*TagRatingResult) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{24} -} - -func (x *TagRatingResult) GetDE() string { - if x != nil { - return x.DE - } - return "" +// Deprecated: Use RatingTag.ProtoReflect.Descriptor instead. +func (*RatingTag) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{23} } -func (x *TagRatingResult) GetEN() string { +func (x *RatingTag) GetTagId() int32 { if x != nil { - return x.EN + return x.TagId } - return "" + return 0 } -func (x *TagRatingResult) GetPoints() int32 { +func (x *RatingTag) GetPoints() float64 { if x != nil { return x.Points } return 0 } -type TagRating struct { +type RatingTagNewRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` - Points float64 `protobuf:"fixed64,2,opt,name=points,proto3" json:"points,omitempty"` + TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` + Points int32 `protobuf:"varint,2,opt,name=points,proto3" json:"points,omitempty"` } -func (x *TagRating) Reset() { - *x = TagRating{} +func (x *RatingTagNewRequest) Reset() { + *x = RatingTagNewRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[25] + mi := &file_CampusService_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRating) String() string { +func (x *RatingTagNewRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRating) ProtoMessage() {} +func (*RatingTagNewRequest) ProtoMessage() {} -func (x *TagRating) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[25] +func (x *RatingTagNewRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1733,55 +1624,54 @@ func (x *TagRating) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRating.ProtoReflect.Descriptor instead. -func (*TagRating) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{25} +// Deprecated: Use RatingTagNewRequest.ProtoReflect.Descriptor instead. +func (*RatingTagNewRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{24} } -func (x *TagRating) GetTag() string { +func (x *RatingTagNewRequest) GetTagId() int32 { if x != nil { - return x.Tag + return x.TagId } - return "" + return 0 } -func (x *TagRating) GetPoints() float64 { +func (x *RatingTagNewRequest) GetPoints() int32 { if x != nil { return x.Points } return 0 } -type TagRatingsResult struct { +type RatingTagResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` - EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` - AveragePoints float64 `protobuf:"fixed64,3,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` - StandardDeviation float64 `protobuf:"fixed64,4,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` - MinPoints int32 `protobuf:"varint,5,opt,name=minPoints,proto3" json:"minPoints,omitempty"` - MaxPoints int32 `protobuf:"varint,6,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` + TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` + Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` + Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` + Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` + Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` } -func (x *TagRatingsResult) Reset() { - *x = TagRatingsResult{} +func (x *RatingTagResult) Reset() { + *x = RatingTagResult{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[26] + mi := &file_CampusService_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRatingsResult) String() string { +func (x *RatingTagResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRatingsResult) ProtoMessage() {} +func (*RatingTagResult) ProtoMessage() {} -func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[26] +func (x *RatingTagResult) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1792,54 +1682,47 @@ func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRatingsResult.ProtoReflect.Descriptor instead. -func (*TagRatingsResult) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{26} -} - -func (x *TagRatingsResult) GetDE() string { - if x != nil { - return x.DE - } - return "" +// Deprecated: Use RatingTagResult.ProtoReflect.Descriptor instead. +func (*RatingTagResult) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{25} } -func (x *TagRatingsResult) GetEN() string { +func (x *RatingTagResult) GetTagId() int32 { if x != nil { - return x.EN + return x.TagId } - return "" + return 0 } -func (x *TagRatingsResult) GetAveragePoints() float64 { +func (x *RatingTagResult) GetAvg() float64 { if x != nil { - return x.AveragePoints + return x.Avg } return 0 } -func (x *TagRatingsResult) GetStandardDeviation() float64 { +func (x *RatingTagResult) GetStd() float64 { if x != nil { - return x.StandardDeviation + return x.Std } return 0 } -func (x *TagRatingsResult) GetMinPoints() int32 { +func (x *RatingTagResult) GetMin() int32 { if x != nil { - return x.MinPoints + return x.Min } return 0 } -func (x *TagRatingsResult) GetMaxPoints() int32 { +func (x *RatingTagResult) GetMax() int32 { if x != nil { - return x.MaxPoints + return x.Max } return 0 } -type GetCafeteriaResponse struct { +type GetCafeteriaReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1847,23 +1730,23 @@ type GetCafeteriaResponse struct { Cafeteria []*Cafeteria `protobuf:"bytes,1,rep,name=cafeteria,proto3" json:"cafeteria,omitempty"` } -func (x *GetCafeteriaResponse) Reset() { - *x = GetCafeteriaResponse{} +func (x *GetCafeteriaReply) Reset() { + *x = GetCafeteriaReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[27] + mi := &file_CampusService_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetCafeteriaResponse) String() string { +func (x *GetCafeteriaReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetCafeteriaResponse) ProtoMessage() {} +func (*GetCafeteriaReply) ProtoMessage() {} -func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[27] +func (x *GetCafeteriaReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1874,12 +1757,12 @@ func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetCafeteriaResponse.ProtoReflect.Descriptor instead. -func (*GetCafeteriaResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{27} +// Deprecated: Use GetCafeteriaReply.ProtoReflect.Descriptor instead. +func (*GetCafeteriaReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{26} } -func (x *GetCafeteriaResponse) GetCafeteria() []*Cafeteria { +func (x *GetCafeteriaReply) GetCafeteria() []*Cafeteria { if x != nil { return x.Cafeteria } @@ -1891,7 +1774,7 @@ type Cafeteria struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` Longitude float64 `protobuf:"fixed64,3,opt,name=longitude,proto3" json:"longitude,omitempty"` Latitude float64 `protobuf:"fixed64,4,opt,name=latitude,proto3" json:"latitude,omitempty"` @@ -1900,7 +1783,7 @@ type Cafeteria struct { func (x *Cafeteria) Reset() { *x = Cafeteria{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[28] + mi := &file_CampusService_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1913,7 +1796,7 @@ func (x *Cafeteria) String() string { func (*Cafeteria) ProtoMessage() {} func (x *Cafeteria) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[28] + mi := &file_CampusService_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1926,12 +1809,12 @@ func (x *Cafeteria) ProtoReflect() protoreflect.Message { // Deprecated: Use Cafeteria.ProtoReflect.Descriptor instead. func (*Cafeteria) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{28} + return file_CampusService_proto_rawDescGZIP(), []int{27} } -func (x *Cafeteria) GetName() string { +func (x *Cafeteria) GetId() string { if x != nil { - return x.Name + return x.Id } return "" } @@ -1957,31 +1840,34 @@ func (x *Cafeteria) GetLatitude() float64 { return 0 } -type GetResponsiblePersonResponse struct { +type GetDishesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ResponsiblePerson []*ResponsiblePersonElement `protobuf:"bytes,1,rep,name=responsiblePerson,proto3" json:"responsiblePerson,omitempty"` + CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` + Year int32 `protobuf:"varint,2,opt,name=year,proto3" json:"year,omitempty"` + Month int32 `protobuf:"varint,3,opt,name=month,proto3" json:"month,omitempty"` + Day int32 `protobuf:"varint,4,opt,name=day,proto3" json:"day,omitempty"` } -func (x *GetResponsiblePersonResponse) Reset() { - *x = GetResponsiblePersonResponse{} +func (x *GetDishesRequest) Reset() { + *x = GetDishesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[29] + mi := &file_CampusService_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetResponsiblePersonResponse) String() string { +func (x *GetDishesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetResponsiblePersonResponse) ProtoMessage() {} +func (*GetDishesRequest) ProtoMessage() {} -func (x *GetResponsiblePersonResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[29] +func (x *GetDishesRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1992,47 +1878,64 @@ func (x *GetResponsiblePersonResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetResponsiblePersonResponse.ProtoReflect.Descriptor instead. -func (*GetResponsiblePersonResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{29} +// Deprecated: Use GetDishesRequest.ProtoReflect.Descriptor instead. +func (*GetDishesRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{28} } -func (x *GetResponsiblePersonResponse) GetResponsiblePerson() []*ResponsiblePersonElement { +func (x *GetDishesRequest) GetCafeteriaId() string { if x != nil { - return x.ResponsiblePerson + return x.CafeteriaId } - return nil + return "" } -type ResponsiblePersonElement struct { +func (x *GetDishesRequest) GetYear() int32 { + if x != nil { + return x.Year + } + return 0 +} + +func (x *GetDishesRequest) GetMonth() int32 { + if x != nil { + return x.Month + } + return 0 +} + +func (x *GetDishesRequest) GetDay() int32 { + if x != nil { + return x.Day + } + return 0 +} + +type GetDishesReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Telephone string `protobuf:"bytes,2,opt,name=telephone,proto3" json:"telephone,omitempty"` - Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` - Faculty string `protobuf:"bytes,4,opt,name=faculty,proto3" json:"faculty,omitempty"` - TumID string `protobuf:"bytes,5,opt,name=tumID,proto3" json:"tumID,omitempty"` + Dish []string `protobuf:"bytes,1,rep,name=dish,proto3" json:"dish,omitempty"` } -func (x *ResponsiblePersonElement) Reset() { - *x = ResponsiblePersonElement{} +func (x *GetDishesReply) Reset() { + *x = GetDishesReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[30] + mi := &file_CampusService_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ResponsiblePersonElement) String() string { +func (x *GetDishesReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResponsiblePersonElement) ProtoMessage() {} +func (*GetDishesReply) ProtoMessage() {} -func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[30] +func (x *GetDishesReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2043,71 +1946,43 @@ func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResponsiblePersonElement.ProtoReflect.Descriptor instead. -func (*ResponsiblePersonElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{30} -} - -func (x *ResponsiblePersonElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ResponsiblePersonElement) GetTelephone() string { - if x != nil { - return x.Telephone - } - return "" -} - -func (x *ResponsiblePersonElement) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *ResponsiblePersonElement) GetFaculty() string { - if x != nil { - return x.Faculty - } - return "" +// Deprecated: Use GetDishesReply.ProtoReflect.Descriptor instead. +func (*GetDishesReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{29} } -func (x *ResponsiblePersonElement) GetTumID() string { +func (x *GetDishesReply) GetDish() []string { if x != nil { - return x.TumID + return x.Dish } - return "" + return nil } -type GetBuilding2GpsResponse struct { +type GetResponsiblePersonReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Building2Gps []*Building2GpsElement `protobuf:"bytes,1,rep,name=building2Gps,proto3" json:"building2Gps,omitempty"` + ResponsiblePerson []*ResponsiblePersonElement `protobuf:"bytes,1,rep,name=responsiblePerson,proto3" json:"responsiblePerson,omitempty"` } -func (x *GetBuilding2GpsResponse) Reset() { - *x = GetBuilding2GpsResponse{} +func (x *GetResponsiblePersonReply) Reset() { + *x = GetResponsiblePersonReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[31] + mi := &file_CampusService_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetBuilding2GpsResponse) String() string { +func (x *GetResponsiblePersonReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetBuilding2GpsResponse) ProtoMessage() {} +func (*GetResponsiblePersonReply) ProtoMessage() {} -func (x *GetBuilding2GpsResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[31] +func (x *GetResponsiblePersonReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2118,30 +1993,107 @@ func (x *GetBuilding2GpsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetBuilding2GpsResponse.ProtoReflect.Descriptor instead. -func (*GetBuilding2GpsResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{31} +// Deprecated: Use GetResponsiblePersonReply.ProtoReflect.Descriptor instead. +func (*GetResponsiblePersonReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{30} } -func (x *GetBuilding2GpsResponse) GetBuilding2Gps() []*Building2GpsElement { +func (x *GetResponsiblePersonReply) GetResponsiblePerson() []*ResponsiblePersonElement { if x != nil { - return x.Building2Gps + return x.ResponsiblePerson } return nil } -type Building2GpsElement struct { +type ResponsiblePersonElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Latitude string `protobuf:"bytes,2,opt,name=latitude,proto3" json:"latitude,omitempty"` - Longitude string `protobuf:"bytes,3,opt,name=longitude,proto3" json:"longitude,omitempty"` -} - -func (x *Building2GpsElement) Reset() { - *x = Building2GpsElement{} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Telephone string `protobuf:"bytes,2,opt,name=telephone,proto3" json:"telephone,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + Faculty string `protobuf:"bytes,4,opt,name=faculty,proto3" json:"faculty,omitempty"` + TumID string `protobuf:"bytes,5,opt,name=tumID,proto3" json:"tumID,omitempty"` +} + +func (x *ResponsiblePersonElement) Reset() { + *x = ResponsiblePersonElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponsiblePersonElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponsiblePersonElement) ProtoMessage() {} + +func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponsiblePersonElement.ProtoReflect.Descriptor instead. +func (*ResponsiblePersonElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{31} +} + +func (x *ResponsiblePersonElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResponsiblePersonElement) GetTelephone() string { + if x != nil { + return x.Telephone + } + return "" +} + +func (x *ResponsiblePersonElement) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *ResponsiblePersonElement) GetFaculty() string { + if x != nil { + return x.Faculty + } + return "" +} + +func (x *ResponsiblePersonElement) GetTumID() string { + if x != nil { + return x.TumID + } + return "" +} + +type GetBuilding2GpsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Building2Gps []*Building2GpsElement `protobuf:"bytes,1,rep,name=building2Gps,proto3" json:"building2Gps,omitempty"` +} + +func (x *GetBuilding2GpsReply) Reset() { + *x = GetBuilding2GpsReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2149,6 +2101,55 @@ func (x *Building2GpsElement) Reset() { } } +func (x *GetBuilding2GpsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBuilding2GpsReply) ProtoMessage() {} + +func (x *GetBuilding2GpsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBuilding2GpsReply.ProtoReflect.Descriptor instead. +func (*GetBuilding2GpsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{32} +} + +func (x *GetBuilding2GpsReply) GetBuilding2Gps() []*Building2GpsElement { + if x != nil { + return x.Building2Gps + } + return nil +} + +type Building2GpsElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Latitude string `protobuf:"bytes,2,opt,name=latitude,proto3" json:"latitude,omitempty"` + Longitude string `protobuf:"bytes,3,opt,name=longitude,proto3" json:"longitude,omitempty"` +} + +func (x *Building2GpsElement) Reset() { + *x = Building2GpsElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + func (x *Building2GpsElement) String() string { return protoimpl.X.MessageStringOf(x) } @@ -2156,7 +2157,7 @@ func (x *Building2GpsElement) String() string { func (*Building2GpsElement) ProtoMessage() {} func (x *Building2GpsElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[32] + mi := &file_CampusService_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2169,7 +2170,7 @@ func (x *Building2GpsElement) ProtoReflect() protoreflect.Message { // Deprecated: Use Building2GpsElement.ProtoReflect.Descriptor instead. func (*Building2GpsElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{32} + return file_CampusService_proto_rawDescGZIP(), []int{33} } func (x *Building2GpsElement) GetId() string { @@ -2193,7 +2194,7 @@ func (x *Building2GpsElement) GetLongitude() string { return "" } -type GetAreaFacilitiesByBuildingNrResponse struct { +type GetAreaFacilitiesByBuildingNrReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2201,23 +2202,23 @@ type GetAreaFacilitiesByBuildingNrResponse struct { AreaFacilitiesByBuildingNr []*RoomInformationElement `protobuf:"bytes,1,rep,name=areaFacilitiesByBuildingNr,proto3" json:"areaFacilitiesByBuildingNr,omitempty"` } -func (x *GetAreaFacilitiesByBuildingNrResponse) Reset() { - *x = GetAreaFacilitiesByBuildingNrResponse{} +func (x *GetAreaFacilitiesByBuildingNrReply) Reset() { + *x = GetAreaFacilitiesByBuildingNrReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[33] + mi := &file_CampusService_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetAreaFacilitiesByBuildingNrResponse) String() string { +func (x *GetAreaFacilitiesByBuildingNrReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAreaFacilitiesByBuildingNrResponse) ProtoMessage() {} +func (*GetAreaFacilitiesByBuildingNrReply) ProtoMessage() {} -func (x *GetAreaFacilitiesByBuildingNrResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[33] +func (x *GetAreaFacilitiesByBuildingNrReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2228,12 +2229,12 @@ func (x *GetAreaFacilitiesByBuildingNrResponse) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use GetAreaFacilitiesByBuildingNrResponse.ProtoReflect.Descriptor instead. -func (*GetAreaFacilitiesByBuildingNrResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{33} +// Deprecated: Use GetAreaFacilitiesByBuildingNrReply.ProtoReflect.Descriptor instead. +func (*GetAreaFacilitiesByBuildingNrReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{34} } -func (x *GetAreaFacilitiesByBuildingNrResponse) GetAreaFacilitiesByBuildingNr() []*RoomInformationElement { +func (x *GetAreaFacilitiesByBuildingNrReply) GetAreaFacilitiesByBuildingNr() []*RoomInformationElement { if x != nil { return x.AreaFacilitiesByBuildingNr } @@ -2251,7 +2252,7 @@ type GetAreaFacilitiesByBuildingNrRequest struct { func (x *GetAreaFacilitiesByBuildingNrRequest) Reset() { *x = GetAreaFacilitiesByBuildingNrRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[34] + mi := &file_CampusService_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2264,7 +2265,7 @@ func (x *GetAreaFacilitiesByBuildingNrRequest) String() string { func (*GetAreaFacilitiesByBuildingNrRequest) ProtoMessage() {} func (x *GetAreaFacilitiesByBuildingNrRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[34] + mi := &file_CampusService_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2277,7 +2278,7 @@ func (x *GetAreaFacilitiesByBuildingNrRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetAreaFacilitiesByBuildingNrRequest.ProtoReflect.Descriptor instead. func (*GetAreaFacilitiesByBuildingNrRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{34} + return file_CampusService_proto_rawDescGZIP(), []int{35} } func (x *GetAreaFacilitiesByBuildingNrRequest) GetBuildingNr() string { @@ -2287,7 +2288,7 @@ func (x *GetAreaFacilitiesByBuildingNrRequest) GetBuildingNr() string { return "" } -type GetListOfToiletsResponse struct { +type GetListOfToiletsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2295,23 +2296,23 @@ type GetListOfToiletsResponse struct { ListOfToilets []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfToilets,proto3" json:"listOfToilets,omitempty"` } -func (x *GetListOfToiletsResponse) Reset() { - *x = GetListOfToiletsResponse{} +func (x *GetListOfToiletsReply) Reset() { + *x = GetListOfToiletsReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[35] + mi := &file_CampusService_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetListOfToiletsResponse) String() string { +func (x *GetListOfToiletsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetListOfToiletsResponse) ProtoMessage() {} +func (*GetListOfToiletsReply) ProtoMessage() {} -func (x *GetListOfToiletsResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[35] +func (x *GetListOfToiletsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2322,12 +2323,12 @@ func (x *GetListOfToiletsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetListOfToiletsResponse.ProtoReflect.Descriptor instead. -func (*GetListOfToiletsResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{35} +// Deprecated: Use GetListOfToiletsReply.ProtoReflect.Descriptor instead. +func (*GetListOfToiletsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{36} } -func (x *GetListOfToiletsResponse) GetListOfToilets() []*RoomInformationElement { +func (x *GetListOfToiletsReply) GetListOfToilets() []*RoomInformationElement { if x != nil { return x.ListOfToilets } @@ -2339,7 +2340,7 @@ type RoomInformationElement struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RoomId int32 `protobuf:"varint,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` RoomCode string `protobuf:"bytes,2,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` BuildingNr string `protobuf:"bytes,3,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` ArchId string `protobuf:"bytes,4,opt,name=arch_id,json=archId,proto3" json:"arch_id,omitempty"` @@ -2353,7 +2354,7 @@ type RoomInformationElement struct { func (x *RoomInformationElement) Reset() { *x = RoomInformationElement{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[36] + mi := &file_CampusService_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2366,7 +2367,7 @@ func (x *RoomInformationElement) String() string { func (*RoomInformationElement) ProtoMessage() {} func (x *RoomInformationElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[36] + mi := &file_CampusService_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2379,7 +2380,7 @@ func (x *RoomInformationElement) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomInformationElement.ProtoReflect.Descriptor instead. func (*RoomInformationElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{36} + return file_CampusService_proto_rawDescGZIP(), []int{37} } func (x *RoomInformationElement) GetRoomId() int32 { @@ -2445,7 +2446,7 @@ func (x *RoomInformationElement) GetName() string { return "" } -type GetListOfElevatorsResponse struct { +type GetListOfElevatorsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2453,23 +2454,23 @@ type GetListOfElevatorsResponse struct { ListOfElevators []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfElevators,proto3" json:"listOfElevators,omitempty"` } -func (x *GetListOfElevatorsResponse) Reset() { - *x = GetListOfElevatorsResponse{} +func (x *GetListOfElevatorsReply) Reset() { + *x = GetListOfElevatorsReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[37] + mi := &file_CampusService_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetListOfElevatorsResponse) String() string { +func (x *GetListOfElevatorsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetListOfElevatorsResponse) ProtoMessage() {} +func (*GetListOfElevatorsReply) ProtoMessage() {} -func (x *GetListOfElevatorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[37] +func (x *GetListOfElevatorsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2480,19 +2481,19 @@ func (x *GetListOfElevatorsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetListOfElevatorsResponse.ProtoReflect.Descriptor instead. -func (*GetListOfElevatorsResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{37} +// Deprecated: Use GetListOfElevatorsReply.ProtoReflect.Descriptor instead. +func (*GetListOfElevatorsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{38} } -func (x *GetListOfElevatorsResponse) GetListOfElevators() []*RoomInformationElement { +func (x *GetListOfElevatorsReply) GetListOfElevators() []*RoomInformationElement { if x != nil { return x.ListOfElevators } return nil } -type GetMoreInformationResponse struct { +type GetMoreInformationReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2500,23 +2501,23 @@ type GetMoreInformationResponse struct { Information []*MoreInformationElement `protobuf:"bytes,1,rep,name=information,proto3" json:"information,omitempty"` } -func (x *GetMoreInformationResponse) Reset() { - *x = GetMoreInformationResponse{} +func (x *GetMoreInformationReply) Reset() { + *x = GetMoreInformationReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[38] + mi := &file_CampusService_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetMoreInformationResponse) String() string { +func (x *GetMoreInformationReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMoreInformationResponse) ProtoMessage() {} +func (*GetMoreInformationReply) ProtoMessage() {} -func (x *GetMoreInformationResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[38] +func (x *GetMoreInformationReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2527,12 +2528,12 @@ func (x *GetMoreInformationResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMoreInformationResponse.ProtoReflect.Descriptor instead. -func (*GetMoreInformationResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{38} +// Deprecated: Use GetMoreInformationReply.ProtoReflect.Descriptor instead. +func (*GetMoreInformationReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{39} } -func (x *GetMoreInformationResponse) GetInformation() []*MoreInformationElement { +func (x *GetMoreInformationReply) GetInformation() []*MoreInformationElement { if x != nil { return x.Information } @@ -2552,7 +2553,7 @@ type MoreInformationElement struct { func (x *MoreInformationElement) Reset() { *x = MoreInformationElement{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[39] + mi := &file_CampusService_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2565,7 +2566,7 @@ func (x *MoreInformationElement) String() string { func (*MoreInformationElement) ProtoMessage() {} func (x *MoreInformationElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[39] + mi := &file_CampusService_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2578,7 +2579,7 @@ func (x *MoreInformationElement) ProtoReflect() protoreflect.Message { // Deprecated: Use MoreInformationElement.ProtoReflect.Descriptor instead. func (*MoreInformationElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{39} + return file_CampusService_proto_rawDescGZIP(), []int{40} } func (x *MoreInformationElement) GetTitle() string { @@ -2602,35 +2603,31 @@ func (x *MoreInformationElement) GetUrl() string { return "" } -type GetRoomScheduleReply_RoomScheduleEvent struct { +type GetOpeningTimesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` - End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - EventId int32 `protobuf:"varint,4,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` - CourseCode string `protobuf:"bytes,5,opt,name=course_code,json=courseCode,proto3" json:"course_code,omitempty"` + Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"` } -func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { - *x = GetRoomScheduleReply_RoomScheduleEvent{} +func (x *GetOpeningTimesRequest) Reset() { + *x = GetOpeningTimesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[40] + mi := &file_CampusService_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { +func (x *GetOpeningTimesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} +func (*GetOpeningTimesRequest) ProtoMessage() {} -func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[40] +func (x *GetOpeningTimesRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2641,75 +2638,100 @@ func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use GetRoomScheduleReply_RoomScheduleEvent.ProtoReflect.Descriptor instead. -func (*GetRoomScheduleReply_RoomScheduleEvent) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{1, 0} +// Deprecated: Use GetOpeningTimesRequest.ProtoReflect.Descriptor instead. +func (*GetOpeningTimesRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{41} } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetStart() *timestamppb.Timestamp { +func (x *GetOpeningTimesRequest) GetLanguage() string { if x != nil { - return x.Start + return x.Language } - return nil + return "" } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEnd() *timestamppb.Timestamp { - if x != nil { - return x.End - } - return nil +type GetOpeningTimesReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Facilities []*OpeningTimesMsgElement `protobuf:"bytes,1,rep,name=facilities,proto3" json:"facilities,omitempty"` } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetTitle() string { - if x != nil { - return x.Title +func (x *GetOpeningTimesReply) Reset() { + *x = GetOpeningTimesReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEventId() int32 { - if x != nil { - return x.EventId +func (x *GetOpeningTimesReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOpeningTimesReply) ProtoMessage() {} + +func (x *GetOpeningTimesReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetCourseCode() string { +// Deprecated: Use GetOpeningTimesReply.ProtoReflect.Descriptor instead. +func (*GetOpeningTimesReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{42} +} + +func (x *GetOpeningTimesReply) GetFacilities() []*OpeningTimesMsgElement { if x != nil { - return x.CourseCode + return x.Facilities } - return "" + return nil } -type GetRoomMapsReply_Map struct { +type OpeningTimesMsgElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Scale int64 `protobuf:"varint,3,opt,name=scale,proto3" json:"scale,omitempty"` - Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` - Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` -} - -func (x *GetRoomMapsReply_Map) Reset() { - *x = GetRoomMapsReply_Map{} + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` + Room string `protobuf:"bytes,5,opt,name=room,proto3" json:"room,omitempty"` + TransportStation string `protobuf:"bytes,6,opt,name=transport_station,json=transportStation,proto3" json:"transport_station,omitempty"` + OpeningHours string `protobuf:"bytes,7,opt,name=opening_hours,json=openingHours,proto3" json:"opening_hours,omitempty"` + Infos string `protobuf:"bytes,8,opt,name=infos,proto3" json:"infos,omitempty"` + Url string `protobuf:"bytes,9,opt,name=url,proto3" json:"url,omitempty"` + Language string `protobuf:"bytes,10,opt,name=language,proto3" json:"language,omitempty"` + ReferenceId int32 `protobuf:"varint,11,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` +} + +func (x *OpeningTimesMsgElement) Reset() { + *x = OpeningTimesMsgElement{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[41] + mi := &file_CampusService_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetRoomMapsReply_Map) String() string { +func (x *OpeningTimesMsgElement) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRoomMapsReply_Map) ProtoMessage() {} +func (*OpeningTimesMsgElement) ProtoMessage() {} -func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[41] +func (x *OpeningTimesMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2720,789 +2742,5620 @@ func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetRoomMapsReply_Map.ProtoReflect.Descriptor instead. -func (*GetRoomMapsReply_Map) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{5, 0} +// Deprecated: Use OpeningTimesMsgElement.ProtoReflect.Descriptor instead. +func (*OpeningTimesMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{43} } -func (x *GetRoomMapsReply_Map) GetMapId() int64 { +func (x *OpeningTimesMsgElement) GetId() int32 { if x != nil { - return x.MapId + return x.Id } return 0 } -func (x *GetRoomMapsReply_Map) GetDescription() string { +func (x *OpeningTimesMsgElement) GetCategory() string { if x != nil { - return x.Description + return x.Category } return "" } -func (x *GetRoomMapsReply_Map) GetScale() int64 { +func (x *OpeningTimesMsgElement) GetName() string { if x != nil { - return x.Scale + return x.Name + } + return "" +} + +func (x *OpeningTimesMsgElement) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *OpeningTimesMsgElement) GetRoom() string { + if x != nil { + return x.Room + } + return "" +} + +func (x *OpeningTimesMsgElement) GetTransportStation() string { + if x != nil { + return x.TransportStation + } + return "" +} + +func (x *OpeningTimesMsgElement) GetOpeningHours() string { + if x != nil { + return x.OpeningHours + } + return "" +} + +func (x *OpeningTimesMsgElement) GetInfos() string { + if x != nil { + return x.Infos + } + return "" +} + +func (x *OpeningTimesMsgElement) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *OpeningTimesMsgElement) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *OpeningTimesMsgElement) GetReferenceId() int32 { + if x != nil { + return x.ReferenceId } return 0 } -func (x *GetRoomMapsReply_Map) GetWidth() int64 { +type GetUpdateNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *GetUpdateNoteRequest) Reset() { + *x = GetUpdateNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUpdateNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUpdateNoteRequest) ProtoMessage() {} + +func (x *GetUpdateNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUpdateNoteRequest.ProtoReflect.Descriptor instead. +func (*GetUpdateNoteRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{44} +} + +func (x *GetUpdateNoteRequest) GetVersion() int32 { if x != nil { - return x.Width + return x.Version } return 0 } -func (x *GetRoomMapsReply_Map) GetHeight() int64 { +type GetUpdateNoteReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *GetUpdateNoteReply) Reset() { + *x = GetUpdateNoteReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUpdateNoteReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUpdateNoteReply) ProtoMessage() {} + +func (x *GetUpdateNoteReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUpdateNoteReply.ProtoReflect.Descriptor instead. +func (*GetUpdateNoteReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{45} +} + +func (x *GetUpdateNoteReply) GetMessage() string { if x != nil { - return x.Height + return x.Message + } + return "" +} + +type GetStudyRoomListReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rooms []*StudyRoomMsgElement `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` +} + +func (x *GetStudyRoomListReply) Reset() { + *x = GetStudyRoomListReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStudyRoomListReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStudyRoomListReply) ProtoMessage() {} + +func (x *GetStudyRoomListReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStudyRoomListReply.ProtoReflect.Descriptor instead. +func (*GetStudyRoomListReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{46} +} + +func (x *GetStudyRoomListReply) GetRooms() []*StudyRoomMsgElement { + if x != nil { + return x.Rooms + } + return nil +} + +type StudyRoomMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` + Rooms []*StudyRoom `protobuf:"bytes,4,rep,name=rooms,proto3" json:"rooms,omitempty"` +} + +func (x *StudyRoomMsgElement) Reset() { + *x = StudyRoomMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudyRoomMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudyRoomMsgElement) ProtoMessage() {} + +func (x *StudyRoomMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StudyRoomMsgElement.ProtoReflect.Descriptor instead. +func (*StudyRoomMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{47} +} + +func (x *StudyRoomMsgElement) GetId() int32 { + if x != nil { + return x.Id } return 0 } -type GetLocationsReply_Location struct { +func (x *StudyRoomMsgElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *StudyRoomMsgElement) GetDetails() string { + if x != nil { + return x.Details + } + return "" +} + +func (x *StudyRoomMsgElement) GetRooms() []*StudyRoom { + if x != nil { + return x.Rooms + } + return nil +} + +type StudyRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Lon string `protobuf:"bytes,3,opt,name=lon,proto3" json:"lon,omitempty"` - Lat string `protobuf:"bytes,4,opt,name=lat,proto3" json:"lat,omitempty"` - Radius string `protobuf:"bytes,5,opt,name=radius,proto3" json:"radius,omitempty"` + GroupId int32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + RoomId int32 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId,omitempty"` + RoomCode string `protobuf:"bytes,3,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` + RoomName string `protobuf:"bytes,4,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` + BuildingName string `protobuf:"bytes,5,opt,name=building_name,json=buildingName,proto3" json:"building_name,omitempty"` } -func (x *GetLocationsReply_Location) Reset() { - *x = GetLocationsReply_Location{} +func (x *StudyRoom) Reset() { + *x = StudyRoom{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[42] + mi := &file_CampusService_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetLocationsReply_Location) String() string { +func (x *StudyRoom) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetLocationsReply_Location) ProtoMessage() {} +func (*StudyRoom) ProtoMessage() {} -func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[42] +func (x *StudyRoom) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLocationsReply_Location.ProtoReflect.Descriptor instead. -func (*GetLocationsReply_Location) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{7, 0} -} - -func (x *GetLocationsReply_Location) GetLocation() string { - if x != nil { - return x.Location - } - return "" -} - -func (x *GetLocationsReply_Location) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *GetLocationsReply_Location) GetLon() string { - if x != nil { - return x.Lon - } - return "" -} - -func (x *GetLocationsReply_Location) GetLat() string { - if x != nil { - return x.Lat - } - return "" -} - -func (x *GetLocationsReply_Location) GetRadius() string { - if x != nil { - return x.Radius - } - return "" -} - -var File_CampusService_proto protoreflect.FileDescriptor - -var file_CampusService_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, - 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0xc5, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, - 0x75, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x34, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, - 0x64, 0x22, 0x78, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, - 0x75, 0x74, 0x6d, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x75, 0x74, 0x6d, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x6d, 0x5f, 0x65, - 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x75, 0x74, - 0x6d, 0x45, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x74, 0x6d, 0x5f, - 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, - 0x75, 0x74, 0x6d, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x1a, 0x82, - 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x22, 0x31, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x09, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x76, 0x0a, 0x08, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x64, - 0x69, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, - 0x33, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, - 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x17, 0x0a, - 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x6e, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, - 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, - 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, - 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3c, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, - 0x4e, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, - 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, - 0xd4, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xbf, 0x01, 0x0a, 0x11, 0x4d, 0x65, - 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x17, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, - 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, - 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, - 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0xb7, 0x02, 0x0a, - 0x12, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, - 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, - 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, - 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, - 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, - 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x12, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, - 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x61, 0x67, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, - 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x4e, 0x65, - 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x4e, 0x65, - 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, - 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, - 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, - 0x76, 0x69, 0x65, 0x77, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x33, 0x0a, 0x11, 0x54, 0x61, - 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, - 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x44, 0x45, 0x12, - 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x45, 0x4e, 0x22, - 0x49, 0x0a, 0x0f, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x44, 0x45, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x45, 0x4e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x35, 0x0a, 0x09, 0x54, 0x61, - 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x44, 0x45, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x45, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, - 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, - 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, - 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, - 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, - 0x0a, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x52, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0x73, 0x0a, 0x09, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, - 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x22, 0x6b, 0x0a, 0x1c, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, - 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x22, 0x92, - 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x75, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x75, - 0x6d, 0x49, 0x44, 0x22, 0x57, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, - 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, - 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x13, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x84, 0x01, - 0x0a, 0x25, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, - 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, - 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, - 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x47, 0x0a, 0x24, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, - 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x5d, 0x0a, - 0x18, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x6c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x6c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, - 0x16, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x17, - 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x1a, 0x67, - 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x22, 0x5b, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, - 0x0a, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, - 0x16, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x32, 0xfb, 0x11, 0x0a, 0x06, - 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, - 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, - 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, - 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, - 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, - 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, - 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, - 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, - 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, - 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, - 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x67, 0x65, - 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, - 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, - 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x2f, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, - 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x28, 0x22, 0x23, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, - 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, - 0x61, 0x6c, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, - 0x12, 0x22, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, - 0x12, 0x28, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x70, 0x0a, 0x14, 0x67, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, - 0x72, 0x65, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6d, 0x0a, 0x0f, - 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, - 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, - 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, - 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x1d, - 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, - 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, - 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, - 0x12, 0x6d, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, - 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, - 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, - 0x73, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, - 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, - 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x12, 0x73, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, - 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, - 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, - 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, - 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, - 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} - -var ( - file_CampusService_proto_rawDescOnce sync.Once - file_CampusService_proto_rawDescData = file_CampusService_proto_rawDesc -) - -func file_CampusService_proto_rawDescGZIP() []byte { - file_CampusService_proto_rawDescOnce.Do(func() { - file_CampusService_proto_rawDescData = protoimpl.X.CompressGZIP(file_CampusService_proto_rawDescData) - }) - return file_CampusService_proto_rawDescData -} - -var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 43) -var file_CampusService_proto_goTypes = []interface{}{ - (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest - (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply - (*GetRoomCoordinatesRequest)(nil), // 2: api.GetRoomCoordinatesRequest - (*GetRoomCoordinatesReply)(nil), // 3: api.GetRoomCoordinatesReply - (*GetRoomMapsRequest)(nil), // 4: api.GetRoomMapsRequest - (*GetRoomMapsReply)(nil), // 5: api.GetRoomMapsReply - (*GetLocationsRequest)(nil), // 6: api.GetLocationsRequest - (*GetLocationsReply)(nil), // 7: api.GetLocationsReply - (*SearchRoomsRequest)(nil), // 8: api.SearchRoomsRequest - (*SearchRoomsReply)(nil), // 9: api.SearchRoomsReply - (*Room)(nil), // 10: api.Room - (*NewsSourceArray)(nil), // 11: api.NewsSourceArray - (*NewsSource)(nil), // 12: api.NewsSource - (*GetTopNewsReply)(nil), // 13: api.GetTopNewsReply - (*CafeteriaRatingRequest)(nil), // 14: api.CafeteriaRatingRequest - (*MealRatingRequest)(nil), // 15: api.MealRatingRequest - (*CafeteriaRatingResponse)(nil), // 16: api.CafeteriaRatingResponse - (*MealRatingResponse)(nil), // 17: api.MealRatingResponse - (*CafeteriaRating)(nil), // 18: api.CafeteriaRating - (*MealRating)(nil), // 19: api.MealRating - (*NewCafeteriaRatingRequest)(nil), // 20: api.NewCafeteriaRatingRequest - (*NewMealRatingRequest)(nil), // 21: api.NewMealRatingRequest - (*GetRatingTagsReply)(nil), // 22: api.GetRatingTagsReply - (*TagRatingOverview)(nil), // 23: api.TagRatingOverview - (*TagRatingResult)(nil), // 24: api.TagRatingResult - (*TagRating)(nil), // 25: api.TagRating - (*TagRatingsResult)(nil), // 26: api.TagRatingsResult - (*GetCafeteriaResponse)(nil), // 27: api.GetCafeteriaResponse - (*Cafeteria)(nil), // 28: api.Cafeteria - (*GetResponsiblePersonResponse)(nil), // 29: api.getResponsiblePersonResponse - (*ResponsiblePersonElement)(nil), // 30: api.ResponsiblePersonElement - (*GetBuilding2GpsResponse)(nil), // 31: api.getBuilding2GpsResponse - (*Building2GpsElement)(nil), // 32: api.Building2GpsElement - (*GetAreaFacilitiesByBuildingNrResponse)(nil), // 33: api.getAreaFacilitiesByBuildingNrResponse - (*GetAreaFacilitiesByBuildingNrRequest)(nil), // 34: api.getAreaFacilitiesByBuildingNrRequest - (*GetListOfToiletsResponse)(nil), // 35: api.getListOfToiletsResponse - (*RoomInformationElement)(nil), // 36: api.RoomInformationElement - (*GetListOfElevatorsResponse)(nil), // 37: api.getListOfElevatorsResponse - (*GetMoreInformationResponse)(nil), // 38: api.getMoreInformationResponse - (*MoreInformationElement)(nil), // 39: api.MoreInformationElement - (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 40: api.GetRoomScheduleReply.RoomScheduleEvent - (*GetRoomMapsReply_Map)(nil), // 41: api.GetRoomMapsReply.Map - (*GetLocationsReply_Location)(nil), // 42: api.GetLocationsReply.Location - (*timestamppb.Timestamp)(nil), // 43: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 44: google.protobuf.Empty -} -var file_CampusService_proto_depIdxs = []int32{ - 43, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp - 43, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp - 40, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent - 41, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map - 42, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location - 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room - 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource - 43, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp - 43, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp - 43, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp - 43, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp - 43, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp - 43, // 12: api.MealRatingRequest.from:type_name -> google.protobuf.Timestamp - 43, // 13: api.MealRatingRequest.to:type_name -> google.protobuf.Timestamp - 18, // 14: api.CafeteriaRatingResponse.rating:type_name -> api.CafeteriaRating - 26, // 15: api.CafeteriaRatingResponse.ratingTags:type_name -> api.TagRatingsResult - 19, // 16: api.MealRatingResponse.rating:type_name -> api.MealRating - 26, // 17: api.MealRatingResponse.ratingTags:type_name -> api.TagRatingsResult - 26, // 18: api.MealRatingResponse.nameTags:type_name -> api.TagRatingsResult - 24, // 19: api.CafeteriaRating.tagRating:type_name -> api.TagRatingResult - 43, // 20: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 24, // 21: api.MealRating.tagRating:type_name -> api.TagRatingResult - 43, // 22: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 25, // 23: api.NewCafeteriaRatingRequest.tags:type_name -> api.TagRating - 25, // 24: api.NewMealRatingRequest.tags:type_name -> api.TagRating - 23, // 25: api.GetRatingTagsReply.tags:type_name -> api.TagRatingOverview - 28, // 26: api.GetCafeteriaResponse.cafeteria:type_name -> api.Cafeteria - 30, // 27: api.getResponsiblePersonResponse.responsiblePerson:type_name -> api.ResponsiblePersonElement - 32, // 28: api.getBuilding2GpsResponse.building2Gps:type_name -> api.Building2GpsElement - 36, // 29: api.getAreaFacilitiesByBuildingNrResponse.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement - 36, // 30: api.getListOfToiletsResponse.listOfToilets:type_name -> api.RoomInformationElement - 36, // 31: api.getListOfElevatorsResponse.listOfElevators:type_name -> api.RoomInformationElement - 39, // 32: api.getMoreInformationResponse.information:type_name -> api.MoreInformationElement - 43, // 33: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp - 43, // 34: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp - 44, // 35: api.Campus.GetTopNews:input_type -> google.protobuf.Empty - 44, // 36: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty - 8, // 37: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest - 6, // 38: api.Campus.GetLocations:input_type -> api.GetLocationsRequest - 4, // 39: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest - 2, // 40: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest - 0, // 41: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest - 14, // 42: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest - 15, // 43: api.Campus.GetMealRatings:input_type -> api.MealRatingRequest - 20, // 44: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest - 21, // 45: api.Campus.NewMealRating:input_type -> api.NewMealRatingRequest - 44, // 46: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty - 44, // 47: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty - 44, // 48: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty - 44, // 49: api.Campus.getResponsiblePerson:input_type -> google.protobuf.Empty - 44, // 50: api.Campus.getBuilding2Gps:input_type -> google.protobuf.Empty - 34, // 51: api.Campus.getAreaFacilitiesByBuildingNr:input_type -> api.getAreaFacilitiesByBuildingNrRequest - 44, // 52: api.Campus.getListOfToilets:input_type -> google.protobuf.Empty - 44, // 53: api.Campus.getListOfElevators:input_type -> google.protobuf.Empty - 44, // 54: api.Campus.getMoreInformation:input_type -> google.protobuf.Empty - 13, // 55: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 56: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 57: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 58: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 59: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 60: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 61: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 62: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingResponse - 17, // 63: api.Campus.GetMealRatings:output_type -> api.MealRatingResponse - 44, // 64: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 44, // 65: api.Campus.NewMealRating:output_type -> google.protobuf.Empty - 22, // 66: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply - 22, // 67: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 27, // 68: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaResponse - 29, // 69: api.Campus.getResponsiblePerson:output_type -> api.getResponsiblePersonResponse - 31, // 70: api.Campus.getBuilding2Gps:output_type -> api.getBuilding2GpsResponse - 33, // 71: api.Campus.getAreaFacilitiesByBuildingNr:output_type -> api.getAreaFacilitiesByBuildingNrResponse - 35, // 72: api.Campus.getListOfToilets:output_type -> api.getListOfToiletsResponse - 37, // 73: api.Campus.getListOfElevators:output_type -> api.getListOfElevatorsResponse - 38, // 74: api.Campus.getMoreInformation:output_type -> api.getMoreInformationResponse - 55, // [55:75] is the sub-list for method output_type - 35, // [35:55] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name -} - -func init() { file_CampusService_proto_init() } -func file_CampusService_proto_init() { - if File_CampusService_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_CampusService_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleRequest); i { + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StudyRoom.ProtoReflect.Descriptor instead. +func (*StudyRoom) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{48} +} + +func (x *StudyRoom) GetGroupId() int32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *StudyRoom) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *StudyRoom) GetRoomCode() string { + if x != nil { + return x.RoomCode + } + return "" +} + +func (x *StudyRoom) GetRoomName() string { + if x != nil { + return x.RoomName + } + return "" +} + +func (x *StudyRoom) GetBuildingName() string { + if x != nil { + return x.BuildingName + } + return "" +} + +type GetEventListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // optional parameter, will return all events if no id is specified + EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` +} + +func (x *GetEventListRequest) Reset() { + *x = GetEventListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventListRequest) ProtoMessage() {} + +func (x *GetEventListRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventListRequest.ProtoReflect.Descriptor instead. +func (*GetEventListRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{49} +} + +func (x *GetEventListRequest) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +type GetEventListReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Events []*EventListMsgElement `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` +} + +func (x *GetEventListReply) Reset() { + *x = GetEventListReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventListReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventListReply) ProtoMessage() {} + +func (x *GetEventListReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventListReply.ProtoReflect.Descriptor instead. +func (*GetEventListReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{50} +} + +func (x *GetEventListReply) GetEvents() []*EventListMsgElement { + if x != nil { + return x.Events + } + return nil +} + +type EventListMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Event int32 `protobuf:"varint,3,opt,name=event,proto3" json:"event,omitempty"` + News int32 `protobuf:"varint,4,opt,name=news,proto3" json:"news,omitempty"` + Kino int32 `protobuf:"varint,5,opt,name=kino,proto3" json:"kino,omitempty"` + File int32 `protobuf:"varint,6,opt,name=file,proto3" json:"file,omitempty"` + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` + Locality string `protobuf:"bytes,9,opt,name=locality,proto3" json:"locality,omitempty"` + Link string `protobuf:"bytes,10,opt,name=link,proto3" json:"link,omitempty"` + Start *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=start,proto3" json:"start,omitempty"` + End *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=end,proto3" json:"end,omitempty"` + TicketGroup int32 `protobuf:"varint,13,opt,name=ticket_group,json=ticketGroup,proto3" json:"ticket_group,omitempty"` +} + +func (x *EventListMsgElement) Reset() { + *x = EventListMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventListMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventListMsgElement) ProtoMessage() {} + +func (x *EventListMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventListMsgElement.ProtoReflect.Descriptor instead. +func (*EventListMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{51} +} + +func (x *EventListMsgElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EventListMsgElement) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *EventListMsgElement) GetEvent() int32 { + if x != nil { + return x.Event + } + return 0 +} + +func (x *EventListMsgElement) GetNews() int32 { + if x != nil { + return x.News + } + return 0 +} + +func (x *EventListMsgElement) GetKino() int32 { + if x != nil { + return x.Kino + } + return 0 +} + +func (x *EventListMsgElement) GetFile() int32 { + if x != nil { + return x.File + } + return 0 +} + +func (x *EventListMsgElement) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *EventListMsgElement) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *EventListMsgElement) GetLocality() string { + if x != nil { + return x.Locality + } + return "" +} + +func (x *EventListMsgElement) GetLink() string { + if x != nil { + return x.Link + } + return "" +} + +func (x *EventListMsgElement) GetStart() *timestamppb.Timestamp { + if x != nil { + return x.Start + } + return nil +} + +func (x *EventListMsgElement) GetEnd() *timestamppb.Timestamp { + if x != nil { + return x.End + } + return nil +} + +func (x *EventListMsgElement) GetTicketGroup() int32 { + if x != nil { + return x.TicketGroup + } + return 0 +} + +type PostEventTicketMyReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MyTickets []*EventTicketMyMsgElement `protobuf:"bytes,1,rep,name=myTickets,proto3" json:"myTickets,omitempty"` +} + +func (x *PostEventTicketMyReply) Reset() { + *x = PostEventTicketMyReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostEventTicketMyReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostEventTicketMyReply) ProtoMessage() {} + +func (x *PostEventTicketMyReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostEventTicketMyReply.ProtoReflect.Descriptor instead. +func (*PostEventTicketMyReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{52} +} + +func (x *PostEventTicketMyReply) GetMyTickets() []*EventTicketMyMsgElement { + if x != nil { + return x.MyTickets + } + return nil +} + +type EventTicketMyMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketHistory int32 `protobuf:"varint,1,opt,name=ticket_history,json=ticketHistory,proto3" json:"ticket_history,omitempty"` + TicketType int32 `protobuf:"varint,2,opt,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"` + Redemption *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=redemption,proto3" json:"redemption,omitempty"` + Code string `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"` + Event int32 `protobuf:"varint,5,opt,name=event,proto3" json:"event,omitempty"` +} + +func (x *EventTicketMyMsgElement) Reset() { + *x = EventTicketMyMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventTicketMyMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventTicketMyMsgElement) ProtoMessage() {} + +func (x *EventTicketMyMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventTicketMyMsgElement.ProtoReflect.Descriptor instead. +func (*EventTicketMyMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{53} +} + +func (x *EventTicketMyMsgElement) GetTicketHistory() int32 { + if x != nil { + return x.TicketHistory + } + return 0 +} + +func (x *EventTicketMyMsgElement) GetTicketType() int32 { + if x != nil { + return x.TicketType + } + return 0 +} + +func (x *EventTicketMyMsgElement) GetRedemption() *timestamppb.Timestamp { + if x != nil { + return x.Redemption + } + return nil +} + +func (x *EventTicketMyMsgElement) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *EventTicketMyMsgElement) GetEvent() int32 { + if x != nil { + return x.Event + } + return 0 +} + +type PostEventTicketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *PostEventTicketRequest) Reset() { + *x = PostEventTicketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostEventTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostEventTicketRequest) ProtoMessage() {} + +func (x *PostEventTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostEventTicketRequest.ProtoReflect.Descriptor instead. +func (*PostEventTicketRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{54} +} + +func (x *PostEventTicketRequest) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +type GetEventTicketTypeReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventTickets []*EventTicketTypeMsgElement `protobuf:"bytes,1,rep,name=eventTickets,proto3" json:"eventTickets,omitempty"` +} + +func (x *GetEventTicketTypeReply) Reset() { + *x = GetEventTicketTypeReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventTicketTypeReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventTicketTypeReply) ProtoMessage() {} + +func (x *GetEventTicketTypeReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventTicketTypeReply.ProtoReflect.Descriptor instead. +func (*GetEventTicketTypeReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{55} +} + +func (x *GetEventTicketTypeReply) GetEventTickets() []*EventTicketTypeMsgElement { + if x != nil { + return x.EventTickets + } + return nil +} + +type EventTicketTypeMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketType int32 `protobuf:"varint,1,opt,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"` + Event int32 `protobuf:"varint,2,opt,name=event,proto3" json:"event,omitempty"` + TicketPayment int32 `protobuf:"varint,3,opt,name=ticket_payment,json=ticketPayment,proto3" json:"ticket_payment,omitempty"` + Price int32 `protobuf:"varint,4,opt,name=price,proto3" json:"price,omitempty"` + Contingent int32 `protobuf:"varint,5,opt,name=contingent,proto3" json:"contingent,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + Payment *EventTicketPaymentMsg `protobuf:"bytes,7,opt,name=payment,proto3" json:"payment,omitempty"` + Sold int32 `protobuf:"varint,8,opt,name=sold,proto3" json:"sold,omitempty"` +} + +func (x *EventTicketTypeMsgElement) Reset() { + *x = EventTicketTypeMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventTicketTypeMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventTicketTypeMsgElement) ProtoMessage() {} + +func (x *EventTicketTypeMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventTicketTypeMsgElement.ProtoReflect.Descriptor instead. +func (*EventTicketTypeMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{56} +} + +func (x *EventTicketTypeMsgElement) GetTicketType() int32 { + if x != nil { + return x.TicketType + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetEvent() int32 { + if x != nil { + return x.Event + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetTicketPayment() int32 { + if x != nil { + return x.TicketPayment + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetPrice() int32 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetContingent() int32 { + if x != nil { + return x.Contingent + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *EventTicketTypeMsgElement) GetPayment() *EventTicketPaymentMsg { + if x != nil { + return x.Payment + } + return nil +} + +func (x *EventTicketTypeMsgElement) GetSold() int32 { + if x != nil { + return x.Sold + } + return 0 +} + +type EventTicketPaymentMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StripePublishableKey string `protobuf:"bytes,1,opt,name=stripe_publishable_key,json=stripePublishableKey,proto3" json:"stripe_publishable_key,omitempty"` + Terms string `protobuf:"bytes,2,opt,name=terms,proto3" json:"terms,omitempty"` + MinTickets int32 `protobuf:"varint,3,opt,name=minTickets,proto3" json:"minTickets,omitempty"` + MaxTickets int32 `protobuf:"varint,4,opt,name=maxTickets,proto3" json:"maxTickets,omitempty"` +} + +func (x *EventTicketPaymentMsg) Reset() { + *x = EventTicketPaymentMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventTicketPaymentMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventTicketPaymentMsg) ProtoMessage() {} + +func (x *EventTicketPaymentMsg) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventTicketPaymentMsg.ProtoReflect.Descriptor instead. +func (*EventTicketPaymentMsg) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{57} +} + +func (x *EventTicketPaymentMsg) GetStripePublishableKey() string { + if x != nil { + return x.StripePublishableKey + } + return "" +} + +func (x *EventTicketPaymentMsg) GetTerms() string { + if x != nil { + return x.Terms + } + return "" +} + +func (x *EventTicketPaymentMsg) GetMinTickets() int32 { + if x != nil { + return x.MinTickets + } + return 0 +} + +func (x *EventTicketPaymentMsg) GetMaxTickets() int32 { + if x != nil { + return x.MaxTickets + } + return 0 +} + +type PostEventTicketReserveMultipleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketTypes []int32 `protobuf:"varint,1,rep,packed,name=ticketTypes,proto3" json:"ticketTypes,omitempty"` + Amounts []int32 `protobuf:"varint,2,rep,packed,name=amounts,proto3" json:"amounts,omitempty"` +} + +func (x *PostEventTicketReserveMultipleRequest) Reset() { + *x = PostEventTicketReserveMultipleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostEventTicketReserveMultipleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostEventTicketReserveMultipleRequest) ProtoMessage() {} + +func (x *PostEventTicketReserveMultipleRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostEventTicketReserveMultipleRequest.ProtoReflect.Descriptor instead. +func (*PostEventTicketReserveMultipleRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{58} +} + +func (x *PostEventTicketReserveMultipleRequest) GetTicketTypes() []int32 { + if x != nil { + return x.TicketTypes + } + return nil +} + +func (x *PostEventTicketReserveMultipleRequest) GetAmounts() []int32 { + if x != nil { + return x.Amounts + } + return nil +} + +type PostEventTicketReserveMultipleReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tickets []*EventTicketReserveMultipleMsgElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` +} + +func (x *PostEventTicketReserveMultipleReply) Reset() { + *x = PostEventTicketReserveMultipleReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostEventTicketReserveMultipleReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostEventTicketReserveMultipleReply) ProtoMessage() {} + +func (x *PostEventTicketReserveMultipleReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostEventTicketReserveMultipleReply.ProtoReflect.Descriptor instead. +func (*PostEventTicketReserveMultipleReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{59} +} + +func (x *PostEventTicketReserveMultipleReply) GetTickets() []*EventTicketReserveMultipleMsgElement { + if x != nil { + return x.Tickets + } + return nil +} + +type EventTicketReserveMultipleMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketIds int32 `protobuf:"varint,1,opt,name=ticket_ids,json=ticketIds,proto3" json:"ticket_ids,omitempty"` +} + +func (x *EventTicketReserveMultipleMsgElement) Reset() { + *x = EventTicketReserveMultipleMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventTicketReserveMultipleMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventTicketReserveMultipleMsgElement) ProtoMessage() {} + +func (x *EventTicketReserveMultipleMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventTicketReserveMultipleMsgElement.ProtoReflect.Descriptor instead. +func (*EventTicketReserveMultipleMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{60} +} + +func (x *EventTicketReserveMultipleMsgElement) GetTicketIds() int32 { + if x != nil { + return x.TicketIds + } + return 0 +} + +type GetKinoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LastId int32 `protobuf:"varint,1,opt,name=lastId,proto3" json:"lastId,omitempty"` +} + +func (x *GetKinoRequest) Reset() { + *x = GetKinoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetKinoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetKinoRequest) ProtoMessage() {} + +func (x *GetKinoRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetKinoRequest.ProtoReflect.Descriptor instead. +func (*GetKinoRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{61} +} + +func (x *GetKinoRequest) GetLastId() int32 { + if x != nil { + return x.LastId + } + return 0 +} + +type GetKinoReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kinos []*KinoMsgElement `protobuf:"bytes,1,rep,name=kinos,proto3" json:"kinos,omitempty"` +} + +func (x *GetKinoReply) Reset() { + *x = GetKinoReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetKinoReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetKinoReply) ProtoMessage() {} + +func (x *GetKinoReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetKinoReply.ProtoReflect.Descriptor instead. +func (*GetKinoReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{62} +} + +func (x *GetKinoReply) GetKinos() []*KinoMsgElement { + if x != nil { + return x.Kinos + } + return nil +} + +type KinoMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Kino int32 `protobuf:"varint,3,opt,name=kino,proto3" json:"kino,omitempty"` + Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"` + Created *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"` + Title string `protobuf:"bytes,6,opt,name=title,proto3" json:"title,omitempty"` + Year string `protobuf:"bytes,7,opt,name=year,proto3" json:"year,omitempty"` + Runtime string `protobuf:"bytes,8,opt,name=runtime,proto3" json:"runtime,omitempty"` + Genre string `protobuf:"bytes,9,opt,name=genre,proto3" json:"genre,omitempty"` + Director string `protobuf:"bytes,10,opt,name=director,proto3" json:"director,omitempty"` + Actors string `protobuf:"bytes,11,opt,name=actors,proto3" json:"actors,omitempty"` + Rating string `protobuf:"bytes,12,opt,name=rating,proto3" json:"rating,omitempty"` + Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` + Cover int32 `protobuf:"varint,14,opt,name=cover,proto3" json:"cover,omitempty"` + Trailer string `protobuf:"bytes,15,opt,name=trailer,proto3" json:"trailer,omitempty"` + Link string `protobuf:"bytes,16,opt,name=link,proto3" json:"link,omitempty"` +} + +func (x *KinoMsgElement) Reset() { + *x = KinoMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KinoMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KinoMsgElement) ProtoMessage() {} + +func (x *KinoMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KinoMsgElement.ProtoReflect.Descriptor instead. +func (*KinoMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{63} +} + +func (x *KinoMsgElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *KinoMsgElement) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *KinoMsgElement) GetKino() int32 { + if x != nil { + return x.Kino + } + return 0 +} + +func (x *KinoMsgElement) GetDate() *timestamppb.Timestamp { + if x != nil { + return x.Date + } + return nil +} + +func (x *KinoMsgElement) GetCreated() *timestamppb.Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *KinoMsgElement) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *KinoMsgElement) GetYear() string { + if x != nil { + return x.Year + } + return "" +} + +func (x *KinoMsgElement) GetRuntime() string { + if x != nil { + return x.Runtime + } + return "" +} + +func (x *KinoMsgElement) GetGenre() string { + if x != nil { + return x.Genre + } + return "" +} + +func (x *KinoMsgElement) GetDirector() string { + if x != nil { + return x.Director + } + return "" +} + +func (x *KinoMsgElement) GetActors() string { + if x != nil { + return x.Actors + } + return "" +} + +func (x *KinoMsgElement) GetRating() string { + if x != nil { + return x.Rating + } + return "" +} + +func (x *KinoMsgElement) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *KinoMsgElement) GetCover() int32 { + if x != nil { + return x.Cover + } + return 0 +} + +func (x *KinoMsgElement) GetTrailer() string { + if x != nil { + return x.Trailer + } + return "" +} + +func (x *KinoMsgElement) GetLink() string { + if x != nil { + return x.Link + } + return "" +} + +type PostFeedbackRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + EmailId string `protobuf:"bytes,3,opt,name=emailId,proto3" json:"emailId,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + ImageCount int32 `protobuf:"varint,5,opt,name=image_count,json=imageCount,proto3" json:"image_count,omitempty"` + Latitude float64 `protobuf:"fixed64,6,opt,name=latitude,proto3" json:"latitude,omitempty"` + Longitude float64 `protobuf:"fixed64,7,opt,name=longitude,proto3" json:"longitude,omitempty"` + OsVersion string `protobuf:"bytes,8,opt,name=osVersion,proto3" json:"osVersion,omitempty"` + AppVersion string `protobuf:"bytes,9,opt,name=appVersion,proto3" json:"appVersion,omitempty"` +} + +func (x *PostFeedbackRequest) Reset() { + *x = PostFeedbackRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostFeedbackRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostFeedbackRequest) ProtoMessage() {} + +func (x *PostFeedbackRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostFeedbackRequest.ProtoReflect.Descriptor instead. +func (*PostFeedbackRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{64} +} + +func (x *PostFeedbackRequest) GetTopic() string { + if x != nil { + return x.Topic + } + return "" +} + +func (x *PostFeedbackRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *PostFeedbackRequest) GetEmailId() string { + if x != nil { + return x.EmailId + } + return "" +} + +func (x *PostFeedbackRequest) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *PostFeedbackRequest) GetImageCount() int32 { + if x != nil { + return x.ImageCount + } + return 0 +} + +func (x *PostFeedbackRequest) GetLatitude() float64 { + if x != nil { + return x.Latitude + } + return 0 +} + +func (x *PostFeedbackRequest) GetLongitude() float64 { + if x != nil { + return x.Longitude + } + return 0 +} + +func (x *PostFeedbackRequest) GetOsVersion() string { + if x != nil { + return x.OsVersion + } + return "" +} + +func (x *PostFeedbackRequest) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +type PostFeedbackReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *PostFeedbackReply) Reset() { + *x = PostFeedbackReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostFeedbackReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostFeedbackReply) ProtoMessage() {} + +func (x *PostFeedbackReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostFeedbackReply.ProtoReflect.Descriptor instead. +func (*PostFeedbackReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{65} +} + +func (x *PostFeedbackReply) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type PostFeedbackIDImageNrRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo wo kommt das eigentliche file her? +} + +func (x *PostFeedbackIDImageNrRequest) Reset() { + *x = PostFeedbackIDImageNrRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostFeedbackIDImageNrRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostFeedbackIDImageNrRequest) ProtoMessage() {} + +func (x *PostFeedbackIDImageNrRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostFeedbackIDImageNrRequest.ProtoReflect.Descriptor instead. +func (*PostFeedbackIDImageNrRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{66} +} + +func (x *PostFeedbackIDImageNrRequest) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *PostFeedbackIDImageNrRequest) GetImageNr() int32 { + if x != nil { + return x.ImageNr + } + return 0 +} + +type GetMembersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` +} + +func (x *GetMembersRequest) Reset() { + *x = GetMembersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMembersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMembersRequest) ProtoMessage() {} + +func (x *GetMembersRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMembersRequest.ProtoReflect.Descriptor instead. +func (*GetMembersRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{67} +} + +func (x *GetMembersRequest) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +type GetMembersReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + MemberId int32 `protobuf:"varint,3,opt,name=memberId,proto3" json:"memberId,omitempty"` +} + +func (x *GetMembersReply) Reset() { + *x = GetMembersReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMembersReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMembersReply) ProtoMessage() {} + +func (x *GetMembersReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMembersReply.ProtoReflect.Descriptor instead. +func (*GetMembersReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{68} +} + +func (x *GetMembersReply) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +func (x *GetMembersReply) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetMembersReply) GetMemberId() int32 { + if x != nil { + return x.MemberId + } + return 0 +} + +type PostChatRoomsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` +} + +func (x *PostChatRoomsReply) Reset() { + *x = PostChatRoomsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostChatRoomsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostChatRoomsReply) ProtoMessage() {} + +func (x *PostChatRoomsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostChatRoomsReply.ProtoReflect.Descriptor instead. +func (*PostChatRoomsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{69} +} + +func (x *PostChatRoomsReply) GetRooms() []*ChatRoomsMsgElement { + if x != nil { + return x.Rooms + } + return nil +} + +type ChatRoomsMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Semester string `protobuf:"bytes,3,opt,name=semester,proto3" json:"semester,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Members int32 `protobuf:"varint,5,opt,name=members,proto3" json:"members,omitempty"` +} + +func (x *ChatRoomsMsgElement) Reset() { + *x = ChatRoomsMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatRoomsMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatRoomsMsgElement) ProtoMessage() {} + +func (x *ChatRoomsMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatRoomsMsgElement.ProtoReflect.Descriptor instead. +func (*ChatRoomsMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{70} +} + +func (x *ChatRoomsMsgElement) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ChatRoomsMsgElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ChatRoomsMsgElement) GetSemester() string { + if x != nil { + return x.Semester + } + return "" +} + +func (x *ChatRoomsMsgElement) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ChatRoomsMsgElement) GetMembers() int32 { + if x != nil { + return x.Members + } + return 0 +} + +type GetChatRoomsRoomIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` +} + +func (x *GetChatRoomsRoomIdRequest) Reset() { + *x = GetChatRoomsRoomIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetChatRoomsRoomIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChatRoomsRoomIdRequest) ProtoMessage() {} + +func (x *GetChatRoomsRoomIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetChatRoomsRoomIdRequest.ProtoReflect.Descriptor instead. +func (*GetChatRoomsRoomIdRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{71} +} + +func (x *GetChatRoomsRoomIdRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +type PostChatRoomsRoomIdLeaveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` +} + +func (x *PostChatRoomsRoomIdLeaveRequest) Reset() { + *x = PostChatRoomsRoomIdLeaveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostChatRoomsRoomIdLeaveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostChatRoomsRoomIdLeaveRequest) ProtoMessage() {} + +func (x *PostChatRoomsRoomIdLeaveRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostChatRoomsRoomIdLeaveRequest.ProtoReflect.Descriptor instead. +func (*PostChatRoomsRoomIdLeaveRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{72} +} + +func (x *PostChatRoomsRoomIdLeaveRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +type PostChatRoomsRoomIdAddRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` + MemberId int32 `protobuf:"varint,2,opt,name=memberId,proto3" json:"memberId,omitempty"` +} + +func (x *PostChatRoomsRoomIdAddRequest) Reset() { + *x = PostChatRoomsRoomIdAddRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostChatRoomsRoomIdAddRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostChatRoomsRoomIdAddRequest) ProtoMessage() {} + +func (x *PostChatRoomsRoomIdAddRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostChatRoomsRoomIdAddRequest.ProtoReflect.Descriptor instead. +func (*PostChatRoomsRoomIdAddRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{73} +} + +func (x *PostChatRoomsRoomIdAddRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *PostChatRoomsRoomIdAddRequest) GetMemberId() int32 { + if x != nil { + return x.MemberId + } + return 0 +} + +type PutChatRoomsSendRoomIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` +} + +func (x *PutChatRoomsSendRoomIdRequest) Reset() { + *x = PutChatRoomsSendRoomIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PutChatRoomsSendRoomIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PutChatRoomsSendRoomIdRequest) ProtoMessage() {} + +func (x *PutChatRoomsSendRoomIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PutChatRoomsSendRoomIdRequest.ProtoReflect.Descriptor instead. +func (*PutChatRoomsSendRoomIdRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{74} +} + +func (x *PutChatRoomsSendRoomIdRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +type PutChatRoomsUpdateMessageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` + MessageId int32 `protobuf:"varint,2,opt,name=messageId,proto3" json:"messageId,omitempty"` +} + +func (x *PutChatRoomsUpdateMessageRequest) Reset() { + *x = PutChatRoomsUpdateMessageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PutChatRoomsUpdateMessageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PutChatRoomsUpdateMessageRequest) ProtoMessage() {} + +func (x *PutChatRoomsUpdateMessageRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PutChatRoomsUpdateMessageRequest.ProtoReflect.Descriptor instead. +func (*PutChatRoomsUpdateMessageRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{75} +} + +func (x *PutChatRoomsUpdateMessageRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *PutChatRoomsUpdateMessageRequest) GetMessageId() int32 { + if x != nil { + return x.MessageId + } + return 0 +} + +type ChatMessageModelMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Messages []*ChatMessageModelMsgElement `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` +} + +func (x *ChatMessageModelMsg) Reset() { + *x = ChatMessageModelMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatMessageModelMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatMessageModelMsg) ProtoMessage() {} + +func (x *ChatMessageModelMsg) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatMessageModelMsg.ProtoReflect.Descriptor instead. +func (*ChatMessageModelMsg) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{76} +} + +func (x *ChatMessageModelMsg) GetMessages() []*ChatMessageModelMsgElement { + if x != nil { + return x.Messages + } + return nil +} + +type ChatMessageModelMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Previous int32 `protobuf:"varint,2,opt,name=previous,proto3" json:"previous,omitempty"` + Room int32 `protobuf:"varint,3,opt,name=room,proto3" json:"room,omitempty"` + Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Signature string `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"` + MemberId int32 `protobuf:"varint,7,opt,name=memberId,proto3" json:"memberId,omitempty"` + SendingStatus int32 `protobuf:"varint,8,opt,name=sendingStatus,proto3" json:"sendingStatus,omitempty"` +} + +func (x *ChatMessageModelMsgElement) Reset() { + *x = ChatMessageModelMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatMessageModelMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatMessageModelMsgElement) ProtoMessage() {} + +func (x *ChatMessageModelMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatMessageModelMsgElement.ProtoReflect.Descriptor instead. +func (*ChatMessageModelMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{77} +} + +func (x *ChatMessageModelMsgElement) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ChatMessageModelMsgElement) GetPrevious() int32 { + if x != nil { + return x.Previous + } + return 0 +} + +func (x *ChatMessageModelMsgElement) GetRoom() int32 { + if x != nil { + return x.Room + } + return 0 +} + +func (x *ChatMessageModelMsgElement) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +func (x *ChatMessageModelMsgElement) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *ChatMessageModelMsgElement) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *ChatMessageModelMsgElement) GetMemberId() int32 { + if x != nil { + return x.MemberId + } + return 0 +} + +func (x *ChatMessageModelMsgElement) GetSendingStatus() int32 { + if x != nil { + return x.SendingStatus + } + return 0 +} + +type PostChatRoomsGetMessagesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` + PageId int32 `protobuf:"varint,2,opt,name=pageId,proto3" json:"pageId,omitempty"` +} + +func (x *PostChatRoomsGetMessagesRequest) Reset() { + *x = PostChatRoomsGetMessagesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostChatRoomsGetMessagesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostChatRoomsGetMessagesRequest) ProtoMessage() {} + +func (x *PostChatRoomsGetMessagesRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostChatRoomsGetMessagesRequest.ProtoReflect.Descriptor instead. +func (*PostChatRoomsGetMessagesRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{78} +} + +func (x *PostChatRoomsGetMessagesRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *PostChatRoomsGetMessagesRequest) GetPageId() int32 { + if x != nil { + return x.PageId + } + return 0 +} + +type ChatMemberMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Members []*ChatMemberMsgElement `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` +} + +func (x *ChatMemberMsg) Reset() { + *x = ChatMemberMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatMemberMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatMemberMsg) ProtoMessage() {} + +func (x *ChatMemberMsg) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatMemberMsg.ProtoReflect.Descriptor instead. +func (*ChatMemberMsg) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{79} +} + +func (x *ChatMemberMsg) GetMembers() []*ChatMemberMsgElement { + if x != nil { + return x.Members + } + return nil +} + +type ChatMemberMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + LrzId string `protobuf:"bytes,2,opt,name=lrzId,proto3" json:"lrzId,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=displayName,proto3" json:"displayName,omitempty"` + Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *ChatMemberMsgElement) Reset() { + *x = ChatMemberMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatMemberMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatMemberMsgElement) ProtoMessage() {} + +func (x *ChatMemberMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatMemberMsgElement.ProtoReflect.Descriptor instead. +func (*ChatMemberMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{80} +} + +func (x *ChatMemberMsgElement) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ChatMemberMsgElement) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +func (x *ChatMemberMsgElement) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ChatMemberMsgElement) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +type GetChatMemberRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` +} + +func (x *GetChatMemberRequest) Reset() { + *x = GetChatMemberRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetChatMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChatMemberRequest) ProtoMessage() {} + +func (x *GetChatMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetChatMemberRequest.ProtoReflect.Descriptor instead. +func (*GetChatMemberRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{81} +} + +func (x *GetChatMemberRequest) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +type SearchMemberByNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *SearchMemberByNameRequest) Reset() { + *x = SearchMemberByNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchMemberByNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchMemberByNameRequest) ProtoMessage() {} + +func (x *SearchMemberByNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchMemberByNameRequest.ProtoReflect.Descriptor instead. +func (*SearchMemberByNameRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{82} +} + +func (x *SearchMemberByNameRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type GetMemberRoomsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MemberId int32 `protobuf:"varint,1,opt,name=memberId,proto3" json:"memberId,omitempty"` +} + +func (x *GetMemberRoomsRequest) Reset() { + *x = GetMemberRoomsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMemberRoomsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMemberRoomsRequest) ProtoMessage() {} + +func (x *GetMemberRoomsRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMemberRoomsRequest.ProtoReflect.Descriptor instead. +func (*GetMemberRoomsRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{83} +} + +func (x *GetMemberRoomsRequest) GetMemberId() int32 { + if x != nil { + return x.MemberId + } + return 0 +} + +type GetMemberRoomsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChatRooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=chatRooms,proto3" json:"chatRooms,omitempty"` +} + +func (x *GetMemberRoomsReply) Reset() { + *x = GetMemberRoomsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMemberRoomsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMemberRoomsReply) ProtoMessage() {} + +func (x *GetMemberRoomsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMemberRoomsReply.ProtoReflect.Descriptor instead. +func (*GetMemberRoomsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{84} +} + +func (x *GetMemberRoomsReply) GetChatRooms() []*ChatRoomsMsgElement { + if x != nil { + return x.ChatRooms + } + return nil +} + +type PurchaseTicketStripeReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tickets []*TicketMessageElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` +} + +func (x *PurchaseTicketStripeReply) Reset() { + *x = PurchaseTicketStripeReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurchaseTicketStripeReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseTicketStripeReply) ProtoMessage() {} + +func (x *PurchaseTicketStripeReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseTicketStripeReply.ProtoReflect.Descriptor instead. +func (*PurchaseTicketStripeReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{85} +} + +func (x *PurchaseTicketStripeReply) GetTickets() []*TicketMessageElement { + if x != nil { + return x.Tickets + } + return nil +} + +type TicketMessageElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + EventId int32 `protobuf:"varint,2,opt,name=eventId,proto3" json:"eventId,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + TicketTypeId int32 `protobuf:"varint,4,opt,name=ticketTypeId,proto3" json:"ticketTypeId,omitempty"` + Redemption *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=redemption,proto3" json:"redemption,omitempty"` +} + +func (x *TicketMessageElement) Reset() { + *x = TicketMessageElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TicketMessageElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketMessageElement) ProtoMessage() {} + +func (x *TicketMessageElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TicketMessageElement.ProtoReflect.Descriptor instead. +func (*TicketMessageElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{86} +} + +func (x *TicketMessageElement) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *TicketMessageElement) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +func (x *TicketMessageElement) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *TicketMessageElement) GetTicketTypeId() int32 { + if x != nil { + return x.TicketTypeId + } + return 0 +} + +func (x *TicketMessageElement) GetRedemption() *timestamppb.Timestamp { + if x != nil { + return x.Redemption + } + return nil +} + +type RetrieveEphemeralKeyReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RetrieveEphemeralKeyReply) Reset() { + *x = RetrieveEphemeralKeyReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetrieveEphemeralKeyReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveEphemeralKeyReply) ProtoMessage() {} + +func (x *RetrieveEphemeralKeyReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetrieveEphemeralKeyReply.ProtoReflect.Descriptor instead. +func (*RetrieveEphemeralKeyReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{87} +} + +type GetEventTicketStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` +} + +func (x *GetEventTicketStatusRequest) Reset() { + *x = GetEventTicketStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventTicketStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventTicketStatusRequest) ProtoMessage() {} + +func (x *GetEventTicketStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventTicketStatusRequest.ProtoReflect.Descriptor instead. +func (*GetEventTicketStatusRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{88} +} + +func (x *GetEventTicketStatusRequest) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +type GetEventTicketStatusReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status []*TicketStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"` +} + +func (x *GetEventTicketStatusReply) Reset() { + *x = GetEventTicketStatusReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventTicketStatusReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventTicketStatusReply) ProtoMessage() {} + +func (x *GetEventTicketStatusReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventTicketStatusReply.ProtoReflect.Descriptor instead. +func (*GetEventTicketStatusReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{89} +} + +func (x *GetEventTicketStatusReply) GetStatus() []*TicketStatus { + if x != nil { + return x.Status + } + return nil +} + +type TicketStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketType int32 `protobuf:"varint,1,opt,name=ticketType,proto3" json:"ticketType,omitempty"` + Contingent int32 `protobuf:"varint,2,opt,name=contingent,proto3" json:"contingent,omitempty"` + Sold int32 `protobuf:"varint,3,opt,name=sold,proto3" json:"sold,omitempty"` +} + +func (x *TicketStatus) Reset() { + *x = TicketStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TicketStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketStatus) ProtoMessage() {} + +func (x *TicketStatus) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TicketStatus.ProtoReflect.Descriptor instead. +func (*TicketStatus) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{90} +} + +func (x *TicketStatus) GetTicketType() int32 { + if x != nil { + return x.TicketType + } + return 0 +} + +func (x *TicketStatus) GetContingent() int32 { + if x != nil { + return x.Contingent + } + return 0 +} + +func (x *TicketStatus) GetSold() int32 { + if x != nil { + return x.Sold + } + return 0 +} + +type TUMCabeStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *TUMCabeStatus) Reset() { + *x = TUMCabeStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TUMCabeStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TUMCabeStatus) ProtoMessage() {} + +func (x *TUMCabeStatus) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TUMCabeStatus.ProtoReflect.Descriptor instead. +func (*TUMCabeStatus) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{91} +} + +func (x *TUMCabeStatus) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type GetUploadStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` +} + +func (x *GetUploadStatusRequest) Reset() { + *x = GetUploadStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUploadStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUploadStatusRequest) ProtoMessage() {} + +func (x *GetUploadStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[92] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUploadStatusRequest.ProtoReflect.Descriptor instead. +func (*GetUploadStatusRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{92} +} + +func (x *GetUploadStatusRequest) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +type GetUploadStatusReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FcmToken string `protobuf:"bytes,1,opt,name=fcm_token,json=fcmToken,proto3" json:"fcm_token,omitempty"` + PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + StudentId bool `protobuf:"varint,3,opt,name=student_id,json=studentId,proto3" json:"student_id,omitempty"` + EmployeeId bool `protobuf:"varint,4,opt,name=employee_id,json=employeeId,proto3" json:"employee_id,omitempty"` + ExternalId bool `protobuf:"varint,5,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` +} + +func (x *GetUploadStatusReply) Reset() { + *x = GetUploadStatusReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUploadStatusReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUploadStatusReply) ProtoMessage() {} + +func (x *GetUploadStatusReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[93] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUploadStatusReply.ProtoReflect.Descriptor instead. +func (*GetUploadStatusReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{93} +} + +func (x *GetUploadStatusReply) GetFcmToken() string { + if x != nil { + return x.FcmToken + } + return "" +} + +func (x *GetUploadStatusReply) GetPublicKey() string { + if x != nil { + return x.PublicKey + } + return "" +} + +func (x *GetUploadStatusReply) GetStudentId() bool { + if x != nil { + return x.StudentId + } + return false +} + +func (x *GetUploadStatusReply) GetEmployeeId() bool { + if x != nil { + return x.EmployeeId + } + return false +} + +func (x *GetUploadStatusReply) GetExternalId() bool { + if x != nil { + return x.ExternalId + } + return false +} + +type GetNotificationsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotificationId int32 `protobuf:"varint,1,opt,name=notificationId,proto3" json:"notificationId,omitempty"` + Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *GetNotificationsReply) Reset() { + *x = GetNotificationsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotificationsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotificationsReply) ProtoMessage() {} + +func (x *GetNotificationsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[94] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNotificationsReply.ProtoReflect.Descriptor instead. +func (*GetNotificationsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{94} +} + +func (x *GetNotificationsReply) GetNotificationId() int32 { + if x != nil { + return x.NotificationId + } + return 0 +} + +func (x *GetNotificationsReply) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *GetNotificationsReply) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetNotificationsReply) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *GetNotificationsReply) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +type NotificationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotificationId int32 `protobuf:"varint,1,opt,name=notificationId,proto3" json:"notificationId,omitempty"` +} + +func (x *NotificationsRequest) Reset() { + *x = NotificationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationsRequest) ProtoMessage() {} + +func (x *NotificationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[95] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotificationsRequest.ProtoReflect.Descriptor instead. +func (*NotificationsRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{95} +} + +func (x *NotificationsRequest) GetNotificationId() int32 { + if x != nil { + return x.NotificationId + } + return 0 +} + +type GetNotificationsConfirmReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *GetNotificationsConfirmReply) Reset() { + *x = GetNotificationsConfirmReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotificationsConfirmReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotificationsConfirmReply) ProtoMessage() {} + +func (x *GetNotificationsConfirmReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[96] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNotificationsConfirmReply.ProtoReflect.Descriptor instead. +func (*GetNotificationsConfirmReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{96} +} + +func (x *GetNotificationsConfirmReply) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type GetRoomScheduleReply_RoomScheduleEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + EventId int32 `protobuf:"varint,4,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` + CourseCode string `protobuf:"bytes,5,opt,name=course_code,json=courseCode,proto3" json:"course_code,omitempty"` +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { + *x = GetRoomScheduleReply_RoomScheduleEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[97] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoomScheduleReply_RoomScheduleEvent.ProtoReflect.Descriptor instead. +func (*GetRoomScheduleReply_RoomScheduleEvent) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetStart() *timestamppb.Timestamp { + if x != nil { + return x.Start + } + return nil +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEnd() *timestamppb.Timestamp { + if x != nil { + return x.End + } + return nil +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetCourseCode() string { + if x != nil { + return x.CourseCode + } + return "" +} + +type GetRoomMapsReply_Map struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Scale int64 `protobuf:"varint,3,opt,name=scale,proto3" json:"scale,omitempty"` + Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` + Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` +} + +func (x *GetRoomMapsReply_Map) Reset() { + *x = GetRoomMapsReply_Map{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRoomMapsReply_Map) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoomMapsReply_Map) ProtoMessage() {} + +func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[98] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoomMapsReply_Map.ProtoReflect.Descriptor instead. +func (*GetRoomMapsReply_Map) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *GetRoomMapsReply_Map) GetMapId() int64 { + if x != nil { + return x.MapId + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *GetRoomMapsReply_Map) GetScale() int64 { + if x != nil { + return x.Scale + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetWidth() int64 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetHeight() int64 { + if x != nil { + return x.Height + } + return 0 +} + +type GetLocationsReply_Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Lon string `protobuf:"bytes,3,opt,name=lon,proto3" json:"lon,omitempty"` + Lat string `protobuf:"bytes,4,opt,name=lat,proto3" json:"lat,omitempty"` + Radius string `protobuf:"bytes,5,opt,name=radius,proto3" json:"radius,omitempty"` +} + +func (x *GetLocationsReply_Location) Reset() { + *x = GetLocationsReply_Location{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetLocationsReply_Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLocationsReply_Location) ProtoMessage() {} + +func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[99] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLocationsReply_Location.ProtoReflect.Descriptor instead. +func (*GetLocationsReply_Location) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{7, 0} +} + +func (x *GetLocationsReply_Location) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *GetLocationsReply_Location) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetLocationsReply_Location) GetLon() string { + if x != nil { + return x.Lon + } + return "" +} + +func (x *GetLocationsReply_Location) GetLat() string { + if x != nil { + return x.Lat + } + return "" +} + +func (x *GetLocationsReply_Location) GetRadius() string { + if x != nil { + return x.Radius + } + return "" +} + +var File_CampusService_proto protoreflect.FileDescriptor + +var file_CampusService_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, + 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x1a, 0xc5, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, + 0x75, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x34, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, + 0x64, 0x22, 0x78, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, + 0x75, 0x74, 0x6d, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x75, 0x74, 0x6d, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x6d, 0x5f, 0x65, + 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x75, 0x74, + 0x6d, 0x45, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x74, 0x6d, 0x5f, + 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, + 0x75, 0x74, 0x6d, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x1a, 0x82, + 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x22, 0x31, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x76, 0x0a, 0x08, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x64, + 0x69, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, + 0x33, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, + 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, + 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, + 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, + 0x70, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x3c, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x4e, + 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0xd4, + 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, + 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, + 0x69, 0x6e, 0x6b, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, + 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, + 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x06, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x61, + 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, 0x74, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x69, + 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6d, 0x61, 0x78, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x0f, 0x44, 0x69, + 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, + 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, + 0x03, 0x61, 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, + 0x10, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, 0x74, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x6e, + 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0xcb, 0x01, + 0x0a, 0x11, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x4e, + 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x19, + 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x37, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x67, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0x4a, 0x0a, 0x12, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x65, 0x6e, 0x22, 0x39, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x22, 0x43, 0x0a, 0x13, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x4e, 0x65, 0x77, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x6f, 0x0a, 0x0f, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, + 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, + 0x74, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x41, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x63, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x09, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0x6f, 0x0a, 0x09, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x70, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x22, 0x24, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x69, 0x73, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, + 0x73, 0x68, 0x22, 0x68, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x0a, + 0x18, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x75, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x75, 0x6d, 0x49, + 0x44, 0x22, 0x54, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0c, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, + 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x13, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, + 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, + 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x5b, 0x0a, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x47, 0x0a, 0x24, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x41, + 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, + 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x16, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, + 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, + 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x69, + 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x22, 0x58, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x0b, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x16, 0x4d, + 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x34, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, + 0x53, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x66, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4d, 0x73, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x2b, 0x0a, + 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, + 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, + 0x73, 0x22, 0x79, 0x0a, 0x13, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x75, 0x64, + 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x9d, 0x01, 0x0a, + 0x09, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, + 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x45, 0x0a, + 0x11, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x22, 0xfa, 0x02, 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, + 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6e, 0x65, 0x77, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x30, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x22, 0x54, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x6d, + 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x6d, 0x79, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x68, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x72, + 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x28, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x47, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x14, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x63, + 0x0a, 0x25, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x23, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, + 0x45, 0x0a, 0x24, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, + 0x22, 0x39, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x29, 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, + 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, + 0x13, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, + 0x11, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x1c, 0x50, 0x6f, + 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x4e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x4e, 0x72, 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, + 0x57, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x12, 0x50, 0x6f, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, + 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x85, + 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, + 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, + 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x33, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1f, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, + 0x49, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x1d, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x1d, 0x50, + 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x52, + 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x20, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x52, + 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, + 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x51, 0x0a, 0x1f, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65, + 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x72, 0x7a, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x19, 0x50, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, + 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x01, + 0x0a, 0x14, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x65, 0x64, 0x65, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x37, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x62, 0x0a, 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x2e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, + 0xb3, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, 0x6d, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x63, 0x6d, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xf4, 0x2e, 0x0a, 0x06, 0x43, 0x61, + 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, + 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, + 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, + 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, + 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, + 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, + 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, + 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, + 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, + 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, + 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, + 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, + 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, + 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, + 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, 0x65, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, + 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x69, + 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, + 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, + 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x19, 0x2f, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x18, 0x2f, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x12, + 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x17, 0x12, 0x0f, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, 0x44, 0x69, + 0x73, 0x68, 0x65, 0x73, 0x62, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, + 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, + 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, + 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, + 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, + 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, 0x12, 0x6a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, + 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, + 0x65, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, + 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, + 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, + 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, + 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x70, + 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, 0x70, 0x65, + 0x6e, 0x69, 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x7d, 0x12, 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x17, 0x12, 0x15, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x2f, 0x7b, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x62, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x12, 0x22, 0x10, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x2f, 0x6d, 0x79, 0x12, 0x64, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, + 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1a, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x22, 0x12, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x9e, 0x01, 0x0a, + 0x1e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, + 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x86, 0x01, + 0x0a, 0x14, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x36, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, + 0x72, 0x69, 0x70, 0x65, 0x2f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x2f, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, + 0x29, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x65, 0x70, + 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x6b, 0x65, 0x79, 0x12, 0x80, 0x01, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x49, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, + 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x53, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, + 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x0b, 0x22, 0x09, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x74, 0x0a, + 0x15, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x72, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x66, 0x65, 0x65, 0x64, + 0x62, 0x61, 0x63, 0x6b, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x4e, 0x72, 0x7d, 0x12, 0x56, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x10, 0x2f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x09, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, + 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x47, + 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x13, 0x2f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x60, 0x0a, + 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, + 0x0e, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, + 0x12, 0x27, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, + 0x58, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x22, 0x0b, 0x2f, 0x63, 0x68, 0x61, 0x74, + 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x6c, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, + 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, + 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x16, 0x12, 0x14, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x12, 0x7e, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x43, + 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x4c, 0x65, + 0x61, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x4c, 0x65, 0x61, + 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x1a, 0x2f, 0x63, 0x68, + 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, + 0x7d, 0x2f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, + 0x64, 0x64, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x23, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, + 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x61, + 0x64, 0x64, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0x84, 0x01, + 0x0a, 0x17, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, + 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, + 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x24, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x1c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, + 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x19, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2a, 0x1a, 0x28, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, + 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x8a, 0x01, 0x0a, + 0x18, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x28, 0x22, 0x26, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x50, 0x6f, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, 0x74, 0x4e, 0x65, + 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, + 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, + 0x1d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x63, + 0x0a, 0x14, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x15, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x0f, 0x22, 0x0d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x63, 0x68, 0x61, 0x74, + 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, + 0x12, 0x6e, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x7d, + 0x12, 0x6e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, + 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, + 0x22, 0x1e, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, + 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, + 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, + 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, + 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, + 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_CampusService_proto_rawDescOnce sync.Once + file_CampusService_proto_rawDescData = file_CampusService_proto_rawDesc +) + +func file_CampusService_proto_rawDescGZIP() []byte { + file_CampusService_proto_rawDescOnce.Do(func() { + file_CampusService_proto_rawDescData = protoimpl.X.CompressGZIP(file_CampusService_proto_rawDescData) + }) + return file_CampusService_proto_rawDescData +} + +var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 100) +var file_CampusService_proto_goTypes = []interface{}{ + (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest + (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply + (*GetRoomCoordinatesRequest)(nil), // 2: api.GetRoomCoordinatesRequest + (*GetRoomCoordinatesReply)(nil), // 3: api.GetRoomCoordinatesReply + (*GetRoomMapsRequest)(nil), // 4: api.GetRoomMapsRequest + (*GetRoomMapsReply)(nil), // 5: api.GetRoomMapsReply + (*GetLocationsRequest)(nil), // 6: api.GetLocationsRequest + (*GetLocationsReply)(nil), // 7: api.GetLocationsReply + (*SearchRoomsRequest)(nil), // 8: api.SearchRoomsRequest + (*SearchRoomsReply)(nil), // 9: api.SearchRoomsReply + (*Room)(nil), // 10: api.Room + (*NewsSourceArray)(nil), // 11: api.NewsSourceArray + (*NewsSource)(nil), // 12: api.NewsSource + (*GetTopNewsReply)(nil), // 13: api.GetTopNewsReply + (*CafeteriaRatingRequest)(nil), // 14: api.CafeteriaRatingRequest + (*DishRatingRequest)(nil), // 15: api.DishRatingRequest + (*CafeteriaRatingReply)(nil), // 16: api.CafeteriaRatingReply + (*DishRatingReply)(nil), // 17: api.DishRatingReply + (*SingleRatingReply)(nil), // 18: api.SingleRatingReply + (*NewCafeteriaRatingRequest)(nil), // 19: api.NewCafeteriaRatingRequest + (*NewDishRatingRequest)(nil), // 20: api.NewDishRatingRequest + (*GetRatingTagsReply)(nil), // 21: api.GetRatingTagsReply + (*RatingTagsOverview)(nil), // 22: api.RatingTagsOverview + (*RatingTag)(nil), // 23: api.RatingTag + (*RatingTagNewRequest)(nil), // 24: api.RatingTagNewRequest + (*RatingTagResult)(nil), // 25: api.RatingTagResult + (*GetCafeteriaReply)(nil), // 26: api.GetCafeteriaReply + (*Cafeteria)(nil), // 27: api.Cafeteria + (*GetDishesRequest)(nil), // 28: api.GetDishesRequest + (*GetDishesReply)(nil), // 29: api.GetDishesReply + (*GetResponsiblePersonReply)(nil), // 30: api.GetResponsiblePersonReply + (*ResponsiblePersonElement)(nil), // 31: api.ResponsiblePersonElement + (*GetBuilding2GpsReply)(nil), // 32: api.GetBuilding2GpsReply + (*Building2GpsElement)(nil), // 33: api.Building2GpsElement + (*GetAreaFacilitiesByBuildingNrReply)(nil), // 34: api.GetAreaFacilitiesByBuildingNrReply + (*GetAreaFacilitiesByBuildingNrRequest)(nil), // 35: api.GetAreaFacilitiesByBuildingNrRequest + (*GetListOfToiletsReply)(nil), // 36: api.GetListOfToiletsReply + (*RoomInformationElement)(nil), // 37: api.RoomInformationElement + (*GetListOfElevatorsReply)(nil), // 38: api.GetListOfElevatorsReply + (*GetMoreInformationReply)(nil), // 39: api.GetMoreInformationReply + (*MoreInformationElement)(nil), // 40: api.MoreInformationElement + (*GetOpeningTimesRequest)(nil), // 41: api.GetOpeningTimesRequest + (*GetOpeningTimesReply)(nil), // 42: api.GetOpeningTimesReply + (*OpeningTimesMsgElement)(nil), // 43: api.OpeningTimesMsgElement + (*GetUpdateNoteRequest)(nil), // 44: api.GetUpdateNoteRequest + (*GetUpdateNoteReply)(nil), // 45: api.GetUpdateNoteReply + (*GetStudyRoomListReply)(nil), // 46: api.GetStudyRoomListReply + (*StudyRoomMsgElement)(nil), // 47: api.StudyRoomMsgElement + (*StudyRoom)(nil), // 48: api.StudyRoom + (*GetEventListRequest)(nil), // 49: api.GetEventListRequest + (*GetEventListReply)(nil), // 50: api.GetEventListReply + (*EventListMsgElement)(nil), // 51: api.EventListMsgElement + (*PostEventTicketMyReply)(nil), // 52: api.PostEventTicketMyReply + (*EventTicketMyMsgElement)(nil), // 53: api.EventTicketMyMsgElement + (*PostEventTicketRequest)(nil), // 54: api.PostEventTicketRequest + (*GetEventTicketTypeReply)(nil), // 55: api.GetEventTicketTypeReply + (*EventTicketTypeMsgElement)(nil), // 56: api.EventTicketTypeMsgElement + (*EventTicketPaymentMsg)(nil), // 57: api.EventTicketPaymentMsg + (*PostEventTicketReserveMultipleRequest)(nil), // 58: api.PostEventTicketReserveMultipleRequest + (*PostEventTicketReserveMultipleReply)(nil), // 59: api.PostEventTicketReserveMultipleReply + (*EventTicketReserveMultipleMsgElement)(nil), // 60: api.EventTicketReserveMultipleMsgElement + (*GetKinoRequest)(nil), // 61: api.GetKinoRequest + (*GetKinoReply)(nil), // 62: api.GetKinoReply + (*KinoMsgElement)(nil), // 63: api.KinoMsgElement + (*PostFeedbackRequest)(nil), // 64: api.PostFeedbackRequest + (*PostFeedbackReply)(nil), // 65: api.PostFeedbackReply + (*PostFeedbackIDImageNrRequest)(nil), // 66: api.PostFeedbackIDImageNrRequest + (*GetMembersRequest)(nil), // 67: api.GetMembersRequest + (*GetMembersReply)(nil), // 68: api.GetMembersReply + (*PostChatRoomsReply)(nil), // 69: api.PostChatRoomsReply + (*ChatRoomsMsgElement)(nil), // 70: api.ChatRoomsMsgElement + (*GetChatRoomsRoomIdRequest)(nil), // 71: api.GetChatRoomsRoomIdRequest + (*PostChatRoomsRoomIdLeaveRequest)(nil), // 72: api.PostChatRoomsRoomIdLeaveRequest + (*PostChatRoomsRoomIdAddRequest)(nil), // 73: api.PostChatRoomsRoomIdAddRequest + (*PutChatRoomsSendRoomIdRequest)(nil), // 74: api.PutChatRoomsSendRoomIdRequest + (*PutChatRoomsUpdateMessageRequest)(nil), // 75: api.PutChatRoomsUpdateMessageRequest + (*ChatMessageModelMsg)(nil), // 76: api.ChatMessageModelMsg + (*ChatMessageModelMsgElement)(nil), // 77: api.ChatMessageModelMsgElement + (*PostChatRoomsGetMessagesRequest)(nil), // 78: api.PostChatRoomsGetMessagesRequest + (*ChatMemberMsg)(nil), // 79: api.ChatMemberMsg + (*ChatMemberMsgElement)(nil), // 80: api.ChatMemberMsgElement + (*GetChatMemberRequest)(nil), // 81: api.GetChatMemberRequest + (*SearchMemberByNameRequest)(nil), // 82: api.SearchMemberByNameRequest + (*GetMemberRoomsRequest)(nil), // 83: api.GetMemberRoomsRequest + (*GetMemberRoomsReply)(nil), // 84: api.GetMemberRoomsReply + (*PurchaseTicketStripeReply)(nil), // 85: api.PurchaseTicketStripeReply + (*TicketMessageElement)(nil), // 86: api.TicketMessageElement + (*RetrieveEphemeralKeyReply)(nil), // 87: api.RetrieveEphemeralKeyReply + (*GetEventTicketStatusRequest)(nil), // 88: api.GetEventTicketStatusRequest + (*GetEventTicketStatusReply)(nil), // 89: api.GetEventTicketStatusReply + (*TicketStatus)(nil), // 90: api.TicketStatus + (*TUMCabeStatus)(nil), // 91: api.TUMCabeStatus + (*GetUploadStatusRequest)(nil), // 92: api.GetUploadStatusRequest + (*GetUploadStatusReply)(nil), // 93: api.GetUploadStatusReply + (*GetNotificationsReply)(nil), // 94: api.GetNotificationsReply + (*NotificationsRequest)(nil), // 95: api.NotificationsRequest + (*GetNotificationsConfirmReply)(nil), // 96: api.GetNotificationsConfirmReply + (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 97: api.GetRoomScheduleReply.RoomScheduleEvent + (*GetRoomMapsReply_Map)(nil), // 98: api.GetRoomMapsReply.Map + (*GetLocationsReply_Location)(nil), // 99: api.GetLocationsReply.Location + (*timestamppb.Timestamp)(nil), // 100: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 101: google.protobuf.Empty +} +var file_CampusService_proto_depIdxs = []int32{ + 100, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp + 100, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp + 97, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent + 98, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map + 99, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location + 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room + 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource + 100, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp + 100, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp + 100, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp + 100, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp + 100, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp + 100, // 12: api.DishRatingRequest.from:type_name -> google.protobuf.Timestamp + 100, // 13: api.DishRatingRequest.to:type_name -> google.protobuf.Timestamp + 18, // 14: api.CafeteriaRatingReply.rating:type_name -> api.SingleRatingReply + 25, // 15: api.CafeteriaRatingReply.ratingTags:type_name -> api.RatingTagResult + 18, // 16: api.DishRatingReply.rating:type_name -> api.SingleRatingReply + 25, // 17: api.DishRatingReply.ratingTags:type_name -> api.RatingTagResult + 25, // 18: api.DishRatingReply.nameTags:type_name -> api.RatingTagResult + 24, // 19: api.SingleRatingReply.ratingTags:type_name -> api.RatingTagNewRequest + 100, // 20: api.SingleRatingReply.visited:type_name -> google.protobuf.Timestamp + 23, // 21: api.NewCafeteriaRatingRequest.ratingTags:type_name -> api.RatingTag + 23, // 22: api.NewDishRatingRequest.ratingTags:type_name -> api.RatingTag + 22, // 23: api.GetRatingTagsReply.ratingTags:type_name -> api.RatingTagsOverview + 27, // 24: api.GetCafeteriaReply.cafeteria:type_name -> api.Cafeteria + 31, // 25: api.GetResponsiblePersonReply.responsiblePerson:type_name -> api.ResponsiblePersonElement + 33, // 26: api.GetBuilding2GpsReply.building2Gps:type_name -> api.Building2GpsElement + 37, // 27: api.GetAreaFacilitiesByBuildingNrReply.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement + 37, // 28: api.GetListOfToiletsReply.listOfToilets:type_name -> api.RoomInformationElement + 37, // 29: api.GetListOfElevatorsReply.listOfElevators:type_name -> api.RoomInformationElement + 40, // 30: api.GetMoreInformationReply.information:type_name -> api.MoreInformationElement + 43, // 31: api.GetOpeningTimesReply.facilities:type_name -> api.OpeningTimesMsgElement + 47, // 32: api.GetStudyRoomListReply.rooms:type_name -> api.StudyRoomMsgElement + 48, // 33: api.StudyRoomMsgElement.rooms:type_name -> api.StudyRoom + 51, // 34: api.GetEventListReply.events:type_name -> api.EventListMsgElement + 100, // 35: api.EventListMsgElement.start:type_name -> google.protobuf.Timestamp + 100, // 36: api.EventListMsgElement.end:type_name -> google.protobuf.Timestamp + 53, // 37: api.PostEventTicketMyReply.myTickets:type_name -> api.EventTicketMyMsgElement + 100, // 38: api.EventTicketMyMsgElement.redemption:type_name -> google.protobuf.Timestamp + 56, // 39: api.GetEventTicketTypeReply.eventTickets:type_name -> api.EventTicketTypeMsgElement + 57, // 40: api.EventTicketTypeMsgElement.payment:type_name -> api.EventTicketPaymentMsg + 60, // 41: api.PostEventTicketReserveMultipleReply.tickets:type_name -> api.EventTicketReserveMultipleMsgElement + 63, // 42: api.GetKinoReply.kinos:type_name -> api.KinoMsgElement + 100, // 43: api.KinoMsgElement.date:type_name -> google.protobuf.Timestamp + 100, // 44: api.KinoMsgElement.created:type_name -> google.protobuf.Timestamp + 70, // 45: api.PostChatRoomsReply.rooms:type_name -> api.ChatRoomsMsgElement + 77, // 46: api.ChatMessageModelMsg.messages:type_name -> api.ChatMessageModelMsgElement + 100, // 47: api.ChatMessageModelMsgElement.timestamp:type_name -> google.protobuf.Timestamp + 80, // 48: api.ChatMemberMsg.members:type_name -> api.ChatMemberMsgElement + 70, // 49: api.GetMemberRoomsReply.chatRooms:type_name -> api.ChatRoomsMsgElement + 86, // 50: api.PurchaseTicketStripeReply.tickets:type_name -> api.TicketMessageElement + 100, // 51: api.TicketMessageElement.redemption:type_name -> google.protobuf.Timestamp + 90, // 52: api.GetEventTicketStatusReply.status:type_name -> api.TicketStatus + 100, // 53: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp + 100, // 54: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp + 101, // 55: api.Campus.GetTopNews:input_type -> google.protobuf.Empty + 101, // 56: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty + 8, // 57: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest + 6, // 58: api.Campus.GetLocations:input_type -> api.GetLocationsRequest + 4, // 59: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest + 2, // 60: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest + 0, // 61: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest + 14, // 62: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest + 15, // 63: api.Campus.GetDishRatings:input_type -> api.DishRatingRequest + 19, // 64: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest + 20, // 65: api.Campus.NewDishRating:input_type -> api.NewDishRatingRequest + 101, // 66: api.Campus.GetAvailableDishTags:input_type -> google.protobuf.Empty + 101, // 67: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty + 101, // 68: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty + 28, // 69: api.Campus.GetDishes:input_type -> api.GetDishesRequest + 101, // 70: api.Campus.GetResponsiblePerson:input_type -> google.protobuf.Empty + 101, // 71: api.Campus.GetBuilding2Gps:input_type -> google.protobuf.Empty + 35, // 72: api.Campus.GetAreaFacilitiesByBuildingNr:input_type -> api.GetAreaFacilitiesByBuildingNrRequest + 101, // 73: api.Campus.GetListOfToilets:input_type -> google.protobuf.Empty + 101, // 74: api.Campus.GetListOfElevators:input_type -> google.protobuf.Empty + 101, // 75: api.Campus.GetMoreInformation:input_type -> google.protobuf.Empty + 41, // 76: api.Campus.GetOpeningTimes:input_type -> api.GetOpeningTimesRequest + 44, // 77: api.Campus.GetUpdateNote:input_type -> api.GetUpdateNoteRequest + 101, // 78: api.Campus.GetStudyRoomList:input_type -> google.protobuf.Empty + 49, // 79: api.Campus.GetEventList:input_type -> api.GetEventListRequest + 101, // 80: api.Campus.PostEventTicketMy:input_type -> google.protobuf.Empty + 54, // 81: api.Campus.PostEventTicket:input_type -> api.PostEventTicketRequest + 54, // 82: api.Campus.GetEventTicketType:input_type -> api.PostEventTicketRequest + 58, // 83: api.Campus.PostEventTicketReserveMultiple:input_type -> api.PostEventTicketReserveMultipleRequest + 101, // 84: api.Campus.PurchaseTicketStripe:input_type -> google.protobuf.Empty + 101, // 85: api.Campus.RetrieveEphemeralKey:input_type -> google.protobuf.Empty + 88, // 86: api.Campus.GetEventTicketStatus:input_type -> api.GetEventTicketStatusRequest + 61, // 87: api.Campus.GetKino:input_type -> api.GetKinoRequest + 64, // 88: api.Campus.PostFeedback:input_type -> api.PostFeedbackRequest + 66, // 89: api.Campus.PostFeedbackIDImageNr:input_type -> api.PostFeedbackIDImageNrRequest + 101, // 90: api.Campus.RegisterDevice:input_type -> google.protobuf.Empty + 101, // 91: api.Campus.VerifyKey:input_type -> google.protobuf.Empty + 101, // 92: api.Campus.DeviceUploadGcmToken:input_type -> google.protobuf.Empty + 92, // 93: api.Campus.GetUploadStatus:input_type -> api.GetUploadStatusRequest + 95, // 94: api.Campus.GetNotification:input_type -> api.NotificationsRequest + 95, // 95: api.Campus.GetNotificationConfirm:input_type -> api.NotificationsRequest + 67, // 96: api.Campus.GetMembers:input_type -> api.GetMembersRequest + 101, // 97: api.Campus.PostChatRooms:input_type -> google.protobuf.Empty + 71, // 98: api.Campus.GetChatRoomsRoomId:input_type -> api.GetChatRoomsRoomIdRequest + 72, // 99: api.Campus.PostChatRoomsRoomIdLeave:input_type -> api.PostChatRoomsRoomIdLeaveRequest + 73, // 100: api.Campus.PostChatRoomsRoomIdAdd:input_type -> api.PostChatRoomsRoomIdAddRequest + 74, // 101: api.Campus.PutChatRoomsSendMessage:input_type -> api.PutChatRoomsSendRoomIdRequest + 75, // 102: api.Campus.PutChatRoomsUpdateMessage:input_type -> api.PutChatRoomsUpdateMessageRequest + 78, // 103: api.Campus.PostChatRoomsGetMessages:input_type -> api.PostChatRoomsGetMessagesRequest + 74, // 104: api.Campus.PostChatRoomsGetNewMessages:input_type -> api.PutChatRoomsSendRoomIdRequest + 80, // 105: api.Campus.PostChatCreateMember:input_type -> api.ChatMemberMsgElement + 81, // 106: api.Campus.GetChatMemberByLrzId:input_type -> api.GetChatMemberRequest + 82, // 107: api.Campus.SearchMemberByName:input_type -> api.SearchMemberByNameRequest + 83, // 108: api.Campus.GetMemberRooms:input_type -> api.GetMemberRoomsRequest + 13, // 109: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 110: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 111: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 112: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 113: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 114: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 115: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 116: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply + 17, // 117: api.Campus.GetDishRatings:output_type -> api.DishRatingReply + 101, // 118: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 101, // 119: api.Campus.NewDishRating:output_type -> google.protobuf.Empty + 21, // 120: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply + 21, // 121: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 26, // 122: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply + 29, // 123: api.Campus.GetDishes:output_type -> api.GetDishesReply + 30, // 124: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply + 32, // 125: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply + 34, // 126: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply + 36, // 127: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply + 38, // 128: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply + 39, // 129: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply + 42, // 130: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply + 45, // 131: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply + 46, // 132: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply + 50, // 133: api.Campus.GetEventList:output_type -> api.GetEventListReply + 52, // 134: api.Campus.PostEventTicketMy:output_type -> api.PostEventTicketMyReply + 51, // 135: api.Campus.PostEventTicket:output_type -> api.EventListMsgElement + 55, // 136: api.Campus.GetEventTicketType:output_type -> api.GetEventTicketTypeReply + 59, // 137: api.Campus.PostEventTicketReserveMultiple:output_type -> api.PostEventTicketReserveMultipleReply + 85, // 138: api.Campus.PurchaseTicketStripe:output_type -> api.PurchaseTicketStripeReply + 87, // 139: api.Campus.RetrieveEphemeralKey:output_type -> api.RetrieveEphemeralKeyReply + 89, // 140: api.Campus.GetEventTicketStatus:output_type -> api.GetEventTicketStatusReply + 62, // 141: api.Campus.GetKino:output_type -> api.GetKinoReply + 65, // 142: api.Campus.PostFeedback:output_type -> api.PostFeedbackReply + 65, // 143: api.Campus.PostFeedbackIDImageNr:output_type -> api.PostFeedbackReply + 91, // 144: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus + 91, // 145: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus + 91, // 146: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus + 93, // 147: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply + 94, // 148: api.Campus.GetNotification:output_type -> api.GetNotificationsReply + 96, // 149: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply + 68, // 150: api.Campus.GetMembers:output_type -> api.GetMembersReply + 69, // 151: api.Campus.PostChatRooms:output_type -> api.PostChatRoomsReply + 70, // 152: api.Campus.GetChatRoomsRoomId:output_type -> api.ChatRoomsMsgElement + 70, // 153: api.Campus.PostChatRoomsRoomIdLeave:output_type -> api.ChatRoomsMsgElement + 70, // 154: api.Campus.PostChatRoomsRoomIdAdd:output_type -> api.ChatRoomsMsgElement + 77, // 155: api.Campus.PutChatRoomsSendMessage:output_type -> api.ChatMessageModelMsgElement + 77, // 156: api.Campus.PutChatRoomsUpdateMessage:output_type -> api.ChatMessageModelMsgElement + 76, // 157: api.Campus.PostChatRoomsGetMessages:output_type -> api.ChatMessageModelMsg + 76, // 158: api.Campus.PostChatRoomsGetNewMessages:output_type -> api.ChatMessageModelMsg + 80, // 159: api.Campus.PostChatCreateMember:output_type -> api.ChatMemberMsgElement + 80, // 160: api.Campus.GetChatMemberByLrzId:output_type -> api.ChatMemberMsgElement + 79, // 161: api.Campus.SearchMemberByName:output_type -> api.ChatMemberMsg + 84, // 162: api.Campus.GetMemberRooms:output_type -> api.GetMemberRoomsReply + 109, // [109:163] is the sub-list for method output_type + 55, // [55:109] is the sub-list for method input_type + 55, // [55:55] is the sub-list for extension type_name + 55, // [55:55] is the sub-list for extension extendee + 0, // [0:55] is the sub-list for field type_name +} + +func init() { file_CampusService_proto_init() } +func file_CampusService_proto_init() { + if File_CampusService_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_CampusService_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomCoordinatesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomCoordinatesReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLocationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLocationsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRoomsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRoomsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Room); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewsSourceArray); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewsSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTopNewsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CafeteriaRatingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DishRatingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CafeteriaRatingReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DishRatingReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SingleRatingReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewCafeteriaRatingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewDishRatingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRatingTagsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RatingTagsOverview); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RatingTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RatingTagNewRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RatingTagResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCafeteriaReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Cafeteria); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDishesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDishesReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetResponsiblePersonReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponsiblePersonElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBuilding2GpsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Building2GpsElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAreaFacilitiesByBuildingNrReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAreaFacilitiesByBuildingNrRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetListOfToiletsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RoomInformationElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetListOfElevatorsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMoreInformationReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MoreInformationElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOpeningTimesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOpeningTimesReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpeningTimesMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUpdateNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUpdateNoteReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStudyRoomListReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudyRoomMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudyRoom); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventListReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventListMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostEventTicketMyReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventTicketMyMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostEventTicketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventTicketTypeReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventTicketTypeMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventTicketPaymentMsg); i { case 0: return &v.state case 1: @@ -3513,8 +8366,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleReply); i { + file_CampusService_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostEventTicketReserveMultipleRequest); i { case 0: return &v.state case 1: @@ -3525,8 +8378,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomCoordinatesRequest); i { + file_CampusService_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostEventTicketReserveMultipleReply); i { case 0: return &v.state case 1: @@ -3537,8 +8390,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomCoordinatesReply); i { + file_CampusService_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventTicketReserveMultipleMsgElement); i { case 0: return &v.state case 1: @@ -3549,8 +8402,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsRequest); i { + file_CampusService_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetKinoRequest); i { case 0: return &v.state case 1: @@ -3561,8 +8414,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsReply); i { + file_CampusService_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetKinoReply); i { case 0: return &v.state case 1: @@ -3573,8 +8426,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLocationsRequest); i { + file_CampusService_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KinoMsgElement); i { case 0: return &v.state case 1: @@ -3585,8 +8438,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLocationsReply); i { + file_CampusService_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostFeedbackRequest); i { case 0: return &v.state case 1: @@ -3597,8 +8450,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRoomsRequest); i { + file_CampusService_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostFeedbackReply); i { case 0: return &v.state case 1: @@ -3609,8 +8462,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRoomsReply); i { + file_CampusService_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostFeedbackIDImageNrRequest); i { case 0: return &v.state case 1: @@ -3621,8 +8474,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Room); i { + file_CampusService_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMembersRequest); i { case 0: return &v.state case 1: @@ -3633,8 +8486,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsSourceArray); i { + file_CampusService_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMembersReply); i { case 0: return &v.state case 1: @@ -3645,8 +8498,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsSource); i { + file_CampusService_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostChatRoomsReply); i { case 0: return &v.state case 1: @@ -3657,8 +8510,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTopNewsReply); i { + file_CampusService_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatRoomsMsgElement); i { case 0: return &v.state case 1: @@ -3669,8 +8522,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRatingRequest); i { + file_CampusService_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChatRoomsRoomIdRequest); i { case 0: return &v.state case 1: @@ -3681,8 +8534,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRatingRequest); i { + file_CampusService_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostChatRoomsRoomIdLeaveRequest); i { case 0: return &v.state case 1: @@ -3693,8 +8546,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRatingResponse); i { + file_CampusService_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostChatRoomsRoomIdAddRequest); i { case 0: return &v.state case 1: @@ -3705,8 +8558,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRatingResponse); i { + file_CampusService_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PutChatRoomsSendRoomIdRequest); i { case 0: return &v.state case 1: @@ -3717,8 +8570,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRating); i { + file_CampusService_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PutChatRoomsUpdateMessageRequest); i { case 0: return &v.state case 1: @@ -3729,8 +8582,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRating); i { + file_CampusService_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatMessageModelMsg); i { case 0: return &v.state case 1: @@ -3741,8 +8594,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewCafeteriaRatingRequest); i { + file_CampusService_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatMessageModelMsgElement); i { case 0: return &v.state case 1: @@ -3753,8 +8606,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewMealRatingRequest); i { + file_CampusService_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostChatRoomsGetMessagesRequest); i { case 0: return &v.state case 1: @@ -3765,8 +8618,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRatingTagsReply); i { + file_CampusService_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatMemberMsg); i { case 0: return &v.state case 1: @@ -3777,8 +8630,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRatingOverview); i { + file_CampusService_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatMemberMsgElement); i { case 0: return &v.state case 1: @@ -3789,8 +8642,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRatingResult); i { + file_CampusService_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChatMemberRequest); i { case 0: return &v.state case 1: @@ -3801,8 +8654,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRating); i { + file_CampusService_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchMemberByNameRequest); i { case 0: return &v.state case 1: @@ -3813,8 +8666,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRatingsResult); i { + file_CampusService_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMemberRoomsRequest); i { case 0: return &v.state case 1: @@ -3825,8 +8678,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCafeteriaResponse); i { + file_CampusService_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMemberRoomsReply); i { case 0: return &v.state case 1: @@ -3837,8 +8690,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Cafeteria); i { + file_CampusService_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurchaseTicketStripeReply); i { case 0: return &v.state case 1: @@ -3849,8 +8702,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResponsiblePersonResponse); i { + file_CampusService_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TicketMessageElement); i { case 0: return &v.state case 1: @@ -3861,8 +8714,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResponsiblePersonElement); i { + file_CampusService_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RetrieveEphemeralKeyReply); i { case 0: return &v.state case 1: @@ -3873,8 +8726,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBuilding2GpsResponse); i { + file_CampusService_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventTicketStatusRequest); i { case 0: return &v.state case 1: @@ -3885,8 +8738,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Building2GpsElement); i { + file_CampusService_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventTicketStatusReply); i { case 0: return &v.state case 1: @@ -3897,8 +8750,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAreaFacilitiesByBuildingNrResponse); i { + file_CampusService_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TicketStatus); i { case 0: return &v.state case 1: @@ -3909,8 +8762,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAreaFacilitiesByBuildingNrRequest); i { + file_CampusService_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TUMCabeStatus); i { case 0: return &v.state case 1: @@ -3921,8 +8774,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetListOfToiletsResponse); i { + file_CampusService_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUploadStatusRequest); i { case 0: return &v.state case 1: @@ -3933,8 +8786,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoomInformationElement); i { + file_CampusService_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUploadStatusReply); i { case 0: return &v.state case 1: @@ -3945,8 +8798,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetListOfElevatorsResponse); i { + file_CampusService_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotificationsReply); i { case 0: return &v.state case 1: @@ -3957,8 +8810,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMoreInformationResponse); i { + file_CampusService_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotificationsRequest); i { case 0: return &v.state case 1: @@ -3969,8 +8822,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MoreInformationElement); i { + file_CampusService_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotificationsConfirmReply); i { case 0: return &v.state case 1: @@ -3981,7 +8834,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { case 0: return &v.state @@ -3993,7 +8846,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomMapsReply_Map); i { case 0: return &v.state @@ -4005,7 +8858,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLocationsReply_Location); i { case 0: return &v.state @@ -4024,7 +8877,7 @@ func file_CampusService_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_CampusService_proto_rawDesc, NumEnums: 0, - NumMessages: 43, + NumMessages: 100, NumExtensions: 0, NumServices: 1, }, diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index 87a0c1b0..82ded897 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -290,8 +290,8 @@ func local_request_Campus_GetCafeteriaRatings_0(ctx context.Context, marshaler r } -func request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq MealRatingRequest +func request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DishRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -302,13 +302,13 @@ func request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Mars return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetMealRatings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetDishRatings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq MealRatingRequest +func local_request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DishRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -319,7 +319,7 @@ func local_request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtim return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.GetMealRatings(ctx, &protoReq) + msg, err := server.GetDishRatings(ctx, &protoReq) return msg, metadata, err } @@ -358,8 +358,8 @@ func local_request_Campus_NewCafeteriaRating_0(ctx context.Context, marshaler ru } -func request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewMealRatingRequest +func request_Campus_NewDishRating_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NewDishRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -370,13 +370,13 @@ func request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marsh return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.NewMealRating(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.NewDishRating(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewMealRatingRequest +func local_request_Campus_NewDishRating_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NewDishRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -387,25 +387,25 @@ func local_request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.NewMealRating(ctx, &protoReq) + msg, err := server.NewDishRating(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetAvailableMealTags_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_GetAvailableDishTags_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := client.GetAvailableMealTags(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetAvailableDishTags(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetAvailableMealTags_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_GetAvailableDishTags_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := server.GetAvailableMealTags(ctx, &protoReq) + msg, err := server.GetAvailableDishTags(ctx, &protoReq) return msg, metadata, err } @@ -446,6 +446,42 @@ func local_request_Campus_GetCafeterias_0(ctx context.Context, marshaler runtime } +var ( + filter_Campus_GetDishes_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_GetDishes_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDishesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetDishes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDishes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetDishes_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDishesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetDishes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDishes(ctx, &protoReq) + return msg, metadata, err + +} + func request_Campus_GetResponsiblePerson_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata @@ -502,1020 +538,4010 @@ func request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshal } -func local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAreaFacilitiesByBuildingNrRequest - var metadata runtime.ServerMetadata +func local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAreaFacilitiesByBuildingNrRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetAreaFacilitiesByBuildingNr(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetListOfToilets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetListOfToilets(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetListOfElevators(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetListOfElevators(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetMoreInformation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetMoreInformation(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetOpeningTimes_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOpeningTimesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["language"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "language") + } + + protoReq.Language, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "language", err) + } + + msg, err := client.GetOpeningTimes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetOpeningTimes_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOpeningTimesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["language"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "language") + } + + protoReq.Language, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "language", err) + } + + msg, err := server.GetOpeningTimes(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetUpdateNote_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUpdateNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "version") + } + + protoReq.Version, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "version", err) + } + + msg, err := client.GetUpdateNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetUpdateNote_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUpdateNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "version") + } + + protoReq.Version, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "version", err) + } + + msg, err := server.GetUpdateNote(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetStudyRoomList_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetStudyRoomList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetStudyRoomList_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetStudyRoomList(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_GetEventList_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_GetEventList_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEventListRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetEventList_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetEventList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetEventList_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEventListRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetEventList_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetEventList(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostEventTicketMy_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.PostEventTicketMy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostEventTicketMy_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.PostEventTicketMy(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.PostEventTicket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.PostEventTicket(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.GetEventTicketType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetEventTicketType(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_PostEventTicketReserveMultiple_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_PostEventTicketReserveMultiple_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketReserveMultipleRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostEventTicketReserveMultiple_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PostEventTicketReserveMultiple(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostEventTicketReserveMultiple_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketReserveMultipleRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostEventTicketReserveMultiple_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PostEventTicketReserveMultiple(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.PurchaseTicketStripe(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.PurchaseTicketStripe(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_RetrieveEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.RetrieveEphemeralKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_RetrieveEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.RetrieveEphemeralKey(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEventTicketStatusRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["eventId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "eventId") + } + + protoReq.EventId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) + } + + msg, err := client.GetEventTicketStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEventTicketStatusRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["eventId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "eventId") + } + + protoReq.EventId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) + } + + msg, err := server.GetEventTicketStatus(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetKinoRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lastId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastId") + } + + protoReq.LastId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastId", err) + } + + msg, err := client.GetKino(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetKinoRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lastId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastId") + } + + protoReq.LastId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastId", err) + } + + msg, err := server.GetKino(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_PostFeedback_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_PostFeedback_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostFeedbackRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostFeedback_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PostFeedback(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostFeedback_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostFeedbackRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostFeedback_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PostFeedback(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostFeedbackIDImageNrRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["imageNr"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "imageNr") + } + + protoReq.ImageNr, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) + } + + msg, err := client.PostFeedbackIDImageNr(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostFeedbackIDImageNrRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["imageNr"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "imageNr") + } + + protoReq.ImageNr, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) + } + + msg, err := server.PostFeedbackIDImageNr(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_RegisterDevice_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.RegisterDevice(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_RegisterDevice_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.RegisterDevice(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_VerifyKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.VerifyKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_VerifyKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.VerifyKey(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_DeviceUploadGcmToken_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.DeviceUploadGcmToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_DeviceUploadGcmToken_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.DeviceUploadGcmToken(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetUploadStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUploadStatusRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := client.GetUploadStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetUploadStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUploadStatusRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := server.GetUploadStatus(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_GetNotification_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_GetNotification_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NotificationsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetNotification_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetNotification(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetNotification_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NotificationsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetNotification_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetNotification(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetNotificationConfirm_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NotificationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["notificationId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "notificationId") + } + + protoReq.NotificationId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "notificationId", err) + } + + msg, err := client.GetNotificationConfirm(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetNotificationConfirm_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NotificationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["notificationId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "notificationId") + } + + protoReq.NotificationId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "notificationId", err) + } + + msg, err := server.GetNotificationConfirm(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetMembers_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMembersRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := client.GetMembers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetMembers_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMembersRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := server.GetMembers(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PostChatRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PostChatRooms(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatRoomsRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := client.GetChatRoomsRoomId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatRoomsRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := server.GetChatRoomsRoomId(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsRoomIdLeaveRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := client.PostChatRoomsRoomIdLeave(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsRoomIdLeaveRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := server.PostChatRoomsRoomIdLeave(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsRoomIdAddRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["memberId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") + } + + protoReq.MemberId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) + } + + msg, err := client.PostChatRoomsRoomIdAdd(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsRoomIdAddRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["memberId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") + } + + protoReq.MemberId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) + } + + msg, err := server.PostChatRoomsRoomIdAdd(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsSendRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := client.PutChatRoomsSendMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsSendRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := server.PutChatRoomsSendMessage(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsUpdateMessageRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["messageId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "messageId") + } + + protoReq.MessageId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) + } + + msg, err := client.PutChatRoomsUpdateMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsUpdateMessageRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["messageId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "messageId") + } + + protoReq.MessageId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) + } + + msg, err := server.PutChatRoomsUpdateMessage(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsGetMessagesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["pageId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pageId") + } + + protoReq.PageId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) + } + + msg, err := client.PostChatRoomsGetMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsGetMessagesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["pageId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pageId") + } + + protoReq.PageId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) + } + + msg, err := server.PostChatRoomsGetMessages(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRoomsGetNewMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsSendRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := client.PostChatRoomsGetNewMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRoomsGetNewMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsSendRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := server.PostChatRoomsGetNewMessages(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_PostChatCreateMember_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_PostChatCreateMember_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChatMemberMsgElement + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostChatCreateMember_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PostChatCreateMember(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatCreateMember_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChatMemberMsgElement + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostChatCreateMember_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PostChatCreateMember(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetChatMemberByLrzId_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatMemberRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := client.GetChatMemberByLrzId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetChatMemberByLrzId_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatMemberRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := server.GetChatMemberByLrzId(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_SearchMemberByName_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchMemberByNameRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["query"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query") + } + + protoReq.Query, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query", err) + } + + msg, err := client.SearchMemberByName(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_SearchMemberByName_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchMemberByNameRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["query"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query") + } + + protoReq.Query, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query", err) + } + + msg, err := server.SearchMemberByName(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetMemberRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMemberRoomsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["memberId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") + } + + protoReq.MemberId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) + } + + msg, err := client.GetMemberRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetMemberRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMemberRoomsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["memberId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") + } + + protoReq.MemberId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) + } + + msg, err := server.GetMemberRooms(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". +// UnaryRPC :call CampusServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCampusHandlerFromEndpoint instead. +func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CampusServer) error { + + mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetTopNews_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetNewsSources_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_SearchRooms_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetLocations_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteria/rating/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetDishRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishRatings", runtime.WithHTTPPathPattern("/dish/rating/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetDishRatings_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetDishRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteria/rating/new")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_NewDishRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewDishRating", runtime.WithHTTPPathPattern("/dish/rating/new")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_NewDishRating_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_NewDishRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAvailableDishTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableDishTags", runtime.WithHTTPPathPattern("/dish/rating/allTags")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetAvailableDishTags_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAvailableDishTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableDishTags_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteria/rating/allTags")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableCafeteriaTags_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteria/allCafeterias")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetCafeterias_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetDishes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishes", runtime.WithHTTPPathPattern("/dish/allDishes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetDishes_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetDishes_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetDishes_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetOpeningTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetOpeningTimes", runtime.WithHTTPPathPattern("/openingtimes/{language}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetOpeningTimes_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetOpeningTimes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetUpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUpdateNote", runtime.WithHTTPPathPattern("/updatenote/{version}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetUpdateNote_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetUpdateNote_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetStudyRoomList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetStudyRoomList_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetStudyRoomList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetEventList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventList", runtime.WithHTTPPathPattern("/event/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetEventList_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetEventList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostEventTicketMy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicketMy", runtime.WithHTTPPathPattern("/event/ticket/my")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostEventTicketMy_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostEventTicketMy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostEventTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostEventTicket_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostEventTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetEventTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetEventTicketType_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetEventTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostEventTicketReserveMultiple_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicketReserveMultiple", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostEventTicketReserveMultiple_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostEventTicketReserveMultiple_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_RetrieveEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RetrieveEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_RetrieveEphemeralKey_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_RetrieveEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetEventTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetEventTicketStatus_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetEventTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetKino", runtime.WithHTTPPathPattern("/kino/{lastId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetKino_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetKino_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostFeedback", runtime.WithHTTPPathPattern("/feedback")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostFeedback_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostFeedbackIDImageNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostFeedbackIDImageNr", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostFeedbackIDImageNr_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostFeedbackIDImageNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_RegisterDevice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RegisterDevice", runtime.WithHTTPPathPattern("/device/register")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_RegisterDevice_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_RegisterDevice_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_VerifyKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/VerifyKey", runtime.WithHTTPPathPattern("/device/verifyKey")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_VerifyKey_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_VerifyKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_DeviceUploadGcmToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/DeviceUploadGcmToken", runtime.WithHTTPPathPattern("/device/addGcmToken")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_DeviceUploadGcmToken_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_DeviceUploadGcmToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetUploadStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUploadStatus", runtime.WithHTTPPathPattern("/device/uploaded/{lrzId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetUploadStatus_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetUploadStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetNotification_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetNotificationConfirm_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotificationConfirm", runtime.WithHTTPPathPattern("/notifications/confirm/{notificationId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetNotificationConfirm_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetNotificationConfirm_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMembers", runtime.WithHTTPPathPattern("/members/{lrzId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetMembers_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRooms_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetChatRoomsRoomId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatRoomsRoomId", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetChatRoomsRoomId_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetChatRoomsRoomId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdLeave_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdLeave", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRoomsRoomIdLeave_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdAdd", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRoomsRoomIdAdd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_Campus_PutChatRoomsSendMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PutChatRoomsSendMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PutChatRoomsSendMessage_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PutChatRoomsSendMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_Campus_PutChatRoomsUpdateMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PutChatRoomsUpdateMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PutChatRoomsUpdateMessage_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PutChatRoomsUpdateMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRoomsGetMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRoomsGetMessages_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRoomsGetMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRoomsGetNewMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetNewMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRoomsGetNewMessages_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRoomsGetNewMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatCreateMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatCreateMember", runtime.WithHTTPPathPattern("/chat/members")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatCreateMember_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatCreateMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetChatMemberByLrzId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatMemberByLrzId", runtime.WithHTTPPathPattern("/chat/members/{lrzId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetChatMemberByLrzId_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetChatMemberByLrzId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_SearchMemberByName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchMemberByName", runtime.WithHTTPPathPattern("/chat/members/search/{query}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_SearchMemberByName_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_SearchMemberByName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetMemberRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMemberRooms", runtime.WithHTTPPathPattern("/chat/members/{memberId}/rooms")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetMemberRooms_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMemberRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterCampusHandlerFromEndpoint is same as RegisterCampusHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterCampusHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterCampusHandler(ctx, mux, conn) +} + +// RegisterCampusHandler registers the http handlers for service Campus to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterCampusHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterCampusHandlerClient(ctx, mux, NewCampusClient(conn)) +} + +// RegisterCampusHandlerClient registers the http handlers for service Campus +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CampusClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CampusClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "CampusClient" to call the correct interceptors. +func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CampusClient) error { + + mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetTopNews_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetNewsSources_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_SearchRooms_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetLocations_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } + }) - msg, err := server.GetAreaFacilitiesByBuildingNr(ctx, &protoReq) - return msg, metadata, err + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteria/rating/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -func request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := client.GetListOfToilets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + mux.Handle("POST", pattern_Campus_GetDishRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetDishRatings", runtime.WithHTTPPathPattern("/dish/rating/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetDishRatings_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetDishRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -func local_request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := server.GetListOfToilets(ctx, &protoReq) - return msg, metadata, err + mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteria/rating/new")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -func request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := client.GetListOfElevators(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + mux.Handle("POST", pattern_Campus_NewDishRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewDishRating", runtime.WithHTTPPathPattern("/dish/rating/new")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_NewDishRating_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_NewDishRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -func local_request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := server.GetListOfElevators(ctx, &protoReq) - return msg, metadata, err + mux.Handle("GET", pattern_Campus_GetAvailableDishTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableDishTags", runtime.WithHTTPPathPattern("/dish/rating/allTags")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetAvailableDishTags_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetAvailableDishTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableDishTags_0{resp}, mux.GetForwardResponseOptions()...) -func request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := client.GetMoreInformation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteria/rating/allTags")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableCafeteriaTags_0{resp}, mux.GetForwardResponseOptions()...) -func local_request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := server.GetMoreInformation(ctx, &protoReq) - return msg, metadata, err + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteria/allCafeterias")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetCafeterias_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetCafeterias_0{resp}, mux.GetForwardResponseOptions()...) -// RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". -// UnaryRPC :call CampusServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCampusHandlerFromEndpoint instead. -func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CampusServer) error { + }) - mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetDishes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetDishes", runtime.WithHTTPPathPattern("/dish/allDishes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetTopNews_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetDishes_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetDishes_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetDishes_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetNewsSources_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_SearchRooms_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetLocations_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetOpeningTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetOpeningTimes", runtime.WithHTTPPathPattern("/openingtimes/{language}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetOpeningTimes_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetOpeningTimes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMealRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetUpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMealRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetUpdateNote", runtime.WithHTTPPathPattern("/updatenote/{version}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetMealRatings_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetUpdateNote_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMealRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetUpdateNote_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetStudyRoomList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/newCafeteriaRating")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetStudyRoomList_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetStudyRoomList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_NewMealRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetEventList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewMealRating", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/newMealRating")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventList", runtime.WithHTTPPathPattern("/event/list")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_NewMealRating_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetEventList_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_NewMealRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEventList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAvailableMealTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostEventTicketMy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableMealTags", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/allTags")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicketMy", runtime.WithHTTPPathPattern("/event/ticket/my")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetAvailableMealTags_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PostEventTicketMy_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAvailableMealTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostEventTicketMy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostEventTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allTags")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PostEventTicket_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostEventTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetEventTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allCafeterias")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetEventTicketType_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEventTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostEventTicketReserveMultiple_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicketReserveMultiple", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PostEventTicketReserveMultiple_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostEventTicketReserveMultiple_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_RetrieveEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/RetrieveEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_RetrieveEphemeralKey_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_RetrieveEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetEventTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetEventTicketStatus_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEventTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetKino", runtime.WithHTTPPathPattern("/kino/{lastId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetKino_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetKino_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostFeedback", runtime.WithHTTPPathPattern("/feedback")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PostFeedback_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - return nil -} - -// RegisterCampusHandlerFromEndpoint is same as RegisterCampusHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterCampusHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterCampusHandler(ctx, mux, conn) -} - -// RegisterCampusHandler registers the http handlers for service Campus to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterCampusHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterCampusHandlerClient(ctx, mux, NewCampusClient(conn)) -} - -// RegisterCampusHandlerClient registers the http handlers for service Campus -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CampusClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CampusClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "CampusClient" to call the correct interceptors. -func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CampusClient) error { - - mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostFeedbackIDImageNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostFeedbackIDImageNr", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetTopNews_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostFeedbackIDImageNr_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostFeedbackIDImageNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_RegisterDevice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/RegisterDevice", runtime.WithHTTPPathPattern("/device/register")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetNewsSources_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_RegisterDevice_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_RegisterDevice_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_VerifyKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/VerifyKey", runtime.WithHTTPPathPattern("/device/verifyKey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_SearchRooms_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_VerifyKey_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_VerifyKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_DeviceUploadGcmToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/DeviceUploadGcmToken", runtime.WithHTTPPathPattern("/device/addGcmToken")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetLocations_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_DeviceUploadGcmToken_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_DeviceUploadGcmToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetUploadStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetUploadStatus", runtime.WithHTTPPathPattern("/device/uploaded/{lrzId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetUploadStatus_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetUploadStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetNotification_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNotificationConfirm_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNotificationConfirm", runtime.WithHTTPPathPattern("/notifications/confirm/{notificationId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetNotificationConfirm_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetNotificationConfirm_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMembers", runtime.WithHTTPPathPattern("/members/{lrzId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetMembers_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMealRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMealRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetMealRatings_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRooms_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMealRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetChatRoomsRoomId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/newCafeteriaRating")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatRoomsRoomId", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetChatRoomsRoomId_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatRoomsRoomId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_NewMealRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdLeave_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewMealRating", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/newMealRating")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdLeave", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_NewMealRating_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRoomsRoomIdLeave_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_NewMealRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRoomsRoomIdLeave_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAvailableMealTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableMealTags", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/allTags")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdAdd", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetAvailableMealTags_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRoomsRoomIdAdd_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAvailableMealTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRoomsRoomIdAdd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Campus_PutChatRoomsSendMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allTags")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PutChatRoomsSendMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PutChatRoomsSendMessage_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PutChatRoomsSendMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Campus_PutChatRoomsUpdateMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allCafeterias")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PutChatRoomsUpdateMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetCafeterias_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PutChatRoomsUpdateMessage_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PutChatRoomsUpdateMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRoomsGetMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRoomsGetMessages_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRoomsGetMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRoomsGetNewMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetNewMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRoomsGetNewMessages_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRoomsGetNewMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatCreateMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatCreateMember", runtime.WithHTTPPathPattern("/chat/members")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatCreateMember_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatCreateMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetChatMemberByLrzId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatMemberByLrzId", runtime.WithHTTPPathPattern("/chat/members/{lrzId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetChatMemberByLrzId_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatMemberByLrzId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_SearchMemberByName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchMemberByName", runtime.WithHTTPPathPattern("/chat/members/search/{query}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_SearchMemberByName_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SearchMemberByName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMemberRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMemberRooms", runtime.WithHTTPPathPattern("/chat/members/{memberId}/rooms")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetMemberRooms_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMemberRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1567,6 +4593,42 @@ func (m response_Campus_GetRoomSchedule_0) XXX_ResponseBody() interface{} { return response.Events } +type response_Campus_GetAvailableDishTags_0 struct { + proto.Message +} + +func (m response_Campus_GetAvailableDishTags_0) XXX_ResponseBody() interface{} { + response := m.Message.(*GetRatingTagsReply) + return response.RatingTags +} + +type response_Campus_GetAvailableCafeteriaTags_0 struct { + proto.Message +} + +func (m response_Campus_GetAvailableCafeteriaTags_0) XXX_ResponseBody() interface{} { + response := m.Message.(*GetRatingTagsReply) + return response.RatingTags +} + +type response_Campus_GetCafeterias_0 struct { + proto.Message +} + +func (m response_Campus_GetCafeterias_0) XXX_ResponseBody() interface{} { + response := m.Message.(*GetCafeteriaReply) + return response.Cafeteria +} + +type response_Campus_GetDishes_0 struct { + proto.Message +} + +func (m response_Campus_GetDishes_0) XXX_ResponseBody() interface{} { + response := m.Message.(*GetDishesReply) + return response.Dish +} + var ( pattern_Campus_GetTopNews_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"news", "top"}, "")) @@ -1582,19 +4644,21 @@ var ( pattern_Campus_GetRoomSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"roomfinder", "room", "scheduleById"}, "")) - pattern_Campus_GetCafeteriaRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "get"}, "")) + pattern_Campus_GetCafeteriaRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "get"}, "")) - pattern_Campus_GetMealRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "dish", "get"}, "")) + pattern_Campus_GetDishRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "get"}, "")) - pattern_Campus_NewCafeteriaRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "newCafeteriaRating"}, "")) + pattern_Campus_NewCafeteriaRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "new"}, "")) - pattern_Campus_NewMealRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "meal", "newMealRating"}, "")) + pattern_Campus_NewDishRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "new"}, "")) - pattern_Campus_GetAvailableMealTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "meal", "allTags"}, "")) + pattern_Campus_GetAvailableDishTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "allTags"}, "")) - pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allTags"}, "")) + pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "allTags"}, "")) - pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allCafeterias"}, "")) + pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"cafeteria", "allCafeterias"}, "")) + + pattern_Campus_GetDishes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"dish", "allDishes"}, "")) pattern_Campus_GetResponsiblePerson_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "contacts"}, "")) @@ -1607,6 +4671,72 @@ var ( pattern_Campus_GetListOfElevators_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfElevators"}, "")) pattern_Campus_GetMoreInformation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "moreInformation"}, "")) + + pattern_Campus_GetOpeningTimes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"openingtimes", "language"}, "")) + + pattern_Campus_GetUpdateNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"updatenote", "version"}, "")) + + pattern_Campus_GetStudyRoomList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"studyroom", "list"}, "")) + + pattern_Campus_GetEventList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"event", "list"}, "")) + + pattern_Campus_PostEventTicketMy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"event", "ticket", "my"}, "")) + + pattern_Campus_PostEventTicket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"event", "ticket", "id"}, "")) + + pattern_Campus_GetEventTicketType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "type", "id"}, "")) + + pattern_Campus_PostEventTicketReserveMultiple_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"event", "ticket", "reserve", "multiple"}, "")) + + pattern_Campus_PurchaseTicketStripe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"event", "ticket", "payment", "stripe", "purchase", "multiple"}, "")) + + pattern_Campus_RetrieveEphemeralKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"event", "ticket", "payment", "stripe", "ephemeralkey"}, "")) + + pattern_Campus_GetEventTicketStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "status", "eventId"}, "")) + + pattern_Campus_GetKino_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"kino", "lastId"}, "")) + + pattern_Campus_PostFeedback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"feedback"}, "")) + + pattern_Campus_PostFeedbackIDImageNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"feedback", "id", "imageNr"}, "")) + + pattern_Campus_RegisterDevice_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "register"}, "")) + + pattern_Campus_VerifyKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "verifyKey"}, "")) + + pattern_Campus_DeviceUploadGcmToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "addGcmToken"}, "")) + + pattern_Campus_GetUploadStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"device", "uploaded", "lrzId"}, "")) + + pattern_Campus_GetNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"notifications"}, "")) + + pattern_Campus_GetNotificationConfirm_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"notifications", "confirm", "notificationId"}, "")) + + pattern_Campus_GetMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "lrzId"}, "")) + + pattern_Campus_PostChatRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "rooms"}, "")) + + pattern_Campus_GetChatRoomsRoomId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "rooms", "roomId"}, "")) + + pattern_Campus_PostChatRoomsRoomIdLeave_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "leave"}, "")) + + pattern_Campus_PostChatRoomsRoomIdAdd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "add", "memberId"}, "")) + + pattern_Campus_PutChatRoomsSendMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "message"}, "")) + + pattern_Campus_PutChatRoomsUpdateMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "message", "messageId"}, "")) + + pattern_Campus_PostChatRoomsGetMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "messages", "pageId"}, "")) + + pattern_Campus_PostChatRoomsGetNewMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "messages"}, "")) + + pattern_Campus_PostChatCreateMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "members"}, "")) + + pattern_Campus_GetChatMemberByLrzId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "members", "lrzId"}, "")) + + pattern_Campus_SearchMemberByName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"chat", "members", "search", "query"}, "")) + + pattern_Campus_GetMemberRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "members", "memberId", "rooms"}, "")) ) var ( @@ -1626,18 +4756,20 @@ var ( forward_Campus_GetCafeteriaRatings_0 = runtime.ForwardResponseMessage - forward_Campus_GetMealRatings_0 = runtime.ForwardResponseMessage + forward_Campus_GetDishRatings_0 = runtime.ForwardResponseMessage forward_Campus_NewCafeteriaRating_0 = runtime.ForwardResponseMessage - forward_Campus_NewMealRating_0 = runtime.ForwardResponseMessage + forward_Campus_NewDishRating_0 = runtime.ForwardResponseMessage - forward_Campus_GetAvailableMealTags_0 = runtime.ForwardResponseMessage + forward_Campus_GetAvailableDishTags_0 = runtime.ForwardResponseMessage forward_Campus_GetAvailableCafeteriaTags_0 = runtime.ForwardResponseMessage forward_Campus_GetCafeterias_0 = runtime.ForwardResponseMessage + forward_Campus_GetDishes_0 = runtime.ForwardResponseMessage + forward_Campus_GetResponsiblePerson_0 = runtime.ForwardResponseMessage forward_Campus_GetBuilding2Gps_0 = runtime.ForwardResponseMessage @@ -1649,4 +4781,70 @@ var ( forward_Campus_GetListOfElevators_0 = runtime.ForwardResponseMessage forward_Campus_GetMoreInformation_0 = runtime.ForwardResponseMessage + + forward_Campus_GetOpeningTimes_0 = runtime.ForwardResponseMessage + + forward_Campus_GetUpdateNote_0 = runtime.ForwardResponseMessage + + forward_Campus_GetStudyRoomList_0 = runtime.ForwardResponseMessage + + forward_Campus_GetEventList_0 = runtime.ForwardResponseMessage + + forward_Campus_PostEventTicketMy_0 = runtime.ForwardResponseMessage + + forward_Campus_PostEventTicket_0 = runtime.ForwardResponseMessage + + forward_Campus_GetEventTicketType_0 = runtime.ForwardResponseMessage + + forward_Campus_PostEventTicketReserveMultiple_0 = runtime.ForwardResponseMessage + + forward_Campus_PurchaseTicketStripe_0 = runtime.ForwardResponseMessage + + forward_Campus_RetrieveEphemeralKey_0 = runtime.ForwardResponseMessage + + forward_Campus_GetEventTicketStatus_0 = runtime.ForwardResponseMessage + + forward_Campus_GetKino_0 = runtime.ForwardResponseMessage + + forward_Campus_PostFeedback_0 = runtime.ForwardResponseMessage + + forward_Campus_PostFeedbackIDImageNr_0 = runtime.ForwardResponseMessage + + forward_Campus_RegisterDevice_0 = runtime.ForwardResponseMessage + + forward_Campus_VerifyKey_0 = runtime.ForwardResponseMessage + + forward_Campus_DeviceUploadGcmToken_0 = runtime.ForwardResponseMessage + + forward_Campus_GetUploadStatus_0 = runtime.ForwardResponseMessage + + forward_Campus_GetNotification_0 = runtime.ForwardResponseMessage + + forward_Campus_GetNotificationConfirm_0 = runtime.ForwardResponseMessage + + forward_Campus_GetMembers_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRooms_0 = runtime.ForwardResponseMessage + + forward_Campus_GetChatRoomsRoomId_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRoomsRoomIdLeave_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRoomsRoomIdAdd_0 = runtime.ForwardResponseMessage + + forward_Campus_PutChatRoomsSendMessage_0 = runtime.ForwardResponseMessage + + forward_Campus_PutChatRoomsUpdateMessage_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRoomsGetMessages_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRoomsGetNewMessages_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatCreateMember_0 = runtime.ForwardResponseMessage + + forward_Campus_GetChatMemberByLrzId_0 = runtime.ForwardResponseMessage + + forward_Campus_SearchMemberByName_0 = runtime.ForwardResponseMessage + + forward_Campus_GetMemberRooms_0 = runtime.ForwardResponseMessage ) diff --git a/api/CampusService.proto b/api/CampusService.proto index 123b955c..6935c99a 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -101,7 +101,6 @@ service Campus { rpc GetAvailableDishTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { get: "/dish/rating/allTags", - body: "*", response_body: "ratingTags" }; } @@ -109,7 +108,6 @@ service Campus { rpc GetAvailableCafeteriaTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { get: "/cafeteria/rating/allTags", - body: "*", response_body: "ratingTags" }; } @@ -117,7 +115,6 @@ service Campus { rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaReply) { option (google.api.http) = { get: "/cafeteria/allCafeterias", - body: "*", response_body: "cafeteria" }; } @@ -126,7 +123,6 @@ service Campus { rpc GetDishes (GetDishesRequest) returns (GetDishesReply) { option (google.api.http) = { get: "/dish/allDishes", - body: "*", response_body: "dish" }; } @@ -171,7 +167,7 @@ service Campus { rpc GetOpeningTimes (GetOpeningTimesRequest) returns (GetOpeningTimesReply) { option (google.api.http) = { - Get: "/openingtimes/{language}", + get: "/openingtimes/{language}", }; } @@ -204,13 +200,13 @@ service Campus { rpc PostEventTicket(PostEventTicketRequest) returns (EventListMsgElement) { option (google.api.http) = { - post: "/event/ticket/{ticket_id}", + post: "/event/ticket/{id}", }; } rpc GetEventTicketType(PostEventTicketRequest) returns (GetEventTicketTypeReply) { option (google.api.http) = { - get: "/event/ticket/type/{event_id}", + get: "/event/ticket/type/{id}", }; } @@ -234,13 +230,13 @@ service Campus { rpc GetEventTicketStatus(GetEventTicketStatusRequest) returns (GetEventTicketStatusReply) { option (google.api.http) = { - get: "/event/ticket/status/{event_id}", + get: "/event/ticket/status/{eventId}", }; } rpc GetKino(GetKinoRequest) returns (GetKinoReply) { option (google.api.http) = { - get: "/kino/{last_id}", + get: "/kino/{lastId}", }; } @@ -252,7 +248,7 @@ service Campus { rpc PostFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackReply) { option (google.api.http) = { - post: "/feedback/{id}/{image_nr}", + post: "/feedback/{id}/{imageNr}", }; } @@ -277,7 +273,7 @@ service Campus { rpc GetUploadStatus(GetUploadStatusRequest) returns (GetUploadStatusReply) { option (google.api.http) = { - get: "/device/uploaded/{lrz_id}", + get: "/device/uploaded/{lrzId}", }; } @@ -290,60 +286,61 @@ service Campus { rpc GetNotificationConfirm(NotificationsRequest) returns (GetNotificationsConfirmReply) { option (google.api.http) = { - get: "/notifications/confirm/{notification_id}", + get: "/notifications/confirm/{notificationId}", }; } rpc GetMembers(GetMembersRequest) returns (GetMembersReply) { option (google.api.http) = { - get: "/members/{lrz_id}", + get: "/members/{lrzId}", }; } rpc PostChatRooms(google.protobuf.Empty) returns (PostChatRoomsReply) { option (google.api.http) = { - post: "/chat/rooms/", + post: "/chat/rooms", + body: "*" }; } rpc GetChatRoomsRoomId(GetChatRoomsRoomIdRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { - get: "/chat/rooms/{room_id}", + get: "/chat/rooms/{roomId}", }; } rpc PostChatRoomsRoomIdLeave(PostChatRoomsRoomIdLeaveRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { - post: "/chat/rooms/{room_id}/leave", + post: "/chat/rooms/{roomId}/leave", }; } rpc PostChatRoomsRoomIdAdd(PostChatRoomsRoomIdAddRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { - post: "/chat/rooms/{room_id}/add/{member}", + post: "/chat/rooms/{roomId}/add/{memberId}", }; } rpc PutChatRoomsSendMessage(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsgElement) { option (google.api.http) = { - put: "/chat/rooms/{room_id}/message/", + put: "/chat/rooms/{roomId}/message", }; } rpc PutChatRoomsUpdateMessage(PutChatRoomsUpdateMessageRequest) returns (ChatMessageModelMsgElement) { option (google.api.http) = { - put: "/chat/rooms/{room_id}/message/{message_id}", + put: "/chat/rooms/{roomId}/message/{messageId}", }; } rpc PostChatRoomsGetMessages(PostChatRoomsGetMessagesRequest) returns (ChatMessageModelMsg) {//get messageModel returnen option (google.api.http) = { - post: "/chat/rooms/{room_id}/messages/{page}", + post: "/chat/rooms/{roomId}/messages/{pageId}", }; } rpc PostChatRoomsGetNewMessages(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsg) { option (google.api.http) = { - post: "/chat/rooms/{room_id}/messages", + post: "/chat/rooms/{roomId}/messages", }; } @@ -351,13 +348,12 @@ service Campus { rpc PostChatCreateMember(ChatMemberMsgElement) returns (ChatMemberMsgElement) { option (google.api.http) = { post: "/chat/members", - body: "ChatMember", }; } rpc GetChatMemberByLrzId(GetChatMemberRequest) returns (ChatMemberMsgElement) { option (google.api.http) = { - get: "/chat/members/{lrz_id}", + get: "/chat/members/{lrzId}", }; } @@ -369,7 +365,7 @@ service Campus { rpc GetMemberRooms(GetMemberRoomsRequest) returns (GetMemberRoomsReply) { option (google.api.http) = { - post: "/chat/members/{member_id}/rooms", + post: "/chat/members/{memberId}/rooms", }; } } @@ -440,7 +436,7 @@ message SearchRoomsReply { } message Room { - int32 room_id = 1; + int32 roomId = 1; string room_code = 2; string building_nr = 3; string arch_id = 4; @@ -652,7 +648,7 @@ message GetListOfToiletsReply { } message RoomInformationElement{ - int32 room_id = 1; + int32 roomId = 1; string room_code = 2; string building_nr = 3; string arch_id = 4; @@ -706,7 +702,7 @@ message OpeningTimesMsgElement{ } message GetUpdateNoteRequest{ - int32 versionCode = 1; + int32 version = 1; } message GetUpdateNoteReply{ @@ -726,7 +722,7 @@ message StudyRoomMsgElement{ message StudyRoom{ int32 group_id = 1; - int32 room_id = 2; + int32 roomId = 2; string room_code = 3; string room_name = 4; string building_name = 5; @@ -810,7 +806,7 @@ message EventTicketReserveMultipleMsgElement{ } message GetKinoRequest{ - int32 id = 1; + int32 lastId = 1; } message GetKinoReply{ @@ -893,7 +889,7 @@ message PostChatRoomsRoomIdLeaveRequest{ } message PostChatRoomsRoomIdAddRequest{ - int32 room = 1; + int32 roomId = 1; int32 memberId = 2; } @@ -945,7 +941,7 @@ message GetChatMemberRequest{ message SearchMemberByNameRequest{ - string nameQuery = 1; + string query = 1; } message GetMemberRoomsRequest{ @@ -976,7 +972,7 @@ message RetrieveEphemeralKeyReply{ message GetEventTicketStatusRequest{ - int32 event = 1; + int32 eventId = 1; } @@ -1007,7 +1003,7 @@ message GetUploadStatusReply{ } message GetNotificationsReply{ - int32 notification=1; + int32 notificationId=1; int32 type=2; string title=3; string description=4; diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index 7c29ebef..3ced2246 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -32,19 +32,54 @@ type CampusClient interface { GetRoomCoordinates(ctx context.Context, in *GetRoomCoordinatesRequest, opts ...grpc.CallOption) (*GetRoomCoordinatesReply, error) GetRoomSchedule(ctx context.Context, in *GetRoomScheduleRequest, opts ...grpc.CallOption) (*GetRoomScheduleReply, error) // This endpoint retrieves Cafeteria Ratings from the Backend. - GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingResponse, error) - GetMealRatings(ctx context.Context, in *MealRatingRequest, opts ...grpc.CallOption) (*MealRatingResponse, error) + GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingReply, error) + GetDishRatings(ctx context.Context, in *DishRatingRequest, opts ...grpc.CallOption) (*DishRatingReply, error) NewCafeteriaRating(ctx context.Context, in *NewCafeteriaRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - NewMealRating(ctx context.Context, in *NewMealRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) + NewDishRating(ctx context.Context, in *NewDishRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + GetAvailableDishTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) - GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) - GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonResponse, error) - GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsResponse, error) - GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrResponse, error) - GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsResponse, error) - GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsResponse, error) - GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationResponse, error) + GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaReply, error) + GetDishes(ctx context.Context, in *GetDishesRequest, opts ...grpc.CallOption) (*GetDishesReply, error) + GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonReply, error) + GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsReply, error) + GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrReply, error) + GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsReply, error) + GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsReply, error) + GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationReply, error) + GetOpeningTimes(ctx context.Context, in *GetOpeningTimesRequest, opts ...grpc.CallOption) (*GetOpeningTimesReply, error) + GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) + GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) + GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) + // todo check again + PostEventTicketMy(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostEventTicketMyReply, error) + PostEventTicket(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) + GetEventTicketType(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) + PostEventTicketReserveMultiple(ctx context.Context, in *PostEventTicketReserveMultipleRequest, opts ...grpc.CallOption) (*PostEventTicketReserveMultipleReply, error) + PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) + RetrieveEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RetrieveEphemeralKeyReply, error) + GetEventTicketStatus(ctx context.Context, in *GetEventTicketStatusRequest, opts ...grpc.CallOption) (*GetEventTicketStatusReply, error) + GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) + PostFeedback(ctx context.Context, in *PostFeedbackRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) + PostFeedbackIDImageNr(ctx context.Context, in *PostFeedbackIDImageNrRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) + RegisterDevice(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) + VerifyKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) + DeviceUploadGcmToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) + GetUploadStatus(ctx context.Context, in *GetUploadStatusRequest, opts ...grpc.CallOption) (*GetUploadStatusReply, error) + GetNotification(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsReply, error) + GetNotificationConfirm(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsConfirmReply, error) + GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersReply, error) + PostChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostChatRoomsReply, error) + GetChatRoomsRoomId(ctx context.Context, in *GetChatRoomsRoomIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + PostChatRoomsRoomIdLeave(ctx context.Context, in *PostChatRoomsRoomIdLeaveRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + PostChatRoomsRoomIdAdd(ctx context.Context, in *PostChatRoomsRoomIdAddRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + PutChatRoomsSendMessage(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) + PutChatRoomsUpdateMessage(ctx context.Context, in *PutChatRoomsUpdateMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) + PostChatRoomsGetMessages(ctx context.Context, in *PostChatRoomsGetMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) + PostChatRoomsGetNewMessages(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) + PostChatCreateMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) + GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) + SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) + GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) } type campusClient struct { @@ -118,8 +153,8 @@ func (c *campusClient) GetRoomSchedule(ctx context.Context, in *GetRoomScheduleR return out, nil } -func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingResponse, error) { - out := new(CafeteriaRatingResponse) +func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingReply, error) { + out := new(CafeteriaRatingReply) err := c.cc.Invoke(ctx, "/api.Campus/GetCafeteriaRatings", in, out, opts...) if err != nil { return nil, err @@ -127,9 +162,9 @@ func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRat return out, nil } -func (c *campusClient) GetMealRatings(ctx context.Context, in *MealRatingRequest, opts ...grpc.CallOption) (*MealRatingResponse, error) { - out := new(MealRatingResponse) - err := c.cc.Invoke(ctx, "/api.Campus/GetMealRatings", in, out, opts...) +func (c *campusClient) GetDishRatings(ctx context.Context, in *DishRatingRequest, opts ...grpc.CallOption) (*DishRatingReply, error) { + out := new(DishRatingReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetDishRatings", in, out, opts...) if err != nil { return nil, err } @@ -145,18 +180,18 @@ func (c *campusClient) NewCafeteriaRating(ctx context.Context, in *NewCafeteriaR return out, nil } -func (c *campusClient) NewMealRating(ctx context.Context, in *NewMealRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *campusClient) NewDishRating(ctx context.Context, in *NewDishRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/api.Campus/NewMealRating", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/NewDishRating", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) { +func (c *campusClient) GetAvailableDishTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) { out := new(GetRatingTagsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetAvailableMealTags", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetAvailableDishTags", in, out, opts...) if err != nil { return nil, err } @@ -172,8 +207,8 @@ func (c *campusClient) GetAvailableCafeteriaTags(ctx context.Context, in *emptyp return out, nil } -func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) { - out := new(GetCafeteriaResponse) +func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaReply, error) { + out := new(GetCafeteriaReply) err := c.cc.Invoke(ctx, "/api.Campus/GetCafeterias", in, out, opts...) if err != nil { return nil, err @@ -181,54 +216,360 @@ func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opt return out, nil } -func (c *campusClient) GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonResponse, error) { - out := new(GetResponsiblePersonResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getResponsiblePerson", in, out, opts...) +func (c *campusClient) GetDishes(ctx context.Context, in *GetDishesRequest, opts ...grpc.CallOption) (*GetDishesReply, error) { + out := new(GetDishesReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetDishes", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsResponse, error) { - out := new(GetBuilding2GpsResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getBuilding2Gps", in, out, opts...) +func (c *campusClient) GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonReply, error) { + out := new(GetResponsiblePersonReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetResponsiblePerson", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrResponse, error) { - out := new(GetAreaFacilitiesByBuildingNrResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getAreaFacilitiesByBuildingNr", in, out, opts...) +func (c *campusClient) GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsReply, error) { + out := new(GetBuilding2GpsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetBuilding2Gps", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsResponse, error) { - out := new(GetListOfToiletsResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getListOfToilets", in, out, opts...) +func (c *campusClient) GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrReply, error) { + out := new(GetAreaFacilitiesByBuildingNrReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetAreaFacilitiesByBuildingNr", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsResponse, error) { - out := new(GetListOfElevatorsResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getListOfElevators", in, out, opts...) +func (c *campusClient) GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsReply, error) { + out := new(GetListOfToiletsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetListOfToilets", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationResponse, error) { - out := new(GetMoreInformationResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getMoreInformation", in, out, opts...) +func (c *campusClient) GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsReply, error) { + out := new(GetListOfElevatorsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetListOfElevators", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationReply, error) { + out := new(GetMoreInformationReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetMoreInformation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetOpeningTimes(ctx context.Context, in *GetOpeningTimesRequest, opts ...grpc.CallOption) (*GetOpeningTimesReply, error) { + out := new(GetOpeningTimesReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetOpeningTimes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) { + out := new(GetUpdateNoteReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetUpdateNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) { + out := new(GetStudyRoomListReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetStudyRoomList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) { + out := new(GetEventListReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetEventList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostEventTicketMy(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostEventTicketMyReply, error) { + out := new(PostEventTicketMyReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicketMy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostEventTicket(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) { + out := new(EventListMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetEventTicketType(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) { + out := new(GetEventTicketTypeReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetEventTicketType", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostEventTicketReserveMultiple(ctx context.Context, in *PostEventTicketReserveMultipleRequest, opts ...grpc.CallOption) (*PostEventTicketReserveMultipleReply, error) { + out := new(PostEventTicketReserveMultipleReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicketReserveMultiple", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) { + out := new(PurchaseTicketStripeReply) + err := c.cc.Invoke(ctx, "/api.Campus/PurchaseTicketStripe", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) RetrieveEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RetrieveEphemeralKeyReply, error) { + out := new(RetrieveEphemeralKeyReply) + err := c.cc.Invoke(ctx, "/api.Campus/RetrieveEphemeralKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetEventTicketStatus(ctx context.Context, in *GetEventTicketStatusRequest, opts ...grpc.CallOption) (*GetEventTicketStatusReply, error) { + out := new(GetEventTicketStatusReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetEventTicketStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) { + out := new(GetKinoReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetKino", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostFeedback(ctx context.Context, in *PostFeedbackRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) { + out := new(PostFeedbackReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostFeedback", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostFeedbackIDImageNr(ctx context.Context, in *PostFeedbackIDImageNrRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) { + out := new(PostFeedbackReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostFeedbackIDImageNr", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) RegisterDevice(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { + out := new(TUMCabeStatus) + err := c.cc.Invoke(ctx, "/api.Campus/RegisterDevice", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) VerifyKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { + out := new(TUMCabeStatus) + err := c.cc.Invoke(ctx, "/api.Campus/VerifyKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) DeviceUploadGcmToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { + out := new(TUMCabeStatus) + err := c.cc.Invoke(ctx, "/api.Campus/DeviceUploadGcmToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetUploadStatus(ctx context.Context, in *GetUploadStatusRequest, opts ...grpc.CallOption) (*GetUploadStatusReply, error) { + out := new(GetUploadStatusReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetUploadStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetNotification(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsReply, error) { + out := new(GetNotificationsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetNotification", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetNotificationConfirm(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsConfirmReply, error) { + out := new(GetNotificationsConfirmReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetNotificationConfirm", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersReply, error) { + out := new(GetMembersReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetMembers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostChatRoomsReply, error) { + out := new(PostChatRoomsReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRooms", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetChatRoomsRoomId(ctx context.Context, in *GetChatRoomsRoomIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { + out := new(ChatRoomsMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/GetChatRoomsRoomId", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRoomsRoomIdLeave(ctx context.Context, in *PostChatRoomsRoomIdLeaveRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { + out := new(ChatRoomsMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsRoomIdLeave", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRoomsRoomIdAdd(ctx context.Context, in *PostChatRoomsRoomIdAddRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { + out := new(ChatRoomsMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsRoomIdAdd", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PutChatRoomsSendMessage(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { + out := new(ChatMessageModelMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PutChatRoomsSendMessage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PutChatRoomsUpdateMessage(ctx context.Context, in *PutChatRoomsUpdateMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { + out := new(ChatMessageModelMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PutChatRoomsUpdateMessage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRoomsGetMessages(ctx context.Context, in *PostChatRoomsGetMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { + out := new(ChatMessageModelMsg) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsGetMessages", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRoomsGetNewMessages(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { + out := new(ChatMessageModelMsg) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsGetNewMessages", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatCreateMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { + out := new(ChatMemberMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatCreateMember", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { + out := new(ChatMemberMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/GetChatMemberByLrzId", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) { + out := new(ChatMemberMsg) + err := c.cc.Invoke(ctx, "/api.Campus/SearchMemberByName", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) { + out := new(GetMemberRoomsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetMemberRooms", in, out, opts...) if err != nil { return nil, err } @@ -248,19 +589,54 @@ type CampusServer interface { GetRoomCoordinates(context.Context, *GetRoomCoordinatesRequest) (*GetRoomCoordinatesReply, error) GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) // This endpoint retrieves Cafeteria Ratings from the Backend. - GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) - GetMealRatings(context.Context, *MealRatingRequest) (*MealRatingResponse, error) + GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingReply, error) + GetDishRatings(context.Context, *DishRatingRequest) (*DishRatingReply, error) NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) - NewMealRating(context.Context, *NewMealRatingRequest) (*emptypb.Empty, error) - GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) + NewDishRating(context.Context, *NewDishRatingRequest) (*emptypb.Empty, error) + GetAvailableDishTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) - GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) - GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonResponse, error) - GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsResponse, error) - GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrResponse, error) - GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsResponse, error) - GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsResponse, error) - GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationResponse, error) + GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaReply, error) + GetDishes(context.Context, *GetDishesRequest) (*GetDishesReply, error) + GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonReply, error) + GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsReply, error) + GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrReply, error) + GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsReply, error) + GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsReply, error) + GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationReply, error) + GetOpeningTimes(context.Context, *GetOpeningTimesRequest) (*GetOpeningTimesReply, error) + GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) + GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) + GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) + // todo check again + PostEventTicketMy(context.Context, *emptypb.Empty) (*PostEventTicketMyReply, error) + PostEventTicket(context.Context, *PostEventTicketRequest) (*EventListMsgElement, error) + GetEventTicketType(context.Context, *PostEventTicketRequest) (*GetEventTicketTypeReply, error) + PostEventTicketReserveMultiple(context.Context, *PostEventTicketReserveMultipleRequest) (*PostEventTicketReserveMultipleReply, error) + PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) + RetrieveEphemeralKey(context.Context, *emptypb.Empty) (*RetrieveEphemeralKeyReply, error) + GetEventTicketStatus(context.Context, *GetEventTicketStatusRequest) (*GetEventTicketStatusReply, error) + GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) + PostFeedback(context.Context, *PostFeedbackRequest) (*PostFeedbackReply, error) + PostFeedbackIDImageNr(context.Context, *PostFeedbackIDImageNrRequest) (*PostFeedbackReply, error) + RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) + VerifyKey(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) + DeviceUploadGcmToken(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) + GetUploadStatus(context.Context, *GetUploadStatusRequest) (*GetUploadStatusReply, error) + GetNotification(context.Context, *NotificationsRequest) (*GetNotificationsReply, error) + GetNotificationConfirm(context.Context, *NotificationsRequest) (*GetNotificationsConfirmReply, error) + GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) + PostChatRooms(context.Context, *emptypb.Empty) (*PostChatRoomsReply, error) + GetChatRoomsRoomId(context.Context, *GetChatRoomsRoomIdRequest) (*ChatRoomsMsgElement, error) + PostChatRoomsRoomIdLeave(context.Context, *PostChatRoomsRoomIdLeaveRequest) (*ChatRoomsMsgElement, error) + PostChatRoomsRoomIdAdd(context.Context, *PostChatRoomsRoomIdAddRequest) (*ChatRoomsMsgElement, error) + PutChatRoomsSendMessage(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsgElement, error) + PutChatRoomsUpdateMessage(context.Context, *PutChatRoomsUpdateMessageRequest) (*ChatMessageModelMsgElement, error) + PostChatRoomsGetMessages(context.Context, *PostChatRoomsGetMessagesRequest) (*ChatMessageModelMsg, error) + PostChatRoomsGetNewMessages(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsg, error) + PostChatCreateMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) + GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) + SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) + GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) mustEmbedUnimplementedCampusServer() } @@ -289,45 +665,147 @@ func (UnimplementedCampusServer) GetRoomCoordinates(context.Context, *GetRoomCoo func (UnimplementedCampusServer) GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRoomSchedule not implemented") } -func (UnimplementedCampusServer) GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) { +func (UnimplementedCampusServer) GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCafeteriaRatings not implemented") } -func (UnimplementedCampusServer) GetMealRatings(context.Context, *MealRatingRequest) (*MealRatingResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMealRatings not implemented") +func (UnimplementedCampusServer) GetDishRatings(context.Context, *DishRatingRequest) (*DishRatingReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDishRatings not implemented") } func (UnimplementedCampusServer) NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method NewCafeteriaRating not implemented") } -func (UnimplementedCampusServer) NewMealRating(context.Context, *NewMealRatingRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method NewMealRating not implemented") +func (UnimplementedCampusServer) NewDishRating(context.Context, *NewDishRatingRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method NewDishRating not implemented") } -func (UnimplementedCampusServer) GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAvailableMealTags not implemented") +func (UnimplementedCampusServer) GetAvailableDishTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAvailableDishTags not implemented") } func (UnimplementedCampusServer) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAvailableCafeteriaTags not implemented") } -func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) { +func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCafeterias not implemented") } -func (UnimplementedCampusServer) GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonResponse, error) { +func (UnimplementedCampusServer) GetDishes(context.Context, *GetDishesRequest) (*GetDishesReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDishes not implemented") +} +func (UnimplementedCampusServer) GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetResponsiblePerson not implemented") } -func (UnimplementedCampusServer) GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsResponse, error) { +func (UnimplementedCampusServer) GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetBuilding2Gps not implemented") } -func (UnimplementedCampusServer) GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrResponse, error) { +func (UnimplementedCampusServer) GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAreaFacilitiesByBuildingNr not implemented") } -func (UnimplementedCampusServer) GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsResponse, error) { +func (UnimplementedCampusServer) GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetListOfToilets not implemented") } -func (UnimplementedCampusServer) GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsResponse, error) { +func (UnimplementedCampusServer) GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetListOfElevators not implemented") } -func (UnimplementedCampusServer) GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationResponse, error) { +func (UnimplementedCampusServer) GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMoreInformation not implemented") } +func (UnimplementedCampusServer) GetOpeningTimes(context.Context, *GetOpeningTimesRequest) (*GetOpeningTimesReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetOpeningTimes not implemented") +} +func (UnimplementedCampusServer) GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUpdateNote not implemented") +} +func (UnimplementedCampusServer) GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetStudyRoomList not implemented") +} +func (UnimplementedCampusServer) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEventList not implemented") +} +func (UnimplementedCampusServer) PostEventTicketMy(context.Context, *emptypb.Empty) (*PostEventTicketMyReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostEventTicketMy not implemented") +} +func (UnimplementedCampusServer) PostEventTicket(context.Context, *PostEventTicketRequest) (*EventListMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostEventTicket not implemented") +} +func (UnimplementedCampusServer) GetEventTicketType(context.Context, *PostEventTicketRequest) (*GetEventTicketTypeReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEventTicketType not implemented") +} +func (UnimplementedCampusServer) PostEventTicketReserveMultiple(context.Context, *PostEventTicketReserveMultipleRequest) (*PostEventTicketReserveMultipleReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostEventTicketReserveMultiple not implemented") +} +func (UnimplementedCampusServer) PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurchaseTicketStripe not implemented") +} +func (UnimplementedCampusServer) RetrieveEphemeralKey(context.Context, *emptypb.Empty) (*RetrieveEphemeralKeyReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method RetrieveEphemeralKey not implemented") +} +func (UnimplementedCampusServer) GetEventTicketStatus(context.Context, *GetEventTicketStatusRequest) (*GetEventTicketStatusReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEventTicketStatus not implemented") +} +func (UnimplementedCampusServer) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetKino not implemented") +} +func (UnimplementedCampusServer) PostFeedback(context.Context, *PostFeedbackRequest) (*PostFeedbackReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostFeedback not implemented") +} +func (UnimplementedCampusServer) PostFeedbackIDImageNr(context.Context, *PostFeedbackIDImageNrRequest) (*PostFeedbackReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostFeedbackIDImageNr not implemented") +} +func (UnimplementedCampusServer) RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterDevice not implemented") +} +func (UnimplementedCampusServer) VerifyKey(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method VerifyKey not implemented") +} +func (UnimplementedCampusServer) DeviceUploadGcmToken(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeviceUploadGcmToken not implemented") +} +func (UnimplementedCampusServer) GetUploadStatus(context.Context, *GetUploadStatusRequest) (*GetUploadStatusReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUploadStatus not implemented") +} +func (UnimplementedCampusServer) GetNotification(context.Context, *NotificationsRequest) (*GetNotificationsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotification not implemented") +} +func (UnimplementedCampusServer) GetNotificationConfirm(context.Context, *NotificationsRequest) (*GetNotificationsConfirmReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotificationConfirm not implemented") +} +func (UnimplementedCampusServer) GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMembers not implemented") +} +func (UnimplementedCampusServer) PostChatRooms(context.Context, *emptypb.Empty) (*PostChatRoomsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRooms not implemented") +} +func (UnimplementedCampusServer) GetChatRoomsRoomId(context.Context, *GetChatRoomsRoomIdRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChatRoomsRoomId not implemented") +} +func (UnimplementedCampusServer) PostChatRoomsRoomIdLeave(context.Context, *PostChatRoomsRoomIdLeaveRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsRoomIdLeave not implemented") +} +func (UnimplementedCampusServer) PostChatRoomsRoomIdAdd(context.Context, *PostChatRoomsRoomIdAddRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsRoomIdAdd not implemented") +} +func (UnimplementedCampusServer) PutChatRoomsSendMessage(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PutChatRoomsSendMessage not implemented") +} +func (UnimplementedCampusServer) PutChatRoomsUpdateMessage(context.Context, *PutChatRoomsUpdateMessageRequest) (*ChatMessageModelMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PutChatRoomsUpdateMessage not implemented") +} +func (UnimplementedCampusServer) PostChatRoomsGetMessages(context.Context, *PostChatRoomsGetMessagesRequest) (*ChatMessageModelMsg, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsGetMessages not implemented") +} +func (UnimplementedCampusServer) PostChatRoomsGetNewMessages(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsg, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsGetNewMessages not implemented") +} +func (UnimplementedCampusServer) PostChatCreateMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatCreateMember not implemented") +} +func (UnimplementedCampusServer) GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChatMemberByLrzId not implemented") +} +func (UnimplementedCampusServer) SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchMemberByName not implemented") +} +func (UnimplementedCampusServer) GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMemberRooms not implemented") +} func (UnimplementedCampusServer) mustEmbedUnimplementedCampusServer() {} // UnsafeCampusServer may be embedded to opt out of forward compatibility for this service. @@ -485,20 +963,20 @@ func _Campus_GetCafeteriaRatings_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } -func _Campus_GetMealRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MealRatingRequest) +func _Campus_GetDishRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DishRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetMealRatings(ctx, in) + return srv.(CampusServer).GetDishRatings(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetMealRatings", + FullMethod: "/api.Campus/GetDishRatings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMealRatings(ctx, req.(*MealRatingRequest)) + return srv.(CampusServer).GetDishRatings(ctx, req.(*DishRatingRequest)) } return interceptor(ctx, in, info, handler) } @@ -521,38 +999,38 @@ func _Campus_NewCafeteriaRating_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -func _Campus_NewMealRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewMealRatingRequest) +func _Campus_NewDishRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NewDishRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).NewMealRating(ctx, in) + return srv.(CampusServer).NewDishRating(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/NewMealRating", + FullMethod: "/api.Campus/NewDishRating", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).NewMealRating(ctx, req.(*NewMealRatingRequest)) + return srv.(CampusServer).NewDishRating(ctx, req.(*NewDishRatingRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetAvailableMealTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _Campus_GetAvailableDishTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetAvailableMealTags(ctx, in) + return srv.(CampusServer).GetAvailableDishTags(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetAvailableMealTags", + FullMethod: "/api.Campus/GetAvailableDishTags", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetAvailableMealTags(ctx, req.(*emptypb.Empty)) + return srv.(CampusServer).GetAvailableDishTags(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } @@ -593,6 +1071,24 @@ func _Campus_GetCafeterias_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Campus_GetDishes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDishesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetDishes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetDishes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetDishes(ctx, req.(*GetDishesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Campus_GetResponsiblePerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { @@ -603,7 +1099,7 @@ func _Campus_GetResponsiblePerson_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getResponsiblePerson", + FullMethod: "/api.Campus/GetResponsiblePerson", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetResponsiblePerson(ctx, req.(*emptypb.Empty)) @@ -621,7 +1117,7 @@ func _Campus_GetBuilding2Gps_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getBuilding2Gps", + FullMethod: "/api.Campus/GetBuilding2Gps", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetBuilding2Gps(ctx, req.(*emptypb.Empty)) @@ -639,7 +1135,7 @@ func _Campus_GetAreaFacilitiesByBuildingNr_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getAreaFacilitiesByBuildingNr", + FullMethod: "/api.Campus/GetAreaFacilitiesByBuildingNr", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetAreaFacilitiesByBuildingNr(ctx, req.(*GetAreaFacilitiesByBuildingNrRequest)) @@ -657,7 +1153,7 @@ func _Campus_GetListOfToilets_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getListOfToilets", + FullMethod: "/api.Campus/GetListOfToilets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetListOfToilets(ctx, req.(*emptypb.Empty)) @@ -675,7 +1171,7 @@ func _Campus_GetListOfElevators_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getListOfElevators", + FullMethod: "/api.Campus/GetListOfElevators", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetListOfElevators(ctx, req.(*emptypb.Empty)) @@ -693,7 +1189,7 @@ func _Campus_GetMoreInformation_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getMoreInformation", + FullMethod: "/api.Campus/GetMoreInformation", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetMoreInformation(ctx, req.(*emptypb.Empty)) @@ -701,11 +1197,605 @@ func _Campus_GetMoreInformation_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -// Campus_ServiceDesc is the grpc.ServiceDesc for Campus service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Campus_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "api.Campus", +func _Campus_GetOpeningTimes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetOpeningTimesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetOpeningTimes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetOpeningTimes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetOpeningTimes(ctx, req.(*GetOpeningTimesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetUpdateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUpdateNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetUpdateNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetUpdateNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetUpdateNote(ctx, req.(*GetUpdateNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetStudyRoomList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetStudyRoomList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetStudyRoomList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetStudyRoomList(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetEventList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEventListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetEventList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetEventList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetEventList(ctx, req.(*GetEventListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostEventTicketMy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostEventTicketMy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostEventTicketMy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostEventTicketMy(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostEventTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostEventTicketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostEventTicket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostEventTicket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostEventTicket(ctx, req.(*PostEventTicketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetEventTicketType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostEventTicketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetEventTicketType(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetEventTicketType", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetEventTicketType(ctx, req.(*PostEventTicketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostEventTicketReserveMultiple_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostEventTicketReserveMultipleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostEventTicketReserveMultiple(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostEventTicketReserveMultiple", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostEventTicketReserveMultiple(ctx, req.(*PostEventTicketReserveMultipleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PurchaseTicketStripe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PurchaseTicketStripe(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PurchaseTicketStripe", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PurchaseTicketStripe(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_RetrieveEphemeralKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).RetrieveEphemeralKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/RetrieveEphemeralKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).RetrieveEphemeralKey(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetEventTicketStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEventTicketStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetEventTicketStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetEventTicketStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetEventTicketStatus(ctx, req.(*GetEventTicketStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetKino_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetKinoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetKino(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetKino", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetKino(ctx, req.(*GetKinoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostFeedback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostFeedbackRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostFeedback(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostFeedback", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostFeedback(ctx, req.(*PostFeedbackRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostFeedbackIDImageNr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostFeedbackIDImageNrRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostFeedbackIDImageNr(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostFeedbackIDImageNr", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostFeedbackIDImageNr(ctx, req.(*PostFeedbackIDImageNrRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_RegisterDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).RegisterDevice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/RegisterDevice", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).RegisterDevice(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_VerifyKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).VerifyKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/VerifyKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).VerifyKey(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_DeviceUploadGcmToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).DeviceUploadGcmToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/DeviceUploadGcmToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).DeviceUploadGcmToken(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetUploadStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUploadStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetUploadStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetUploadStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetUploadStatus(ctx, req.(*GetUploadStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NotificationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetNotification(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetNotification", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetNotification(ctx, req.(*NotificationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetNotificationConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NotificationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetNotificationConfirm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetNotificationConfirm", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetNotificationConfirm(ctx, req.(*NotificationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMembersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetMembers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetMembers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetMembers(ctx, req.(*GetMembersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRooms(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRooms", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRooms(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetChatRoomsRoomId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChatRoomsRoomIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetChatRoomsRoomId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetChatRoomsRoomId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetChatRoomsRoomId(ctx, req.(*GetChatRoomsRoomIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRoomsRoomIdLeave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostChatRoomsRoomIdLeaveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRoomsRoomIdLeave(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRoomsRoomIdLeave", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRoomsRoomIdLeave(ctx, req.(*PostChatRoomsRoomIdLeaveRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRoomsRoomIdAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostChatRoomsRoomIdAddRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRoomsRoomIdAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRoomsRoomIdAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRoomsRoomIdAdd(ctx, req.(*PostChatRoomsRoomIdAddRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PutChatRoomsSendMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PutChatRoomsSendRoomIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PutChatRoomsSendMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PutChatRoomsSendMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PutChatRoomsSendMessage(ctx, req.(*PutChatRoomsSendRoomIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PutChatRoomsUpdateMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PutChatRoomsUpdateMessageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PutChatRoomsUpdateMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PutChatRoomsUpdateMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PutChatRoomsUpdateMessage(ctx, req.(*PutChatRoomsUpdateMessageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRoomsGetMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostChatRoomsGetMessagesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRoomsGetMessages(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRoomsGetMessages", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRoomsGetMessages(ctx, req.(*PostChatRoomsGetMessagesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRoomsGetNewMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PutChatRoomsSendRoomIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRoomsGetNewMessages(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRoomsGetNewMessages", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRoomsGetNewMessages(ctx, req.(*PutChatRoomsSendRoomIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatCreateMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChatMemberMsgElement) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatCreateMember(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatCreateMember", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatCreateMember(ctx, req.(*ChatMemberMsgElement)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetChatMemberByLrzId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChatMemberRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetChatMemberByLrzId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetChatMemberByLrzId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetChatMemberByLrzId(ctx, req.(*GetChatMemberRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_SearchMemberByName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchMemberByNameRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).SearchMemberByName(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/SearchMemberByName", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).SearchMemberByName(ctx, req.(*SearchMemberByNameRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetMemberRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMemberRoomsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetMemberRooms(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetMemberRooms", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetMemberRooms(ctx, req.(*GetMemberRoomsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Campus_ServiceDesc is the grpc.ServiceDesc for Campus service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Campus_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "api.Campus", HandlerType: (*CampusServer)(nil), Methods: []grpc.MethodDesc{ { @@ -741,20 +1831,20 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetCafeteriaRatings_Handler, }, { - MethodName: "GetMealRatings", - Handler: _Campus_GetMealRatings_Handler, + MethodName: "GetDishRatings", + Handler: _Campus_GetDishRatings_Handler, }, { MethodName: "NewCafeteriaRating", Handler: _Campus_NewCafeteriaRating_Handler, }, { - MethodName: "NewMealRating", - Handler: _Campus_NewMealRating_Handler, + MethodName: "NewDishRating", + Handler: _Campus_NewDishRating_Handler, }, { - MethodName: "GetAvailableMealTags", - Handler: _Campus_GetAvailableMealTags_Handler, + MethodName: "GetAvailableDishTags", + Handler: _Campus_GetAvailableDishTags_Handler, }, { MethodName: "GetAvailableCafeteriaTags", @@ -765,29 +1855,165 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetCafeterias_Handler, }, { - MethodName: "getResponsiblePerson", + MethodName: "GetDishes", + Handler: _Campus_GetDishes_Handler, + }, + { + MethodName: "GetResponsiblePerson", Handler: _Campus_GetResponsiblePerson_Handler, }, { - MethodName: "getBuilding2Gps", + MethodName: "GetBuilding2Gps", Handler: _Campus_GetBuilding2Gps_Handler, }, { - MethodName: "getAreaFacilitiesByBuildingNr", + MethodName: "GetAreaFacilitiesByBuildingNr", Handler: _Campus_GetAreaFacilitiesByBuildingNr_Handler, }, { - MethodName: "getListOfToilets", + MethodName: "GetListOfToilets", Handler: _Campus_GetListOfToilets_Handler, }, { - MethodName: "getListOfElevators", + MethodName: "GetListOfElevators", Handler: _Campus_GetListOfElevators_Handler, }, { - MethodName: "getMoreInformation", + MethodName: "GetMoreInformation", Handler: _Campus_GetMoreInformation_Handler, }, + { + MethodName: "GetOpeningTimes", + Handler: _Campus_GetOpeningTimes_Handler, + }, + { + MethodName: "GetUpdateNote", + Handler: _Campus_GetUpdateNote_Handler, + }, + { + MethodName: "GetStudyRoomList", + Handler: _Campus_GetStudyRoomList_Handler, + }, + { + MethodName: "GetEventList", + Handler: _Campus_GetEventList_Handler, + }, + { + MethodName: "PostEventTicketMy", + Handler: _Campus_PostEventTicketMy_Handler, + }, + { + MethodName: "PostEventTicket", + Handler: _Campus_PostEventTicket_Handler, + }, + { + MethodName: "GetEventTicketType", + Handler: _Campus_GetEventTicketType_Handler, + }, + { + MethodName: "PostEventTicketReserveMultiple", + Handler: _Campus_PostEventTicketReserveMultiple_Handler, + }, + { + MethodName: "PurchaseTicketStripe", + Handler: _Campus_PurchaseTicketStripe_Handler, + }, + { + MethodName: "RetrieveEphemeralKey", + Handler: _Campus_RetrieveEphemeralKey_Handler, + }, + { + MethodName: "GetEventTicketStatus", + Handler: _Campus_GetEventTicketStatus_Handler, + }, + { + MethodName: "GetKino", + Handler: _Campus_GetKino_Handler, + }, + { + MethodName: "PostFeedback", + Handler: _Campus_PostFeedback_Handler, + }, + { + MethodName: "PostFeedbackIDImageNr", + Handler: _Campus_PostFeedbackIDImageNr_Handler, + }, + { + MethodName: "RegisterDevice", + Handler: _Campus_RegisterDevice_Handler, + }, + { + MethodName: "VerifyKey", + Handler: _Campus_VerifyKey_Handler, + }, + { + MethodName: "DeviceUploadGcmToken", + Handler: _Campus_DeviceUploadGcmToken_Handler, + }, + { + MethodName: "GetUploadStatus", + Handler: _Campus_GetUploadStatus_Handler, + }, + { + MethodName: "GetNotification", + Handler: _Campus_GetNotification_Handler, + }, + { + MethodName: "GetNotificationConfirm", + Handler: _Campus_GetNotificationConfirm_Handler, + }, + { + MethodName: "GetMembers", + Handler: _Campus_GetMembers_Handler, + }, + { + MethodName: "PostChatRooms", + Handler: _Campus_PostChatRooms_Handler, + }, + { + MethodName: "GetChatRoomsRoomId", + Handler: _Campus_GetChatRoomsRoomId_Handler, + }, + { + MethodName: "PostChatRoomsRoomIdLeave", + Handler: _Campus_PostChatRoomsRoomIdLeave_Handler, + }, + { + MethodName: "PostChatRoomsRoomIdAdd", + Handler: _Campus_PostChatRoomsRoomIdAdd_Handler, + }, + { + MethodName: "PutChatRoomsSendMessage", + Handler: _Campus_PutChatRoomsSendMessage_Handler, + }, + { + MethodName: "PutChatRoomsUpdateMessage", + Handler: _Campus_PutChatRoomsUpdateMessage_Handler, + }, + { + MethodName: "PostChatRoomsGetMessages", + Handler: _Campus_PostChatRoomsGetMessages_Handler, + }, + { + MethodName: "PostChatRoomsGetNewMessages", + Handler: _Campus_PostChatRoomsGetNewMessages_Handler, + }, + { + MethodName: "PostChatCreateMember", + Handler: _Campus_PostChatCreateMember_Handler, + }, + { + MethodName: "GetChatMemberByLrzId", + Handler: _Campus_GetChatMemberByLrzId_Handler, + }, + { + MethodName: "SearchMemberByName", + Handler: _Campus_SearchMemberByName_Handler, + }, + { + MethodName: "GetMemberRooms", + Handler: _Campus_GetMemberRooms_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "CampusService.proto", diff --git a/api/buf.lock b/api/buf.lock index 432e5196..29dd62d0 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: bab7e2fd165a45d2a08d4f2fd277c224 + commit: 264612d2aca446faab191b46c53e00e2 diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index 966a46a2..5003762b 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -1,5 +1,4 @@ { -"basePath": "/v1", "swagger": "2.0", "info": { "title": "CampusService.proto", @@ -19,12 +18,12 @@ "paths": { "/barrierfree/contacts": { "get": { - "operationId": "Campus_getResponsiblePerson", + "operationId": "Campus_GetResponsiblePerson", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetResponsiblePersonResponse" + "$ref": "#/definitions/apiGetResponsiblePersonReply" } }, "default": { @@ -41,12 +40,12 @@ }, "/barrierfree/getBuilding2Gps": { "get": { - "operationId": "Campus_getBuilding2Gps", + "operationId": "Campus_GetBuilding2Gps", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetBuilding2GpsResponse" + "$ref": "#/definitions/apiGetBuilding2GpsReply" } }, "default": { @@ -63,12 +62,12 @@ }, "/barrierfree/listOfElevators": { "get": { - "operationId": "Campus_getListOfElevators", + "operationId": "Campus_GetListOfElevators", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetListOfElevatorsResponse" + "$ref": "#/definitions/apiGetListOfElevatorsReply" } }, "default": { @@ -85,12 +84,12 @@ }, "/barrierfree/listOfToilets": { "get": { - "operationId": "Campus_getListOfToilets", + "operationId": "Campus_GetListOfToilets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetListOfToiletsResponse" + "$ref": "#/definitions/apiGetListOfToiletsReply" } }, "default": { @@ -107,12 +106,12 @@ }, "/barrierfree/moreInformation": { "get": { - "operationId": "Campus_getMoreInformation", + "operationId": "Campus_GetMoreInformation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetMoreInformationResponse" + "$ref": "#/definitions/apiGetMoreInformationReply" } }, "default": { @@ -129,12 +128,12 @@ }, "/barrierfree/nerby": { "get": { - "operationId": "Campus_getAreaFacilitiesByBuildingNr", + "operationId": "Campus_GetAreaFacilitiesByBuildingNr", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetAreaFacilitiesByBuildingNrResponse" + "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" } }, "default": { @@ -157,14 +156,17 @@ ] } }, - "/cafeteriaRating/cafeteria/allCafeterias": { + "/cafeteria/allCafeterias": { "get": { "operationId": "Campus_GetCafeterias", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetCafeteriaResponse" + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } }, "default": { @@ -179,14 +181,17 @@ ] } }, - "/cafeteriaRating/cafeteria/allTags": { + "/cafeteria/rating/allTags": { "get": { "operationId": "Campus_GetAvailableCafeteriaTags", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetRatingTagsReply" + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } } }, "default": { @@ -201,7 +206,7 @@ ] } }, - "/cafeteriaRating/cafeteria/get": { + "/cafeteria/rating/get": { "post": { "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", "operationId": "Campus_GetCafeteriaRatings", @@ -209,7 +214,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiCafeteriaRatingResponse" + "$ref": "#/definitions/apiCafeteriaRatingReply" } }, "default": { @@ -234,7 +239,7 @@ ] } }, - "/cafeteriaRating/cafeteria/newCafeteriaRating": { + "/cafeteria/rating/new": { "post": { "operationId": "Campus_NewCafeteriaRating", "responses": { @@ -266,14 +271,14 @@ ] } }, - "/cafeteriaRating/dish/get": { + "/chat/members": { "post": { - "operationId": "Campus_GetMealRatings", + "operationId": "Campus_PostChatCreateMember", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiMealRatingResponse" + "$ref": "#/definitions/apiChatMemberMsgElement" } }, "default": { @@ -285,27 +290,74 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, + "name": "id", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "lrzId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "displayName", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "signature", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/chat/members/search/{query}": { + "get": { + "operationId": "Campus_SearchMemberByName", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiChatMemberMsg" + } + }, + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/apiMealRatingRequest" + "$ref": "#/definitions/rpcStatus" } } + }, + "parameters": [ + { + "name": "query", + "in": "path", + "required": true, + "type": "string" + } ], "tags": [ "Campus" ] } }, - "/cafeteriaRating/meal/allTags": { + "/chat/members/{lrzId}": { "get": { - "operationId": "Campus_GetAvailableMealTags", + "operationId": "Campus_GetChatMemberByLrzId", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRatingTagsReply" + "$ref": "#/definitions/apiChatMemberMsgElement" } }, "default": { @@ -315,19 +367,58 @@ } } }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ "Campus" ] } }, - "/cafeteriaRating/meal/newMealRating": { + "/chat/members/{memberId}/rooms": { "post": { - "operationId": "Campus_NewMealRating", + "operationId": "Campus_GetMemberRooms", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/apiGetMemberRoomsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "memberId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/chat/rooms": { + "post": { + "operationId": "Campus_PostChatRooms", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostChatRoomsReply" } }, "default": { @@ -343,7 +434,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiNewMealRatingRequest" + "properties": {} } } ], @@ -352,18 +443,14 @@ ] } }, - "/locations/{location}": { + "/chat/rooms/{roomId}": { "get": { - "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", - "operationId": "Campus_GetLocations", + "operationId": "Campus_GetChatRoomsRoomId", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiGetLocationsReplyLocation" - } + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -375,10 +462,11 @@ }, "parameters": [ { - "name": "location", + "name": "roomId", "in": "path", "required": true, - "type": "string" + "type": "integer", + "format": "int32" } ], "tags": [ @@ -386,17 +474,14 @@ ] } }, - "/news/sources": { - "get": { - "operationId": "Campus_GetNewsSources", + "/chat/rooms/{roomId}/add/{memberId}": { + "post": { + "operationId": "Campus_PostChatRoomsRoomIdAdd", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiNewsSource" - } + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -406,19 +491,35 @@ } } }, + "parameters": [ + { + "name": "roomId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "memberId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], "tags": [ "Campus" ] } }, - "/news/top": { - "get": { - "operationId": "Campus_GetTopNews", + "/chat/rooms/{roomId}/leave": { + "post": { + "operationId": "Campus_PostChatRoomsRoomIdLeave", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetTopNewsReply" + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -428,22 +529,28 @@ } } }, + "parameters": [ + { + "name": "roomId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], "tags": [ "Campus" ] } }, - "/roomfinder/maps": { - "post": { - "operationId": "Campus_GetRoomMaps", + "/chat/rooms/{roomId}/message": { + "put": { + "operationId": "Campus_PutChatRoomsSendMessage", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomMapsReplyMap" - } + "$ref": "#/definitions/apiChatMessageModelMsgElement" } }, "default": { @@ -455,12 +562,11 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomMapsRequest" - } + "type": "integer", + "format": "int32" } ], "tags": [ @@ -468,14 +574,14 @@ ] } }, - "/roomfinder/room/coordinates": { - "post": { - "operationId": "Campus_GetRoomCoordinates", + "/chat/rooms/{roomId}/message/{messageId}": { + "put": { + "operationId": "Campus_PutChatRoomsUpdateMessage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesReply" + "$ref": "#/definitions/apiChatMessageModelMsgElement" } }, "default": { @@ -487,12 +593,18 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesRequest" - } + "type": "integer", + "format": "int32" + }, + { + "name": "messageId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" } ], "tags": [ @@ -500,17 +612,14 @@ ] } }, - "/roomfinder/room/scheduleById": { + "/chat/rooms/{roomId}/messages": { "post": { - "operationId": "Campus_GetRoomSchedule", + "operationId": "Campus_PostChatRoomsGetNewMessages", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" - } + "$ref": "#/definitions/apiChatMessageModelMsg" } }, "default": { @@ -522,12 +631,11 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomScheduleRequest" - } + "type": "integer", + "format": "int32" } ], "tags": [ @@ -535,17 +643,14 @@ ] } }, - "/roomfinder/room/search": { + "/chat/rooms/{roomId}/messages/{pageId}": { "post": { - "operationId": "Campus_SearchRooms", + "operationId": "Campus_PostChatRoomsGetMessages", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoom" - } + "$ref": "#/definitions/apiChatMessageModelMsg" } }, "default": { @@ -557,198 +662,1592 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiSearchRoomsRequest" - } + "type": "integer", + "format": "int32" + }, + { + "name": "pageId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" } ], "tags": [ "Campus" ] } - } - }, - "definitions": { - "GetRoomMapsReplyMap": { - "type": "object", - "properties": { - "mapId": { - "type": "string", - "format": "int64" - }, - "description": { - "type": "string" - }, - "scale": { - "type": "string", - "format": "int64" - }, - "width": { - "type": "string", - "format": "int64" - }, - "height": { - "type": "string", - "format": "int64" - } - } }, - "GetRoomScheduleReplyRoomScheduleEvent": { - "type": "object", - "properties": { - "start": { - "type": "string", - "format": "date-time" - }, - "end": { - "type": "string", - "format": "date-time" - }, - "title": { - "type": "string" - }, - "eventId": { - "type": "integer", - "format": "int32" + "/device/addGcmToken": { + "post": { + "operationId": "Campus_DeviceUploadGcmToken", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } }, - "courseCode": { - "type": "string" - } + "tags": [ + "Campus" + ] } }, - "apiBuilding2GpsElement": { - "type": "object", - "properties": { + "/device/register": { + "post": { + "operationId": "Campus_RegisterDevice", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/device/uploaded/{lrzId}": { + "get": { + "operationId": "Campus_GetUploadStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetUploadStatusReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/device/verifyKey": { + "get": { + "operationId": "Campus_VerifyKey", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/dish/allDishes": { + "get": { + "operationId": "Campus_GetDishes", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "cafeteriaId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "year", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "month", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "day", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/allTags": { + "get": { + "operationId": "Campus_GetAvailableDishTags", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/get": { + "post": { + "operationId": "Campus_GetDishRatings", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiDishRatingReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiDishRatingRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/new": { + "post": { + "operationId": "Campus_NewDishRating", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "properties": {} + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiNewDishRatingRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/list": { + "get": { + "operationId": "Campus_GetEventList", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventListReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "eventId", + "description": "optional parameter, will return all events if no id is specified", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/my": { + "post": { + "summary": "todo check again", + "operationId": "Campus_PostEventTicketMy", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostEventTicketMyReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/payment/stripe/ephemeralkey": { + "post": { + "operationId": "Campus_RetrieveEphemeralKey", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiRetrieveEphemeralKeyReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/payment/stripe/purchase/multiple": { + "post": { + "operationId": "Campus_PurchaseTicketStripe", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPurchaseTicketStripeReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/reserve/multiple": { + "post": { + "operationId": "Campus_PostEventTicketReserveMultiple", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostEventTicketReserveMultipleReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "ticketTypes", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "collectionFormat": "multi" + }, + { + "name": "amounts", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/status/{eventId}": { + "get": { + "operationId": "Campus_GetEventTicketStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventTicketStatusReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "eventId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/type/{id}": { + "get": { + "operationId": "Campus_GetEventTicketType", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventTicketTypeReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/{id}": { + "post": { + "operationId": "Campus_PostEventTicket", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiEventListMsgElement" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/feedback": { + "post": { + "operationId": "Campus_PostFeedback", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostFeedbackReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "topic", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "email", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "emailId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "message", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "imageCount", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "latitude", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "longitude", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "osVersion", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "appVersion", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/feedback/{id}/{imageNr}": { + "post": { + "operationId": "Campus_PostFeedbackIDImageNr", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostFeedbackReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "imageNr", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/kino/{lastId}": { + "get": { + "operationId": "Campus_GetKino", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetKinoReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lastId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/locations/{location}": { + "get": { + "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", + "operationId": "Campus_GetLocations", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiGetLocationsReplyLocation" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/members/{lrzId}": { + "get": { + "operationId": "Campus_GetMembers", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetMembersReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/news/sources": { + "get": { + "operationId": "Campus_GetNewsSources", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiNewsSource" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/news/top": { + "get": { + "operationId": "Campus_GetTopNews", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetTopNewsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/notifications": { + "get": { + "operationId": "Campus_GetNotification", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetNotificationsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "notificationId", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/notifications/confirm/{notificationId}": { + "get": { + "operationId": "Campus_GetNotificationConfirm", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetNotificationsConfirmReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "notificationId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/openingtimes/{language}": { + "get": { + "operationId": "Campus_GetOpeningTimes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetOpeningTimesReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "language", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/maps": { + "post": { + "operationId": "Campus_GetRoomMaps", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomMapsReplyMap" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomMapsRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/coordinates": { + "post": { + "operationId": "Campus_GetRoomCoordinates", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/scheduleById": { + "post": { + "operationId": "Campus_GetRoomSchedule", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomScheduleRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/search": { + "post": { + "operationId": "Campus_SearchRooms", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoom" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiSearchRoomsRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/studyroom/list": { + "get": { + "operationId": "Campus_GetStudyRoomList", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetStudyRoomListReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/updatenote/{version}": { + "get": { + "operationId": "Campus_GetUpdateNote", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetUpdateNoteReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "version", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + } + }, + "definitions": { + "GetRoomMapsReplyMap": { + "type": "object", + "properties": { + "mapId": { + "type": "string", + "format": "int64" + }, + "description": { + "type": "string" + }, + "scale": { + "type": "string", + "format": "int64" + }, + "width": { + "type": "string", + "format": "int64" + }, + "height": { + "type": "string", + "format": "int64" + } + } + }, + "GetRoomScheduleReplyRoomScheduleEvent": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" + }, + "title": { + "type": "string" + }, + "eventId": { + "type": "integer", + "format": "int32" + }, + "courseCode": { + "type": "string" + } + } + }, + "apiBuilding2GpsElement": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "latitude": { + "type": "string" + }, + "longitude": { + "type": "string" + } + } + }, + "apiCafeteria": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "address": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { + "type": "number", + "format": "double" + } + } + }, + "apiCafeteriaRatingReply": { + "type": "object", + "properties": { + "rating": { + "type": "array", + "items": { + "$ref": "#/definitions/apiSingleRatingReply" + } + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + } + } + }, + "apiCafeteriaRatingRequest": { + "type": "object", + "properties": { + "cafeteriaId": { + "type": "string", + "title": "cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + } + } + }, + "apiChatMemberMsg": { + "type": "object", + "properties": { + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatMemberMsgElement" + } + } + } + }, + "apiChatMemberMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "lrzId": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "signature": { + "type": "string" + } + } + }, + "apiChatMessageModelMsg": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatMessageModelMsgElement" + } + } + } + }, + "apiChatMessageModelMsgElement": { + "type": "object", + "properties": { "id": { + "type": "integer", + "format": "int32" + }, + "previous": { + "type": "integer", + "format": "int32" + }, + "room": { + "type": "integer", + "format": "int32" + }, + "text": { "type": "string" }, - "latitude": { + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { "type": "string" }, - "longitude": { + "memberId": { + "type": "integer", + "format": "int32" + }, + "sendingStatus": { + "type": "integer", + "format": "int32" + } + } + }, + "apiChatRoomsMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "semester": { + "type": "string" + }, + "title": { + "type": "string" + }, + "members": { + "type": "integer", + "format": "int32" + } + } + }, + "apiDishRatingReply": { + "type": "object", + "properties": { + "rating": { + "type": "array", + "items": { + "$ref": "#/definitions/apiSingleRatingReply" + } + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + }, + "nameTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + } + } + }, + "apiDishRatingRequest": { + "type": "object", + "properties": { + "cafeteriaId": { + "type": "string", + "title": "Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" + }, + "dish": { + "type": "string", + "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + } + } + }, + "apiEventListMsgElement": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "event": { + "type": "integer", + "format": "int32" + }, + "news": { + "type": "integer", + "format": "int32" + }, + "kino": { + "type": "integer", + "format": "int32" + }, + "file": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "locality": { + "type": "string" + }, + "link": { + "type": "string" + }, + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" + }, + "ticketGroup": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketMyMsgElement": { + "type": "object", + "properties": { + "ticketHistory": { + "type": "integer", + "format": "int32" + }, + "ticketType": { + "type": "integer", + "format": "int32" + }, + "redemption": { + "type": "string", + "format": "date-time" + }, + "code": { + "type": "string" + }, + "event": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketPaymentMsg": { + "type": "object", + "properties": { + "stripePublishableKey": { + "type": "string" + }, + "terms": { + "type": "string" + }, + "minTickets": { + "type": "integer", + "format": "int32" + }, + "maxTickets": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketReserveMultipleMsgElement": { + "type": "object", + "properties": { + "ticketIds": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketTypeMsgElement": { + "type": "object", + "properties": { + "ticketType": { + "type": "integer", + "format": "int32" + }, + "event": { + "type": "integer", + "format": "int32" + }, + "ticketPayment": { + "type": "integer", + "format": "int32" + }, + "price": { + "type": "integer", + "format": "int32" + }, + "contingent": { + "type": "integer", + "format": "int32" + }, + "description": { "type": "string" + }, + "payment": { + "$ref": "#/definitions/apiEventTicketPaymentMsg" + }, + "sold": { + "type": "integer", + "format": "int32" + } + } + }, + "apiGetAreaFacilitiesByBuildingNrReply": { + "type": "object", + "properties": { + "areaFacilitiesByBuildingNr": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apiGetBuilding2GpsReply": { + "type": "object", + "properties": { + "building2Gps": { + "type": "array", + "items": { + "$ref": "#/definitions/apiBuilding2GpsElement" + } + } + } + }, + "apiGetCafeteriaReply": { + "type": "object", + "properties": { + "cafeteria": { + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } + } + } + }, + "apiGetDishesReply": { + "type": "object", + "properties": { + "dish": { + "type": "array", + "items": { + "type": "string" + } } } }, - "apiCafeteria": { + "apiGetEventListReply": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "address": { - "type": "string" - }, - "longitude": { - "type": "number", - "format": "double" - }, - "latitude": { - "type": "number", - "format": "double" + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventListMsgElement" + } } } }, - "apiCafeteriaRating": { + "apiGetEventTicketStatusReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" - }, - "tagRating": { + "status": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingResult" + "$ref": "#/definitions/apiTicketStatus" } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" } } }, - "apiCafeteriaRatingRequest": { + "apiGetEventTicketTypeReply": { "type": "object", "properties": { - "cafeteriaName": { - "type": "string", - "title": "cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme)" - }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" - }, - "to": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" - }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "eventTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketTypeMsgElement" + } } } }, - "apiCafeteriaRatingResponse": { + "apiGetKinoReply": { "type": "object", "properties": { - "rating": { + "kinos": { "type": "array", "items": { - "$ref": "#/definitions/apiCafeteriaRating" + "$ref": "#/definitions/apiKinoMsgElement" } - }, - "averagePoints": { - "type": "number", - "format": "double" - }, - "standardDeviation": { - "type": "number", - "format": "double" - }, - "minPoints": { - "type": "integer", - "format": "int32" - }, - "maxPoints": { - "type": "integer", - "format": "int32" - }, - "ratingTags": { + } + } + }, + "apiGetListOfElevatorsReply": { + "type": "object", + "properties": { + "listOfElevators": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingsResult" + "$ref": "#/definitions/apiRoomInformationElement" } } } }, - "apiGetCafeteriaResponse": { + "apiGetListOfToiletsReply": { "type": "object", "properties": { - "cafeteria": { + "listOfToilets": { "type": "array", "items": { - "$ref": "#/definitions/apiCafeteria" + "$ref": "#/definitions/apiRoomInformationElement" } } } @@ -784,13 +2283,102 @@ } } }, + "apiGetMemberRoomsReply": { + "type": "object", + "properties": { + "chatRooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatRoomsMsgElement" + } + } + } + }, + "apiGetMembersReply": { + "type": "object", + "properties": { + "lrzId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "memberId": { + "type": "integer", + "format": "int32" + } + } + }, + "apiGetMoreInformationReply": { + "type": "object", + "properties": { + "information": { + "type": "array", + "items": { + "$ref": "#/definitions/apiMoreInformationElement" + } + } + } + }, + "apiGetNotificationsConfirmReply": { + "type": "object", + "properties": { + "status": { + "type": "string" + } + } + }, + "apiGetNotificationsReply": { + "type": "object", + "properties": { + "notificationId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "signature": { + "type": "string" + } + } + }, + "apiGetOpeningTimesReply": { + "type": "object", + "properties": { + "facilities": { + "type": "array", + "items": { + "$ref": "#/definitions/apiOpeningTimesMsgElement" + } + } + } + }, "apiGetRatingTagsReply": { "type": "object", "properties": { - "tags": { + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } + } + } + }, + "apiGetResponsiblePersonReply": { + "type": "object", + "properties": { + "responsiblePerson": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingOverview" + "$ref": "#/definitions/apiResponsiblePersonElement" } } } @@ -866,6 +2454,17 @@ } } }, + "apiGetStudyRoomListReply": { + "type": "object", + "properties": { + "rooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiStudyRoomMsgElement" + } + } + } + }, "apiGetTopNewsReply": { "type": "object", "properties": { @@ -889,107 +2488,88 @@ } } }, - "apiMealRating": { + "apiGetUpdateNoteReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "meal": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" - }, - "tagRating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingResult" - } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" + "message": { + "type": "string" } } }, - "apiMealRatingRequest": { + "apiGetUploadStatusReply": { "type": "object", "properties": { - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the cafeteria (EAT-API naming scheme)" + "fcmToken": { + "type": "string" }, - "meal": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "publicKey": { + "type": "string" }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + "studentId": { + "type": "boolean" }, - "to": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + "employeeId": { + "type": "boolean" }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "externalId": { + "type": "boolean" } } }, - "apiMealRatingResponse": { + "apiKinoMsgElement": { "type": "object", "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMealRating" - } - }, - "averagePoints": { - "type": "number", - "format": "double" + "name": { + "type": "string" }, - "standardDeviation": { - "type": "number", - "format": "double" + "path": { + "type": "string" }, - "minPoints": { + "kino": { "type": "integer", "format": "int32" }, - "maxPoints": { + "date": { + "type": "string", + "format": "date-time" + }, + "created": { + "type": "string", + "format": "date-time" + }, + "title": { + "type": "string" + }, + "year": { + "type": "string" + }, + "runtime": { + "type": "string" + }, + "genre": { + "type": "string" + }, + "director": { + "type": "string" + }, + "actors": { + "type": "string" + }, + "rating": { + "type": "string" + }, + "description": { + "type": "string" + }, + "cover": { "type": "integer", "format": "int32" }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingsResult" - } + "trailer": { + "type": "string" }, - "nameTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingsResult" - } + "link": { + "type": "string" } } }, @@ -1015,17 +2595,17 @@ "format": "int32", "title": "number in the range 1-5" }, - "cafeteriaName": { + "cafeteriaId": { "type": "string" }, "image": { "type": "string", "format": "byte" }, - "tags": { + "ratingTags": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiRatingTag" }, "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" }, @@ -1035,7 +2615,7 @@ } } }, - "apiNewMealRatingRequest": { + "apiNewDishRatingRequest": { "type": "object", "properties": { "points": { @@ -1043,25 +2623,25 @@ "format": "int32", "title": "number in the range 1-5" }, - "cafeteriaName": { + "cafeteriaId": { "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "title": "Mandatory Name of the dish (EAT-API naming scheme \"MENSA_GARCHING\") Must be available int the given mensa" }, - "meal": { + "dish": { "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", "format": "byte", "title": "Optional JPEG image in Base64" }, - "tags": { + "ratingTags": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiRatingTag" }, - "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags" + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags" }, "comment": { "type": "string", @@ -1094,6 +2674,164 @@ } } }, + "apiOpeningTimesMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "category": { + "type": "string" + }, + "name": { + "type": "string" + }, + "address": { + "type": "string" + }, + "room": { + "type": "string" + }, + "transportStation": { + "type": "string" + }, + "openingHours": { + "type": "string" + }, + "infos": { + "type": "string" + }, + "url": { + "type": "string" + }, + "language": { + "type": "string" + }, + "referenceId": { + "type": "integer", + "format": "int32" + } + } + }, + "apiPostChatRoomsReply": { + "type": "object", + "properties": { + "rooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatRoomsMsgElement" + } + } + } + }, + "apiPostEventTicketMyReply": { + "type": "object", + "properties": { + "myTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketMyMsgElement" + } + } + } + }, + "apiPostEventTicketReserveMultipleReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" + } + } + } + }, + "apiPostFeedbackReply": { + "type": "object", + "properties": { + "status": { + "type": "string" + } + } + }, + "apiPurchaseTicketStripeReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTicketMessageElement" + } + } + } + }, + "apiRatingTag": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "points": { + "type": "number", + "format": "double" + } + } + }, + "apiRatingTagNewRequest": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "points": { + "type": "integer", + "format": "int32" + } + } + }, + "apiRatingTagResult": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + } + } + }, + "apiRatingTagsOverview": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "de": { + "type": "string" + }, + "en": { + "type": "string" + } + } + }, "apiResponsiblePersonElement": { "type": "object", "properties": { @@ -1114,6 +2852,9 @@ } } }, + "apiRetrieveEphemeralKeyReply": { + "type": "object" + }, "apiRoom": { "type": "object", "properties": { @@ -1199,134 +2940,124 @@ } } }, - "apiTagRating": { + "apiSingleRatingReply": { "type": "object", "properties": { - "tag": { - "type": "string" - }, "points": { - "type": "number", - "format": "double" - } - } - }, - "apiTagRatingOverview": { - "type": "object", - "properties": { - "DE": { - "type": "string" + "type": "integer", + "format": "int32", + "title": "number in the range 1-5" }, - "EN": { - "type": "string" + "image": { + "type": "string", + "format": "byte", + "title": "Optional JPEG image in Base64" + }, + "comment": { + "type": "string", + "title": "Optional comment (max 256 chars)" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagNewRequest" + } + }, + "visited": { + "type": "string", + "format": "date-time" } } }, - "apiTagRatingResult": { + "apiStudyRoom": { "type": "object", "properties": { - "DE": { + "groupId": { + "type": "integer", + "format": "int32" + }, + "roomId": { + "type": "integer", + "format": "int32" + }, + "roomCode": { "type": "string" }, - "EN": { + "roomName": { "type": "string" }, - "points": { - "type": "integer", - "format": "int32" + "buildingName": { + "type": "string" } } }, - "apiTagRatingsResult": { + "apiStudyRoomMsgElement": { "type": "object", "properties": { - "DE": { - "type": "string" + "id": { + "type": "integer", + "format": "int32" }, - "EN": { + "name": { "type": "string" }, - "averagePoints": { - "type": "number", - "format": "double" - }, - "standardDeviation": { - "type": "number", - "format": "double" - }, - "minPoints": { - "type": "integer", - "format": "int32" + "details": { + "type": "string" }, - "maxPoints": { - "type": "integer", - "format": "int32" - } - } - }, - "apigetAreaFacilitiesByBuildingNrResponse": { - "type": "object", - "properties": { - "areaFacilitiesByBuildingNr": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apigetBuilding2GpsResponse": { - "type": "object", - "properties": { - "building2Gps": { - "type": "array", - "items": { - "$ref": "#/definitions/apiBuilding2GpsElement" - } - } - } - }, - "apigetListOfElevatorsResponse": { - "type": "object", - "properties": { - "listOfElevators": { + "rooms": { "type": "array", "items": { - "$ref": "#/definitions/apiRoomInformationElement" + "$ref": "#/definitions/apiStudyRoom" } } } }, - "apigetListOfToiletsResponse": { + "apiTUMCabeStatus": { "type": "object", "properties": { - "listOfToilets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } + "status": { + "type": "string" } } }, - "apigetMoreInformationResponse": { + "apiTicketMessageElement": { "type": "object", "properties": { - "information": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMoreInformationElement" - } + "id": { + "type": "integer", + "format": "int32" + }, + "eventId": { + "type": "integer", + "format": "int32" + }, + "code": { + "type": "string" + }, + "ticketTypeId": { + "type": "integer", + "format": "int32" + }, + "redemption": { + "type": "string", + "format": "date-time" } } }, - "apigetResponsiblePersonResponse": { + "apiTicketStatus": { "type": "object", "properties": { - "responsiblePerson": { - "type": "array", - "items": { - "$ref": "#/definitions/apiResponsiblePersonElement" - } + "ticketType": { + "type": "integer", + "format": "int32" + }, + "contingent": { + "type": "integer", + "format": "int32" + }, + "sold": { + "type": "integer", + "format": "int32" } } }, diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index 966a46a2..c85156c2 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -1,4 +1,6 @@ { +"basePath": "/v1", +"basePath": "/v1", "basePath": "/v1", "swagger": "2.0", "info": { From 6a21b24f029d654d0a69b29c3f70d09afb5f1805 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Wed, 27 Jul 2022 09:53:15 +0200 Subject: [PATCH 15/24] adapted endpoint naming to the names from the android app/ methods in old backend --- api/CampusService.pb.go | 1785 ++++++------- api/CampusService.pb.gw.go | 615 ++--- api/CampusService.proto | 80 +- api/CampusService_grpc.pb.go | 460 ++-- api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 189 +- server/swagger/swagger.json | 2524 +++++++++++++++--- 7 files changed, 3577 insertions(+), 2078 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index 8dde185a..1d2fe311 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -836,7 +836,7 @@ type CafeteriaRatingRequest struct { From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` // Optional Parameter to define an interval for the ratings (Upper bound) To *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` - // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } @@ -913,7 +913,7 @@ type DishRatingRequest struct { From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` // Optional Parameter to define an interval for the ratings (Upper bound) To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` - // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` } @@ -3353,7 +3353,7 @@ func (x *EventListMsgElement) GetTicketGroup() int32 { return 0 } -type PostEventTicketMyReply struct { +type GetPurchasedTicketsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3361,8 +3361,8 @@ type PostEventTicketMyReply struct { MyTickets []*EventTicketMyMsgElement `protobuf:"bytes,1,rep,name=myTickets,proto3" json:"myTickets,omitempty"` } -func (x *PostEventTicketMyReply) Reset() { - *x = PostEventTicketMyReply{} +func (x *GetPurchasedTicketsReply) Reset() { + *x = GetPurchasedTicketsReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3370,13 +3370,13 @@ func (x *PostEventTicketMyReply) Reset() { } } -func (x *PostEventTicketMyReply) String() string { +func (x *GetPurchasedTicketsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostEventTicketMyReply) ProtoMessage() {} +func (*GetPurchasedTicketsReply) ProtoMessage() {} -func (x *PostEventTicketMyReply) ProtoReflect() protoreflect.Message { +func (x *GetPurchasedTicketsReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3388,12 +3388,12 @@ func (x *PostEventTicketMyReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostEventTicketMyReply.ProtoReflect.Descriptor instead. -func (*PostEventTicketMyReply) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPurchasedTicketsReply.ProtoReflect.Descriptor instead. +func (*GetPurchasedTicketsReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{52} } -func (x *PostEventTicketMyReply) GetMyTickets() []*EventTicketMyMsgElement { +func (x *GetPurchasedTicketsReply) GetMyTickets() []*EventTicketMyMsgElement { if x != nil { return x.MyTickets } @@ -3479,7 +3479,7 @@ func (x *EventTicketMyMsgElement) GetEvent() int32 { return 0 } -type PostEventTicketRequest struct { +type GetTicketRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3487,8 +3487,8 @@ type PostEventTicketRequest struct { Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *PostEventTicketRequest) Reset() { - *x = PostEventTicketRequest{} +func (x *GetTicketRequest) Reset() { + *x = GetTicketRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3496,13 +3496,13 @@ func (x *PostEventTicketRequest) Reset() { } } -func (x *PostEventTicketRequest) String() string { +func (x *GetTicketRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostEventTicketRequest) ProtoMessage() {} +func (*GetTicketRequest) ProtoMessage() {} -func (x *PostEventTicketRequest) ProtoReflect() protoreflect.Message { +func (x *GetTicketRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3514,12 +3514,12 @@ func (x *PostEventTicketRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostEventTicketRequest.ProtoReflect.Descriptor instead. -func (*PostEventTicketRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetTicketRequest.ProtoReflect.Descriptor instead. +func (*GetTicketRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{54} } -func (x *PostEventTicketRequest) GetId() int32 { +func (x *GetTicketRequest) GetId() int32 { if x != nil { return x.Id } @@ -3747,7 +3747,7 @@ func (x *EventTicketPaymentMsg) GetMaxTickets() int32 { return 0 } -type PostEventTicketReserveMultipleRequest struct { +type ReserveMultipleTicketsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3756,8 +3756,8 @@ type PostEventTicketReserveMultipleRequest struct { Amounts []int32 `protobuf:"varint,2,rep,packed,name=amounts,proto3" json:"amounts,omitempty"` } -func (x *PostEventTicketReserveMultipleRequest) Reset() { - *x = PostEventTicketReserveMultipleRequest{} +func (x *ReserveMultipleTicketsRequest) Reset() { + *x = ReserveMultipleTicketsRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3765,13 +3765,13 @@ func (x *PostEventTicketReserveMultipleRequest) Reset() { } } -func (x *PostEventTicketReserveMultipleRequest) String() string { +func (x *ReserveMultipleTicketsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostEventTicketReserveMultipleRequest) ProtoMessage() {} +func (*ReserveMultipleTicketsRequest) ProtoMessage() {} -func (x *PostEventTicketReserveMultipleRequest) ProtoReflect() protoreflect.Message { +func (x *ReserveMultipleTicketsRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3783,26 +3783,26 @@ func (x *PostEventTicketReserveMultipleRequest) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use PostEventTicketReserveMultipleRequest.ProtoReflect.Descriptor instead. -func (*PostEventTicketReserveMultipleRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ReserveMultipleTicketsRequest.ProtoReflect.Descriptor instead. +func (*ReserveMultipleTicketsRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{58} } -func (x *PostEventTicketReserveMultipleRequest) GetTicketTypes() []int32 { +func (x *ReserveMultipleTicketsRequest) GetTicketTypes() []int32 { if x != nil { return x.TicketTypes } return nil } -func (x *PostEventTicketReserveMultipleRequest) GetAmounts() []int32 { +func (x *ReserveMultipleTicketsRequest) GetAmounts() []int32 { if x != nil { return x.Amounts } return nil } -type PostEventTicketReserveMultipleReply struct { +type ReserveMultipleTicketsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3810,8 +3810,8 @@ type PostEventTicketReserveMultipleReply struct { Tickets []*EventTicketReserveMultipleMsgElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` } -func (x *PostEventTicketReserveMultipleReply) Reset() { - *x = PostEventTicketReserveMultipleReply{} +func (x *ReserveMultipleTicketsReply) Reset() { + *x = ReserveMultipleTicketsReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3819,13 +3819,13 @@ func (x *PostEventTicketReserveMultipleReply) Reset() { } } -func (x *PostEventTicketReserveMultipleReply) String() string { +func (x *ReserveMultipleTicketsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostEventTicketReserveMultipleReply) ProtoMessage() {} +func (*ReserveMultipleTicketsReply) ProtoMessage() {} -func (x *PostEventTicketReserveMultipleReply) ProtoReflect() protoreflect.Message { +func (x *ReserveMultipleTicketsReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3837,12 +3837,12 @@ func (x *PostEventTicketReserveMultipleReply) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use PostEventTicketReserveMultipleReply.ProtoReflect.Descriptor instead. -func (*PostEventTicketReserveMultipleReply) Descriptor() ([]byte, []int) { +// Deprecated: Use ReserveMultipleTicketsReply.ProtoReflect.Descriptor instead. +func (*ReserveMultipleTicketsReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{59} } -func (x *PostEventTicketReserveMultipleReply) GetTickets() []*EventTicketReserveMultipleMsgElement { +func (x *ReserveMultipleTicketsReply) GetTickets() []*EventTicketReserveMultipleMsgElement { if x != nil { return x.Tickets } @@ -4157,7 +4157,7 @@ func (x *KinoMsgElement) GetLink() string { return "" } -type PostFeedbackRequest struct { +type SendFeedbackRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4173,8 +4173,8 @@ type PostFeedbackRequest struct { AppVersion string `protobuf:"bytes,9,opt,name=appVersion,proto3" json:"appVersion,omitempty"` } -func (x *PostFeedbackRequest) Reset() { - *x = PostFeedbackRequest{} +func (x *SendFeedbackRequest) Reset() { + *x = SendFeedbackRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4182,13 +4182,13 @@ func (x *PostFeedbackRequest) Reset() { } } -func (x *PostFeedbackRequest) String() string { +func (x *SendFeedbackRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostFeedbackRequest) ProtoMessage() {} +func (*SendFeedbackRequest) ProtoMessage() {} -func (x *PostFeedbackRequest) ProtoReflect() protoreflect.Message { +func (x *SendFeedbackRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4200,75 +4200,75 @@ func (x *PostFeedbackRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostFeedbackRequest.ProtoReflect.Descriptor instead. -func (*PostFeedbackRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SendFeedbackRequest.ProtoReflect.Descriptor instead. +func (*SendFeedbackRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{64} } -func (x *PostFeedbackRequest) GetTopic() string { +func (x *SendFeedbackRequest) GetTopic() string { if x != nil { return x.Topic } return "" } -func (x *PostFeedbackRequest) GetEmail() string { +func (x *SendFeedbackRequest) GetEmail() string { if x != nil { return x.Email } return "" } -func (x *PostFeedbackRequest) GetEmailId() string { +func (x *SendFeedbackRequest) GetEmailId() string { if x != nil { return x.EmailId } return "" } -func (x *PostFeedbackRequest) GetMessage() string { +func (x *SendFeedbackRequest) GetMessage() string { if x != nil { return x.Message } return "" } -func (x *PostFeedbackRequest) GetImageCount() int32 { +func (x *SendFeedbackRequest) GetImageCount() int32 { if x != nil { return x.ImageCount } return 0 } -func (x *PostFeedbackRequest) GetLatitude() float64 { +func (x *SendFeedbackRequest) GetLatitude() float64 { if x != nil { return x.Latitude } return 0 } -func (x *PostFeedbackRequest) GetLongitude() float64 { +func (x *SendFeedbackRequest) GetLongitude() float64 { if x != nil { return x.Longitude } return 0 } -func (x *PostFeedbackRequest) GetOsVersion() string { +func (x *SendFeedbackRequest) GetOsVersion() string { if x != nil { return x.OsVersion } return "" } -func (x *PostFeedbackRequest) GetAppVersion() string { +func (x *SendFeedbackRequest) GetAppVersion() string { if x != nil { return x.AppVersion } return "" } -type PostFeedbackReply struct { +type SendFeedbackImageReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4276,8 +4276,8 @@ type PostFeedbackReply struct { Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` } -func (x *PostFeedbackReply) Reset() { - *x = PostFeedbackReply{} +func (x *SendFeedbackImageReply) Reset() { + *x = SendFeedbackImageReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4285,13 +4285,13 @@ func (x *PostFeedbackReply) Reset() { } } -func (x *PostFeedbackReply) String() string { +func (x *SendFeedbackImageReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostFeedbackReply) ProtoMessage() {} +func (*SendFeedbackImageReply) ProtoMessage() {} -func (x *PostFeedbackReply) ProtoReflect() protoreflect.Message { +func (x *SendFeedbackImageReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4303,29 +4303,29 @@ func (x *PostFeedbackReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostFeedbackReply.ProtoReflect.Descriptor instead. -func (*PostFeedbackReply) Descriptor() ([]byte, []int) { +// Deprecated: Use SendFeedbackImageReply.ProtoReflect.Descriptor instead. +func (*SendFeedbackImageReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{65} } -func (x *PostFeedbackReply) GetStatus() string { +func (x *SendFeedbackImageReply) GetStatus() string { if x != nil { return x.Status } return "" } -type PostFeedbackIDImageNrRequest struct { +type SendFeedbackImageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo wo kommt das eigentliche file her? + ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo where does the file come from? } -func (x *PostFeedbackIDImageNrRequest) Reset() { - *x = PostFeedbackIDImageNrRequest{} +func (x *SendFeedbackImageRequest) Reset() { + *x = SendFeedbackImageRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4333,13 +4333,13 @@ func (x *PostFeedbackIDImageNrRequest) Reset() { } } -func (x *PostFeedbackIDImageNrRequest) String() string { +func (x *SendFeedbackImageRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostFeedbackIDImageNrRequest) ProtoMessage() {} +func (*SendFeedbackImageRequest) ProtoMessage() {} -func (x *PostFeedbackIDImageNrRequest) ProtoReflect() protoreflect.Message { +func (x *SendFeedbackImageRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4351,19 +4351,19 @@ func (x *PostFeedbackIDImageNrRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostFeedbackIDImageNrRequest.ProtoReflect.Descriptor instead. -func (*PostFeedbackIDImageNrRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SendFeedbackImageRequest.ProtoReflect.Descriptor instead. +func (*SendFeedbackImageRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{66} } -func (x *PostFeedbackIDImageNrRequest) GetId() int32 { +func (x *SendFeedbackImageRequest) GetId() int32 { if x != nil { return x.Id } return 0 } -func (x *PostFeedbackIDImageNrRequest) GetImageNr() int32 { +func (x *SendFeedbackImageRequest) GetImageNr() int32 { if x != nil { return x.ImageNr } @@ -4480,7 +4480,7 @@ func (x *GetMembersReply) GetMemberId() int32 { return 0 } -type PostChatRoomsReply struct { +type GetChatRoomsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4488,8 +4488,8 @@ type PostChatRoomsReply struct { Rooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` } -func (x *PostChatRoomsReply) Reset() { - *x = PostChatRoomsReply{} +func (x *GetChatRoomsReply) Reset() { + *x = GetChatRoomsReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4497,13 +4497,13 @@ func (x *PostChatRoomsReply) Reset() { } } -func (x *PostChatRoomsReply) String() string { +func (x *GetChatRoomsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostChatRoomsReply) ProtoMessage() {} +func (*GetChatRoomsReply) ProtoMessage() {} -func (x *PostChatRoomsReply) ProtoReflect() protoreflect.Message { +func (x *GetChatRoomsReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4515,12 +4515,12 @@ func (x *PostChatRoomsReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostChatRoomsReply.ProtoReflect.Descriptor instead. -func (*PostChatRoomsReply) Descriptor() ([]byte, []int) { +// Deprecated: Use GetChatRoomsReply.ProtoReflect.Descriptor instead. +func (*GetChatRoomsReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{69} } -func (x *PostChatRoomsReply) GetRooms() []*ChatRoomsMsgElement { +func (x *GetChatRoomsReply) GetRooms() []*ChatRoomsMsgElement { if x != nil { return x.Rooms } @@ -4606,7 +4606,7 @@ func (x *ChatRoomsMsgElement) GetMembers() int32 { return 0 } -type GetChatRoomsRoomIdRequest struct { +type GetChatRoomByIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4614,8 +4614,8 @@ type GetChatRoomsRoomIdRequest struct { RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` } -func (x *GetChatRoomsRoomIdRequest) Reset() { - *x = GetChatRoomsRoomIdRequest{} +func (x *GetChatRoomByIdRequest) Reset() { + *x = GetChatRoomByIdRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4623,13 +4623,13 @@ func (x *GetChatRoomsRoomIdRequest) Reset() { } } -func (x *GetChatRoomsRoomIdRequest) String() string { +func (x *GetChatRoomByIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetChatRoomsRoomIdRequest) ProtoMessage() {} +func (*GetChatRoomByIdRequest) ProtoMessage() {} -func (x *GetChatRoomsRoomIdRequest) ProtoReflect() protoreflect.Message { +func (x *GetChatRoomByIdRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4641,19 +4641,19 @@ func (x *GetChatRoomsRoomIdRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetChatRoomsRoomIdRequest.ProtoReflect.Descriptor instead. -func (*GetChatRoomsRoomIdRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetChatRoomByIdRequest.ProtoReflect.Descriptor instead. +func (*GetChatRoomByIdRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{71} } -func (x *GetChatRoomsRoomIdRequest) GetRoomId() int32 { +func (x *GetChatRoomByIdRequest) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } -type PostChatRoomsRoomIdLeaveRequest struct { +type LeaveChatRoomRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4661,8 +4661,8 @@ type PostChatRoomsRoomIdLeaveRequest struct { RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` } -func (x *PostChatRoomsRoomIdLeaveRequest) Reset() { - *x = PostChatRoomsRoomIdLeaveRequest{} +func (x *LeaveChatRoomRequest) Reset() { + *x = LeaveChatRoomRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4670,13 +4670,13 @@ func (x *PostChatRoomsRoomIdLeaveRequest) Reset() { } } -func (x *PostChatRoomsRoomIdLeaveRequest) String() string { +func (x *LeaveChatRoomRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostChatRoomsRoomIdLeaveRequest) ProtoMessage() {} +func (*LeaveChatRoomRequest) ProtoMessage() {} -func (x *PostChatRoomsRoomIdLeaveRequest) ProtoReflect() protoreflect.Message { +func (x *LeaveChatRoomRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4688,19 +4688,19 @@ func (x *PostChatRoomsRoomIdLeaveRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostChatRoomsRoomIdLeaveRequest.ProtoReflect.Descriptor instead. -func (*PostChatRoomsRoomIdLeaveRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use LeaveChatRoomRequest.ProtoReflect.Descriptor instead. +func (*LeaveChatRoomRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{72} } -func (x *PostChatRoomsRoomIdLeaveRequest) GetRoomId() int32 { +func (x *LeaveChatRoomRequest) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } -type PostChatRoomsRoomIdAddRequest struct { +type AddUserToChatRoomRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4709,8 +4709,8 @@ type PostChatRoomsRoomIdAddRequest struct { MemberId int32 `protobuf:"varint,2,opt,name=memberId,proto3" json:"memberId,omitempty"` } -func (x *PostChatRoomsRoomIdAddRequest) Reset() { - *x = PostChatRoomsRoomIdAddRequest{} +func (x *AddUserToChatRoomRequest) Reset() { + *x = AddUserToChatRoomRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4718,13 +4718,13 @@ func (x *PostChatRoomsRoomIdAddRequest) Reset() { } } -func (x *PostChatRoomsRoomIdAddRequest) String() string { +func (x *AddUserToChatRoomRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostChatRoomsRoomIdAddRequest) ProtoMessage() {} +func (*AddUserToChatRoomRequest) ProtoMessage() {} -func (x *PostChatRoomsRoomIdAddRequest) ProtoReflect() protoreflect.Message { +func (x *AddUserToChatRoomRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4736,26 +4736,26 @@ func (x *PostChatRoomsRoomIdAddRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostChatRoomsRoomIdAddRequest.ProtoReflect.Descriptor instead. -func (*PostChatRoomsRoomIdAddRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use AddUserToChatRoomRequest.ProtoReflect.Descriptor instead. +func (*AddUserToChatRoomRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{73} } -func (x *PostChatRoomsRoomIdAddRequest) GetRoomId() int32 { +func (x *AddUserToChatRoomRequest) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } -func (x *PostChatRoomsRoomIdAddRequest) GetMemberId() int32 { +func (x *AddUserToChatRoomRequest) GetMemberId() int32 { if x != nil { return x.MemberId } return 0 } -type PutChatRoomsSendRoomIdRequest struct { +type SendChatMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4763,8 +4763,8 @@ type PutChatRoomsSendRoomIdRequest struct { RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` } -func (x *PutChatRoomsSendRoomIdRequest) Reset() { - *x = PutChatRoomsSendRoomIdRequest{} +func (x *SendChatMessageRequest) Reset() { + *x = SendChatMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4772,13 +4772,13 @@ func (x *PutChatRoomsSendRoomIdRequest) Reset() { } } -func (x *PutChatRoomsSendRoomIdRequest) String() string { +func (x *SendChatMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PutChatRoomsSendRoomIdRequest) ProtoMessage() {} +func (*SendChatMessageRequest) ProtoMessage() {} -func (x *PutChatRoomsSendRoomIdRequest) ProtoReflect() protoreflect.Message { +func (x *SendChatMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4790,19 +4790,19 @@ func (x *PutChatRoomsSendRoomIdRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PutChatRoomsSendRoomIdRequest.ProtoReflect.Descriptor instead. -func (*PutChatRoomsSendRoomIdRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SendChatMessageRequest.ProtoReflect.Descriptor instead. +func (*SendChatMessageRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{74} } -func (x *PutChatRoomsSendRoomIdRequest) GetRoomId() int32 { +func (x *SendChatMessageRequest) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } -type PutChatRoomsUpdateMessageRequest struct { +type UpdateChatMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4811,8 +4811,8 @@ type PutChatRoomsUpdateMessageRequest struct { MessageId int32 `protobuf:"varint,2,opt,name=messageId,proto3" json:"messageId,omitempty"` } -func (x *PutChatRoomsUpdateMessageRequest) Reset() { - *x = PutChatRoomsUpdateMessageRequest{} +func (x *UpdateChatMessageRequest) Reset() { + *x = UpdateChatMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4820,13 +4820,13 @@ func (x *PutChatRoomsUpdateMessageRequest) Reset() { } } -func (x *PutChatRoomsUpdateMessageRequest) String() string { +func (x *UpdateChatMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PutChatRoomsUpdateMessageRequest) ProtoMessage() {} +func (*UpdateChatMessageRequest) ProtoMessage() {} -func (x *PutChatRoomsUpdateMessageRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateChatMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4838,19 +4838,19 @@ func (x *PutChatRoomsUpdateMessageRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PutChatRoomsUpdateMessageRequest.ProtoReflect.Descriptor instead. -func (*PutChatRoomsUpdateMessageRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateChatMessageRequest.ProtoReflect.Descriptor instead. +func (*UpdateChatMessageRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{75} } -func (x *PutChatRoomsUpdateMessageRequest) GetRoomId() int32 { +func (x *UpdateChatMessageRequest) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } -func (x *PutChatRoomsUpdateMessageRequest) GetMessageId() int32 { +func (x *UpdateChatMessageRequest) GetMessageId() int32 { if x != nil { return x.MessageId } @@ -5007,7 +5007,7 @@ func (x *ChatMessageModelMsgElement) GetSendingStatus() int32 { return 0 } -type PostChatRoomsGetMessagesRequest struct { +type GetChatMessagesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5016,8 +5016,8 @@ type PostChatRoomsGetMessagesRequest struct { PageId int32 `protobuf:"varint,2,opt,name=pageId,proto3" json:"pageId,omitempty"` } -func (x *PostChatRoomsGetMessagesRequest) Reset() { - *x = PostChatRoomsGetMessagesRequest{} +func (x *GetChatMessagesRequest) Reset() { + *x = GetChatMessagesRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5025,13 +5025,13 @@ func (x *PostChatRoomsGetMessagesRequest) Reset() { } } -func (x *PostChatRoomsGetMessagesRequest) String() string { +func (x *GetChatMessagesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostChatRoomsGetMessagesRequest) ProtoMessage() {} +func (*GetChatMessagesRequest) ProtoMessage() {} -func (x *PostChatRoomsGetMessagesRequest) ProtoReflect() protoreflect.Message { +func (x *GetChatMessagesRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5043,19 +5043,19 @@ func (x *PostChatRoomsGetMessagesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostChatRoomsGetMessagesRequest.ProtoReflect.Descriptor instead. -func (*PostChatRoomsGetMessagesRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetChatMessagesRequest.ProtoReflect.Descriptor instead. +func (*GetChatMessagesRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{78} } -func (x *PostChatRoomsGetMessagesRequest) GetRoomId() int32 { +func (x *GetChatMessagesRequest) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } -func (x *PostChatRoomsGetMessagesRequest) GetPageId() int32 { +func (x *GetChatMessagesRequest) GetPageId() int32 { if x != nil { return x.PageId } @@ -5494,14 +5494,14 @@ func (x *TicketMessageElement) GetRedemption() *timestamppb.Timestamp { return nil } -type RetrieveEphemeralKeyReply struct { +type GetEphemeralKeyReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *RetrieveEphemeralKeyReply) Reset() { - *x = RetrieveEphemeralKeyReply{} +func (x *GetEphemeralKeyReply) Reset() { + *x = GetEphemeralKeyReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5509,13 +5509,13 @@ func (x *RetrieveEphemeralKeyReply) Reset() { } } -func (x *RetrieveEphemeralKeyReply) String() string { +func (x *GetEphemeralKeyReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RetrieveEphemeralKeyReply) ProtoMessage() {} +func (*GetEphemeralKeyReply) ProtoMessage() {} -func (x *RetrieveEphemeralKeyReply) ProtoReflect() protoreflect.Message { +func (x *GetEphemeralKeyReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5527,12 +5527,12 @@ func (x *RetrieveEphemeralKeyReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RetrieveEphemeralKeyReply.ProtoReflect.Descriptor instead. -func (*RetrieveEphemeralKeyReply) Descriptor() ([]byte, []int) { +// Deprecated: Use GetEphemeralKeyReply.ProtoReflect.Descriptor instead. +func (*GetEphemeralKeyReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{87} } -type GetEventTicketStatusRequest struct { +type GetTicketStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5540,8 +5540,8 @@ type GetEventTicketStatusRequest struct { EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` } -func (x *GetEventTicketStatusRequest) Reset() { - *x = GetEventTicketStatusRequest{} +func (x *GetTicketStatusRequest) Reset() { + *x = GetTicketStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5549,13 +5549,13 @@ func (x *GetEventTicketStatusRequest) Reset() { } } -func (x *GetEventTicketStatusRequest) String() string { +func (x *GetTicketStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetEventTicketStatusRequest) ProtoMessage() {} +func (*GetTicketStatusRequest) ProtoMessage() {} -func (x *GetEventTicketStatusRequest) ProtoReflect() protoreflect.Message { +func (x *GetTicketStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5567,19 +5567,19 @@ func (x *GetEventTicketStatusRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetEventTicketStatusRequest.ProtoReflect.Descriptor instead. -func (*GetEventTicketStatusRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetTicketStatusRequest.ProtoReflect.Descriptor instead. +func (*GetTicketStatusRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{88} } -func (x *GetEventTicketStatusRequest) GetEventId() int32 { +func (x *GetTicketStatusRequest) GetEventId() int32 { if x != nil { return x.EventId } return 0 } -type GetEventTicketStatusReply struct { +type GetTicketStatusReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5587,8 +5587,8 @@ type GetEventTicketStatusReply struct { Status []*TicketStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"` } -func (x *GetEventTicketStatusReply) Reset() { - *x = GetEventTicketStatusReply{} +func (x *GetTicketStatusReply) Reset() { + *x = GetTicketStatusReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5596,13 +5596,13 @@ func (x *GetEventTicketStatusReply) Reset() { } } -func (x *GetEventTicketStatusReply) String() string { +func (x *GetTicketStatusReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetEventTicketStatusReply) ProtoMessage() {} +func (*GetTicketStatusReply) ProtoMessage() {} -func (x *GetEventTicketStatusReply) ProtoReflect() protoreflect.Message { +func (x *GetTicketStatusReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5614,12 +5614,12 @@ func (x *GetEventTicketStatusReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetEventTicketStatusReply.ProtoReflect.Descriptor instead. -func (*GetEventTicketStatusReply) Descriptor() ([]byte, []int) { +// Deprecated: Use GetTicketStatusReply.ProtoReflect.Descriptor instead. +func (*GetTicketStatusReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{89} } -func (x *GetEventTicketStatusReply) GetStatus() []*TicketStatus { +func (x *GetTicketStatusReply) GetStatus() []*TicketStatus { if x != nil { return x.Status } @@ -6696,540 +6696,531 @@ var file_CampusService_proto_rawDesc = []byte{ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0x54, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x6d, - 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x6d, 0x79, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x68, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x72, - 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, - 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x22, 0x28, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x45, + 0x70, 0x22, 0x56, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, + 0x09, 0x6d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, + 0x6d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, + 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, + 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, - 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, - 0x73, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x14, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x63, - 0x0a, 0x25, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x23, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, - 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, - 0x45, 0x0a, 0x24, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, - 0x22, 0x39, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x12, 0x29, 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, - 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, - 0x13, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, - 0x11, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x1c, 0x50, 0x6f, - 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x4e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x4e, 0x72, 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, - 0x57, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x12, 0x50, 0x6f, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, - 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x85, - 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, - 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, - 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x33, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1f, 0x50, - 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, - 0x49, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x1d, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x1d, 0x50, - 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x52, - 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x73, 0x6f, 0x6c, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x34, + 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, + 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, + 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, + 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x1d, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x62, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x24, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x0c, + 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x05, + 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, 0x4b, 0x69, 0x6e, 0x6f, + 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, + 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, + 0x61, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, + 0x69, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x6e, + 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, + 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x16, 0x53, 0x65, 0x6e, + 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x53, + 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x4e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, + 0x72, 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x6f, + 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x43, + 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x65, 0x73, 0x74, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x65, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x22, 0x30, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x20, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x52, - 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, - 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, - 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6f, - 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x51, 0x0a, 0x1f, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x54, + 0x6f, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, - 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65, - 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, + 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, + 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x8a, 0x02, 0x0a, + 0x1a, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, - 0x72, 0x7a, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x19, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, - 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x01, - 0x0a, 0x14, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x65, 0x64, 0x65, - 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x37, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x19, 0x47, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x62, 0x0a, 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x2e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, - 0xb3, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, 0x6d, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x63, 0x6d, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xf4, 0x2e, 0x0a, 0x06, 0x43, 0x61, - 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, - 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, - 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, - 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, - 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, - 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, - 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, - 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, - 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, - 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, - 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, - 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, - 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, - 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, - 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, - 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, - 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, - 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, - 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, - 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x69, - 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, - 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, - 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x19, 0x2f, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x18, 0x2f, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x12, - 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x17, 0x12, 0x0f, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, 0x44, 0x69, - 0x73, 0x68, 0x65, 0x73, 0x62, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, - 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, - 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, - 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, - 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, - 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, - 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, - 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, 0x12, 0x6a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, + 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x19, + 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, + 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xb4, + 0x01, 0x0a, 0x14, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, + 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x32, 0x0a, + 0x16, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x62, 0x0a, 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, + 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x2e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, + 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, + 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xcd, 0x2c, 0x0a, 0x06, + 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, + 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, + 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, + 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, + 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, + 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, + 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, + 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, + 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, + 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, + 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, + 0x22, 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, + 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, - 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, - 0x65, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, - 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, - 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, + 0x65, 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, + 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x15, 0x22, 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, + 0x6e, 0x65, 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, + 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, + 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, + 0x18, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, + 0x73, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x0f, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, + 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x62, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, + 0x65, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, + 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, + 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, 0x12, 0x6a, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, + 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, + 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, + 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, - 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x70, - 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, 0x70, 0x65, - 0x6e, 0x69, 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x7d, 0x12, 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x17, 0x12, 0x15, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x2f, 0x7b, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, - 0x12, 0x62, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x12, 0x22, 0x10, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x2f, 0x6d, 0x79, 0x12, 0x64, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, - 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1a, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x22, 0x12, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x9e, 0x01, 0x0a, - 0x1e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, - 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x86, 0x01, - 0x0a, 0x14, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x36, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x2f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x2f, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, + 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, + 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, + 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, + 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, + 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, + 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x7d, 0x12, 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, + 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, + 0x64, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, + 0x73, 0x74, 0x12, 0x66, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x10, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x6d, 0x79, 0x12, 0x5a, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x4d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x14, 0x22, 0x12, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x65, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x86, 0x01, + 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x2f, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, - 0x29, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x65, 0x70, - 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x6b, 0x65, 0x79, 0x12, 0x80, 0x01, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x49, 0x0a, - 0x07, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, - 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x53, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, - 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, - 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x0b, 0x22, 0x09, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x74, 0x0a, - 0x15, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x72, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, - 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, + 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, + 0x2e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x70, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, + 0x77, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, + 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x29, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x65, 0x70, 0x68, 0x65, + 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x6b, 0x65, 0x79, 0x12, 0x71, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x49, 0x0a, 0x07, 0x47, + 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x16, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, 0x7b, 0x6c, + 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x58, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, + 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, + 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, + 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x22, 0x09, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, + 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, + 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x72, 0x7d, 0x12, 0x56, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, @@ -7276,104 +7267,90 @@ var file_CampusService_proto_rawDesc = []byte{ 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, - 0x58, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x22, 0x0b, 0x2f, 0x63, 0x68, 0x61, 0x74, - 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x6c, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, - 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, - 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x16, 0x12, 0x14, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x12, 0x7e, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x4c, 0x65, - 0x61, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x4c, 0x65, 0x61, - 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x1a, 0x2f, 0x63, 0x68, - 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, - 0x7d, 0x2f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, - 0x64, 0x64, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x23, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, - 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x61, - 0x64, 0x64, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0x84, 0x01, - 0x0a, 0x17, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, - 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x24, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x1c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, - 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x19, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2a, 0x1a, 0x28, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, - 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x8a, 0x01, 0x0a, - 0x18, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x28, 0x22, 0x26, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x50, 0x6f, - 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, 0x74, 0x4e, 0x65, - 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, - 0x1d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x63, - 0x0a, 0x14, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x56, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x22, 0x0b, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, + 0x6f, 0x6f, 0x6d, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x63, 0x68, 0x61, 0x74, + 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x12, + 0x68, 0x0a, 0x0d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, + 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x1a, 0x2f, + 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, + 0x49, 0x64, 0x7d, 0x2f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x79, 0x0a, 0x11, 0x41, 0x64, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1d, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, + 0x23, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x49, 0x64, 0x7d, 0x12, 0x75, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x1c, 0x2f, + 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, + 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x11, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, + 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x1a, 0x28, 0x2f, 0x63, 0x68, 0x61, 0x74, + 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x49, 0x64, 0x7d, 0x12, 0x78, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x26, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, + 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x5f, 0x0a, + 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x19, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x22, + 0x0d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x6b, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, + 0x79, 0x4c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x15, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0f, 0x22, 0x0d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x63, 0x68, 0x61, 0x74, - 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, - 0x12, 0x6e, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x7d, - 0x12, 0x6e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, - 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, - 0x22, 0x1e, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, - 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, - 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, - 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, - 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, - 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1d, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x6e, 0x0a, 0x12, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, + 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x7d, 0x12, 0x6e, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x1a, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, 0x63, 0x68, + 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x49, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x42, 0x5e, 0x0a, 0x12, 0x61, + 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, + 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, + 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -7442,33 +7419,33 @@ var file_CampusService_proto_goTypes = []interface{}{ (*GetEventListRequest)(nil), // 49: api.GetEventListRequest (*GetEventListReply)(nil), // 50: api.GetEventListReply (*EventListMsgElement)(nil), // 51: api.EventListMsgElement - (*PostEventTicketMyReply)(nil), // 52: api.PostEventTicketMyReply + (*GetPurchasedTicketsReply)(nil), // 52: api.GetPurchasedTicketsReply (*EventTicketMyMsgElement)(nil), // 53: api.EventTicketMyMsgElement - (*PostEventTicketRequest)(nil), // 54: api.PostEventTicketRequest + (*GetTicketRequest)(nil), // 54: api.GetTicketRequest (*GetEventTicketTypeReply)(nil), // 55: api.GetEventTicketTypeReply (*EventTicketTypeMsgElement)(nil), // 56: api.EventTicketTypeMsgElement (*EventTicketPaymentMsg)(nil), // 57: api.EventTicketPaymentMsg - (*PostEventTicketReserveMultipleRequest)(nil), // 58: api.PostEventTicketReserveMultipleRequest - (*PostEventTicketReserveMultipleReply)(nil), // 59: api.PostEventTicketReserveMultipleReply + (*ReserveMultipleTicketsRequest)(nil), // 58: api.ReserveMultipleTicketsRequest + (*ReserveMultipleTicketsReply)(nil), // 59: api.ReserveMultipleTicketsReply (*EventTicketReserveMultipleMsgElement)(nil), // 60: api.EventTicketReserveMultipleMsgElement (*GetKinoRequest)(nil), // 61: api.GetKinoRequest (*GetKinoReply)(nil), // 62: api.GetKinoReply (*KinoMsgElement)(nil), // 63: api.KinoMsgElement - (*PostFeedbackRequest)(nil), // 64: api.PostFeedbackRequest - (*PostFeedbackReply)(nil), // 65: api.PostFeedbackReply - (*PostFeedbackIDImageNrRequest)(nil), // 66: api.PostFeedbackIDImageNrRequest + (*SendFeedbackRequest)(nil), // 64: api.SendFeedbackRequest + (*SendFeedbackImageReply)(nil), // 65: api.SendFeedbackImageReply + (*SendFeedbackImageRequest)(nil), // 66: api.SendFeedbackImageRequest (*GetMembersRequest)(nil), // 67: api.GetMembersRequest (*GetMembersReply)(nil), // 68: api.GetMembersReply - (*PostChatRoomsReply)(nil), // 69: api.PostChatRoomsReply + (*GetChatRoomsReply)(nil), // 69: api.GetChatRoomsReply (*ChatRoomsMsgElement)(nil), // 70: api.ChatRoomsMsgElement - (*GetChatRoomsRoomIdRequest)(nil), // 71: api.GetChatRoomsRoomIdRequest - (*PostChatRoomsRoomIdLeaveRequest)(nil), // 72: api.PostChatRoomsRoomIdLeaveRequest - (*PostChatRoomsRoomIdAddRequest)(nil), // 73: api.PostChatRoomsRoomIdAddRequest - (*PutChatRoomsSendRoomIdRequest)(nil), // 74: api.PutChatRoomsSendRoomIdRequest - (*PutChatRoomsUpdateMessageRequest)(nil), // 75: api.PutChatRoomsUpdateMessageRequest + (*GetChatRoomByIdRequest)(nil), // 71: api.GetChatRoomByIdRequest + (*LeaveChatRoomRequest)(nil), // 72: api.LeaveChatRoomRequest + (*AddUserToChatRoomRequest)(nil), // 73: api.AddUserToChatRoomRequest + (*SendChatMessageRequest)(nil), // 74: api.SendChatMessageRequest + (*UpdateChatMessageRequest)(nil), // 75: api.UpdateChatMessageRequest (*ChatMessageModelMsg)(nil), // 76: api.ChatMessageModelMsg (*ChatMessageModelMsgElement)(nil), // 77: api.ChatMessageModelMsgElement - (*PostChatRoomsGetMessagesRequest)(nil), // 78: api.PostChatRoomsGetMessagesRequest + (*GetChatMessagesRequest)(nil), // 78: api.GetChatMessagesRequest (*ChatMemberMsg)(nil), // 79: api.ChatMemberMsg (*ChatMemberMsgElement)(nil), // 80: api.ChatMemberMsgElement (*GetChatMemberRequest)(nil), // 81: api.GetChatMemberRequest @@ -7477,9 +7454,9 @@ var file_CampusService_proto_goTypes = []interface{}{ (*GetMemberRoomsReply)(nil), // 84: api.GetMemberRoomsReply (*PurchaseTicketStripeReply)(nil), // 85: api.PurchaseTicketStripeReply (*TicketMessageElement)(nil), // 86: api.TicketMessageElement - (*RetrieveEphemeralKeyReply)(nil), // 87: api.RetrieveEphemeralKeyReply - (*GetEventTicketStatusRequest)(nil), // 88: api.GetEventTicketStatusRequest - (*GetEventTicketStatusReply)(nil), // 89: api.GetEventTicketStatusReply + (*GetEphemeralKeyReply)(nil), // 87: api.GetEphemeralKeyReply + (*GetTicketStatusRequest)(nil), // 88: api.GetTicketStatusRequest + (*GetTicketStatusReply)(nil), // 89: api.GetTicketStatusReply (*TicketStatus)(nil), // 90: api.TicketStatus (*TUMCabeStatus)(nil), // 91: api.TUMCabeStatus (*GetUploadStatusRequest)(nil), // 92: api.GetUploadStatusRequest @@ -7531,22 +7508,22 @@ var file_CampusService_proto_depIdxs = []int32{ 51, // 34: api.GetEventListReply.events:type_name -> api.EventListMsgElement 100, // 35: api.EventListMsgElement.start:type_name -> google.protobuf.Timestamp 100, // 36: api.EventListMsgElement.end:type_name -> google.protobuf.Timestamp - 53, // 37: api.PostEventTicketMyReply.myTickets:type_name -> api.EventTicketMyMsgElement + 53, // 37: api.GetPurchasedTicketsReply.myTickets:type_name -> api.EventTicketMyMsgElement 100, // 38: api.EventTicketMyMsgElement.redemption:type_name -> google.protobuf.Timestamp 56, // 39: api.GetEventTicketTypeReply.eventTickets:type_name -> api.EventTicketTypeMsgElement 57, // 40: api.EventTicketTypeMsgElement.payment:type_name -> api.EventTicketPaymentMsg - 60, // 41: api.PostEventTicketReserveMultipleReply.tickets:type_name -> api.EventTicketReserveMultipleMsgElement + 60, // 41: api.ReserveMultipleTicketsReply.tickets:type_name -> api.EventTicketReserveMultipleMsgElement 63, // 42: api.GetKinoReply.kinos:type_name -> api.KinoMsgElement 100, // 43: api.KinoMsgElement.date:type_name -> google.protobuf.Timestamp 100, // 44: api.KinoMsgElement.created:type_name -> google.protobuf.Timestamp - 70, // 45: api.PostChatRoomsReply.rooms:type_name -> api.ChatRoomsMsgElement + 70, // 45: api.GetChatRoomsReply.rooms:type_name -> api.ChatRoomsMsgElement 77, // 46: api.ChatMessageModelMsg.messages:type_name -> api.ChatMessageModelMsgElement 100, // 47: api.ChatMessageModelMsgElement.timestamp:type_name -> google.protobuf.Timestamp 80, // 48: api.ChatMemberMsg.members:type_name -> api.ChatMemberMsgElement 70, // 49: api.GetMemberRoomsReply.chatRooms:type_name -> api.ChatRoomsMsgElement 86, // 50: api.PurchaseTicketStripeReply.tickets:type_name -> api.TicketMessageElement 100, // 51: api.TicketMessageElement.redemption:type_name -> google.protobuf.Timestamp - 90, // 52: api.GetEventTicketStatusReply.status:type_name -> api.TicketStatus + 90, // 52: api.GetTicketStatusReply.status:type_name -> api.TicketStatus 100, // 53: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp 100, // 54: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp 101, // 55: api.Campus.GetTopNews:input_type -> google.protobuf.Empty @@ -7574,16 +7551,16 @@ var file_CampusService_proto_depIdxs = []int32{ 44, // 77: api.Campus.GetUpdateNote:input_type -> api.GetUpdateNoteRequest 101, // 78: api.Campus.GetStudyRoomList:input_type -> google.protobuf.Empty 49, // 79: api.Campus.GetEventList:input_type -> api.GetEventListRequest - 101, // 80: api.Campus.PostEventTicketMy:input_type -> google.protobuf.Empty - 54, // 81: api.Campus.PostEventTicket:input_type -> api.PostEventTicketRequest - 54, // 82: api.Campus.GetEventTicketType:input_type -> api.PostEventTicketRequest - 58, // 83: api.Campus.PostEventTicketReserveMultiple:input_type -> api.PostEventTicketReserveMultipleRequest + 101, // 80: api.Campus.GetPurchasedTickets:input_type -> google.protobuf.Empty + 54, // 81: api.Campus.GetMyTicket:input_type -> api.GetTicketRequest + 54, // 82: api.Campus.GetTicketType:input_type -> api.GetTicketRequest + 58, // 83: api.Campus.ReserveMultipleTickets:input_type -> api.ReserveMultipleTicketsRequest 101, // 84: api.Campus.PurchaseTicketStripe:input_type -> google.protobuf.Empty - 101, // 85: api.Campus.RetrieveEphemeralKey:input_type -> google.protobuf.Empty - 88, // 86: api.Campus.GetEventTicketStatus:input_type -> api.GetEventTicketStatusRequest + 101, // 85: api.Campus.GetEphemeralKey:input_type -> google.protobuf.Empty + 88, // 86: api.Campus.GetTicketStatus:input_type -> api.GetTicketStatusRequest 61, // 87: api.Campus.GetKino:input_type -> api.GetKinoRequest - 64, // 88: api.Campus.PostFeedback:input_type -> api.PostFeedbackRequest - 66, // 89: api.Campus.PostFeedbackIDImageNr:input_type -> api.PostFeedbackIDImageNrRequest + 64, // 88: api.Campus.SendFeedback:input_type -> api.SendFeedbackRequest + 66, // 89: api.Campus.SendFeedbackImage:input_type -> api.SendFeedbackImageRequest 101, // 90: api.Campus.RegisterDevice:input_type -> google.protobuf.Empty 101, // 91: api.Campus.VerifyKey:input_type -> google.protobuf.Empty 101, // 92: api.Campus.DeviceUploadGcmToken:input_type -> google.protobuf.Empty @@ -7591,74 +7568,72 @@ var file_CampusService_proto_depIdxs = []int32{ 95, // 94: api.Campus.GetNotification:input_type -> api.NotificationsRequest 95, // 95: api.Campus.GetNotificationConfirm:input_type -> api.NotificationsRequest 67, // 96: api.Campus.GetMembers:input_type -> api.GetMembersRequest - 101, // 97: api.Campus.PostChatRooms:input_type -> google.protobuf.Empty - 71, // 98: api.Campus.GetChatRoomsRoomId:input_type -> api.GetChatRoomsRoomIdRequest - 72, // 99: api.Campus.PostChatRoomsRoomIdLeave:input_type -> api.PostChatRoomsRoomIdLeaveRequest - 73, // 100: api.Campus.PostChatRoomsRoomIdAdd:input_type -> api.PostChatRoomsRoomIdAddRequest - 74, // 101: api.Campus.PutChatRoomsSendMessage:input_type -> api.PutChatRoomsSendRoomIdRequest - 75, // 102: api.Campus.PutChatRoomsUpdateMessage:input_type -> api.PutChatRoomsUpdateMessageRequest - 78, // 103: api.Campus.PostChatRoomsGetMessages:input_type -> api.PostChatRoomsGetMessagesRequest - 74, // 104: api.Campus.PostChatRoomsGetNewMessages:input_type -> api.PutChatRoomsSendRoomIdRequest - 80, // 105: api.Campus.PostChatCreateMember:input_type -> api.ChatMemberMsgElement - 81, // 106: api.Campus.GetChatMemberByLrzId:input_type -> api.GetChatMemberRequest - 82, // 107: api.Campus.SearchMemberByName:input_type -> api.SearchMemberByNameRequest - 83, // 108: api.Campus.GetMemberRooms:input_type -> api.GetMemberRoomsRequest - 13, // 109: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 110: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 111: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 112: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 113: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 114: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 115: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 116: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply - 17, // 117: api.Campus.GetDishRatings:output_type -> api.DishRatingReply - 101, // 118: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 101, // 119: api.Campus.NewDishRating:output_type -> google.protobuf.Empty - 21, // 120: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply - 21, // 121: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 26, // 122: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply - 29, // 123: api.Campus.GetDishes:output_type -> api.GetDishesReply - 30, // 124: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply - 32, // 125: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply - 34, // 126: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply - 36, // 127: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply - 38, // 128: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply - 39, // 129: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply - 42, // 130: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply - 45, // 131: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply - 46, // 132: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply - 50, // 133: api.Campus.GetEventList:output_type -> api.GetEventListReply - 52, // 134: api.Campus.PostEventTicketMy:output_type -> api.PostEventTicketMyReply - 51, // 135: api.Campus.PostEventTicket:output_type -> api.EventListMsgElement - 55, // 136: api.Campus.GetEventTicketType:output_type -> api.GetEventTicketTypeReply - 59, // 137: api.Campus.PostEventTicketReserveMultiple:output_type -> api.PostEventTicketReserveMultipleReply - 85, // 138: api.Campus.PurchaseTicketStripe:output_type -> api.PurchaseTicketStripeReply - 87, // 139: api.Campus.RetrieveEphemeralKey:output_type -> api.RetrieveEphemeralKeyReply - 89, // 140: api.Campus.GetEventTicketStatus:output_type -> api.GetEventTicketStatusReply - 62, // 141: api.Campus.GetKino:output_type -> api.GetKinoReply - 65, // 142: api.Campus.PostFeedback:output_type -> api.PostFeedbackReply - 65, // 143: api.Campus.PostFeedbackIDImageNr:output_type -> api.PostFeedbackReply - 91, // 144: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus - 91, // 145: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus - 91, // 146: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus - 93, // 147: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply - 94, // 148: api.Campus.GetNotification:output_type -> api.GetNotificationsReply - 96, // 149: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply - 68, // 150: api.Campus.GetMembers:output_type -> api.GetMembersReply - 69, // 151: api.Campus.PostChatRooms:output_type -> api.PostChatRoomsReply - 70, // 152: api.Campus.GetChatRoomsRoomId:output_type -> api.ChatRoomsMsgElement - 70, // 153: api.Campus.PostChatRoomsRoomIdLeave:output_type -> api.ChatRoomsMsgElement - 70, // 154: api.Campus.PostChatRoomsRoomIdAdd:output_type -> api.ChatRoomsMsgElement - 77, // 155: api.Campus.PutChatRoomsSendMessage:output_type -> api.ChatMessageModelMsgElement - 77, // 156: api.Campus.PutChatRoomsUpdateMessage:output_type -> api.ChatMessageModelMsgElement - 76, // 157: api.Campus.PostChatRoomsGetMessages:output_type -> api.ChatMessageModelMsg - 76, // 158: api.Campus.PostChatRoomsGetNewMessages:output_type -> api.ChatMessageModelMsg - 80, // 159: api.Campus.PostChatCreateMember:output_type -> api.ChatMemberMsgElement - 80, // 160: api.Campus.GetChatMemberByLrzId:output_type -> api.ChatMemberMsgElement - 79, // 161: api.Campus.SearchMemberByName:output_type -> api.ChatMemberMsg - 84, // 162: api.Campus.GetMemberRooms:output_type -> api.GetMemberRoomsReply - 109, // [109:163] is the sub-list for method output_type - 55, // [55:109] is the sub-list for method input_type + 101, // 97: api.Campus.GetChatRooms:input_type -> google.protobuf.Empty + 71, // 98: api.Campus.GetChatRoomById:input_type -> api.GetChatRoomByIdRequest + 72, // 99: api.Campus.LeaveChatRoom:input_type -> api.LeaveChatRoomRequest + 73, // 100: api.Campus.AddUserToChatRoom:input_type -> api.AddUserToChatRoomRequest + 74, // 101: api.Campus.SendChatMessage:input_type -> api.SendChatMessageRequest + 75, // 102: api.Campus.UpdateChatMessage:input_type -> api.UpdateChatMessageRequest + 78, // 103: api.Campus.GetChatMessages:input_type -> api.GetChatMessagesRequest + 80, // 104: api.Campus.CreateChatMember:input_type -> api.ChatMemberMsgElement + 81, // 105: api.Campus.GetChatMemberByLrzId:input_type -> api.GetChatMemberRequest + 82, // 106: api.Campus.SearchMemberByName:input_type -> api.SearchMemberByNameRequest + 83, // 107: api.Campus.GetMemberRooms:input_type -> api.GetMemberRoomsRequest + 13, // 108: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 109: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 110: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 111: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 112: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 113: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 114: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 115: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply + 17, // 116: api.Campus.GetDishRatings:output_type -> api.DishRatingReply + 101, // 117: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 101, // 118: api.Campus.NewDishRating:output_type -> google.protobuf.Empty + 21, // 119: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply + 21, // 120: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 26, // 121: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply + 29, // 122: api.Campus.GetDishes:output_type -> api.GetDishesReply + 30, // 123: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply + 32, // 124: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply + 34, // 125: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply + 36, // 126: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply + 38, // 127: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply + 39, // 128: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply + 42, // 129: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply + 45, // 130: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply + 46, // 131: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply + 50, // 132: api.Campus.GetEventList:output_type -> api.GetEventListReply + 52, // 133: api.Campus.GetPurchasedTickets:output_type -> api.GetPurchasedTicketsReply + 51, // 134: api.Campus.GetMyTicket:output_type -> api.EventListMsgElement + 55, // 135: api.Campus.GetTicketType:output_type -> api.GetEventTicketTypeReply + 59, // 136: api.Campus.ReserveMultipleTickets:output_type -> api.ReserveMultipleTicketsReply + 85, // 137: api.Campus.PurchaseTicketStripe:output_type -> api.PurchaseTicketStripeReply + 87, // 138: api.Campus.GetEphemeralKey:output_type -> api.GetEphemeralKeyReply + 89, // 139: api.Campus.GetTicketStatus:output_type -> api.GetTicketStatusReply + 62, // 140: api.Campus.GetKino:output_type -> api.GetKinoReply + 65, // 141: api.Campus.SendFeedback:output_type -> api.SendFeedbackImageReply + 65, // 142: api.Campus.SendFeedbackImage:output_type -> api.SendFeedbackImageReply + 91, // 143: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus + 91, // 144: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus + 91, // 145: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus + 93, // 146: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply + 94, // 147: api.Campus.GetNotification:output_type -> api.GetNotificationsReply + 96, // 148: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply + 68, // 149: api.Campus.GetMembers:output_type -> api.GetMembersReply + 69, // 150: api.Campus.GetChatRooms:output_type -> api.GetChatRoomsReply + 70, // 151: api.Campus.GetChatRoomById:output_type -> api.ChatRoomsMsgElement + 70, // 152: api.Campus.LeaveChatRoom:output_type -> api.ChatRoomsMsgElement + 70, // 153: api.Campus.AddUserToChatRoom:output_type -> api.ChatRoomsMsgElement + 77, // 154: api.Campus.SendChatMessage:output_type -> api.ChatMessageModelMsgElement + 77, // 155: api.Campus.UpdateChatMessage:output_type -> api.ChatMessageModelMsgElement + 76, // 156: api.Campus.GetChatMessages:output_type -> api.ChatMessageModelMsg + 80, // 157: api.Campus.CreateChatMember:output_type -> api.ChatMemberMsgElement + 80, // 158: api.Campus.GetChatMemberByLrzId:output_type -> api.ChatMemberMsgElement + 79, // 159: api.Campus.SearchMemberByName:output_type -> api.ChatMemberMsg + 84, // 160: api.Campus.GetMemberRooms:output_type -> api.GetMemberRoomsReply + 108, // [108:161] is the sub-list for method output_type + 55, // [55:108] is the sub-list for method input_type 55, // [55:55] is the sub-list for extension type_name 55, // [55:55] is the sub-list for extension extendee 0, // [0:55] is the sub-list for field type_name @@ -8295,7 +8270,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostEventTicketMyReply); i { + switch v := v.(*GetPurchasedTicketsReply); i { case 0: return &v.state case 1: @@ -8319,7 +8294,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostEventTicketRequest); i { + switch v := v.(*GetTicketRequest); i { case 0: return &v.state case 1: @@ -8367,7 +8342,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostEventTicketReserveMultipleRequest); i { + switch v := v.(*ReserveMultipleTicketsRequest); i { case 0: return &v.state case 1: @@ -8379,7 +8354,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostEventTicketReserveMultipleReply); i { + switch v := v.(*ReserveMultipleTicketsReply); i { case 0: return &v.state case 1: @@ -8439,7 +8414,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostFeedbackRequest); i { + switch v := v.(*SendFeedbackRequest); i { case 0: return &v.state case 1: @@ -8451,7 +8426,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostFeedbackReply); i { + switch v := v.(*SendFeedbackImageReply); i { case 0: return &v.state case 1: @@ -8463,7 +8438,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostFeedbackIDImageNrRequest); i { + switch v := v.(*SendFeedbackImageRequest); i { case 0: return &v.state case 1: @@ -8499,7 +8474,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostChatRoomsReply); i { + switch v := v.(*GetChatRoomsReply); i { case 0: return &v.state case 1: @@ -8523,7 +8498,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatRoomsRoomIdRequest); i { + switch v := v.(*GetChatRoomByIdRequest); i { case 0: return &v.state case 1: @@ -8535,7 +8510,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostChatRoomsRoomIdLeaveRequest); i { + switch v := v.(*LeaveChatRoomRequest); i { case 0: return &v.state case 1: @@ -8547,7 +8522,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostChatRoomsRoomIdAddRequest); i { + switch v := v.(*AddUserToChatRoomRequest); i { case 0: return &v.state case 1: @@ -8559,7 +8534,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PutChatRoomsSendRoomIdRequest); i { + switch v := v.(*SendChatMessageRequest); i { case 0: return &v.state case 1: @@ -8571,7 +8546,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PutChatRoomsUpdateMessageRequest); i { + switch v := v.(*UpdateChatMessageRequest); i { case 0: return &v.state case 1: @@ -8607,7 +8582,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostChatRoomsGetMessagesRequest); i { + switch v := v.(*GetChatMessagesRequest); i { case 0: return &v.state case 1: @@ -8715,7 +8690,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RetrieveEphemeralKeyReply); i { + switch v := v.(*GetEphemeralKeyReply); i { case 0: return &v.state case 1: @@ -8727,7 +8702,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEventTicketStatusRequest); i { + switch v := v.(*GetTicketStatusRequest); i { case 0: return &v.state case 1: @@ -8739,7 +8714,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEventTicketStatusReply); i { + switch v := v.(*GetTicketStatusReply); i { case 0: return &v.state case 1: diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index 82ded897..c32edc88 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -766,26 +766,26 @@ func local_request_Campus_GetEventList_0(ctx context.Context, marshaler runtime. } -func request_Campus_PostEventTicketMy_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_GetPurchasedTickets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := client.PostEventTicketMy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetPurchasedTickets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostEventTicketMy_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_GetPurchasedTickets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := server.PostEventTicketMy(ctx, &protoReq) + msg, err := server.GetPurchasedTickets(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketRequest +func request_Campus_GetMyTicket_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketRequest var metadata runtime.ServerMetadata var ( @@ -805,13 +805,13 @@ func request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Mar return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := client.PostEventTicket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetMyTicket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketRequest +func local_request_Campus_GetMyTicket_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketRequest var metadata runtime.ServerMetadata var ( @@ -831,13 +831,13 @@ func local_request_Campus_PostEventTicket_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := server.PostEventTicket(ctx, &protoReq) + msg, err := server.GetMyTicket(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketRequest +func request_Campus_GetTicketType_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketRequest var metadata runtime.ServerMetadata var ( @@ -857,13 +857,13 @@ func request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime. return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := client.GetEventTicketType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetTicketType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketRequest +func local_request_Campus_GetTicketType_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketRequest var metadata runtime.ServerMetadata var ( @@ -883,43 +883,43 @@ func local_request_Campus_GetEventTicketType_0(ctx context.Context, marshaler ru return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := server.GetEventTicketType(ctx, &protoReq) + msg, err := server.GetTicketType(ctx, &protoReq) return msg, metadata, err } var ( - filter_Campus_PostEventTicketReserveMultiple_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + filter_Campus_ReserveMultipleTickets_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) -func request_Campus_PostEventTicketReserveMultiple_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketReserveMultipleRequest +func request_Campus_ReserveMultipleTickets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReserveMultipleTicketsRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostEventTicketReserveMultiple_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_ReserveMultipleTickets_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PostEventTicketReserveMultiple(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ReserveMultipleTickets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostEventTicketReserveMultiple_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketReserveMultipleRequest +func local_request_Campus_ReserveMultipleTickets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReserveMultipleTicketsRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostEventTicketReserveMultiple_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_ReserveMultipleTickets_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PostEventTicketReserveMultiple(ctx, &protoReq) + msg, err := server.ReserveMultipleTickets(ctx, &protoReq) return msg, metadata, err } @@ -942,26 +942,26 @@ func local_request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler } -func request_Campus_RetrieveEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_GetEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := client.RetrieveEphemeralKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetEphemeralKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_RetrieveEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_GetEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := server.RetrieveEphemeralKey(ctx, &protoReq) + msg, err := server.GetEphemeralKey(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetEventTicketStatusRequest +func request_Campus_GetTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketStatusRequest var metadata runtime.ServerMetadata var ( @@ -981,13 +981,13 @@ func request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtim return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) } - msg, err := client.GetEventTicketStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetTicketStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetEventTicketStatusRequest +func local_request_Campus_GetTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketStatusRequest var metadata runtime.ServerMetadata var ( @@ -1007,7 +1007,7 @@ func local_request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) } - msg, err := server.GetEventTicketStatus(ctx, &protoReq) + msg, err := server.GetTicketStatus(ctx, &protoReq) return msg, metadata, err } @@ -1065,43 +1065,43 @@ func local_request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marsh } var ( - filter_Campus_PostFeedback_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + filter_Campus_SendFeedback_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) -func request_Campus_PostFeedback_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostFeedbackRequest +func request_Campus_SendFeedback_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendFeedbackRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostFeedback_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_SendFeedback_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PostFeedback(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.SendFeedback(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostFeedback_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostFeedbackRequest +func local_request_Campus_SendFeedback_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendFeedbackRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostFeedback_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_SendFeedback_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PostFeedback(ctx, &protoReq) + msg, err := server.SendFeedback(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostFeedbackIDImageNrRequest +func request_Campus_SendFeedbackImage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendFeedbackImageRequest var metadata runtime.ServerMetadata var ( @@ -1131,13 +1131,13 @@ func request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) } - msg, err := client.PostFeedbackIDImageNr(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.SendFeedbackImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostFeedbackIDImageNrRequest +func local_request_Campus_SendFeedbackImage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendFeedbackImageRequest var metadata runtime.ServerMetadata var ( @@ -1167,7 +1167,7 @@ func local_request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) } - msg, err := server.PostFeedbackIDImageNr(ctx, &protoReq) + msg, err := server.SendFeedbackImage(ctx, &protoReq) return msg, metadata, err } @@ -1418,7 +1418,7 @@ func local_request_Campus_GetMembers_0(ctx context.Context, marshaler runtime.Ma } -func request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_GetChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata @@ -1430,12 +1430,12 @@ func request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marsh return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PostChatRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetChatRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_GetChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata @@ -1447,13 +1447,13 @@ func local_request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PostChatRooms(ctx, &protoReq) + msg, err := server.GetChatRooms(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatRoomsRoomIdRequest +func request_Campus_GetChatRoomById_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatRoomByIdRequest var metadata runtime.ServerMetadata var ( @@ -1473,13 +1473,13 @@ func request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime. return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) } - msg, err := client.GetChatRoomsRoomId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetChatRoomById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatRoomsRoomIdRequest +func local_request_Campus_GetChatRoomById_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatRoomByIdRequest var metadata runtime.ServerMetadata var ( @@ -1499,13 +1499,13 @@ func local_request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler ru return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) } - msg, err := server.GetChatRoomsRoomId(ctx, &protoReq) + msg, err := server.GetChatRoomById(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsRoomIdLeaveRequest +func request_Campus_LeaveChatRoom_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq LeaveChatRoomRequest var metadata runtime.ServerMetadata var ( @@ -1525,13 +1525,13 @@ func request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler ru return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) } - msg, err := client.PostChatRoomsRoomIdLeave(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.LeaveChatRoom(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsRoomIdLeaveRequest +func local_request_Campus_LeaveChatRoom_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq LeaveChatRoomRequest var metadata runtime.ServerMetadata var ( @@ -1551,13 +1551,13 @@ func local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marsha return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) } - msg, err := server.PostChatRoomsRoomIdLeave(ctx, &protoReq) + msg, err := server.LeaveChatRoom(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsRoomIdAddRequest +func request_Campus_AddUserToChatRoom_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddUserToChatRoomRequest var metadata runtime.ServerMetadata var ( @@ -1587,13 +1587,13 @@ func request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runt return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) } - msg, err := client.PostChatRoomsRoomIdAdd(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.AddUserToChatRoom(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsRoomIdAddRequest +func local_request_Campus_AddUserToChatRoom_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddUserToChatRoomRequest var metadata runtime.ServerMetadata var ( @@ -1623,13 +1623,13 @@ func local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshale return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) } - msg, err := server.PostChatRoomsRoomIdAdd(ctx, &protoReq) + msg, err := server.AddUserToChatRoom(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsSendRoomIdRequest +func request_Campus_SendChatMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendChatMessageRequest var metadata runtime.ServerMetadata var ( @@ -1649,13 +1649,13 @@ func request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler run return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) } - msg, err := client.PutChatRoomsSendMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.SendChatMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsSendRoomIdRequest +func local_request_Campus_SendChatMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendChatMessageRequest var metadata runtime.ServerMetadata var ( @@ -1675,13 +1675,13 @@ func local_request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshal return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) } - msg, err := server.PutChatRoomsSendMessage(ctx, &protoReq) + msg, err := server.SendChatMessage(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsUpdateMessageRequest +func request_Campus_UpdateChatMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateChatMessageRequest var metadata runtime.ServerMetadata var ( @@ -1711,13 +1711,13 @@ func request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler r return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) } - msg, err := client.PutChatRoomsUpdateMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.UpdateChatMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsUpdateMessageRequest +func local_request_Campus_UpdateChatMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateChatMessageRequest var metadata runtime.ServerMetadata var ( @@ -1747,13 +1747,13 @@ func local_request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marsh return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) } - msg, err := server.PutChatRoomsUpdateMessage(ctx, &protoReq) + msg, err := server.UpdateChatMessage(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsGetMessagesRequest +func request_Campus_GetChatMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatMessagesRequest var metadata runtime.ServerMetadata var ( @@ -1783,13 +1783,13 @@ func request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler ru return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) } - msg, err := client.PostChatRoomsGetMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetChatMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsGetMessagesRequest +func local_request_Campus_GetChatMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatMessagesRequest var metadata runtime.ServerMetadata var ( @@ -1819,95 +1819,43 @@ func local_request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marsha return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) } - msg, err := server.PostChatRoomsGetMessages(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PostChatRoomsGetNewMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsSendRoomIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := client.PostChatRoomsGetNewMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PostChatRoomsGetNewMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsSendRoomIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := server.PostChatRoomsGetNewMessages(ctx, &protoReq) + msg, err := server.GetChatMessages(ctx, &protoReq) return msg, metadata, err } var ( - filter_Campus_PostChatCreateMember_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + filter_Campus_CreateChatMember_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) -func request_Campus_PostChatCreateMember_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_CreateChatMember_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ChatMemberMsgElement var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostChatCreateMember_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_CreateChatMember_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PostChatCreateMember(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.CreateChatMember(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostChatCreateMember_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_CreateChatMember_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ChatMemberMsgElement var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostChatCreateMember_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_CreateChatMember_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PostChatCreateMember(ctx, &protoReq) + msg, err := server.CreateChatMember(ctx, &protoReq) return msg, metadata, err } @@ -2674,19 +2622,19 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) - mux.Handle("POST", pattern_Campus_PostEventTicketMy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetPurchasedTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicketMy", runtime.WithHTTPPathPattern("/event/ticket/my")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetPurchasedTickets", runtime.WithHTTPPathPattern("/event/ticket/my")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostEventTicketMy_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetPurchasedTickets_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2694,23 +2642,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostEventTicketMy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetPurchasedTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMyTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMyTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostEventTicket_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetMyTicket_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2718,23 +2666,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostEventTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMyTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetEventTicketType_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetTicketType_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2742,23 +2690,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetEventTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicketReserveMultiple_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_ReserveMultipleTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicketReserveMultiple", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/ReserveMultipleTickets", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostEventTicketReserveMultiple_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_ReserveMultipleTickets_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2766,7 +2714,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostEventTicketReserveMultiple_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_ReserveMultipleTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2794,19 +2742,19 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) - mux.Handle("POST", pattern_Campus_RetrieveEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RetrieveEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_RetrieveEphemeralKey_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetEphemeralKey_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2814,23 +2762,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_RetrieveEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetEventTicketStatus_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetTicketStatus_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2838,7 +2786,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetEventTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2866,19 +2814,19 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) - mux.Handle("POST", pattern_Campus_PostFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SendFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostFeedback", runtime.WithHTTPPathPattern("/feedback")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SendFeedback", runtime.WithHTTPPathPattern("/feedback")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostFeedback_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_SendFeedback_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2886,23 +2834,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostFeedbackIDImageNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SendFeedbackImage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostFeedbackIDImageNr", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SendFeedbackImage", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostFeedbackIDImageNr_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_SendFeedbackImage_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2910,7 +2858,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostFeedbackIDImageNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendFeedbackImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3082,43 +3030,19 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) - mux.Handle("POST", pattern_Campus_PostChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_PostChatRooms_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PostChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetChatRoomsRoomId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatRoomsRoomId", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetChatRoomsRoomId_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetChatRooms_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3126,23 +3050,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetChatRoomsRoomId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdLeave_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetChatRoomById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdLeave", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatRoomById", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetChatRoomById_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3150,23 +3074,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRoomsRoomIdLeave_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatRoomById_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_LeaveChatRoom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdAdd", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/LeaveChatRoom", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_LeaveChatRoom_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3174,23 +3098,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRoomsRoomIdAdd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_LeaveChatRoom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Campus_PutChatRoomsSendMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_AddUserToChatRoom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PutChatRoomsSendMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/AddUserToChatRoom", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PutChatRoomsSendMessage_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_AddUserToChatRoom_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3198,23 +3122,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PutChatRoomsSendMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_AddUserToChatRoom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Campus_PutChatRoomsUpdateMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Campus_SendChatMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PutChatRoomsUpdateMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SendChatMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PutChatRoomsUpdateMessage_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_SendChatMessage_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3222,23 +3146,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PutChatRoomsUpdateMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendChatMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsGetMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Campus_UpdateChatMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/UpdateChatMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRoomsGetMessages_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_UpdateChatMessage_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3246,23 +3170,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRoomsGetMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_UpdateChatMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsGetNewMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetChatMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetNewMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRoomsGetNewMessages_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetChatMessages_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3270,23 +3194,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRoomsGetNewMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatCreateMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_CreateChatMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatCreateMember", runtime.WithHTTPPathPattern("/chat/members")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/CreateChatMember", runtime.WithHTTPPathPattern("/chat/members")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatCreateMember_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_CreateChatMember_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3294,7 +3218,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatCreateMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_CreateChatMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3936,87 +3860,87 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_PostEventTicketMy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetPurchasedTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicketMy", runtime.WithHTTPPathPattern("/event/ticket/my")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetPurchasedTickets", runtime.WithHTTPPathPattern("/event/ticket/my")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostEventTicketMy_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetPurchasedTickets_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostEventTicketMy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetPurchasedTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMyTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMyTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostEventTicket_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetMyTicket_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostEventTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMyTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetEventTicketType_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetTicketType_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetEventTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicketReserveMultiple_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_ReserveMultipleTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicketReserveMultiple", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/ReserveMultipleTickets", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostEventTicketReserveMultiple_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_ReserveMultipleTickets_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostEventTicketReserveMultiple_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_ReserveMultipleTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4041,45 +3965,45 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_RetrieveEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/RetrieveEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_RetrieveEphemeralKey_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetEphemeralKey_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_RetrieveEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetEventTicketStatus_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetTicketStatus_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetEventTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4104,45 +4028,45 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_PostFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SendFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostFeedback", runtime.WithHTTPPathPattern("/feedback")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SendFeedback", runtime.WithHTTPPathPattern("/feedback")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostFeedback_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_SendFeedback_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostFeedbackIDImageNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SendFeedbackImage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostFeedbackIDImageNr", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SendFeedbackImage", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostFeedbackIDImageNr_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_SendFeedbackImage_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostFeedbackIDImageNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendFeedbackImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4293,192 +4217,171 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_PostChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostChatRooms_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetChatRooms_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetChatRoomsRoomId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetChatRoomById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatRoomsRoomId", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatRoomById", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetChatRoomsRoomId_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetChatRoomById_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetChatRoomsRoomId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatRoomById_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdLeave_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_LeaveChatRoom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdLeave", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/LeaveChatRoom", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostChatRoomsRoomIdLeave_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_LeaveChatRoom_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostChatRoomsRoomIdLeave_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_LeaveChatRoom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_AddUserToChatRoom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdAdd", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/AddUserToChatRoom", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostChatRoomsRoomIdAdd_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_AddUserToChatRoom_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostChatRoomsRoomIdAdd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_AddUserToChatRoom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Campus_PutChatRoomsSendMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Campus_SendChatMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PutChatRoomsSendMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SendChatMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PutChatRoomsSendMessage_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_SendChatMessage_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PutChatRoomsSendMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendChatMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Campus_PutChatRoomsUpdateMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Campus_UpdateChatMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PutChatRoomsUpdateMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/UpdateChatMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PutChatRoomsUpdateMessage_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_UpdateChatMessage_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PutChatRoomsUpdateMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_UpdateChatMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsGetMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetChatMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostChatRoomsGetMessages_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetChatMessages_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostChatRoomsGetMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsGetNewMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_CreateChatMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetNewMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/CreateChatMember", runtime.WithHTTPPathPattern("/chat/members")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostChatRoomsGetNewMessages_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_CreateChatMember_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostChatRoomsGetNewMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PostChatCreateMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatCreateMember", runtime.WithHTTPPathPattern("/chat/members")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PostChatCreateMember_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PostChatCreateMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_CreateChatMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4680,25 +4583,25 @@ var ( pattern_Campus_GetEventList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"event", "list"}, "")) - pattern_Campus_PostEventTicketMy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"event", "ticket", "my"}, "")) + pattern_Campus_GetPurchasedTickets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"event", "ticket", "my"}, "")) - pattern_Campus_PostEventTicket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"event", "ticket", "id"}, "")) + pattern_Campus_GetMyTicket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"event", "ticket", "id"}, "")) - pattern_Campus_GetEventTicketType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "type", "id"}, "")) + pattern_Campus_GetTicketType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "type", "id"}, "")) - pattern_Campus_PostEventTicketReserveMultiple_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"event", "ticket", "reserve", "multiple"}, "")) + pattern_Campus_ReserveMultipleTickets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"event", "ticket", "reserve", "multiple"}, "")) pattern_Campus_PurchaseTicketStripe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"event", "ticket", "payment", "stripe", "purchase", "multiple"}, "")) - pattern_Campus_RetrieveEphemeralKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"event", "ticket", "payment", "stripe", "ephemeralkey"}, "")) + pattern_Campus_GetEphemeralKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"event", "ticket", "payment", "stripe", "ephemeralkey"}, "")) - pattern_Campus_GetEventTicketStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "status", "eventId"}, "")) + pattern_Campus_GetTicketStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "status", "eventId"}, "")) pattern_Campus_GetKino_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"kino", "lastId"}, "")) - pattern_Campus_PostFeedback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"feedback"}, "")) + pattern_Campus_SendFeedback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"feedback"}, "")) - pattern_Campus_PostFeedbackIDImageNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"feedback", "id", "imageNr"}, "")) + pattern_Campus_SendFeedbackImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"feedback", "id", "imageNr"}, "")) pattern_Campus_RegisterDevice_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "register"}, "")) @@ -4714,23 +4617,21 @@ var ( pattern_Campus_GetMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "lrzId"}, "")) - pattern_Campus_PostChatRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "rooms"}, "")) + pattern_Campus_GetChatRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "rooms"}, "")) - pattern_Campus_GetChatRoomsRoomId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "rooms", "roomId"}, "")) + pattern_Campus_GetChatRoomById_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "rooms", "roomId"}, "")) - pattern_Campus_PostChatRoomsRoomIdLeave_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "leave"}, "")) + pattern_Campus_LeaveChatRoom_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "leave"}, "")) - pattern_Campus_PostChatRoomsRoomIdAdd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "add", "memberId"}, "")) + pattern_Campus_AddUserToChatRoom_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "add", "memberId"}, "")) - pattern_Campus_PutChatRoomsSendMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "message"}, "")) + pattern_Campus_SendChatMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "message"}, "")) - pattern_Campus_PutChatRoomsUpdateMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "message", "messageId"}, "")) + pattern_Campus_UpdateChatMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "message", "messageId"}, "")) - pattern_Campus_PostChatRoomsGetMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "messages", "pageId"}, "")) + pattern_Campus_GetChatMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "messages", "pageId"}, "")) - pattern_Campus_PostChatRoomsGetNewMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "messages"}, "")) - - pattern_Campus_PostChatCreateMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "members"}, "")) + pattern_Campus_CreateChatMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "members"}, "")) pattern_Campus_GetChatMemberByLrzId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "members", "lrzId"}, "")) @@ -4790,25 +4691,25 @@ var ( forward_Campus_GetEventList_0 = runtime.ForwardResponseMessage - forward_Campus_PostEventTicketMy_0 = runtime.ForwardResponseMessage + forward_Campus_GetPurchasedTickets_0 = runtime.ForwardResponseMessage - forward_Campus_PostEventTicket_0 = runtime.ForwardResponseMessage + forward_Campus_GetMyTicket_0 = runtime.ForwardResponseMessage - forward_Campus_GetEventTicketType_0 = runtime.ForwardResponseMessage + forward_Campus_GetTicketType_0 = runtime.ForwardResponseMessage - forward_Campus_PostEventTicketReserveMultiple_0 = runtime.ForwardResponseMessage + forward_Campus_ReserveMultipleTickets_0 = runtime.ForwardResponseMessage forward_Campus_PurchaseTicketStripe_0 = runtime.ForwardResponseMessage - forward_Campus_RetrieveEphemeralKey_0 = runtime.ForwardResponseMessage + forward_Campus_GetEphemeralKey_0 = runtime.ForwardResponseMessage - forward_Campus_GetEventTicketStatus_0 = runtime.ForwardResponseMessage + forward_Campus_GetTicketStatus_0 = runtime.ForwardResponseMessage forward_Campus_GetKino_0 = runtime.ForwardResponseMessage - forward_Campus_PostFeedback_0 = runtime.ForwardResponseMessage + forward_Campus_SendFeedback_0 = runtime.ForwardResponseMessage - forward_Campus_PostFeedbackIDImageNr_0 = runtime.ForwardResponseMessage + forward_Campus_SendFeedbackImage_0 = runtime.ForwardResponseMessage forward_Campus_RegisterDevice_0 = runtime.ForwardResponseMessage @@ -4824,23 +4725,21 @@ var ( forward_Campus_GetMembers_0 = runtime.ForwardResponseMessage - forward_Campus_PostChatRooms_0 = runtime.ForwardResponseMessage - - forward_Campus_GetChatRoomsRoomId_0 = runtime.ForwardResponseMessage + forward_Campus_GetChatRooms_0 = runtime.ForwardResponseMessage - forward_Campus_PostChatRoomsRoomIdLeave_0 = runtime.ForwardResponseMessage + forward_Campus_GetChatRoomById_0 = runtime.ForwardResponseMessage - forward_Campus_PostChatRoomsRoomIdAdd_0 = runtime.ForwardResponseMessage + forward_Campus_LeaveChatRoom_0 = runtime.ForwardResponseMessage - forward_Campus_PutChatRoomsSendMessage_0 = runtime.ForwardResponseMessage + forward_Campus_AddUserToChatRoom_0 = runtime.ForwardResponseMessage - forward_Campus_PutChatRoomsUpdateMessage_0 = runtime.ForwardResponseMessage + forward_Campus_SendChatMessage_0 = runtime.ForwardResponseMessage - forward_Campus_PostChatRoomsGetMessages_0 = runtime.ForwardResponseMessage + forward_Campus_UpdateChatMessage_0 = runtime.ForwardResponseMessage - forward_Campus_PostChatRoomsGetNewMessages_0 = runtime.ForwardResponseMessage + forward_Campus_GetChatMessages_0 = runtime.ForwardResponseMessage - forward_Campus_PostChatCreateMember_0 = runtime.ForwardResponseMessage + forward_Campus_CreateChatMember_0 = runtime.ForwardResponseMessage forward_Campus_GetChatMemberByLrzId_0 = runtime.ForwardResponseMessage diff --git a/api/CampusService.proto b/api/CampusService.proto index 6935c99a..55c4d266 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -191,26 +191,25 @@ service Campus { }; } - // todo check again - rpc PostEventTicketMy(google.protobuf.Empty) returns (PostEventTicketMyReply) { + rpc GetPurchasedTickets(google.protobuf.Empty) returns (GetPurchasedTicketsReply) { option (google.api.http) = { post: "/event/ticket/my", }; } - rpc PostEventTicket(PostEventTicketRequest) returns (EventListMsgElement) { + rpc GetMyTicket(GetTicketRequest) returns (EventListMsgElement) { option (google.api.http) = { post: "/event/ticket/{id}", }; } - rpc GetEventTicketType(PostEventTicketRequest) returns (GetEventTicketTypeReply) { + rpc GetTicketType(GetTicketRequest) returns (GetEventTicketTypeReply) { option (google.api.http) = { get: "/event/ticket/type/{id}", }; } - rpc PostEventTicketReserveMultiple(PostEventTicketReserveMultipleRequest) returns (PostEventTicketReserveMultipleReply) { + rpc ReserveMultipleTickets(ReserveMultipleTicketsRequest) returns (ReserveMultipleTicketsReply) { option (google.api.http) = { post: "/event/ticket/reserve/multiple", }; @@ -222,13 +221,13 @@ service Campus { }; } - rpc RetrieveEphemeralKey(google.protobuf.Empty) returns (RetrieveEphemeralKeyReply) { + rpc GetEphemeralKey(google.protobuf.Empty) returns (GetEphemeralKeyReply) { option (google.api.http) = { post: "/event/ticket/payment/stripe/ephemeralkey", }; } - rpc GetEventTicketStatus(GetEventTicketStatusRequest) returns (GetEventTicketStatusReply) { + rpc GetTicketStatus(GetTicketStatusRequest) returns (GetTicketStatusReply) { option (google.api.http) = { get: "/event/ticket/status/{eventId}", }; @@ -240,13 +239,13 @@ service Campus { }; } - rpc PostFeedback(PostFeedbackRequest) returns (PostFeedbackReply) { + rpc SendFeedback(SendFeedbackRequest) returns (SendFeedbackImageReply) { option (google.api.http) = { post: "/feedback", }; } - rpc PostFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackReply) { + rpc SendFeedbackImage(SendFeedbackImageRequest) returns (SendFeedbackImageReply) { option (google.api.http) = { post: "/feedback/{id}/{imageNr}", }; @@ -296,56 +295,53 @@ service Campus { }; } - rpc PostChatRooms(google.protobuf.Empty) returns (PostChatRoomsReply) { + + rpc GetChatRooms(google.protobuf.Empty) returns (GetChatRoomsReply) { option (google.api.http) = { post: "/chat/rooms", body: "*" }; } - rpc GetChatRoomsRoomId(GetChatRoomsRoomIdRequest) returns (ChatRoomsMsgElement) { + rpc GetChatRoomById(GetChatRoomByIdRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { get: "/chat/rooms/{roomId}", }; } - rpc PostChatRoomsRoomIdLeave(PostChatRoomsRoomIdLeaveRequest) returns (ChatRoomsMsgElement) { + rpc LeaveChatRoom(LeaveChatRoomRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { post: "/chat/rooms/{roomId}/leave", }; } - rpc PostChatRoomsRoomIdAdd(PostChatRoomsRoomIdAddRequest) returns (ChatRoomsMsgElement) { + rpc AddUserToChatRoom(AddUserToChatRoomRequest) returns (ChatRoomsMsgElement) { option (google.api.http) = { post: "/chat/rooms/{roomId}/add/{memberId}", }; } - rpc PutChatRoomsSendMessage(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsgElement) { + rpc SendChatMessage(SendChatMessageRequest) returns (ChatMessageModelMsgElement) { option (google.api.http) = { put: "/chat/rooms/{roomId}/message", }; } - rpc PutChatRoomsUpdateMessage(PutChatRoomsUpdateMessageRequest) returns (ChatMessageModelMsgElement) { + rpc UpdateChatMessage(UpdateChatMessageRequest) returns (ChatMessageModelMsgElement) { option (google.api.http) = { put: "/chat/rooms/{roomId}/message/{messageId}", }; } - rpc PostChatRoomsGetMessages(PostChatRoomsGetMessagesRequest) returns (ChatMessageModelMsg) {//get messageModel returnen + + rpc GetChatMessages(GetChatMessagesRequest) returns (ChatMessageModelMsg) { option (google.api.http) = { post: "/chat/rooms/{roomId}/messages/{pageId}", }; } - rpc PostChatRoomsGetNewMessages(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsg) { - option (google.api.http) = { - post: "/chat/rooms/{roomId}/messages", - }; - } - rpc PostChatCreateMember(ChatMemberMsgElement) returns (ChatMemberMsgElement) { + rpc CreateChatMember(ChatMemberMsgElement) returns (ChatMemberMsgElement) { option (google.api.http) = { post: "/chat/members", }; @@ -474,7 +470,7 @@ message CafeteriaRatingRequest { google.protobuf.Timestamp from = 2; // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 3; - // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" int32 limit = 4; } @@ -487,7 +483,7 @@ message DishRatingRequest { google.protobuf.Timestamp from = 3; // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 4; - // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" int32 limit = 5; } @@ -754,7 +750,7 @@ message EventListMsgElement{ } -message PostEventTicketMyReply{ +message GetPurchasedTicketsReply{ repeated EventTicketMyMsgElement myTickets = 1; } @@ -766,7 +762,7 @@ message EventTicketMyMsgElement{ int32 event = 5; } -message PostEventTicketRequest { +message GetTicketRequest { int32 id = 1; } @@ -792,12 +788,12 @@ message EventTicketPaymentMsg{ int32 maxTickets = 4; } -message PostEventTicketReserveMultipleRequest{ +message ReserveMultipleTicketsRequest{ repeated int32 ticketTypes = 1; repeated int32 amounts = 2; } -message PostEventTicketReserveMultipleReply{ +message ReserveMultipleTicketsReply{ repeated EventTicketReserveMultipleMsgElement tickets = 1; } @@ -832,7 +828,7 @@ message KinoMsgElement{ string link = 16; } -message PostFeedbackRequest{ +message SendFeedbackRequest{ string topic = 1; string email = 2; string emailId = 3; @@ -844,14 +840,14 @@ message PostFeedbackRequest{ string appVersion = 9; } -message PostFeedbackReply{ +message SendFeedbackImageReply{ string status = 1; } -message PostFeedbackIDImageNrRequest{ +message SendFeedbackImageRequest{ int32 id = 1; int32 imageNr = 2; - //todo wo kommt das eigentliche file her? + //todo where does the file come from? } @@ -867,7 +863,7 @@ message GetMembersReply{ -message PostChatRoomsReply{ +message GetChatRoomsReply{ repeated ChatRoomsMsgElement rooms = 1; } @@ -879,25 +875,25 @@ message ChatRoomsMsgElement{ int32 members = 5; } -message GetChatRoomsRoomIdRequest{ +message GetChatRoomByIdRequest{ int32 roomId = 1; } -message PostChatRoomsRoomIdLeaveRequest{ +message LeaveChatRoomRequest{ int32 roomId = 1; } -message PostChatRoomsRoomIdAddRequest{ +message AddUserToChatRoomRequest{ int32 roomId = 1; int32 memberId = 2; } -message PutChatRoomsSendRoomIdRequest{ +message SendChatMessageRequest{ int32 roomId = 1; } -message PutChatRoomsUpdateMessageRequest{ +message UpdateChatMessageRequest{ int32 roomId = 1; int32 messageId = 2; } @@ -918,7 +914,7 @@ message ChatMessageModelMsgElement{ int32 sendingStatus = 8; } -message PostChatRoomsGetMessagesRequest{ +message GetChatMessagesRequest{ int32 roomId = 1; int32 pageId = 2; } @@ -966,17 +962,17 @@ message TicketMessageElement{ } -message RetrieveEphemeralKeyReply{ +message GetEphemeralKeyReply{ //todo How does this look? } -message GetEventTicketStatusRequest{ +message GetTicketStatusRequest{ int32 eventId = 1; } -message GetEventTicketStatusReply{ +message GetTicketStatusReply{ repeated TicketStatus status = 1; } diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index 3ced2246..e0195b79 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -50,17 +50,16 @@ type CampusClient interface { GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) - // todo check again - PostEventTicketMy(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostEventTicketMyReply, error) - PostEventTicket(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) - GetEventTicketType(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) - PostEventTicketReserveMultiple(ctx context.Context, in *PostEventTicketReserveMultipleRequest, opts ...grpc.CallOption) (*PostEventTicketReserveMultipleReply, error) + GetPurchasedTickets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPurchasedTicketsReply, error) + GetMyTicket(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) + GetTicketType(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) + ReserveMultipleTickets(ctx context.Context, in *ReserveMultipleTicketsRequest, opts ...grpc.CallOption) (*ReserveMultipleTicketsReply, error) PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) - RetrieveEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RetrieveEphemeralKeyReply, error) - GetEventTicketStatus(ctx context.Context, in *GetEventTicketStatusRequest, opts ...grpc.CallOption) (*GetEventTicketStatusReply, error) + GetEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetEphemeralKeyReply, error) + GetTicketStatus(ctx context.Context, in *GetTicketStatusRequest, opts ...grpc.CallOption) (*GetTicketStatusReply, error) GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) - PostFeedback(ctx context.Context, in *PostFeedbackRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) - PostFeedbackIDImageNr(ctx context.Context, in *PostFeedbackIDImageNrRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) + SendFeedback(ctx context.Context, in *SendFeedbackRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) + SendFeedbackImage(ctx context.Context, in *SendFeedbackImageRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) RegisterDevice(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) VerifyKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) DeviceUploadGcmToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) @@ -68,15 +67,14 @@ type CampusClient interface { GetNotification(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsReply, error) GetNotificationConfirm(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsConfirmReply, error) GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersReply, error) - PostChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostChatRoomsReply, error) - GetChatRoomsRoomId(ctx context.Context, in *GetChatRoomsRoomIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - PostChatRoomsRoomIdLeave(ctx context.Context, in *PostChatRoomsRoomIdLeaveRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - PostChatRoomsRoomIdAdd(ctx context.Context, in *PostChatRoomsRoomIdAddRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - PutChatRoomsSendMessage(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) - PutChatRoomsUpdateMessage(ctx context.Context, in *PutChatRoomsUpdateMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) - PostChatRoomsGetMessages(ctx context.Context, in *PostChatRoomsGetMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) - PostChatRoomsGetNewMessages(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) - PostChatCreateMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) + GetChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetChatRoomsReply, error) + GetChatRoomById(ctx context.Context, in *GetChatRoomByIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + LeaveChatRoom(ctx context.Context, in *LeaveChatRoomRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + AddUserToChatRoom(ctx context.Context, in *AddUserToChatRoomRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + SendChatMessage(ctx context.Context, in *SendChatMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) + UpdateChatMessage(ctx context.Context, in *UpdateChatMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) + GetChatMessages(ctx context.Context, in *GetChatMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) + CreateChatMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) @@ -315,36 +313,36 @@ func (c *campusClient) GetEventList(ctx context.Context, in *GetEventListRequest return out, nil } -func (c *campusClient) PostEventTicketMy(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostEventTicketMyReply, error) { - out := new(PostEventTicketMyReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicketMy", in, out, opts...) +func (c *campusClient) GetPurchasedTickets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPurchasedTicketsReply, error) { + out := new(GetPurchasedTicketsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetPurchasedTickets", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostEventTicket(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) { +func (c *campusClient) GetMyTicket(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) { out := new(EventListMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicket", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetMyTicket", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetEventTicketType(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) { +func (c *campusClient) GetTicketType(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) { out := new(GetEventTicketTypeReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetEventTicketType", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetTicketType", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostEventTicketReserveMultiple(ctx context.Context, in *PostEventTicketReserveMultipleRequest, opts ...grpc.CallOption) (*PostEventTicketReserveMultipleReply, error) { - out := new(PostEventTicketReserveMultipleReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicketReserveMultiple", in, out, opts...) +func (c *campusClient) ReserveMultipleTickets(ctx context.Context, in *ReserveMultipleTicketsRequest, opts ...grpc.CallOption) (*ReserveMultipleTicketsReply, error) { + out := new(ReserveMultipleTicketsReply) + err := c.cc.Invoke(ctx, "/api.Campus/ReserveMultipleTickets", in, out, opts...) if err != nil { return nil, err } @@ -360,18 +358,18 @@ func (c *campusClient) PurchaseTicketStripe(ctx context.Context, in *emptypb.Emp return out, nil } -func (c *campusClient) RetrieveEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RetrieveEphemeralKeyReply, error) { - out := new(RetrieveEphemeralKeyReply) - err := c.cc.Invoke(ctx, "/api.Campus/RetrieveEphemeralKey", in, out, opts...) +func (c *campusClient) GetEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetEphemeralKeyReply, error) { + out := new(GetEphemeralKeyReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetEphemeralKey", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetEventTicketStatus(ctx context.Context, in *GetEventTicketStatusRequest, opts ...grpc.CallOption) (*GetEventTicketStatusReply, error) { - out := new(GetEventTicketStatusReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetEventTicketStatus", in, out, opts...) +func (c *campusClient) GetTicketStatus(ctx context.Context, in *GetTicketStatusRequest, opts ...grpc.CallOption) (*GetTicketStatusReply, error) { + out := new(GetTicketStatusReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetTicketStatus", in, out, opts...) if err != nil { return nil, err } @@ -387,18 +385,18 @@ func (c *campusClient) GetKino(ctx context.Context, in *GetKinoRequest, opts ... return out, nil } -func (c *campusClient) PostFeedback(ctx context.Context, in *PostFeedbackRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) { - out := new(PostFeedbackReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostFeedback", in, out, opts...) +func (c *campusClient) SendFeedback(ctx context.Context, in *SendFeedbackRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) { + out := new(SendFeedbackImageReply) + err := c.cc.Invoke(ctx, "/api.Campus/SendFeedback", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostFeedbackIDImageNr(ctx context.Context, in *PostFeedbackIDImageNrRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) { - out := new(PostFeedbackReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostFeedbackIDImageNr", in, out, opts...) +func (c *campusClient) SendFeedbackImage(ctx context.Context, in *SendFeedbackImageRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) { + out := new(SendFeedbackImageReply) + err := c.cc.Invoke(ctx, "/api.Campus/SendFeedbackImage", in, out, opts...) if err != nil { return nil, err } @@ -468,81 +466,72 @@ func (c *campusClient) GetMembers(ctx context.Context, in *GetMembersRequest, op return out, nil } -func (c *campusClient) PostChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostChatRoomsReply, error) { - out := new(PostChatRoomsReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRooms", in, out, opts...) +func (c *campusClient) GetChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetChatRoomsReply, error) { + out := new(GetChatRoomsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetChatRooms", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetChatRoomsRoomId(ctx context.Context, in *GetChatRoomsRoomIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { +func (c *campusClient) GetChatRoomById(ctx context.Context, in *GetChatRoomByIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/GetChatRoomsRoomId", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetChatRoomById", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostChatRoomsRoomIdLeave(ctx context.Context, in *PostChatRoomsRoomIdLeaveRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { +func (c *campusClient) LeaveChatRoom(ctx context.Context, in *LeaveChatRoomRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsRoomIdLeave", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/LeaveChatRoom", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostChatRoomsRoomIdAdd(ctx context.Context, in *PostChatRoomsRoomIdAddRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { +func (c *campusClient) AddUserToChatRoom(ctx context.Context, in *AddUserToChatRoomRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsRoomIdAdd", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/AddUserToChatRoom", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PutChatRoomsSendMessage(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { +func (c *campusClient) SendChatMessage(ctx context.Context, in *SendChatMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { out := new(ChatMessageModelMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PutChatRoomsSendMessage", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/SendChatMessage", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PutChatRoomsUpdateMessage(ctx context.Context, in *PutChatRoomsUpdateMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { +func (c *campusClient) UpdateChatMessage(ctx context.Context, in *UpdateChatMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { out := new(ChatMessageModelMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PutChatRoomsUpdateMessage", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/UpdateChatMessage", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostChatRoomsGetMessages(ctx context.Context, in *PostChatRoomsGetMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { +func (c *campusClient) GetChatMessages(ctx context.Context, in *GetChatMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { out := new(ChatMessageModelMsg) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsGetMessages", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetChatMessages", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostChatRoomsGetNewMessages(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { - out := new(ChatMessageModelMsg) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsGetNewMessages", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PostChatCreateMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { +func (c *campusClient) CreateChatMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { out := new(ChatMemberMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatCreateMember", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/CreateChatMember", in, out, opts...) if err != nil { return nil, err } @@ -607,17 +596,16 @@ type CampusServer interface { GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) - // todo check again - PostEventTicketMy(context.Context, *emptypb.Empty) (*PostEventTicketMyReply, error) - PostEventTicket(context.Context, *PostEventTicketRequest) (*EventListMsgElement, error) - GetEventTicketType(context.Context, *PostEventTicketRequest) (*GetEventTicketTypeReply, error) - PostEventTicketReserveMultiple(context.Context, *PostEventTicketReserveMultipleRequest) (*PostEventTicketReserveMultipleReply, error) + GetPurchasedTickets(context.Context, *emptypb.Empty) (*GetPurchasedTicketsReply, error) + GetMyTicket(context.Context, *GetTicketRequest) (*EventListMsgElement, error) + GetTicketType(context.Context, *GetTicketRequest) (*GetEventTicketTypeReply, error) + ReserveMultipleTickets(context.Context, *ReserveMultipleTicketsRequest) (*ReserveMultipleTicketsReply, error) PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) - RetrieveEphemeralKey(context.Context, *emptypb.Empty) (*RetrieveEphemeralKeyReply, error) - GetEventTicketStatus(context.Context, *GetEventTicketStatusRequest) (*GetEventTicketStatusReply, error) + GetEphemeralKey(context.Context, *emptypb.Empty) (*GetEphemeralKeyReply, error) + GetTicketStatus(context.Context, *GetTicketStatusRequest) (*GetTicketStatusReply, error) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) - PostFeedback(context.Context, *PostFeedbackRequest) (*PostFeedbackReply, error) - PostFeedbackIDImageNr(context.Context, *PostFeedbackIDImageNrRequest) (*PostFeedbackReply, error) + SendFeedback(context.Context, *SendFeedbackRequest) (*SendFeedbackImageReply, error) + SendFeedbackImage(context.Context, *SendFeedbackImageRequest) (*SendFeedbackImageReply, error) RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) VerifyKey(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) DeviceUploadGcmToken(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) @@ -625,15 +613,14 @@ type CampusServer interface { GetNotification(context.Context, *NotificationsRequest) (*GetNotificationsReply, error) GetNotificationConfirm(context.Context, *NotificationsRequest) (*GetNotificationsConfirmReply, error) GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) - PostChatRooms(context.Context, *emptypb.Empty) (*PostChatRoomsReply, error) - GetChatRoomsRoomId(context.Context, *GetChatRoomsRoomIdRequest) (*ChatRoomsMsgElement, error) - PostChatRoomsRoomIdLeave(context.Context, *PostChatRoomsRoomIdLeaveRequest) (*ChatRoomsMsgElement, error) - PostChatRoomsRoomIdAdd(context.Context, *PostChatRoomsRoomIdAddRequest) (*ChatRoomsMsgElement, error) - PutChatRoomsSendMessage(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsgElement, error) - PutChatRoomsUpdateMessage(context.Context, *PutChatRoomsUpdateMessageRequest) (*ChatMessageModelMsgElement, error) - PostChatRoomsGetMessages(context.Context, *PostChatRoomsGetMessagesRequest) (*ChatMessageModelMsg, error) - PostChatRoomsGetNewMessages(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsg, error) - PostChatCreateMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) + GetChatRooms(context.Context, *emptypb.Empty) (*GetChatRoomsReply, error) + GetChatRoomById(context.Context, *GetChatRoomByIdRequest) (*ChatRoomsMsgElement, error) + LeaveChatRoom(context.Context, *LeaveChatRoomRequest) (*ChatRoomsMsgElement, error) + AddUserToChatRoom(context.Context, *AddUserToChatRoomRequest) (*ChatRoomsMsgElement, error) + SendChatMessage(context.Context, *SendChatMessageRequest) (*ChatMessageModelMsgElement, error) + UpdateChatMessage(context.Context, *UpdateChatMessageRequest) (*ChatMessageModelMsgElement, error) + GetChatMessages(context.Context, *GetChatMessagesRequest) (*ChatMessageModelMsg, error) + CreateChatMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) @@ -719,35 +706,35 @@ func (UnimplementedCampusServer) GetStudyRoomList(context.Context, *emptypb.Empt func (UnimplementedCampusServer) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetEventList not implemented") } -func (UnimplementedCampusServer) PostEventTicketMy(context.Context, *emptypb.Empty) (*PostEventTicketMyReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostEventTicketMy not implemented") +func (UnimplementedCampusServer) GetPurchasedTickets(context.Context, *emptypb.Empty) (*GetPurchasedTicketsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPurchasedTickets not implemented") } -func (UnimplementedCampusServer) PostEventTicket(context.Context, *PostEventTicketRequest) (*EventListMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostEventTicket not implemented") +func (UnimplementedCampusServer) GetMyTicket(context.Context, *GetTicketRequest) (*EventListMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMyTicket not implemented") } -func (UnimplementedCampusServer) GetEventTicketType(context.Context, *PostEventTicketRequest) (*GetEventTicketTypeReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetEventTicketType not implemented") +func (UnimplementedCampusServer) GetTicketType(context.Context, *GetTicketRequest) (*GetEventTicketTypeReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTicketType not implemented") } -func (UnimplementedCampusServer) PostEventTicketReserveMultiple(context.Context, *PostEventTicketReserveMultipleRequest) (*PostEventTicketReserveMultipleReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostEventTicketReserveMultiple not implemented") +func (UnimplementedCampusServer) ReserveMultipleTickets(context.Context, *ReserveMultipleTicketsRequest) (*ReserveMultipleTicketsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReserveMultipleTickets not implemented") } func (UnimplementedCampusServer) PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) { return nil, status.Errorf(codes.Unimplemented, "method PurchaseTicketStripe not implemented") } -func (UnimplementedCampusServer) RetrieveEphemeralKey(context.Context, *emptypb.Empty) (*RetrieveEphemeralKeyReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method RetrieveEphemeralKey not implemented") +func (UnimplementedCampusServer) GetEphemeralKey(context.Context, *emptypb.Empty) (*GetEphemeralKeyReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEphemeralKey not implemented") } -func (UnimplementedCampusServer) GetEventTicketStatus(context.Context, *GetEventTicketStatusRequest) (*GetEventTicketStatusReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetEventTicketStatus not implemented") +func (UnimplementedCampusServer) GetTicketStatus(context.Context, *GetTicketStatusRequest) (*GetTicketStatusReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTicketStatus not implemented") } func (UnimplementedCampusServer) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetKino not implemented") } -func (UnimplementedCampusServer) PostFeedback(context.Context, *PostFeedbackRequest) (*PostFeedbackReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostFeedback not implemented") +func (UnimplementedCampusServer) SendFeedback(context.Context, *SendFeedbackRequest) (*SendFeedbackImageReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendFeedback not implemented") } -func (UnimplementedCampusServer) PostFeedbackIDImageNr(context.Context, *PostFeedbackIDImageNrRequest) (*PostFeedbackReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostFeedbackIDImageNr not implemented") +func (UnimplementedCampusServer) SendFeedbackImage(context.Context, *SendFeedbackImageRequest) (*SendFeedbackImageReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendFeedbackImage not implemented") } func (UnimplementedCampusServer) RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { return nil, status.Errorf(codes.Unimplemented, "method RegisterDevice not implemented") @@ -770,32 +757,29 @@ func (UnimplementedCampusServer) GetNotificationConfirm(context.Context, *Notifi func (UnimplementedCampusServer) GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMembers not implemented") } -func (UnimplementedCampusServer) PostChatRooms(context.Context, *emptypb.Empty) (*PostChatRoomsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRooms not implemented") -} -func (UnimplementedCampusServer) GetChatRoomsRoomId(context.Context, *GetChatRoomsRoomIdRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatRoomsRoomId not implemented") +func (UnimplementedCampusServer) GetChatRooms(context.Context, *emptypb.Empty) (*GetChatRoomsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChatRooms not implemented") } -func (UnimplementedCampusServer) PostChatRoomsRoomIdLeave(context.Context, *PostChatRoomsRoomIdLeaveRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsRoomIdLeave not implemented") +func (UnimplementedCampusServer) GetChatRoomById(context.Context, *GetChatRoomByIdRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChatRoomById not implemented") } -func (UnimplementedCampusServer) PostChatRoomsRoomIdAdd(context.Context, *PostChatRoomsRoomIdAddRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsRoomIdAdd not implemented") +func (UnimplementedCampusServer) LeaveChatRoom(context.Context, *LeaveChatRoomRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method LeaveChatRoom not implemented") } -func (UnimplementedCampusServer) PutChatRoomsSendMessage(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PutChatRoomsSendMessage not implemented") +func (UnimplementedCampusServer) AddUserToChatRoom(context.Context, *AddUserToChatRoomRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddUserToChatRoom not implemented") } -func (UnimplementedCampusServer) PutChatRoomsUpdateMessage(context.Context, *PutChatRoomsUpdateMessageRequest) (*ChatMessageModelMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PutChatRoomsUpdateMessage not implemented") +func (UnimplementedCampusServer) SendChatMessage(context.Context, *SendChatMessageRequest) (*ChatMessageModelMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendChatMessage not implemented") } -func (UnimplementedCampusServer) PostChatRoomsGetMessages(context.Context, *PostChatRoomsGetMessagesRequest) (*ChatMessageModelMsg, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsGetMessages not implemented") +func (UnimplementedCampusServer) UpdateChatMessage(context.Context, *UpdateChatMessageRequest) (*ChatMessageModelMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateChatMessage not implemented") } -func (UnimplementedCampusServer) PostChatRoomsGetNewMessages(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsg, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsGetNewMessages not implemented") +func (UnimplementedCampusServer) GetChatMessages(context.Context, *GetChatMessagesRequest) (*ChatMessageModelMsg, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChatMessages not implemented") } -func (UnimplementedCampusServer) PostChatCreateMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatCreateMember not implemented") +func (UnimplementedCampusServer) CreateChatMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateChatMember not implemented") } func (UnimplementedCampusServer) GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) { return nil, status.Errorf(codes.Unimplemented, "method GetChatMemberByLrzId not implemented") @@ -1269,74 +1253,74 @@ func _Campus_GetEventList_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } -func _Campus_PostEventTicketMy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _Campus_GetPurchasedTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostEventTicketMy(ctx, in) + return srv.(CampusServer).GetPurchasedTickets(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostEventTicketMy", + FullMethod: "/api.Campus/GetPurchasedTickets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostEventTicketMy(ctx, req.(*emptypb.Empty)) + return srv.(CampusServer).GetPurchasedTickets(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostEventTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostEventTicketRequest) +func _Campus_GetMyTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTicketRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostEventTicket(ctx, in) + return srv.(CampusServer).GetMyTicket(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostEventTicket", + FullMethod: "/api.Campus/GetMyTicket", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostEventTicket(ctx, req.(*PostEventTicketRequest)) + return srv.(CampusServer).GetMyTicket(ctx, req.(*GetTicketRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetEventTicketType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostEventTicketRequest) +func _Campus_GetTicketType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTicketRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetEventTicketType(ctx, in) + return srv.(CampusServer).GetTicketType(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetEventTicketType", + FullMethod: "/api.Campus/GetTicketType", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetEventTicketType(ctx, req.(*PostEventTicketRequest)) + return srv.(CampusServer).GetTicketType(ctx, req.(*GetTicketRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostEventTicketReserveMultiple_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostEventTicketReserveMultipleRequest) +func _Campus_ReserveMultipleTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReserveMultipleTicketsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostEventTicketReserveMultiple(ctx, in) + return srv.(CampusServer).ReserveMultipleTickets(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostEventTicketReserveMultiple", + FullMethod: "/api.Campus/ReserveMultipleTickets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostEventTicketReserveMultiple(ctx, req.(*PostEventTicketReserveMultipleRequest)) + return srv.(CampusServer).ReserveMultipleTickets(ctx, req.(*ReserveMultipleTicketsRequest)) } return interceptor(ctx, in, info, handler) } @@ -1359,38 +1343,38 @@ func _Campus_PurchaseTicketStripe_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _Campus_RetrieveEphemeralKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _Campus_GetEphemeralKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).RetrieveEphemeralKey(ctx, in) + return srv.(CampusServer).GetEphemeralKey(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/RetrieveEphemeralKey", + FullMethod: "/api.Campus/GetEphemeralKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).RetrieveEphemeralKey(ctx, req.(*emptypb.Empty)) + return srv.(CampusServer).GetEphemeralKey(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetEventTicketStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetEventTicketStatusRequest) +func _Campus_GetTicketStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTicketStatusRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetEventTicketStatus(ctx, in) + return srv.(CampusServer).GetTicketStatus(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetEventTicketStatus", + FullMethod: "/api.Campus/GetTicketStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetEventTicketStatus(ctx, req.(*GetEventTicketStatusRequest)) + return srv.(CampusServer).GetTicketStatus(ctx, req.(*GetTicketStatusRequest)) } return interceptor(ctx, in, info, handler) } @@ -1413,38 +1397,38 @@ func _Campus_GetKino_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } -func _Campus_PostFeedback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostFeedbackRequest) +func _Campus_SendFeedback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendFeedbackRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostFeedback(ctx, in) + return srv.(CampusServer).SendFeedback(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostFeedback", + FullMethod: "/api.Campus/SendFeedback", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostFeedback(ctx, req.(*PostFeedbackRequest)) + return srv.(CampusServer).SendFeedback(ctx, req.(*SendFeedbackRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostFeedbackIDImageNr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostFeedbackIDImageNrRequest) +func _Campus_SendFeedbackImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendFeedbackImageRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostFeedbackIDImageNr(ctx, in) + return srv.(CampusServer).SendFeedbackImage(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostFeedbackIDImageNr", + FullMethod: "/api.Campus/SendFeedbackImage", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostFeedbackIDImageNr(ctx, req.(*PostFeedbackIDImageNrRequest)) + return srv.(CampusServer).SendFeedbackImage(ctx, req.(*SendFeedbackImageRequest)) } return interceptor(ctx, in, info, handler) } @@ -1575,164 +1559,146 @@ func _Campus_GetMembers_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Campus_PostChatRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _Campus_GetChatRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostChatRooms(ctx, in) + return srv.(CampusServer).GetChatRooms(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostChatRooms", + FullMethod: "/api.Campus/GetChatRooms", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRooms(ctx, req.(*emptypb.Empty)) + return srv.(CampusServer).GetChatRooms(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetChatRoomsRoomId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChatRoomsRoomIdRequest) +func _Campus_GetChatRoomById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChatRoomByIdRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetChatRoomsRoomId(ctx, in) + return srv.(CampusServer).GetChatRoomById(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetChatRoomsRoomId", + FullMethod: "/api.Campus/GetChatRoomById", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetChatRoomsRoomId(ctx, req.(*GetChatRoomsRoomIdRequest)) + return srv.(CampusServer).GetChatRoomById(ctx, req.(*GetChatRoomByIdRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostChatRoomsRoomIdLeave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostChatRoomsRoomIdLeaveRequest) +func _Campus_LeaveChatRoom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LeaveChatRoomRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostChatRoomsRoomIdLeave(ctx, in) + return srv.(CampusServer).LeaveChatRoom(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostChatRoomsRoomIdLeave", + FullMethod: "/api.Campus/LeaveChatRoom", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRoomsRoomIdLeave(ctx, req.(*PostChatRoomsRoomIdLeaveRequest)) + return srv.(CampusServer).LeaveChatRoom(ctx, req.(*LeaveChatRoomRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostChatRoomsRoomIdAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostChatRoomsRoomIdAddRequest) +func _Campus_AddUserToChatRoom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddUserToChatRoomRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostChatRoomsRoomIdAdd(ctx, in) + return srv.(CampusServer).AddUserToChatRoom(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostChatRoomsRoomIdAdd", + FullMethod: "/api.Campus/AddUserToChatRoom", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRoomsRoomIdAdd(ctx, req.(*PostChatRoomsRoomIdAddRequest)) + return srv.(CampusServer).AddUserToChatRoom(ctx, req.(*AddUserToChatRoomRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PutChatRoomsSendMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PutChatRoomsSendRoomIdRequest) +func _Campus_SendChatMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendChatMessageRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PutChatRoomsSendMessage(ctx, in) + return srv.(CampusServer).SendChatMessage(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PutChatRoomsSendMessage", + FullMethod: "/api.Campus/SendChatMessage", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PutChatRoomsSendMessage(ctx, req.(*PutChatRoomsSendRoomIdRequest)) + return srv.(CampusServer).SendChatMessage(ctx, req.(*SendChatMessageRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PutChatRoomsUpdateMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PutChatRoomsUpdateMessageRequest) +func _Campus_UpdateChatMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateChatMessageRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PutChatRoomsUpdateMessage(ctx, in) + return srv.(CampusServer).UpdateChatMessage(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PutChatRoomsUpdateMessage", + FullMethod: "/api.Campus/UpdateChatMessage", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PutChatRoomsUpdateMessage(ctx, req.(*PutChatRoomsUpdateMessageRequest)) + return srv.(CampusServer).UpdateChatMessage(ctx, req.(*UpdateChatMessageRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostChatRoomsGetMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostChatRoomsGetMessagesRequest) +func _Campus_GetChatMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChatMessagesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostChatRoomsGetMessages(ctx, in) + return srv.(CampusServer).GetChatMessages(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostChatRoomsGetMessages", + FullMethod: "/api.Campus/GetChatMessages", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRoomsGetMessages(ctx, req.(*PostChatRoomsGetMessagesRequest)) + return srv.(CampusServer).GetChatMessages(ctx, req.(*GetChatMessagesRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostChatRoomsGetNewMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PutChatRoomsSendRoomIdRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PostChatRoomsGetNewMessages(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PostChatRoomsGetNewMessages", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRoomsGetNewMessages(ctx, req.(*PutChatRoomsSendRoomIdRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PostChatCreateMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _Campus_CreateChatMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ChatMemberMsgElement) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostChatCreateMember(ctx, in) + return srv.(CampusServer).CreateChatMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostChatCreateMember", + FullMethod: "/api.Campus/CreateChatMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatCreateMember(ctx, req.(*ChatMemberMsgElement)) + return srv.(CampusServer).CreateChatMember(ctx, req.(*ChatMemberMsgElement)) } return interceptor(ctx, in, info, handler) } @@ -1899,44 +1865,44 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetEventList_Handler, }, { - MethodName: "PostEventTicketMy", - Handler: _Campus_PostEventTicketMy_Handler, + MethodName: "GetPurchasedTickets", + Handler: _Campus_GetPurchasedTickets_Handler, }, { - MethodName: "PostEventTicket", - Handler: _Campus_PostEventTicket_Handler, + MethodName: "GetMyTicket", + Handler: _Campus_GetMyTicket_Handler, }, { - MethodName: "GetEventTicketType", - Handler: _Campus_GetEventTicketType_Handler, + MethodName: "GetTicketType", + Handler: _Campus_GetTicketType_Handler, }, { - MethodName: "PostEventTicketReserveMultiple", - Handler: _Campus_PostEventTicketReserveMultiple_Handler, + MethodName: "ReserveMultipleTickets", + Handler: _Campus_ReserveMultipleTickets_Handler, }, { MethodName: "PurchaseTicketStripe", Handler: _Campus_PurchaseTicketStripe_Handler, }, { - MethodName: "RetrieveEphemeralKey", - Handler: _Campus_RetrieveEphemeralKey_Handler, + MethodName: "GetEphemeralKey", + Handler: _Campus_GetEphemeralKey_Handler, }, { - MethodName: "GetEventTicketStatus", - Handler: _Campus_GetEventTicketStatus_Handler, + MethodName: "GetTicketStatus", + Handler: _Campus_GetTicketStatus_Handler, }, { MethodName: "GetKino", Handler: _Campus_GetKino_Handler, }, { - MethodName: "PostFeedback", - Handler: _Campus_PostFeedback_Handler, + MethodName: "SendFeedback", + Handler: _Campus_SendFeedback_Handler, }, { - MethodName: "PostFeedbackIDImageNr", - Handler: _Campus_PostFeedbackIDImageNr_Handler, + MethodName: "SendFeedbackImage", + Handler: _Campus_SendFeedbackImage_Handler, }, { MethodName: "RegisterDevice", @@ -1967,40 +1933,36 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetMembers_Handler, }, { - MethodName: "PostChatRooms", - Handler: _Campus_PostChatRooms_Handler, - }, - { - MethodName: "GetChatRoomsRoomId", - Handler: _Campus_GetChatRoomsRoomId_Handler, + MethodName: "GetChatRooms", + Handler: _Campus_GetChatRooms_Handler, }, { - MethodName: "PostChatRoomsRoomIdLeave", - Handler: _Campus_PostChatRoomsRoomIdLeave_Handler, + MethodName: "GetChatRoomById", + Handler: _Campus_GetChatRoomById_Handler, }, { - MethodName: "PostChatRoomsRoomIdAdd", - Handler: _Campus_PostChatRoomsRoomIdAdd_Handler, + MethodName: "LeaveChatRoom", + Handler: _Campus_LeaveChatRoom_Handler, }, { - MethodName: "PutChatRoomsSendMessage", - Handler: _Campus_PutChatRoomsSendMessage_Handler, + MethodName: "AddUserToChatRoom", + Handler: _Campus_AddUserToChatRoom_Handler, }, { - MethodName: "PutChatRoomsUpdateMessage", - Handler: _Campus_PutChatRoomsUpdateMessage_Handler, + MethodName: "SendChatMessage", + Handler: _Campus_SendChatMessage_Handler, }, { - MethodName: "PostChatRoomsGetMessages", - Handler: _Campus_PostChatRoomsGetMessages_Handler, + MethodName: "UpdateChatMessage", + Handler: _Campus_UpdateChatMessage_Handler, }, { - MethodName: "PostChatRoomsGetNewMessages", - Handler: _Campus_PostChatRoomsGetNewMessages_Handler, + MethodName: "GetChatMessages", + Handler: _Campus_GetChatMessages_Handler, }, { - MethodName: "PostChatCreateMember", - Handler: _Campus_PostChatCreateMember_Handler, + MethodName: "CreateChatMember", + Handler: _Campus_CreateChatMember_Handler, }, { MethodName: "GetChatMemberByLrzId", diff --git a/api/buf.lock b/api/buf.lock index 29dd62d0..90431c92 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: 264612d2aca446faab191b46c53e00e2 + commit: e8ece2f0d0704600846d5cd689418436 diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index 5003762b..adaf2c4d 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -1,4 +1,5 @@ { +"basePath": "/v1", "swagger": "2.0", "info": { "title": "CampusService.proto", @@ -273,7 +274,7 @@ }, "/chat/members": { "post": { - "operationId": "Campus_PostChatCreateMember", + "operationId": "Campus_CreateChatMember", "responses": { "200": { "description": "A successful response.", @@ -413,12 +414,12 @@ }, "/chat/rooms": { "post": { - "operationId": "Campus_PostChatRooms", + "operationId": "Campus_GetChatRooms", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostChatRoomsReply" + "$ref": "#/definitions/apiGetChatRoomsReply" } }, "default": { @@ -445,7 +446,7 @@ }, "/chat/rooms/{roomId}": { "get": { - "operationId": "Campus_GetChatRoomsRoomId", + "operationId": "Campus_GetChatRoomById", "responses": { "200": { "description": "A successful response.", @@ -476,7 +477,7 @@ }, "/chat/rooms/{roomId}/add/{memberId}": { "post": { - "operationId": "Campus_PostChatRoomsRoomIdAdd", + "operationId": "Campus_AddUserToChatRoom", "responses": { "200": { "description": "A successful response.", @@ -514,7 +515,7 @@ }, "/chat/rooms/{roomId}/leave": { "post": { - "operationId": "Campus_PostChatRoomsRoomIdLeave", + "operationId": "Campus_LeaveChatRoom", "responses": { "200": { "description": "A successful response.", @@ -545,7 +546,7 @@ }, "/chat/rooms/{roomId}/message": { "put": { - "operationId": "Campus_PutChatRoomsSendMessage", + "operationId": "Campus_SendChatMessage", "responses": { "200": { "description": "A successful response.", @@ -576,7 +577,7 @@ }, "/chat/rooms/{roomId}/message/{messageId}": { "put": { - "operationId": "Campus_PutChatRoomsUpdateMessage", + "operationId": "Campus_UpdateChatMessage", "responses": { "200": { "description": "A successful response.", @@ -612,40 +613,9 @@ ] } }, - "/chat/rooms/{roomId}/messages": { - "post": { - "operationId": "Campus_PostChatRoomsGetNewMessages", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsg" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, "/chat/rooms/{roomId}/messages/{pageId}": { "post": { - "operationId": "Campus_PostChatRoomsGetMessages", + "operationId": "Campus_GetChatMessages", "responses": { "200": { "description": "A successful response.", @@ -954,13 +924,12 @@ }, "/event/ticket/my": { "post": { - "summary": "todo check again", - "operationId": "Campus_PostEventTicketMy", + "operationId": "Campus_GetPurchasedTickets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostEventTicketMyReply" + "$ref": "#/definitions/apiGetPurchasedTicketsReply" } }, "default": { @@ -977,12 +946,12 @@ }, "/event/ticket/payment/stripe/ephemeralkey": { "post": { - "operationId": "Campus_RetrieveEphemeralKey", + "operationId": "Campus_GetEphemeralKey", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiRetrieveEphemeralKeyReply" + "$ref": "#/definitions/apiGetEphemeralKeyReply" } }, "default": { @@ -1021,12 +990,12 @@ }, "/event/ticket/reserve/multiple": { "post": { - "operationId": "Campus_PostEventTicketReserveMultiple", + "operationId": "Campus_ReserveMultipleTickets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostEventTicketReserveMultipleReply" + "$ref": "#/definitions/apiReserveMultipleTicketsReply" } }, "default": { @@ -1067,12 +1036,12 @@ }, "/event/ticket/status/{eventId}": { "get": { - "operationId": "Campus_GetEventTicketStatus", + "operationId": "Campus_GetTicketStatus", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetEventTicketStatusReply" + "$ref": "#/definitions/apiGetTicketStatusReply" } }, "default": { @@ -1098,7 +1067,7 @@ }, "/event/ticket/type/{id}": { "get": { - "operationId": "Campus_GetEventTicketType", + "operationId": "Campus_GetTicketType", "responses": { "200": { "description": "A successful response.", @@ -1129,7 +1098,7 @@ }, "/event/ticket/{id}": { "post": { - "operationId": "Campus_PostEventTicket", + "operationId": "Campus_GetMyTicket", "responses": { "200": { "description": "A successful response.", @@ -1160,12 +1129,12 @@ }, "/feedback": { "post": { - "operationId": "Campus_PostFeedback", + "operationId": "Campus_SendFeedback", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostFeedbackReply" + "$ref": "#/definitions/apiSendFeedbackImageReply" } }, "default": { @@ -1241,12 +1210,12 @@ }, "/feedback/{id}/{imageNr}": { "post": { - "operationId": "Campus_PostFeedbackIDImageNr", + "operationId": "Campus_SendFeedbackImage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostFeedbackReply" + "$ref": "#/definitions/apiSendFeedbackImageReply" } }, "default": { @@ -1836,7 +1805,7 @@ "limit": { "type": "integer", "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" } } }, @@ -2000,7 +1969,7 @@ "limit": { "type": "integer", "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" } } }, @@ -2175,35 +2144,38 @@ } } }, - "apiGetDishesReply": { + "apiGetChatRoomsReply": { "type": "object", "properties": { - "dish": { + "rooms": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/apiChatRoomsMsgElement" } } } }, - "apiGetEventListReply": { + "apiGetDishesReply": { "type": "object", "properties": { - "events": { + "dish": { "type": "array", "items": { - "$ref": "#/definitions/apiEventListMsgElement" + "type": "string" } } } }, - "apiGetEventTicketStatusReply": { + "apiGetEphemeralKeyReply": { + "type": "object" + }, + "apiGetEventListReply": { "type": "object", "properties": { - "status": { + "events": { "type": "array", "items": { - "$ref": "#/definitions/apiTicketStatus" + "$ref": "#/definitions/apiEventListMsgElement" } } } @@ -2361,6 +2333,17 @@ } } }, + "apiGetPurchasedTicketsReply": { + "type": "object", + "properties": { + "myTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketMyMsgElement" + } + } + } + }, "apiGetRatingTagsReply": { "type": "object", "properties": { @@ -2465,6 +2448,17 @@ } } }, + "apiGetTicketStatusReply": { + "type": "object", + "properties": { + "status": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTicketStatus" + } + } + } + }, "apiGetTopNewsReply": { "type": "object", "properties": { @@ -2714,47 +2708,6 @@ } } }, - "apiPostChatRoomsReply": { - "type": "object", - "properties": { - "rooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatRoomsMsgElement" - } - } - } - }, - "apiPostEventTicketMyReply": { - "type": "object", - "properties": { - "myTickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketMyMsgElement" - } - } - } - }, - "apiPostEventTicketReserveMultipleReply": { - "type": "object", - "properties": { - "tickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" - } - } - } - }, - "apiPostFeedbackReply": { - "type": "object", - "properties": { - "status": { - "type": "string" - } - } - }, "apiPurchaseTicketStripeReply": { "type": "object", "properties": { @@ -2832,6 +2785,17 @@ } } }, + "apiReserveMultipleTicketsReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" + } + } + } + }, "apiResponsiblePersonElement": { "type": "object", "properties": { @@ -2852,9 +2816,6 @@ } } }, - "apiRetrieveEphemeralKeyReply": { - "type": "object" - }, "apiRoom": { "type": "object", "properties": { @@ -2940,6 +2901,14 @@ } } }, + "apiSendFeedbackImageReply": { + "type": "object", + "properties": { + "status": { + "type": "string" + } + } + }, "apiSingleRatingReply": { "type": "object", "properties": { diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index c85156c2..adaf2c4d 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -1,6 +1,4 @@ { -"basePath": "/v1", -"basePath": "/v1", "basePath": "/v1", "swagger": "2.0", "info": { @@ -21,12 +19,12 @@ "paths": { "/barrierfree/contacts": { "get": { - "operationId": "Campus_getResponsiblePerson", + "operationId": "Campus_GetResponsiblePerson", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetResponsiblePersonResponse" + "$ref": "#/definitions/apiGetResponsiblePersonReply" } }, "default": { @@ -43,12 +41,12 @@ }, "/barrierfree/getBuilding2Gps": { "get": { - "operationId": "Campus_getBuilding2Gps", + "operationId": "Campus_GetBuilding2Gps", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetBuilding2GpsResponse" + "$ref": "#/definitions/apiGetBuilding2GpsReply" } }, "default": { @@ -65,12 +63,12 @@ }, "/barrierfree/listOfElevators": { "get": { - "operationId": "Campus_getListOfElevators", + "operationId": "Campus_GetListOfElevators", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetListOfElevatorsResponse" + "$ref": "#/definitions/apiGetListOfElevatorsReply" } }, "default": { @@ -87,12 +85,12 @@ }, "/barrierfree/listOfToilets": { "get": { - "operationId": "Campus_getListOfToilets", + "operationId": "Campus_GetListOfToilets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetListOfToiletsResponse" + "$ref": "#/definitions/apiGetListOfToiletsReply" } }, "default": { @@ -109,12 +107,12 @@ }, "/barrierfree/moreInformation": { "get": { - "operationId": "Campus_getMoreInformation", + "operationId": "Campus_GetMoreInformation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetMoreInformationResponse" + "$ref": "#/definitions/apiGetMoreInformationReply" } }, "default": { @@ -131,12 +129,12 @@ }, "/barrierfree/nerby": { "get": { - "operationId": "Campus_getAreaFacilitiesByBuildingNr", + "operationId": "Campus_GetAreaFacilitiesByBuildingNr", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetAreaFacilitiesByBuildingNrResponse" + "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" } }, "default": { @@ -159,14 +157,17 @@ ] } }, - "/cafeteriaRating/cafeteria/allCafeterias": { + "/cafeteria/allCafeterias": { "get": { "operationId": "Campus_GetCafeterias", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetCafeteriaResponse" + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } }, "default": { @@ -181,14 +182,17 @@ ] } }, - "/cafeteriaRating/cafeteria/allTags": { + "/cafeteria/rating/allTags": { "get": { "operationId": "Campus_GetAvailableCafeteriaTags", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetRatingTagsReply" + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } } }, "default": { @@ -203,7 +207,7 @@ ] } }, - "/cafeteriaRating/cafeteria/get": { + "/cafeteria/rating/get": { "post": { "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", "operationId": "Campus_GetCafeteriaRatings", @@ -211,7 +215,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiCafeteriaRatingResponse" + "$ref": "#/definitions/apiCafeteriaRatingReply" } }, "default": { @@ -236,7 +240,7 @@ ] } }, - "/cafeteriaRating/cafeteria/newCafeteriaRating": { + "/cafeteria/rating/new": { "post": { "operationId": "Campus_NewCafeteriaRating", "responses": { @@ -268,14 +272,14 @@ ] } }, - "/cafeteriaRating/dish/get": { + "/chat/members": { "post": { - "operationId": "Campus_GetMealRatings", + "operationId": "Campus_CreateChatMember", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiMealRatingResponse" + "$ref": "#/definitions/apiChatMemberMsgElement" } }, "default": { @@ -287,12 +291,29 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiMealRatingRequest" - } + "name": "id", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "lrzId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "displayName", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "signature", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -300,14 +321,14 @@ ] } }, - "/cafeteriaRating/meal/allTags": { + "/chat/members/search/{query}": { "get": { - "operationId": "Campus_GetAvailableMealTags", + "operationId": "Campus_SearchMemberByName", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRatingTagsReply" + "$ref": "#/definitions/apiChatMemberMsg" } }, "default": { @@ -317,19 +338,27 @@ } } }, + "parameters": [ + { + "name": "query", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ "Campus" ] } }, - "/cafeteriaRating/meal/newMealRating": { - "post": { - "operationId": "Campus_NewMealRating", + "/chat/members/{lrzId}": { + "get": { + "operationId": "Campus_GetChatMemberByLrzId", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/apiChatMemberMsgElement" } }, "default": { @@ -341,12 +370,10 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "lrzId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiNewMealRatingRequest" - } + "type": "string" } ], "tags": [ @@ -354,18 +381,14 @@ ] } }, - "/locations/{location}": { - "get": { - "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", - "operationId": "Campus_GetLocations", + "/chat/members/{memberId}/rooms": { + "post": { + "operationId": "Campus_GetMemberRooms", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiGetLocationsReplyLocation" - } + "$ref": "#/definitions/apiGetMemberRoomsReply" } }, "default": { @@ -377,10 +400,11 @@ }, "parameters": [ { - "name": "location", + "name": "memberId", "in": "path", "required": true, - "type": "string" + "type": "integer", + "format": "int32" } ], "tags": [ @@ -388,17 +412,14 @@ ] } }, - "/news/sources": { - "get": { - "operationId": "Campus_GetNewsSources", + "/chat/rooms": { + "post": { + "operationId": "Campus_GetChatRooms", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiNewsSource" - } + "$ref": "#/definitions/apiGetChatRoomsReply" } }, "default": { @@ -408,19 +429,29 @@ } } }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "properties": {} + } + } + ], "tags": [ "Campus" ] } }, - "/news/top": { + "/chat/rooms/{roomId}": { "get": { - "operationId": "Campus_GetTopNews", + "operationId": "Campus_GetChatRoomById", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetTopNewsReply" + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -430,22 +461,28 @@ } } }, + "parameters": [ + { + "name": "roomId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], "tags": [ "Campus" ] } }, - "/roomfinder/maps": { + "/chat/rooms/{roomId}/add/{memberId}": { "post": { - "operationId": "Campus_GetRoomMaps", + "operationId": "Campus_AddUserToChatRoom", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomMapsReplyMap" - } + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -457,12 +494,18 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomMapsRequest" - } + "type": "integer", + "format": "int32" + }, + { + "name": "memberId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" } ], "tags": [ @@ -470,14 +513,14 @@ ] } }, - "/roomfinder/room/coordinates": { + "/chat/rooms/{roomId}/leave": { "post": { - "operationId": "Campus_GetRoomCoordinates", + "operationId": "Campus_LeaveChatRoom", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesReply" + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -489,12 +532,11 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesRequest" - } + "type": "integer", + "format": "int32" } ], "tags": [ @@ -502,17 +544,14 @@ ] } }, - "/roomfinder/room/scheduleById": { - "post": { - "operationId": "Campus_GetRoomSchedule", + "/chat/rooms/{roomId}/message": { + "put": { + "operationId": "Campus_SendChatMessage", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" - } + "$ref": "#/definitions/apiChatMessageModelMsgElement" } }, "default": { @@ -524,30 +563,64 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/chat/rooms/{roomId}/message/{messageId}": { + "put": { + "operationId": "Campus_UpdateChatMessage", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRoomScheduleRequest" + "$ref": "#/definitions/apiChatMessageModelMsgElement" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" } } + }, + "parameters": [ + { + "name": "roomId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "messageId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } ], "tags": [ "Campus" ] } }, - "/roomfinder/room/search": { + "/chat/rooms/{roomId}/messages/{pageId}": { "post": { - "operationId": "Campus_SearchRooms", + "operationId": "Campus_GetChatMessages", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoom" - } + "$ref": "#/definitions/apiChatMessageModelMsg" } }, "default": { @@ -559,198 +632,1594 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiSearchRoomsRequest" - } + "type": "integer", + "format": "int32" + }, + { + "name": "pageId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" } ], "tags": [ "Campus" ] } - } - }, - "definitions": { - "GetRoomMapsReplyMap": { - "type": "object", - "properties": { - "mapId": { - "type": "string", - "format": "int64" - }, - "description": { - "type": "string" - }, - "scale": { - "type": "string", - "format": "int64" - }, - "width": { - "type": "string", - "format": "int64" + }, + "/device/addGcmToken": { + "post": { + "operationId": "Campus_DeviceUploadGcmToken", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } }, - "height": { - "type": "string", - "format": "int64" - } + "tags": [ + "Campus" + ] } }, - "GetRoomScheduleReplyRoomScheduleEvent": { - "type": "object", - "properties": { - "start": { - "type": "string", - "format": "date-time" - }, - "end": { - "type": "string", - "format": "date-time" - }, - "title": { - "type": "string" - }, - "eventId": { - "type": "integer", - "format": "int32" + "/device/register": { + "post": { + "operationId": "Campus_RegisterDevice", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } }, - "courseCode": { - "type": "string" - } + "tags": [ + "Campus" + ] } }, - "apiBuilding2GpsElement": { - "type": "object", - "properties": { + "/device/uploaded/{lrzId}": { + "get": { + "operationId": "Campus_GetUploadStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetUploadStatusReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/device/verifyKey": { + "get": { + "operationId": "Campus_VerifyKey", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/dish/allDishes": { + "get": { + "operationId": "Campus_GetDishes", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "cafeteriaId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "year", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "month", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "day", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/allTags": { + "get": { + "operationId": "Campus_GetAvailableDishTags", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/get": { + "post": { + "operationId": "Campus_GetDishRatings", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiDishRatingReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiDishRatingRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/new": { + "post": { + "operationId": "Campus_NewDishRating", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "properties": {} + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiNewDishRatingRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/list": { + "get": { + "operationId": "Campus_GetEventList", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventListReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "eventId", + "description": "optional parameter, will return all events if no id is specified", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/my": { + "post": { + "operationId": "Campus_GetPurchasedTickets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetPurchasedTicketsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/payment/stripe/ephemeralkey": { + "post": { + "operationId": "Campus_GetEphemeralKey", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEphemeralKeyReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/payment/stripe/purchase/multiple": { + "post": { + "operationId": "Campus_PurchaseTicketStripe", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPurchaseTicketStripeReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/reserve/multiple": { + "post": { + "operationId": "Campus_ReserveMultipleTickets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiReserveMultipleTicketsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "ticketTypes", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "collectionFormat": "multi" + }, + { + "name": "amounts", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/status/{eventId}": { + "get": { + "operationId": "Campus_GetTicketStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetTicketStatusReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "eventId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/type/{id}": { + "get": { + "operationId": "Campus_GetTicketType", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventTicketTypeReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/{id}": { + "post": { + "operationId": "Campus_GetMyTicket", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiEventListMsgElement" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/feedback": { + "post": { + "operationId": "Campus_SendFeedback", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiSendFeedbackImageReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "topic", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "email", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "emailId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "message", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "imageCount", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "latitude", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "longitude", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "osVersion", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "appVersion", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/feedback/{id}/{imageNr}": { + "post": { + "operationId": "Campus_SendFeedbackImage", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiSendFeedbackImageReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "imageNr", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/kino/{lastId}": { + "get": { + "operationId": "Campus_GetKino", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetKinoReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lastId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/locations/{location}": { + "get": { + "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", + "operationId": "Campus_GetLocations", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiGetLocationsReplyLocation" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/members/{lrzId}": { + "get": { + "operationId": "Campus_GetMembers", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetMembersReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/news/sources": { + "get": { + "operationId": "Campus_GetNewsSources", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiNewsSource" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/news/top": { + "get": { + "operationId": "Campus_GetTopNews", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetTopNewsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/notifications": { + "get": { + "operationId": "Campus_GetNotification", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetNotificationsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "notificationId", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/notifications/confirm/{notificationId}": { + "get": { + "operationId": "Campus_GetNotificationConfirm", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetNotificationsConfirmReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "notificationId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/openingtimes/{language}": { + "get": { + "operationId": "Campus_GetOpeningTimes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetOpeningTimesReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "language", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/maps": { + "post": { + "operationId": "Campus_GetRoomMaps", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomMapsReplyMap" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomMapsRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/coordinates": { + "post": { + "operationId": "Campus_GetRoomCoordinates", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/scheduleById": { + "post": { + "operationId": "Campus_GetRoomSchedule", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomScheduleRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/search": { + "post": { + "operationId": "Campus_SearchRooms", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoom" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiSearchRoomsRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/studyroom/list": { + "get": { + "operationId": "Campus_GetStudyRoomList", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetStudyRoomListReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/updatenote/{version}": { + "get": { + "operationId": "Campus_GetUpdateNote", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetUpdateNoteReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "version", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + } + }, + "definitions": { + "GetRoomMapsReplyMap": { + "type": "object", + "properties": { + "mapId": { + "type": "string", + "format": "int64" + }, + "description": { + "type": "string" + }, + "scale": { + "type": "string", + "format": "int64" + }, + "width": { + "type": "string", + "format": "int64" + }, + "height": { + "type": "string", + "format": "int64" + } + } + }, + "GetRoomScheduleReplyRoomScheduleEvent": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" + }, + "title": { + "type": "string" + }, + "eventId": { + "type": "integer", + "format": "int32" + }, + "courseCode": { + "type": "string" + } + } + }, + "apiBuilding2GpsElement": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "latitude": { + "type": "string" + }, + "longitude": { + "type": "string" + } + } + }, + "apiCafeteria": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "address": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { + "type": "number", + "format": "double" + } + } + }, + "apiCafeteriaRatingReply": { + "type": "object", + "properties": { + "rating": { + "type": "array", + "items": { + "$ref": "#/definitions/apiSingleRatingReply" + } + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + } + } + }, + "apiCafeteriaRatingRequest": { + "type": "object", + "properties": { + "cafeteriaId": { + "type": "string", + "title": "cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" + } + } + }, + "apiChatMemberMsg": { + "type": "object", + "properties": { + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatMemberMsgElement" + } + } + } + }, + "apiChatMemberMsgElement": { + "type": "object", + "properties": { "id": { + "type": "integer", + "format": "int32" + }, + "lrzId": { "type": "string" }, - "latitude": { + "displayName": { "type": "string" }, - "longitude": { + "signature": { + "type": "string" + } + } + }, + "apiChatMessageModelMsg": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatMessageModelMsgElement" + } + } + } + }, + "apiChatMessageModelMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "previous": { + "type": "integer", + "format": "int32" + }, + "room": { + "type": "integer", + "format": "int32" + }, + "text": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string" + }, + "memberId": { + "type": "integer", + "format": "int32" + }, + "sendingStatus": { + "type": "integer", + "format": "int32" + } + } + }, + "apiChatRoomsMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "semester": { + "type": "string" + }, + "title": { + "type": "string" + }, + "members": { + "type": "integer", + "format": "int32" + } + } + }, + "apiDishRatingReply": { + "type": "object", + "properties": { + "rating": { + "type": "array", + "items": { + "$ref": "#/definitions/apiSingleRatingReply" + } + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + }, + "nameTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + } + } + }, + "apiDishRatingRequest": { + "type": "object", + "properties": { + "cafeteriaId": { + "type": "string", + "title": "Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" + }, + "dish": { + "type": "string", + "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" + } + } + }, + "apiEventListMsgElement": { + "type": "object", + "properties": { + "name": { "type": "string" + }, + "path": { + "type": "string" + }, + "event": { + "type": "integer", + "format": "int32" + }, + "news": { + "type": "integer", + "format": "int32" + }, + "kino": { + "type": "integer", + "format": "int32" + }, + "file": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "locality": { + "type": "string" + }, + "link": { + "type": "string" + }, + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" + }, + "ticketGroup": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketMyMsgElement": { + "type": "object", + "properties": { + "ticketHistory": { + "type": "integer", + "format": "int32" + }, + "ticketType": { + "type": "integer", + "format": "int32" + }, + "redemption": { + "type": "string", + "format": "date-time" + }, + "code": { + "type": "string" + }, + "event": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketPaymentMsg": { + "type": "object", + "properties": { + "stripePublishableKey": { + "type": "string" + }, + "terms": { + "type": "string" + }, + "minTickets": { + "type": "integer", + "format": "int32" + }, + "maxTickets": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketReserveMultipleMsgElement": { + "type": "object", + "properties": { + "ticketIds": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketTypeMsgElement": { + "type": "object", + "properties": { + "ticketType": { + "type": "integer", + "format": "int32" + }, + "event": { + "type": "integer", + "format": "int32" + }, + "ticketPayment": { + "type": "integer", + "format": "int32" + }, + "price": { + "type": "integer", + "format": "int32" + }, + "contingent": { + "type": "integer", + "format": "int32" + }, + "description": { + "type": "string" + }, + "payment": { + "$ref": "#/definitions/apiEventTicketPaymentMsg" + }, + "sold": { + "type": "integer", + "format": "int32" + } + } + }, + "apiGetAreaFacilitiesByBuildingNrReply": { + "type": "object", + "properties": { + "areaFacilitiesByBuildingNr": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apiGetBuilding2GpsReply": { + "type": "object", + "properties": { + "building2Gps": { + "type": "array", + "items": { + "$ref": "#/definitions/apiBuilding2GpsElement" + } + } + } + }, + "apiGetCafeteriaReply": { + "type": "object", + "properties": { + "cafeteria": { + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } } }, - "apiCafeteria": { + "apiGetChatRoomsReply": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "address": { - "type": "string" - }, - "longitude": { - "type": "number", - "format": "double" - }, - "latitude": { - "type": "number", - "format": "double" + "rooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatRoomsMsgElement" + } } } }, - "apiCafeteriaRating": { + "apiGetDishesReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" - }, - "tagRating": { + "dish": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingResult" + "type": "string" } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" } } }, - "apiCafeteriaRatingRequest": { + "apiGetEphemeralKeyReply": { + "type": "object" + }, + "apiGetEventListReply": { "type": "object", "properties": { - "cafeteriaName": { - "type": "string", - "title": "cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme)" - }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" - }, - "to": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" - }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventListMsgElement" + } } } }, - "apiCafeteriaRatingResponse": { + "apiGetEventTicketTypeReply": { "type": "object", "properties": { - "rating": { + "eventTickets": { "type": "array", "items": { - "$ref": "#/definitions/apiCafeteriaRating" + "$ref": "#/definitions/apiEventTicketTypeMsgElement" } - }, - "averagePoints": { - "type": "number", - "format": "double" - }, - "standardDeviation": { - "type": "number", - "format": "double" - }, - "minPoints": { - "type": "integer", - "format": "int32" - }, - "maxPoints": { - "type": "integer", - "format": "int32" - }, - "ratingTags": { + } + } + }, + "apiGetKinoReply": { + "type": "object", + "properties": { + "kinos": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingsResult" + "$ref": "#/definitions/apiKinoMsgElement" } } } }, - "apiGetCafeteriaResponse": { + "apiGetListOfElevatorsReply": { "type": "object", "properties": { - "cafeteria": { + "listOfElevators": { "type": "array", "items": { - "$ref": "#/definitions/apiCafeteria" + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apiGetListOfToiletsReply": { + "type": "object", + "properties": { + "listOfToilets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" } } } @@ -786,13 +2255,113 @@ } } }, + "apiGetMemberRoomsReply": { + "type": "object", + "properties": { + "chatRooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatRoomsMsgElement" + } + } + } + }, + "apiGetMembersReply": { + "type": "object", + "properties": { + "lrzId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "memberId": { + "type": "integer", + "format": "int32" + } + } + }, + "apiGetMoreInformationReply": { + "type": "object", + "properties": { + "information": { + "type": "array", + "items": { + "$ref": "#/definitions/apiMoreInformationElement" + } + } + } + }, + "apiGetNotificationsConfirmReply": { + "type": "object", + "properties": { + "status": { + "type": "string" + } + } + }, + "apiGetNotificationsReply": { + "type": "object", + "properties": { + "notificationId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "signature": { + "type": "string" + } + } + }, + "apiGetOpeningTimesReply": { + "type": "object", + "properties": { + "facilities": { + "type": "array", + "items": { + "$ref": "#/definitions/apiOpeningTimesMsgElement" + } + } + } + }, + "apiGetPurchasedTicketsReply": { + "type": "object", + "properties": { + "myTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketMyMsgElement" + } + } + } + }, "apiGetRatingTagsReply": { "type": "object", "properties": { - "tags": { + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } + } + } + }, + "apiGetResponsiblePersonReply": { + "type": "object", + "properties": { + "responsiblePerson": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingOverview" + "$ref": "#/definitions/apiResponsiblePersonElement" } } } @@ -868,6 +2437,28 @@ } } }, + "apiGetStudyRoomListReply": { + "type": "object", + "properties": { + "rooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiStudyRoomMsgElement" + } + } + } + }, + "apiGetTicketStatusReply": { + "type": "object", + "properties": { + "status": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTicketStatus" + } + } + } + }, "apiGetTopNewsReply": { "type": "object", "properties": { @@ -891,107 +2482,88 @@ } } }, - "apiMealRating": { + "apiGetUpdateNoteReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "meal": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "message": { + "type": "string" + } + } + }, + "apiGetUploadStatusReply": { + "type": "object", + "properties": { + "fcmToken": { + "type": "string" }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" + "publicKey": { + "type": "string" }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" + "studentId": { + "type": "boolean" }, - "tagRating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingResult" - } + "employeeId": { + "type": "boolean" }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" + "externalId": { + "type": "boolean" } } }, - "apiMealRatingRequest": { + "apiKinoMsgElement": { "type": "object", "properties": { - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the cafeteria (EAT-API naming scheme)" + "name": { + "type": "string" }, - "meal": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "path": { + "type": "string" }, - "from": { + "kino": { + "type": "integer", + "format": "int32" + }, + "date": { "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + "format": "date-time" }, - "to": { + "created": { "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + "format": "date-time" }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" - } - } - }, - "apiMealRatingResponse": { - "type": "object", - "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMealRating" - } + "title": { + "type": "string" + }, + "year": { + "type": "string" }, - "averagePoints": { - "type": "number", - "format": "double" + "runtime": { + "type": "string" }, - "standardDeviation": { - "type": "number", - "format": "double" + "genre": { + "type": "string" }, - "minPoints": { - "type": "integer", - "format": "int32" + "director": { + "type": "string" + }, + "actors": { + "type": "string" + }, + "rating": { + "type": "string" + }, + "description": { + "type": "string" }, - "maxPoints": { + "cover": { "type": "integer", "format": "int32" }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingsResult" - } + "trailer": { + "type": "string" }, - "nameTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingsResult" - } + "link": { + "type": "string" } } }, @@ -1017,17 +2589,17 @@ "format": "int32", "title": "number in the range 1-5" }, - "cafeteriaName": { + "cafeteriaId": { "type": "string" }, "image": { "type": "string", "format": "byte" }, - "tags": { + "ratingTags": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiRatingTag" }, "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" }, @@ -1037,7 +2609,7 @@ } } }, - "apiNewMealRatingRequest": { + "apiNewDishRatingRequest": { "type": "object", "properties": { "points": { @@ -1045,25 +2617,25 @@ "format": "int32", "title": "number in the range 1-5" }, - "cafeteriaName": { + "cafeteriaId": { "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "title": "Mandatory Name of the dish (EAT-API naming scheme \"MENSA_GARCHING\") Must be available int the given mensa" }, - "meal": { + "dish": { "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", "format": "byte", "title": "Optional JPEG image in Base64" }, - "tags": { + "ratingTags": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiRatingTag" }, - "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags" + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags" }, "comment": { "type": "string", @@ -1096,6 +2668,134 @@ } } }, + "apiOpeningTimesMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "category": { + "type": "string" + }, + "name": { + "type": "string" + }, + "address": { + "type": "string" + }, + "room": { + "type": "string" + }, + "transportStation": { + "type": "string" + }, + "openingHours": { + "type": "string" + }, + "infos": { + "type": "string" + }, + "url": { + "type": "string" + }, + "language": { + "type": "string" + }, + "referenceId": { + "type": "integer", + "format": "int32" + } + } + }, + "apiPurchaseTicketStripeReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTicketMessageElement" + } + } + } + }, + "apiRatingTag": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "points": { + "type": "number", + "format": "double" + } + } + }, + "apiRatingTagNewRequest": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "points": { + "type": "integer", + "format": "int32" + } + } + }, + "apiRatingTagResult": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + } + } + }, + "apiRatingTagsOverview": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "de": { + "type": "string" + }, + "en": { + "type": "string" + } + } + }, + "apiReserveMultipleTicketsReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" + } + } + } + }, "apiResponsiblePersonElement": { "type": "object", "properties": { @@ -1201,134 +2901,132 @@ } } }, - "apiTagRating": { + "apiSendFeedbackImageReply": { "type": "object", "properties": { - "tag": { + "status": { "type": "string" - }, - "points": { - "type": "number", - "format": "double" } } }, - "apiTagRatingOverview": { + "apiSingleRatingReply": { "type": "object", "properties": { - "DE": { - "type": "string" + "points": { + "type": "integer", + "format": "int32", + "title": "number in the range 1-5" }, - "EN": { - "type": "string" + "image": { + "type": "string", + "format": "byte", + "title": "Optional JPEG image in Base64" + }, + "comment": { + "type": "string", + "title": "Optional comment (max 256 chars)" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagNewRequest" + } + }, + "visited": { + "type": "string", + "format": "date-time" } } }, - "apiTagRatingResult": { + "apiStudyRoom": { "type": "object", "properties": { - "DE": { + "groupId": { + "type": "integer", + "format": "int32" + }, + "roomId": { + "type": "integer", + "format": "int32" + }, + "roomCode": { "type": "string" }, - "EN": { + "roomName": { "type": "string" }, - "points": { - "type": "integer", - "format": "int32" + "buildingName": { + "type": "string" } } }, - "apiTagRatingsResult": { + "apiStudyRoomMsgElement": { "type": "object", "properties": { - "DE": { - "type": "string" + "id": { + "type": "integer", + "format": "int32" }, - "EN": { + "name": { "type": "string" }, - "averagePoints": { - "type": "number", - "format": "double" - }, - "standardDeviation": { - "type": "number", - "format": "double" - }, - "minPoints": { - "type": "integer", - "format": "int32" + "details": { + "type": "string" }, - "maxPoints": { - "type": "integer", - "format": "int32" - } - } - }, - "apigetAreaFacilitiesByBuildingNrResponse": { - "type": "object", - "properties": { - "areaFacilitiesByBuildingNr": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apigetBuilding2GpsResponse": { - "type": "object", - "properties": { - "building2Gps": { - "type": "array", - "items": { - "$ref": "#/definitions/apiBuilding2GpsElement" - } - } - } - }, - "apigetListOfElevatorsResponse": { - "type": "object", - "properties": { - "listOfElevators": { + "rooms": { "type": "array", "items": { - "$ref": "#/definitions/apiRoomInformationElement" + "$ref": "#/definitions/apiStudyRoom" } } } }, - "apigetListOfToiletsResponse": { + "apiTUMCabeStatus": { "type": "object", "properties": { - "listOfToilets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } + "status": { + "type": "string" } } }, - "apigetMoreInformationResponse": { + "apiTicketMessageElement": { "type": "object", "properties": { - "information": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMoreInformationElement" - } + "id": { + "type": "integer", + "format": "int32" + }, + "eventId": { + "type": "integer", + "format": "int32" + }, + "code": { + "type": "string" + }, + "ticketTypeId": { + "type": "integer", + "format": "int32" + }, + "redemption": { + "type": "string", + "format": "date-time" } } }, - "apigetResponsiblePersonResponse": { + "apiTicketStatus": { "type": "object", "properties": { - "responsiblePerson": { - "type": "array", - "items": { - "$ref": "#/definitions/apiResponsiblePersonElement" - } + "ticketType": { + "type": "integer", + "format": "int32" + }, + "contingent": { + "type": "integer", + "format": "int32" + }, + "sold": { + "type": "integer", + "format": "int32" } } }, From 455511767720d5b048b880c50889c218e3890b23 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann <32565407+tobiasjungmann@users.noreply.github.com> Date: Sun, 3 Jul 2022 09:52:51 +0200 Subject: [PATCH 16/24] adapted proto file with new call ind error fixes (#76) --- api/CampusService.pb.go | 7928 +++--------------- api/CampusService.pb.gw.go | 3969 +-------- api/CampusService.proto | 847 +- api/CampusService_grpc.pb.go | 1716 +--- api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 2711 +----- server/swagger/swagger.json | 2711 +----- 7 files changed, 2131 insertions(+), 17753 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index 1d2fe311..524d9179 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -530,7 +530,7 @@ type Room struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` + RoomId int32 `protobuf:"varint,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` RoomCode string `protobuf:"bytes,2,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` BuildingNr string `protobuf:"bytes,3,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` ArchId string `protobuf:"bytes,4,opt,name=arch_id,json=archId,proto3" json:"arch_id,omitempty"` @@ -830,14 +830,10 @@ type CafeteriaRatingRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") - CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` - // Optional Parameter to define an interval for the ratings (Lower bound) - From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` - // Optional Parameter to define an interval for the ratings (Upper bound) - To *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` - // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" - Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` + CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` + To *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` + Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *CafeteriaRatingRequest) Reset() { @@ -872,9 +868,9 @@ func (*CafeteriaRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{14} } -func (x *CafeteriaRatingRequest) GetCafeteriaId() string { +func (x *CafeteriaRatingRequest) GetCafeteriaName() string { if x != nil { - return x.CafeteriaId + return x.CafeteriaName } return "" } @@ -900,25 +896,20 @@ func (x *CafeteriaRatingRequest) GetLimit() int32 { return 0 } -type DishRatingRequest struct { +type MealRatingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") - CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` - // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa - Dish string `protobuf:"bytes,2,opt,name=dish,proto3" json:"dish,omitempty"` - // Optional Parameter to define an interval for the ratings (Lower bound) - From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` - // Optional Parameter to define an interval for the ratings (Upper bound) - To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` - // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" - Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` + CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + Meal string `protobuf:"bytes,2,opt,name=meal,proto3" json:"meal,omitempty"` + From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` + To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` + Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` } -func (x *DishRatingRequest) Reset() { - *x = DishRatingRequest{} +func (x *MealRatingsRequest) Reset() { + *x = MealRatingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -926,13 +917,13 @@ func (x *DishRatingRequest) Reset() { } } -func (x *DishRatingRequest) String() string { +func (x *MealRatingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DishRatingRequest) ProtoMessage() {} +func (*MealRatingsRequest) ProtoMessage() {} -func (x *DishRatingRequest) ProtoReflect() protoreflect.Message { +func (x *MealRatingsRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -944,61 +935,60 @@ func (x *DishRatingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DishRatingRequest.ProtoReflect.Descriptor instead. -func (*DishRatingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use MealRatingsRequest.ProtoReflect.Descriptor instead. +func (*MealRatingsRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{15} } -func (x *DishRatingRequest) GetCafeteriaId() string { +func (x *MealRatingsRequest) GetCafeteriaName() string { if x != nil { - return x.CafeteriaId + return x.CafeteriaName } return "" } -func (x *DishRatingRequest) GetDish() string { +func (x *MealRatingsRequest) GetMeal() string { if x != nil { - return x.Dish + return x.Meal } return "" } -func (x *DishRatingRequest) GetFrom() *timestamppb.Timestamp { +func (x *MealRatingsRequest) GetFrom() *timestamppb.Timestamp { if x != nil { return x.From } return nil } -func (x *DishRatingRequest) GetTo() *timestamppb.Timestamp { +func (x *MealRatingsRequest) GetTo() *timestamppb.Timestamp { if x != nil { return x.To } return nil } -func (x *DishRatingRequest) GetLimit() int32 { +func (x *MealRatingsRequest) GetLimit() int32 { if x != nil { return x.Limit } return 0 } -type CafeteriaRatingReply struct { +type CafeteriaRatingResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*SingleRatingReply `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` - Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` - Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` - Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` - RatingTags []*RatingTagResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + Rating []*CafeteriaRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + AverageRating float64 `protobuf:"fixed64,2,opt,name=averageRating,proto3" json:"averageRating,omitempty"` + MinRating int32 `protobuf:"varint,3,opt,name=minRating,proto3" json:"minRating,omitempty"` + MaxRating int32 `protobuf:"varint,4,opt,name=maxRating,proto3" json:"maxRating,omitempty"` + RatingTags []*TagRatingsResult `protobuf:"bytes,5,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` } -func (x *CafeteriaRatingReply) Reset() { - *x = CafeteriaRatingReply{} +func (x *CafeteriaRatingResponse) Reset() { + *x = CafeteriaRatingResponse{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1006,13 +996,13 @@ func (x *CafeteriaRatingReply) Reset() { } } -func (x *CafeteriaRatingReply) String() string { +func (x *CafeteriaRatingResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CafeteriaRatingReply) ProtoMessage() {} +func (*CafeteriaRatingResponse) ProtoMessage() {} -func (x *CafeteriaRatingReply) ProtoReflect() protoreflect.Message { +func (x *CafeteriaRatingResponse) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1024,69 +1014,61 @@ func (x *CafeteriaRatingReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CafeteriaRatingReply.ProtoReflect.Descriptor instead. -func (*CafeteriaRatingReply) Descriptor() ([]byte, []int) { +// Deprecated: Use CafeteriaRatingResponse.ProtoReflect.Descriptor instead. +func (*CafeteriaRatingResponse) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{16} } -func (x *CafeteriaRatingReply) GetRating() []*SingleRatingReply { +func (x *CafeteriaRatingResponse) GetRating() []*CafeteriaRating { if x != nil { return x.Rating } return nil } -func (x *CafeteriaRatingReply) GetAvg() float64 { +func (x *CafeteriaRatingResponse) GetAverageRating() float64 { if x != nil { - return x.Avg + return x.AverageRating } return 0 } -func (x *CafeteriaRatingReply) GetStd() float64 { +func (x *CafeteriaRatingResponse) GetMinRating() int32 { if x != nil { - return x.Std + return x.MinRating } return 0 } -func (x *CafeteriaRatingReply) GetMin() int32 { +func (x *CafeteriaRatingResponse) GetMaxRating() int32 { if x != nil { - return x.Min + return x.MaxRating } return 0 } -func (x *CafeteriaRatingReply) GetMax() int32 { - if x != nil { - return x.Max - } - return 0 -} - -func (x *CafeteriaRatingReply) GetRatingTags() []*RatingTagResult { +func (x *CafeteriaRatingResponse) GetRatingTags() []*TagRatingsResult { if x != nil { return x.RatingTags } return nil } -type DishRatingReply struct { +type MealRatingsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*SingleRatingReply `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` - Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` - Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` - Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` - RatingTags []*RatingTagResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` - NameTags []*RatingTagResult `protobuf:"bytes,7,rep,name=nameTags,proto3" json:"nameTags,omitempty"` + Rating []*MealRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + AverageRating float64 `protobuf:"fixed64,2,opt,name=averageRating,proto3" json:"averageRating,omitempty"` + MinRating int32 `protobuf:"varint,3,opt,name=minRating,proto3" json:"minRating,omitempty"` + MaxRating int32 `protobuf:"varint,4,opt,name=maxRating,proto3" json:"maxRating,omitempty"` + RatingTags []*TagRatingsResult `protobuf:"bytes,5,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + NameTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=nameTags,proto3" json:"nameTags,omitempty"` } -func (x *DishRatingReply) Reset() { - *x = DishRatingReply{} +func (x *MealRatingsResponse) Reset() { + *x = MealRatingsResponse{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1094,13 +1076,13 @@ func (x *DishRatingReply) Reset() { } } -func (x *DishRatingReply) String() string { +func (x *MealRatingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DishRatingReply) ProtoMessage() {} +func (*MealRatingsResponse) ProtoMessage() {} -func (x *DishRatingReply) ProtoReflect() protoreflect.Message { +func (x *MealRatingsResponse) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1112,77 +1094,68 @@ func (x *DishRatingReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DishRatingReply.ProtoReflect.Descriptor instead. -func (*DishRatingReply) Descriptor() ([]byte, []int) { +// Deprecated: Use MealRatingsResponse.ProtoReflect.Descriptor instead. +func (*MealRatingsResponse) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{17} } -func (x *DishRatingReply) GetRating() []*SingleRatingReply { +func (x *MealRatingsResponse) GetRating() []*MealRating { if x != nil { return x.Rating } return nil } -func (x *DishRatingReply) GetAvg() float64 { - if x != nil { - return x.Avg - } - return 0 -} - -func (x *DishRatingReply) GetStd() float64 { +func (x *MealRatingsResponse) GetAverageRating() float64 { if x != nil { - return x.Std + return x.AverageRating } return 0 } -func (x *DishRatingReply) GetMin() int32 { +func (x *MealRatingsResponse) GetMinRating() int32 { if x != nil { - return x.Min + return x.MinRating } return 0 } -func (x *DishRatingReply) GetMax() int32 { +func (x *MealRatingsResponse) GetMaxRating() int32 { if x != nil { - return x.Max + return x.MaxRating } return 0 } -func (x *DishRatingReply) GetRatingTags() []*RatingTagResult { +func (x *MealRatingsResponse) GetRatingTags() []*TagRatingsResult { if x != nil { return x.RatingTags } return nil } -func (x *DishRatingReply) GetNameTags() []*RatingTagResult { +func (x *MealRatingsResponse) GetNameTags() []*TagRatingsResult { if x != nil { return x.NameTags } return nil } -type SingleRatingReply struct { +type CafeteriaRating struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // number in the range 1-5 - Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - // Optional JPEG image in Base64 - Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` - // Optional comment (max 256 chars) - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` - RatingTags []*RatingTagNewRequest `protobuf:"bytes,4,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` - Visited *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=visited,proto3" json:"visited,omitempty"` + Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` + Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` + TagRating []*TagRatingOverview `protobuf:"bytes,6,rep,name=tagRating,proto3" json:"tagRating,omitempty"` } -func (x *SingleRatingReply) Reset() { - *x = SingleRatingReply{} +func (x *CafeteriaRating) Reset() { + *x = CafeteriaRating{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1190,13 +1163,13 @@ func (x *SingleRatingReply) Reset() { } } -func (x *SingleRatingReply) String() string { +func (x *CafeteriaRating) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SingleRatingReply) ProtoMessage() {} +func (*CafeteriaRating) ProtoMessage() {} -func (x *SingleRatingReply) ProtoReflect() protoreflect.Message { +func (x *CafeteriaRating) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1208,63 +1181,69 @@ func (x *SingleRatingReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SingleRatingReply.ProtoReflect.Descriptor instead. -func (*SingleRatingReply) Descriptor() ([]byte, []int) { +// Deprecated: Use CafeteriaRating.ProtoReflect.Descriptor instead. +func (*CafeteriaRating) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{18} } -func (x *SingleRatingReply) GetPoints() int32 { +func (x *CafeteriaRating) GetRating() int32 { if x != nil { - return x.Points + return x.Rating } return 0 } -func (x *SingleRatingReply) GetImage() []byte { +func (x *CafeteriaRating) GetCafeteriaName() string { + if x != nil { + return x.CafeteriaName + } + return "" +} + +func (x *CafeteriaRating) GetImage() []byte { if x != nil { return x.Image } return nil } -func (x *SingleRatingReply) GetComment() string { +func (x *CafeteriaRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { if x != nil { - return x.Comment + return x.CafeteriaVisitedAt } - return "" + return nil } -func (x *SingleRatingReply) GetRatingTags() []*RatingTagNewRequest { +func (x *CafeteriaRating) GetComment() string { if x != nil { - return x.RatingTags + return x.Comment } - return nil + return "" } -func (x *SingleRatingReply) GetVisited() *timestamppb.Timestamp { +func (x *CafeteriaRating) GetTagRating() []*TagRatingOverview { if x != nil { - return x.Visited + return x.TagRating } return nil } -type NewCafeteriaRatingRequest struct { +type MealRating struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // number in the range 1-5 - Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - CafeteriaId string `protobuf:"bytes,2,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` - // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags - RatingTags []*RatingTag `protobuf:"bytes,4,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` - // Optional comment (max 256 chars) - Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` + Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` + Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` + CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` + Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` + TagRating []*TagRatingOverview `protobuf:"bytes,7,rep,name=tagRating,proto3" json:"tagRating,omitempty"` } -func (x *NewCafeteriaRatingRequest) Reset() { - *x = NewCafeteriaRatingRequest{} +func (x *MealRating) Reset() { + *x = MealRating{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1272,13 +1251,13 @@ func (x *NewCafeteriaRatingRequest) Reset() { } } -func (x *NewCafeteriaRatingRequest) String() string { +func (x *MealRating) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NewCafeteriaRatingRequest) ProtoMessage() {} +func (*MealRating) ProtoMessage() {} -func (x *NewCafeteriaRatingRequest) ProtoReflect() protoreflect.Message { +func (x *MealRating) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1290,67 +1269,75 @@ func (x *NewCafeteriaRatingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NewCafeteriaRatingRequest.ProtoReflect.Descriptor instead. -func (*NewCafeteriaRatingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use MealRating.ProtoReflect.Descriptor instead. +func (*MealRating) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{19} } -func (x *NewCafeteriaRatingRequest) GetPoints() int32 { +func (x *MealRating) GetRating() int32 { if x != nil { - return x.Points + return x.Rating } return 0 } -func (x *NewCafeteriaRatingRequest) GetCafeteriaId() string { +func (x *MealRating) GetCafeteriaName() string { if x != nil { - return x.CafeteriaId + return x.CafeteriaName } return "" } -func (x *NewCafeteriaRatingRequest) GetImage() []byte { +func (x *MealRating) GetMeal() string { + if x != nil { + return x.Meal + } + return "" +} + +func (x *MealRating) GetImage() []byte { if x != nil { return x.Image } return nil } -func (x *NewCafeteriaRatingRequest) GetRatingTags() []*RatingTag { +func (x *MealRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { if x != nil { - return x.RatingTags + return x.CafeteriaVisitedAt } return nil } -func (x *NewCafeteriaRatingRequest) GetComment() string { +func (x *MealRating) GetComment() string { if x != nil { return x.Comment } return "" } -type NewDishRatingRequest struct { +func (x *MealRating) GetTagRating() []*TagRatingOverview { + if x != nil { + return x.TagRating + } + return nil +} + +type NewCafeteriaRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // number in the range 1-5 - Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - // Mandatory Name of the dish (EAT-API naming scheme "MENSA_GARCHING") Must be available int the given mensa - CafeteriaId string `protobuf:"bytes,2,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` - // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa - Dish string `protobuf:"bytes,3,opt,name=dish,proto3" json:"dish,omitempty"` - // Optional JPEG image in Base64 - Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - // Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags - RatingTags []*RatingTag `protobuf:"bytes,5,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` - // Optional comment (max 256 chars) - Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` -} - -func (x *NewDishRatingRequest) Reset() { - *x = NewDishRatingRequest{} + Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + Tags []*TagRating `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` + CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` + Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` +} + +func (x *NewCafeteriaRatingRequest) Reset() { + *x = NewCafeteriaRatingRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1358,13 +1345,13 @@ func (x *NewDishRatingRequest) Reset() { } } -func (x *NewDishRatingRequest) String() string { +func (x *NewCafeteriaRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NewDishRatingRequest) ProtoMessage() {} +func (*NewCafeteriaRatingRequest) ProtoMessage() {} -func (x *NewDishRatingRequest) ProtoReflect() protoreflect.Message { +func (x *NewCafeteriaRatingRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1376,63 +1363,69 @@ func (x *NewDishRatingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NewDishRatingRequest.ProtoReflect.Descriptor instead. -func (*NewDishRatingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use NewCafeteriaRatingRequest.ProtoReflect.Descriptor instead. +func (*NewCafeteriaRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{20} } -func (x *NewDishRatingRequest) GetPoints() int32 { +func (x *NewCafeteriaRatingRequest) GetRating() int32 { if x != nil { - return x.Points + return x.Rating } return 0 } -func (x *NewDishRatingRequest) GetCafeteriaId() string { +func (x *NewCafeteriaRatingRequest) GetCafeteriaName() string { if x != nil { - return x.CafeteriaId + return x.CafeteriaName } return "" } -func (x *NewDishRatingRequest) GetDish() string { +func (x *NewCafeteriaRatingRequest) GetImage() []byte { if x != nil { - return x.Dish + return x.Image } - return "" + return nil } -func (x *NewDishRatingRequest) GetImage() []byte { +func (x *NewCafeteriaRatingRequest) GetTags() []*TagRating { if x != nil { - return x.Image + return x.Tags } return nil } -func (x *NewDishRatingRequest) GetRatingTags() []*RatingTag { +func (x *NewCafeteriaRatingRequest) GetCafeteriaVisitedAt() *timestamppb.Timestamp { if x != nil { - return x.RatingTags + return x.CafeteriaVisitedAt } return nil } -func (x *NewDishRatingRequest) GetComment() string { +func (x *NewCafeteriaRatingRequest) GetComment() string { if x != nil { return x.Comment } return "" } -type GetRatingTagsReply struct { +type NewMealRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RatingTags []*RatingTagsOverview `protobuf:"bytes,1,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` + Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` + Tags []*TagRating `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` + CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` + Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` } -func (x *GetRatingTagsReply) Reset() { - *x = GetRatingTagsReply{} +func (x *NewMealRatingRequest) Reset() { + *x = NewMealRatingRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1440,13 +1433,13 @@ func (x *GetRatingTagsReply) Reset() { } } -func (x *GetRatingTagsReply) String() string { +func (x *NewMealRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRatingTagsReply) ProtoMessage() {} +func (*NewMealRatingRequest) ProtoMessage() {} -func (x *GetRatingTagsReply) ProtoReflect() protoreflect.Message { +func (x *NewMealRatingRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1458,30 +1451,70 @@ func (x *GetRatingTagsReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetRatingTagsReply.ProtoReflect.Descriptor instead. -func (*GetRatingTagsReply) Descriptor() ([]byte, []int) { +// Deprecated: Use NewMealRatingRequest.ProtoReflect.Descriptor instead. +func (*NewMealRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{21} } -func (x *GetRatingTagsReply) GetRatingTags() []*RatingTagsOverview { +func (x *NewMealRatingRequest) GetRating() int32 { if x != nil { - return x.RatingTags + return x.Rating + } + return 0 +} + +func (x *NewMealRatingRequest) GetCafeteriaName() string { + if x != nil { + return x.CafeteriaName + } + return "" +} + +func (x *NewMealRatingRequest) GetMeal() string { + if x != nil { + return x.Meal + } + return "" +} + +func (x *NewMealRatingRequest) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +func (x *NewMealRatingRequest) GetTags() []*TagRating { + if x != nil { + return x.Tags + } + return nil +} + +func (x *NewMealRatingRequest) GetCafeteriaVisitedAt() *timestamppb.Timestamp { + if x != nil { + return x.CafeteriaVisitedAt } return nil } -type RatingTagsOverview struct { +func (x *NewMealRatingRequest) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +type GetRatingTagsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` - De string `protobuf:"bytes,2,opt,name=de,proto3" json:"de,omitempty"` - En string `protobuf:"bytes,3,opt,name=en,proto3" json:"en,omitempty"` + Tags []*TagRatingOverview `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` } -func (x *RatingTagsOverview) Reset() { - *x = RatingTagsOverview{} +func (x *GetRatingTagsReply) Reset() { + *x = GetRatingTagsReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1489,13 +1522,13 @@ func (x *RatingTagsOverview) Reset() { } } -func (x *RatingTagsOverview) String() string { +func (x *GetRatingTagsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RatingTagsOverview) ProtoMessage() {} +func (*GetRatingTagsReply) ProtoMessage() {} -func (x *RatingTagsOverview) ProtoReflect() protoreflect.Message { +func (x *GetRatingTagsReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1507,43 +1540,30 @@ func (x *RatingTagsOverview) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RatingTagsOverview.ProtoReflect.Descriptor instead. -func (*RatingTagsOverview) Descriptor() ([]byte, []int) { +// Deprecated: Use GetRatingTagsReply.ProtoReflect.Descriptor instead. +func (*GetRatingTagsReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{22} } -func (x *RatingTagsOverview) GetTagId() int32 { - if x != nil { - return x.TagId - } - return 0 -} - -func (x *RatingTagsOverview) GetDe() string { - if x != nil { - return x.De - } - return "" -} - -func (x *RatingTagsOverview) GetEn() string { +func (x *GetRatingTagsReply) GetTags() []*TagRatingOverview { if x != nil { - return x.En + return x.Tags } - return "" + return nil } -type RatingTag struct { +type TagRatingOverview struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` - Points float64 `protobuf:"fixed64,2,opt,name=points,proto3" json:"points,omitempty"` + NameDE string `protobuf:"bytes,1,opt,name=nameDE,proto3" json:"nameDE,omitempty"` + NameEN string `protobuf:"bytes,2,opt,name=nameEN,proto3" json:"nameEN,omitempty"` + Rating float64 `protobuf:"fixed64,3,opt,name=rating,proto3" json:"rating,omitempty"` } -func (x *RatingTag) Reset() { - *x = RatingTag{} +func (x *TagRatingOverview) Reset() { + *x = TagRatingOverview{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1551,13 +1571,13 @@ func (x *RatingTag) Reset() { } } -func (x *RatingTag) String() string { +func (x *TagRatingOverview) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RatingTag) ProtoMessage() {} +func (*TagRatingOverview) ProtoMessage() {} -func (x *RatingTag) ProtoReflect() protoreflect.Message { +func (x *TagRatingOverview) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1569,36 +1589,43 @@ func (x *RatingTag) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RatingTag.ProtoReflect.Descriptor instead. -func (*RatingTag) Descriptor() ([]byte, []int) { +// Deprecated: Use TagRatingOverview.ProtoReflect.Descriptor instead. +func (*TagRatingOverview) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{23} } -func (x *RatingTag) GetTagId() int32 { +func (x *TagRatingOverview) GetNameDE() string { if x != nil { - return x.TagId + return x.NameDE } - return 0 + return "" +} + +func (x *TagRatingOverview) GetNameEN() string { + if x != nil { + return x.NameEN + } + return "" } -func (x *RatingTag) GetPoints() float64 { +func (x *TagRatingOverview) GetRating() float64 { if x != nil { - return x.Points + return x.Rating } return 0 } -type RatingTagNewRequest struct { +type TagRating struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` - Points int32 `protobuf:"varint,2,opt,name=points,proto3" json:"points,omitempty"` + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + Rating float64 `protobuf:"fixed64,2,opt,name=rating,proto3" json:"rating,omitempty"` } -func (x *RatingTagNewRequest) Reset() { - *x = RatingTagNewRequest{} +func (x *TagRating) Reset() { + *x = TagRating{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1606,13 +1633,13 @@ func (x *RatingTagNewRequest) Reset() { } } -func (x *RatingTagNewRequest) String() string { +func (x *TagRating) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RatingTagNewRequest) ProtoMessage() {} +func (*TagRating) ProtoMessage() {} -func (x *RatingTagNewRequest) ProtoReflect() protoreflect.Message { +func (x *TagRating) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1624,39 +1651,39 @@ func (x *RatingTagNewRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RatingTagNewRequest.ProtoReflect.Descriptor instead. -func (*RatingTagNewRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use TagRating.ProtoReflect.Descriptor instead. +func (*TagRating) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{24} } -func (x *RatingTagNewRequest) GetTagId() int32 { +func (x *TagRating) GetTag() string { if x != nil { - return x.TagId + return x.Tag } - return 0 + return "" } -func (x *RatingTagNewRequest) GetPoints() int32 { +func (x *TagRating) GetRating() float64 { if x != nil { - return x.Points + return x.Rating } return 0 } -type RatingTagResult struct { +type TagRatingsResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` - Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` - Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` - Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` - Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` + NameDE string `protobuf:"bytes,1,opt,name=nameDE,proto3" json:"nameDE,omitempty"` + NameEN string `protobuf:"bytes,2,opt,name=nameEN,proto3" json:"nameEN,omitempty"` + AverageRating float64 `protobuf:"fixed64,3,opt,name=averageRating,proto3" json:"averageRating,omitempty"` + MinRating int32 `protobuf:"varint,4,opt,name=minRating,proto3" json:"minRating,omitempty"` + MaxRating int32 `protobuf:"varint,5,opt,name=maxRating,proto3" json:"maxRating,omitempty"` } -func (x *RatingTagResult) Reset() { - *x = RatingTagResult{} +func (x *TagRatingsResult) Reset() { + *x = TagRatingsResult{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1664,13 +1691,13 @@ func (x *RatingTagResult) Reset() { } } -func (x *RatingTagResult) String() string { +func (x *TagRatingsResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RatingTagResult) ProtoMessage() {} +func (*TagRatingsResult) ProtoMessage() {} -func (x *RatingTagResult) ProtoReflect() protoreflect.Message { +func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1682,56 +1709,59 @@ func (x *RatingTagResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RatingTagResult.ProtoReflect.Descriptor instead. -func (*RatingTagResult) Descriptor() ([]byte, []int) { +// Deprecated: Use TagRatingsResult.ProtoReflect.Descriptor instead. +func (*TagRatingsResult) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{25} } -func (x *RatingTagResult) GetTagId() int32 { +func (x *TagRatingsResult) GetNameDE() string { if x != nil { - return x.TagId + return x.NameDE } - return 0 + return "" } -func (x *RatingTagResult) GetAvg() float64 { +func (x *TagRatingsResult) GetNameEN() string { if x != nil { - return x.Avg + return x.NameEN } - return 0 + return "" } -func (x *RatingTagResult) GetStd() float64 { +func (x *TagRatingsResult) GetAverageRating() float64 { if x != nil { - return x.Std + return x.AverageRating } return 0 } -func (x *RatingTagResult) GetMin() int32 { +func (x *TagRatingsResult) GetMinRating() int32 { if x != nil { - return x.Min + return x.MinRating } return 0 } -func (x *RatingTagResult) GetMax() int32 { +func (x *TagRatingsResult) GetMaxRating() int32 { if x != nil { - return x.Max + return x.MaxRating } return 0 } -type GetCafeteriaReply struct { +type GetCafeteriaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Cafeteria []*Cafeteria `protobuf:"bytes,1,rep,name=cafeteria,proto3" json:"cafeteria,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Adress string `protobuf:"bytes,2,opt,name=adress,proto3" json:"adress,omitempty"` + Longitude float64 `protobuf:"fixed64,3,opt,name=longitude,proto3" json:"longitude,omitempty"` + Latitude float64 `protobuf:"fixed64,4,opt,name=latitude,proto3" json:"latitude,omitempty"` } -func (x *GetCafeteriaReply) Reset() { - *x = GetCafeteriaReply{} +func (x *GetCafeteriaResponse) Reset() { + *x = GetCafeteriaResponse{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1739,13 +1769,13 @@ func (x *GetCafeteriaReply) Reset() { } } -func (x *GetCafeteriaReply) String() string { +func (x *GetCafeteriaResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetCafeteriaReply) ProtoMessage() {} +func (*GetCafeteriaResponse) ProtoMessage() {} -func (x *GetCafeteriaReply) ProtoReflect() protoreflect.Message { +func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1757,31 +1787,53 @@ func (x *GetCafeteriaReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetCafeteriaReply.ProtoReflect.Descriptor instead. -func (*GetCafeteriaReply) Descriptor() ([]byte, []int) { +// Deprecated: Use GetCafeteriaResponse.ProtoReflect.Descriptor instead. +func (*GetCafeteriaResponse) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{26} } -func (x *GetCafeteriaReply) GetCafeteria() []*Cafeteria { +func (x *GetCafeteriaResponse) GetName() string { if x != nil { - return x.Cafeteria + return x.Name } - return nil + return "" +} + +func (x *GetCafeteriaResponse) GetAdress() string { + if x != nil { + return x.Adress + } + return "" +} + +func (x *GetCafeteriaResponse) GetLongitude() float64 { + if x != nil { + return x.Longitude + } + return 0 +} + +func (x *GetCafeteriaResponse) GetLatitude() float64 { + if x != nil { + return x.Latitude + } + return 0 } -type Cafeteria struct { +type GetRoomScheduleReply_RoomScheduleEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - Longitude float64 `protobuf:"fixed64,3,opt,name=longitude,proto3" json:"longitude,omitempty"` - Latitude float64 `protobuf:"fixed64,4,opt,name=latitude,proto3" json:"latitude,omitempty"` + Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + EventId int32 `protobuf:"varint,4,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` + CourseCode string `protobuf:"bytes,5,opt,name=course_code,json=courseCode,proto3" json:"course_code,omitempty"` } -func (x *Cafeteria) Reset() { - *x = Cafeteria{} +func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { + *x = GetRoomScheduleReply_RoomScheduleEvent{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1789,13 +1841,13 @@ func (x *Cafeteria) Reset() { } } -func (x *Cafeteria) String() string { +func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Cafeteria) ProtoMessage() {} +func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} -func (x *Cafeteria) ProtoReflect() protoreflect.Message { +func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1807,52 +1859,60 @@ func (x *Cafeteria) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Cafeteria.ProtoReflect.Descriptor instead. -func (*Cafeteria) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{27} +// Deprecated: Use GetRoomScheduleReply_RoomScheduleEvent.ProtoReflect.Descriptor instead. +func (*GetRoomScheduleReply_RoomScheduleEvent) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetStart() *timestamppb.Timestamp { + if x != nil { + return x.Start + } + return nil } -func (x *Cafeteria) GetId() string { +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEnd() *timestamppb.Timestamp { if x != nil { - return x.Id + return x.End } - return "" + return nil } -func (x *Cafeteria) GetAddress() string { +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetTitle() string { if x != nil { - return x.Address + return x.Title } return "" } -func (x *Cafeteria) GetLongitude() float64 { +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEventId() int32 { if x != nil { - return x.Longitude + return x.EventId } return 0 } -func (x *Cafeteria) GetLatitude() float64 { +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetCourseCode() string { if x != nil { - return x.Latitude + return x.CourseCode } - return 0 + return "" } -type GetDishesRequest struct { +type GetRoomMapsReply_Map struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` - Year int32 `protobuf:"varint,2,opt,name=year,proto3" json:"year,omitempty"` - Month int32 `protobuf:"varint,3,opt,name=month,proto3" json:"month,omitempty"` - Day int32 `protobuf:"varint,4,opt,name=day,proto3" json:"day,omitempty"` + MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Scale int64 `protobuf:"varint,3,opt,name=scale,proto3" json:"scale,omitempty"` + Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` + Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` } -func (x *GetDishesRequest) Reset() { - *x = GetDishesRequest{} +func (x *GetRoomMapsReply_Map) Reset() { + *x = GetRoomMapsReply_Map{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1860,13 +1920,13 @@ func (x *GetDishesRequest) Reset() { } } -func (x *GetDishesRequest) String() string { +func (x *GetRoomMapsReply_Map) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetDishesRequest) ProtoMessage() {} +func (*GetRoomMapsReply_Map) ProtoMessage() {} -func (x *GetDishesRequest) ProtoReflect() protoreflect.Message { +func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1878,49 +1938,60 @@ func (x *GetDishesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetDishesRequest.ProtoReflect.Descriptor instead. -func (*GetDishesRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{28} +// Deprecated: Use GetRoomMapsReply_Map.ProtoReflect.Descriptor instead. +func (*GetRoomMapsReply_Map) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *GetRoomMapsReply_Map) GetMapId() int64 { + if x != nil { + return x.MapId + } + return 0 } -func (x *GetDishesRequest) GetCafeteriaId() string { +func (x *GetRoomMapsReply_Map) GetDescription() string { if x != nil { - return x.CafeteriaId + return x.Description } return "" } -func (x *GetDishesRequest) GetYear() int32 { +func (x *GetRoomMapsReply_Map) GetScale() int64 { if x != nil { - return x.Year + return x.Scale } return 0 } -func (x *GetDishesRequest) GetMonth() int32 { +func (x *GetRoomMapsReply_Map) GetWidth() int64 { if x != nil { - return x.Month + return x.Width } return 0 } -func (x *GetDishesRequest) GetDay() int32 { +func (x *GetRoomMapsReply_Map) GetHeight() int64 { if x != nil { - return x.Day + return x.Height } return 0 } -type GetDishesReply struct { +type GetLocationsReply_Location struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dish []string `protobuf:"bytes,1,rep,name=dish,proto3" json:"dish,omitempty"` + Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Lon string `protobuf:"bytes,3,opt,name=lon,proto3" json:"lon,omitempty"` + Lat string `protobuf:"bytes,4,opt,name=lat,proto3" json:"lat,omitempty"` + Radius string `protobuf:"bytes,5,opt,name=radius,proto3" json:"radius,omitempty"` } -func (x *GetDishesReply) Reset() { - *x = GetDishesReply{} +func (x *GetLocationsReply_Location) Reset() { + *x = GetLocationsReply_Location{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1928,13 +1999,13 @@ func (x *GetDishesReply) Reset() { } } -func (x *GetDishesReply) String() string { +func (x *GetLocationsReply_Location) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetDishesReply) ProtoMessage() {} +func (*GetLocationsReply_Location) ProtoMessage() {} -func (x *GetDishesReply) ProtoReflect() protoreflect.Message { +func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1946,6547 +2017,550 @@ func (x *GetDishesReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetDishesReply.ProtoReflect.Descriptor instead. -func (*GetDishesReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{29} +// Deprecated: Use GetLocationsReply_Location.ProtoReflect.Descriptor instead. +func (*GetLocationsReply_Location) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{7, 0} } -func (x *GetDishesReply) GetDish() []string { +func (x *GetLocationsReply_Location) GetLocation() string { if x != nil { - return x.Dish + return x.Location } - return nil + return "" } -type GetResponsiblePersonReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResponsiblePerson []*ResponsiblePersonElement `protobuf:"bytes,1,rep,name=responsiblePerson,proto3" json:"responsiblePerson,omitempty"` +func (x *GetLocationsReply_Location) GetName() string { + if x != nil { + return x.Name + } + return "" } -func (x *GetResponsiblePersonReply) Reset() { - *x = GetResponsiblePersonReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResponsiblePersonReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResponsiblePersonReply) ProtoMessage() {} - -func (x *GetResponsiblePersonReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetResponsiblePersonReply.ProtoReflect.Descriptor instead. -func (*GetResponsiblePersonReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{30} -} - -func (x *GetResponsiblePersonReply) GetResponsiblePerson() []*ResponsiblePersonElement { - if x != nil { - return x.ResponsiblePerson - } - return nil -} - -type ResponsiblePersonElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Telephone string `protobuf:"bytes,2,opt,name=telephone,proto3" json:"telephone,omitempty"` - Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` - Faculty string `protobuf:"bytes,4,opt,name=faculty,proto3" json:"faculty,omitempty"` - TumID string `protobuf:"bytes,5,opt,name=tumID,proto3" json:"tumID,omitempty"` -} - -func (x *ResponsiblePersonElement) Reset() { - *x = ResponsiblePersonElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResponsiblePersonElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResponsiblePersonElement) ProtoMessage() {} - -func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResponsiblePersonElement.ProtoReflect.Descriptor instead. -func (*ResponsiblePersonElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{31} -} - -func (x *ResponsiblePersonElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ResponsiblePersonElement) GetTelephone() string { - if x != nil { - return x.Telephone - } - return "" -} - -func (x *ResponsiblePersonElement) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *ResponsiblePersonElement) GetFaculty() string { - if x != nil { - return x.Faculty - } - return "" -} - -func (x *ResponsiblePersonElement) GetTumID() string { - if x != nil { - return x.TumID - } - return "" -} - -type GetBuilding2GpsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Building2Gps []*Building2GpsElement `protobuf:"bytes,1,rep,name=building2Gps,proto3" json:"building2Gps,omitempty"` -} - -func (x *GetBuilding2GpsReply) Reset() { - *x = GetBuilding2GpsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetBuilding2GpsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetBuilding2GpsReply) ProtoMessage() {} - -func (x *GetBuilding2GpsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetBuilding2GpsReply.ProtoReflect.Descriptor instead. -func (*GetBuilding2GpsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{32} -} - -func (x *GetBuilding2GpsReply) GetBuilding2Gps() []*Building2GpsElement { - if x != nil { - return x.Building2Gps - } - return nil -} - -type Building2GpsElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Latitude string `protobuf:"bytes,2,opt,name=latitude,proto3" json:"latitude,omitempty"` - Longitude string `protobuf:"bytes,3,opt,name=longitude,proto3" json:"longitude,omitempty"` -} - -func (x *Building2GpsElement) Reset() { - *x = Building2GpsElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Building2GpsElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Building2GpsElement) ProtoMessage() {} - -func (x *Building2GpsElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Building2GpsElement.ProtoReflect.Descriptor instead. -func (*Building2GpsElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{33} -} - -func (x *Building2GpsElement) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Building2GpsElement) GetLatitude() string { - if x != nil { - return x.Latitude - } - return "" -} - -func (x *Building2GpsElement) GetLongitude() string { - if x != nil { - return x.Longitude - } - return "" -} - -type GetAreaFacilitiesByBuildingNrReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AreaFacilitiesByBuildingNr []*RoomInformationElement `protobuf:"bytes,1,rep,name=areaFacilitiesByBuildingNr,proto3" json:"areaFacilitiesByBuildingNr,omitempty"` -} - -func (x *GetAreaFacilitiesByBuildingNrReply) Reset() { - *x = GetAreaFacilitiesByBuildingNrReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAreaFacilitiesByBuildingNrReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAreaFacilitiesByBuildingNrReply) ProtoMessage() {} - -func (x *GetAreaFacilitiesByBuildingNrReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAreaFacilitiesByBuildingNrReply.ProtoReflect.Descriptor instead. -func (*GetAreaFacilitiesByBuildingNrReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{34} -} - -func (x *GetAreaFacilitiesByBuildingNrReply) GetAreaFacilitiesByBuildingNr() []*RoomInformationElement { - if x != nil { - return x.AreaFacilitiesByBuildingNr - } - return nil -} - -type GetAreaFacilitiesByBuildingNrRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BuildingNr string `protobuf:"bytes,1,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` -} - -func (x *GetAreaFacilitiesByBuildingNrRequest) Reset() { - *x = GetAreaFacilitiesByBuildingNrRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAreaFacilitiesByBuildingNrRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAreaFacilitiesByBuildingNrRequest) ProtoMessage() {} - -func (x *GetAreaFacilitiesByBuildingNrRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAreaFacilitiesByBuildingNrRequest.ProtoReflect.Descriptor instead. -func (*GetAreaFacilitiesByBuildingNrRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{35} -} - -func (x *GetAreaFacilitiesByBuildingNrRequest) GetBuildingNr() string { - if x != nil { - return x.BuildingNr - } - return "" -} - -type GetListOfToiletsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ListOfToilets []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfToilets,proto3" json:"listOfToilets,omitempty"` -} - -func (x *GetListOfToiletsReply) Reset() { - *x = GetListOfToiletsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetListOfToiletsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetListOfToiletsReply) ProtoMessage() {} - -func (x *GetListOfToiletsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetListOfToiletsReply.ProtoReflect.Descriptor instead. -func (*GetListOfToiletsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{36} -} - -func (x *GetListOfToiletsReply) GetListOfToilets() []*RoomInformationElement { - if x != nil { - return x.ListOfToilets - } - return nil -} - -type RoomInformationElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` - RoomCode string `protobuf:"bytes,2,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` - BuildingNr string `protobuf:"bytes,3,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` - ArchId string `protobuf:"bytes,4,opt,name=arch_id,json=archId,proto3" json:"arch_id,omitempty"` - Info string `protobuf:"bytes,5,opt,name=info,proto3" json:"info,omitempty"` - Address string `protobuf:"bytes,6,opt,name=address,proto3" json:"address,omitempty"` - Purpose string `protobuf:"bytes,7,opt,name=purpose,proto3" json:"purpose,omitempty"` - Campus string `protobuf:"bytes,8,opt,name=campus,proto3" json:"campus,omitempty"` - Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *RoomInformationElement) Reset() { - *x = RoomInformationElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RoomInformationElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RoomInformationElement) ProtoMessage() {} - -func (x *RoomInformationElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RoomInformationElement.ProtoReflect.Descriptor instead. -func (*RoomInformationElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{37} -} - -func (x *RoomInformationElement) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -func (x *RoomInformationElement) GetRoomCode() string { - if x != nil { - return x.RoomCode - } - return "" -} - -func (x *RoomInformationElement) GetBuildingNr() string { - if x != nil { - return x.BuildingNr - } - return "" -} - -func (x *RoomInformationElement) GetArchId() string { - if x != nil { - return x.ArchId - } - return "" -} - -func (x *RoomInformationElement) GetInfo() string { - if x != nil { - return x.Info - } - return "" -} - -func (x *RoomInformationElement) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *RoomInformationElement) GetPurpose() string { - if x != nil { - return x.Purpose - } - return "" -} - -func (x *RoomInformationElement) GetCampus() string { - if x != nil { - return x.Campus - } - return "" -} - -func (x *RoomInformationElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -type GetListOfElevatorsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ListOfElevators []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfElevators,proto3" json:"listOfElevators,omitempty"` -} - -func (x *GetListOfElevatorsReply) Reset() { - *x = GetListOfElevatorsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetListOfElevatorsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetListOfElevatorsReply) ProtoMessage() {} - -func (x *GetListOfElevatorsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetListOfElevatorsReply.ProtoReflect.Descriptor instead. -func (*GetListOfElevatorsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{38} -} - -func (x *GetListOfElevatorsReply) GetListOfElevators() []*RoomInformationElement { - if x != nil { - return x.ListOfElevators - } - return nil -} - -type GetMoreInformationReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Information []*MoreInformationElement `protobuf:"bytes,1,rep,name=information,proto3" json:"information,omitempty"` -} - -func (x *GetMoreInformationReply) Reset() { - *x = GetMoreInformationReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMoreInformationReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMoreInformationReply) ProtoMessage() {} - -func (x *GetMoreInformationReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMoreInformationReply.ProtoReflect.Descriptor instead. -func (*GetMoreInformationReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{39} -} - -func (x *GetMoreInformationReply) GetInformation() []*MoreInformationElement { - if x != nil { - return x.Information - } - return nil -} - -type MoreInformationElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` - Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` -} - -func (x *MoreInformationElement) Reset() { - *x = MoreInformationElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MoreInformationElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MoreInformationElement) ProtoMessage() {} - -func (x *MoreInformationElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MoreInformationElement.ProtoReflect.Descriptor instead. -func (*MoreInformationElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{40} -} - -func (x *MoreInformationElement) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *MoreInformationElement) GetCategory() string { - if x != nil { - return x.Category - } - return "" -} - -func (x *MoreInformationElement) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -type GetOpeningTimesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"` -} - -func (x *GetOpeningTimesRequest) Reset() { - *x = GetOpeningTimesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetOpeningTimesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetOpeningTimesRequest) ProtoMessage() {} - -func (x *GetOpeningTimesRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetOpeningTimesRequest.ProtoReflect.Descriptor instead. -func (*GetOpeningTimesRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{41} -} - -func (x *GetOpeningTimesRequest) GetLanguage() string { - if x != nil { - return x.Language - } - return "" -} - -type GetOpeningTimesReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Facilities []*OpeningTimesMsgElement `protobuf:"bytes,1,rep,name=facilities,proto3" json:"facilities,omitempty"` -} - -func (x *GetOpeningTimesReply) Reset() { - *x = GetOpeningTimesReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetOpeningTimesReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetOpeningTimesReply) ProtoMessage() {} - -func (x *GetOpeningTimesReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetOpeningTimesReply.ProtoReflect.Descriptor instead. -func (*GetOpeningTimesReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{42} -} - -func (x *GetOpeningTimesReply) GetFacilities() []*OpeningTimesMsgElement { - if x != nil { - return x.Facilities - } - return nil -} - -type OpeningTimesMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` - Room string `protobuf:"bytes,5,opt,name=room,proto3" json:"room,omitempty"` - TransportStation string `protobuf:"bytes,6,opt,name=transport_station,json=transportStation,proto3" json:"transport_station,omitempty"` - OpeningHours string `protobuf:"bytes,7,opt,name=opening_hours,json=openingHours,proto3" json:"opening_hours,omitempty"` - Infos string `protobuf:"bytes,8,opt,name=infos,proto3" json:"infos,omitempty"` - Url string `protobuf:"bytes,9,opt,name=url,proto3" json:"url,omitempty"` - Language string `protobuf:"bytes,10,opt,name=language,proto3" json:"language,omitempty"` - ReferenceId int32 `protobuf:"varint,11,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` -} - -func (x *OpeningTimesMsgElement) Reset() { - *x = OpeningTimesMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OpeningTimesMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OpeningTimesMsgElement) ProtoMessage() {} - -func (x *OpeningTimesMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OpeningTimesMsgElement.ProtoReflect.Descriptor instead. -func (*OpeningTimesMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{43} -} - -func (x *OpeningTimesMsgElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *OpeningTimesMsgElement) GetCategory() string { - if x != nil { - return x.Category - } - return "" -} - -func (x *OpeningTimesMsgElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *OpeningTimesMsgElement) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *OpeningTimesMsgElement) GetRoom() string { - if x != nil { - return x.Room - } - return "" -} - -func (x *OpeningTimesMsgElement) GetTransportStation() string { - if x != nil { - return x.TransportStation - } - return "" -} - -func (x *OpeningTimesMsgElement) GetOpeningHours() string { - if x != nil { - return x.OpeningHours - } - return "" -} - -func (x *OpeningTimesMsgElement) GetInfos() string { - if x != nil { - return x.Infos - } - return "" -} - -func (x *OpeningTimesMsgElement) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *OpeningTimesMsgElement) GetLanguage() string { - if x != nil { - return x.Language - } - return "" -} - -func (x *OpeningTimesMsgElement) GetReferenceId() int32 { - if x != nil { - return x.ReferenceId - } - return 0 -} - -type GetUpdateNoteRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` -} - -func (x *GetUpdateNoteRequest) Reset() { - *x = GetUpdateNoteRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUpdateNoteRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUpdateNoteRequest) ProtoMessage() {} - -func (x *GetUpdateNoteRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUpdateNoteRequest.ProtoReflect.Descriptor instead. -func (*GetUpdateNoteRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{44} -} - -func (x *GetUpdateNoteRequest) GetVersion() int32 { - if x != nil { - return x.Version - } - return 0 -} - -type GetUpdateNoteReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` -} - -func (x *GetUpdateNoteReply) Reset() { - *x = GetUpdateNoteReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUpdateNoteReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUpdateNoteReply) ProtoMessage() {} - -func (x *GetUpdateNoteReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUpdateNoteReply.ProtoReflect.Descriptor instead. -func (*GetUpdateNoteReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{45} -} - -func (x *GetUpdateNoteReply) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -type GetStudyRoomListReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Rooms []*StudyRoomMsgElement `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` -} - -func (x *GetStudyRoomListReply) Reset() { - *x = GetStudyRoomListReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetStudyRoomListReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetStudyRoomListReply) ProtoMessage() {} - -func (x *GetStudyRoomListReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetStudyRoomListReply.ProtoReflect.Descriptor instead. -func (*GetStudyRoomListReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{46} -} - -func (x *GetStudyRoomListReply) GetRooms() []*StudyRoomMsgElement { - if x != nil { - return x.Rooms - } - return nil -} - -type StudyRoomMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` - Rooms []*StudyRoom `protobuf:"bytes,4,rep,name=rooms,proto3" json:"rooms,omitempty"` -} - -func (x *StudyRoomMsgElement) Reset() { - *x = StudyRoomMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StudyRoomMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StudyRoomMsgElement) ProtoMessage() {} - -func (x *StudyRoomMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StudyRoomMsgElement.ProtoReflect.Descriptor instead. -func (*StudyRoomMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{47} -} - -func (x *StudyRoomMsgElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *StudyRoomMsgElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *StudyRoomMsgElement) GetDetails() string { - if x != nil { - return x.Details - } - return "" -} - -func (x *StudyRoomMsgElement) GetRooms() []*StudyRoom { - if x != nil { - return x.Rooms - } - return nil -} - -type StudyRoom struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId int32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - RoomId int32 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId,omitempty"` - RoomCode string `protobuf:"bytes,3,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` - RoomName string `protobuf:"bytes,4,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` - BuildingName string `protobuf:"bytes,5,opt,name=building_name,json=buildingName,proto3" json:"building_name,omitempty"` -} - -func (x *StudyRoom) Reset() { - *x = StudyRoom{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StudyRoom) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StudyRoom) ProtoMessage() {} - -func (x *StudyRoom) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StudyRoom.ProtoReflect.Descriptor instead. -func (*StudyRoom) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{48} -} - -func (x *StudyRoom) GetGroupId() int32 { - if x != nil { - return x.GroupId - } - return 0 -} - -func (x *StudyRoom) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -func (x *StudyRoom) GetRoomCode() string { - if x != nil { - return x.RoomCode - } - return "" -} - -func (x *StudyRoom) GetRoomName() string { - if x != nil { - return x.RoomName - } - return "" -} - -func (x *StudyRoom) GetBuildingName() string { - if x != nil { - return x.BuildingName - } - return "" -} - -type GetEventListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // optional parameter, will return all events if no id is specified - EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` -} - -func (x *GetEventListRequest) Reset() { - *x = GetEventListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetEventListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetEventListRequest) ProtoMessage() {} - -func (x *GetEventListRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetEventListRequest.ProtoReflect.Descriptor instead. -func (*GetEventListRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{49} -} - -func (x *GetEventListRequest) GetEventId() int32 { - if x != nil { - return x.EventId - } - return 0 -} - -type GetEventListReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Events []*EventListMsgElement `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` -} - -func (x *GetEventListReply) Reset() { - *x = GetEventListReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetEventListReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetEventListReply) ProtoMessage() {} - -func (x *GetEventListReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetEventListReply.ProtoReflect.Descriptor instead. -func (*GetEventListReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{50} -} - -func (x *GetEventListReply) GetEvents() []*EventListMsgElement { - if x != nil { - return x.Events - } - return nil -} - -type EventListMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` - Event int32 `protobuf:"varint,3,opt,name=event,proto3" json:"event,omitempty"` - News int32 `protobuf:"varint,4,opt,name=news,proto3" json:"news,omitempty"` - Kino int32 `protobuf:"varint,5,opt,name=kino,proto3" json:"kino,omitempty"` - File int32 `protobuf:"varint,6,opt,name=file,proto3" json:"file,omitempty"` - Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title,omitempty"` - Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` - Locality string `protobuf:"bytes,9,opt,name=locality,proto3" json:"locality,omitempty"` - Link string `protobuf:"bytes,10,opt,name=link,proto3" json:"link,omitempty"` - Start *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=start,proto3" json:"start,omitempty"` - End *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=end,proto3" json:"end,omitempty"` - TicketGroup int32 `protobuf:"varint,13,opt,name=ticket_group,json=ticketGroup,proto3" json:"ticket_group,omitempty"` -} - -func (x *EventListMsgElement) Reset() { - *x = EventListMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventListMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventListMsgElement) ProtoMessage() {} - -func (x *EventListMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventListMsgElement.ProtoReflect.Descriptor instead. -func (*EventListMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{51} -} - -func (x *EventListMsgElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *EventListMsgElement) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *EventListMsgElement) GetEvent() int32 { - if x != nil { - return x.Event - } - return 0 -} - -func (x *EventListMsgElement) GetNews() int32 { - if x != nil { - return x.News - } - return 0 -} - -func (x *EventListMsgElement) GetKino() int32 { - if x != nil { - return x.Kino - } - return 0 -} - -func (x *EventListMsgElement) GetFile() int32 { - if x != nil { - return x.File - } - return 0 -} - -func (x *EventListMsgElement) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *EventListMsgElement) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *EventListMsgElement) GetLocality() string { - if x != nil { - return x.Locality - } - return "" -} - -func (x *EventListMsgElement) GetLink() string { - if x != nil { - return x.Link - } - return "" -} - -func (x *EventListMsgElement) GetStart() *timestamppb.Timestamp { - if x != nil { - return x.Start - } - return nil -} - -func (x *EventListMsgElement) GetEnd() *timestamppb.Timestamp { - if x != nil { - return x.End - } - return nil -} - -func (x *EventListMsgElement) GetTicketGroup() int32 { - if x != nil { - return x.TicketGroup - } - return 0 -} - -type GetPurchasedTicketsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MyTickets []*EventTicketMyMsgElement `protobuf:"bytes,1,rep,name=myTickets,proto3" json:"myTickets,omitempty"` -} - -func (x *GetPurchasedTicketsReply) Reset() { - *x = GetPurchasedTicketsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetPurchasedTicketsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPurchasedTicketsReply) ProtoMessage() {} - -func (x *GetPurchasedTicketsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetPurchasedTicketsReply.ProtoReflect.Descriptor instead. -func (*GetPurchasedTicketsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{52} -} - -func (x *GetPurchasedTicketsReply) GetMyTickets() []*EventTicketMyMsgElement { - if x != nil { - return x.MyTickets - } - return nil -} - -type EventTicketMyMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TicketHistory int32 `protobuf:"varint,1,opt,name=ticket_history,json=ticketHistory,proto3" json:"ticket_history,omitempty"` - TicketType int32 `protobuf:"varint,2,opt,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"` - Redemption *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=redemption,proto3" json:"redemption,omitempty"` - Code string `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"` - Event int32 `protobuf:"varint,5,opt,name=event,proto3" json:"event,omitempty"` -} - -func (x *EventTicketMyMsgElement) Reset() { - *x = EventTicketMyMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventTicketMyMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventTicketMyMsgElement) ProtoMessage() {} - -func (x *EventTicketMyMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventTicketMyMsgElement.ProtoReflect.Descriptor instead. -func (*EventTicketMyMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{53} -} - -func (x *EventTicketMyMsgElement) GetTicketHistory() int32 { - if x != nil { - return x.TicketHistory - } - return 0 -} - -func (x *EventTicketMyMsgElement) GetTicketType() int32 { - if x != nil { - return x.TicketType - } - return 0 -} - -func (x *EventTicketMyMsgElement) GetRedemption() *timestamppb.Timestamp { - if x != nil { - return x.Redemption - } - return nil -} - -func (x *EventTicketMyMsgElement) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *EventTicketMyMsgElement) GetEvent() int32 { - if x != nil { - return x.Event - } - return 0 -} - -type GetTicketRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *GetTicketRequest) Reset() { - *x = GetTicketRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTicketRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTicketRequest) ProtoMessage() {} - -func (x *GetTicketRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetTicketRequest.ProtoReflect.Descriptor instead. -func (*GetTicketRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{54} -} - -func (x *GetTicketRequest) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -type GetEventTicketTypeReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EventTickets []*EventTicketTypeMsgElement `protobuf:"bytes,1,rep,name=eventTickets,proto3" json:"eventTickets,omitempty"` -} - -func (x *GetEventTicketTypeReply) Reset() { - *x = GetEventTicketTypeReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetEventTicketTypeReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetEventTicketTypeReply) ProtoMessage() {} - -func (x *GetEventTicketTypeReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetEventTicketTypeReply.ProtoReflect.Descriptor instead. -func (*GetEventTicketTypeReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{55} -} - -func (x *GetEventTicketTypeReply) GetEventTickets() []*EventTicketTypeMsgElement { - if x != nil { - return x.EventTickets - } - return nil -} - -type EventTicketTypeMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TicketType int32 `protobuf:"varint,1,opt,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"` - Event int32 `protobuf:"varint,2,opt,name=event,proto3" json:"event,omitempty"` - TicketPayment int32 `protobuf:"varint,3,opt,name=ticket_payment,json=ticketPayment,proto3" json:"ticket_payment,omitempty"` - Price int32 `protobuf:"varint,4,opt,name=price,proto3" json:"price,omitempty"` - Contingent int32 `protobuf:"varint,5,opt,name=contingent,proto3" json:"contingent,omitempty"` - Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` - Payment *EventTicketPaymentMsg `protobuf:"bytes,7,opt,name=payment,proto3" json:"payment,omitempty"` - Sold int32 `protobuf:"varint,8,opt,name=sold,proto3" json:"sold,omitempty"` -} - -func (x *EventTicketTypeMsgElement) Reset() { - *x = EventTicketTypeMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventTicketTypeMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventTicketTypeMsgElement) ProtoMessage() {} - -func (x *EventTicketTypeMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventTicketTypeMsgElement.ProtoReflect.Descriptor instead. -func (*EventTicketTypeMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{56} -} - -func (x *EventTicketTypeMsgElement) GetTicketType() int32 { - if x != nil { - return x.TicketType - } - return 0 -} - -func (x *EventTicketTypeMsgElement) GetEvent() int32 { - if x != nil { - return x.Event - } - return 0 -} - -func (x *EventTicketTypeMsgElement) GetTicketPayment() int32 { - if x != nil { - return x.TicketPayment - } - return 0 -} - -func (x *EventTicketTypeMsgElement) GetPrice() int32 { - if x != nil { - return x.Price - } - return 0 -} - -func (x *EventTicketTypeMsgElement) GetContingent() int32 { - if x != nil { - return x.Contingent - } - return 0 -} - -func (x *EventTicketTypeMsgElement) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *EventTicketTypeMsgElement) GetPayment() *EventTicketPaymentMsg { - if x != nil { - return x.Payment - } - return nil -} - -func (x *EventTicketTypeMsgElement) GetSold() int32 { - if x != nil { - return x.Sold - } - return 0 -} - -type EventTicketPaymentMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StripePublishableKey string `protobuf:"bytes,1,opt,name=stripe_publishable_key,json=stripePublishableKey,proto3" json:"stripe_publishable_key,omitempty"` - Terms string `protobuf:"bytes,2,opt,name=terms,proto3" json:"terms,omitempty"` - MinTickets int32 `protobuf:"varint,3,opt,name=minTickets,proto3" json:"minTickets,omitempty"` - MaxTickets int32 `protobuf:"varint,4,opt,name=maxTickets,proto3" json:"maxTickets,omitempty"` -} - -func (x *EventTicketPaymentMsg) Reset() { - *x = EventTicketPaymentMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventTicketPaymentMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventTicketPaymentMsg) ProtoMessage() {} - -func (x *EventTicketPaymentMsg) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventTicketPaymentMsg.ProtoReflect.Descriptor instead. -func (*EventTicketPaymentMsg) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{57} -} - -func (x *EventTicketPaymentMsg) GetStripePublishableKey() string { - if x != nil { - return x.StripePublishableKey - } - return "" -} - -func (x *EventTicketPaymentMsg) GetTerms() string { - if x != nil { - return x.Terms - } - return "" -} - -func (x *EventTicketPaymentMsg) GetMinTickets() int32 { - if x != nil { - return x.MinTickets - } - return 0 -} - -func (x *EventTicketPaymentMsg) GetMaxTickets() int32 { - if x != nil { - return x.MaxTickets - } - return 0 -} - -type ReserveMultipleTicketsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TicketTypes []int32 `protobuf:"varint,1,rep,packed,name=ticketTypes,proto3" json:"ticketTypes,omitempty"` - Amounts []int32 `protobuf:"varint,2,rep,packed,name=amounts,proto3" json:"amounts,omitempty"` -} - -func (x *ReserveMultipleTicketsRequest) Reset() { - *x = ReserveMultipleTicketsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReserveMultipleTicketsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReserveMultipleTicketsRequest) ProtoMessage() {} - -func (x *ReserveMultipleTicketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReserveMultipleTicketsRequest.ProtoReflect.Descriptor instead. -func (*ReserveMultipleTicketsRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{58} -} - -func (x *ReserveMultipleTicketsRequest) GetTicketTypes() []int32 { - if x != nil { - return x.TicketTypes - } - return nil -} - -func (x *ReserveMultipleTicketsRequest) GetAmounts() []int32 { - if x != nil { - return x.Amounts - } - return nil -} - -type ReserveMultipleTicketsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tickets []*EventTicketReserveMultipleMsgElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` -} - -func (x *ReserveMultipleTicketsReply) Reset() { - *x = ReserveMultipleTicketsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReserveMultipleTicketsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReserveMultipleTicketsReply) ProtoMessage() {} - -func (x *ReserveMultipleTicketsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReserveMultipleTicketsReply.ProtoReflect.Descriptor instead. -func (*ReserveMultipleTicketsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{59} -} - -func (x *ReserveMultipleTicketsReply) GetTickets() []*EventTicketReserveMultipleMsgElement { - if x != nil { - return x.Tickets - } - return nil -} - -type EventTicketReserveMultipleMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TicketIds int32 `protobuf:"varint,1,opt,name=ticket_ids,json=ticketIds,proto3" json:"ticket_ids,omitempty"` -} - -func (x *EventTicketReserveMultipleMsgElement) Reset() { - *x = EventTicketReserveMultipleMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventTicketReserveMultipleMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventTicketReserveMultipleMsgElement) ProtoMessage() {} - -func (x *EventTicketReserveMultipleMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventTicketReserveMultipleMsgElement.ProtoReflect.Descriptor instead. -func (*EventTicketReserveMultipleMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{60} -} - -func (x *EventTicketReserveMultipleMsgElement) GetTicketIds() int32 { - if x != nil { - return x.TicketIds - } - return 0 -} - -type GetKinoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LastId int32 `protobuf:"varint,1,opt,name=lastId,proto3" json:"lastId,omitempty"` -} - -func (x *GetKinoRequest) Reset() { - *x = GetKinoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetKinoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetKinoRequest) ProtoMessage() {} - -func (x *GetKinoRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetKinoRequest.ProtoReflect.Descriptor instead. -func (*GetKinoRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{61} -} - -func (x *GetKinoRequest) GetLastId() int32 { - if x != nil { - return x.LastId - } - return 0 -} - -type GetKinoReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kinos []*KinoMsgElement `protobuf:"bytes,1,rep,name=kinos,proto3" json:"kinos,omitempty"` -} - -func (x *GetKinoReply) Reset() { - *x = GetKinoReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetKinoReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetKinoReply) ProtoMessage() {} - -func (x *GetKinoReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetKinoReply.ProtoReflect.Descriptor instead. -func (*GetKinoReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{62} -} - -func (x *GetKinoReply) GetKinos() []*KinoMsgElement { - if x != nil { - return x.Kinos - } - return nil -} - -type KinoMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` - Kino int32 `protobuf:"varint,3,opt,name=kino,proto3" json:"kino,omitempty"` - Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"` - Created *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"` - Title string `protobuf:"bytes,6,opt,name=title,proto3" json:"title,omitempty"` - Year string `protobuf:"bytes,7,opt,name=year,proto3" json:"year,omitempty"` - Runtime string `protobuf:"bytes,8,opt,name=runtime,proto3" json:"runtime,omitempty"` - Genre string `protobuf:"bytes,9,opt,name=genre,proto3" json:"genre,omitempty"` - Director string `protobuf:"bytes,10,opt,name=director,proto3" json:"director,omitempty"` - Actors string `protobuf:"bytes,11,opt,name=actors,proto3" json:"actors,omitempty"` - Rating string `protobuf:"bytes,12,opt,name=rating,proto3" json:"rating,omitempty"` - Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` - Cover int32 `protobuf:"varint,14,opt,name=cover,proto3" json:"cover,omitempty"` - Trailer string `protobuf:"bytes,15,opt,name=trailer,proto3" json:"trailer,omitempty"` - Link string `protobuf:"bytes,16,opt,name=link,proto3" json:"link,omitempty"` -} - -func (x *KinoMsgElement) Reset() { - *x = KinoMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KinoMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KinoMsgElement) ProtoMessage() {} - -func (x *KinoMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KinoMsgElement.ProtoReflect.Descriptor instead. -func (*KinoMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{63} -} - -func (x *KinoMsgElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *KinoMsgElement) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *KinoMsgElement) GetKino() int32 { - if x != nil { - return x.Kino - } - return 0 -} - -func (x *KinoMsgElement) GetDate() *timestamppb.Timestamp { - if x != nil { - return x.Date - } - return nil -} - -func (x *KinoMsgElement) GetCreated() *timestamppb.Timestamp { - if x != nil { - return x.Created - } - return nil -} - -func (x *KinoMsgElement) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *KinoMsgElement) GetYear() string { - if x != nil { - return x.Year - } - return "" -} - -func (x *KinoMsgElement) GetRuntime() string { - if x != nil { - return x.Runtime - } - return "" -} - -func (x *KinoMsgElement) GetGenre() string { - if x != nil { - return x.Genre - } - return "" -} - -func (x *KinoMsgElement) GetDirector() string { - if x != nil { - return x.Director - } - return "" -} - -func (x *KinoMsgElement) GetActors() string { - if x != nil { - return x.Actors - } - return "" -} - -func (x *KinoMsgElement) GetRating() string { - if x != nil { - return x.Rating - } - return "" -} - -func (x *KinoMsgElement) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *KinoMsgElement) GetCover() int32 { - if x != nil { - return x.Cover - } - return 0 -} - -func (x *KinoMsgElement) GetTrailer() string { - if x != nil { - return x.Trailer - } - return "" -} - -func (x *KinoMsgElement) GetLink() string { - if x != nil { - return x.Link - } - return "" -} - -type SendFeedbackRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` - Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` - EmailId string `protobuf:"bytes,3,opt,name=emailId,proto3" json:"emailId,omitempty"` - Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` - ImageCount int32 `protobuf:"varint,5,opt,name=image_count,json=imageCount,proto3" json:"image_count,omitempty"` - Latitude float64 `protobuf:"fixed64,6,opt,name=latitude,proto3" json:"latitude,omitempty"` - Longitude float64 `protobuf:"fixed64,7,opt,name=longitude,proto3" json:"longitude,omitempty"` - OsVersion string `protobuf:"bytes,8,opt,name=osVersion,proto3" json:"osVersion,omitempty"` - AppVersion string `protobuf:"bytes,9,opt,name=appVersion,proto3" json:"appVersion,omitempty"` -} - -func (x *SendFeedbackRequest) Reset() { - *x = SendFeedbackRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendFeedbackRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendFeedbackRequest) ProtoMessage() {} - -func (x *SendFeedbackRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendFeedbackRequest.ProtoReflect.Descriptor instead. -func (*SendFeedbackRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{64} -} - -func (x *SendFeedbackRequest) GetTopic() string { - if x != nil { - return x.Topic - } - return "" -} - -func (x *SendFeedbackRequest) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *SendFeedbackRequest) GetEmailId() string { - if x != nil { - return x.EmailId - } - return "" -} - -func (x *SendFeedbackRequest) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *SendFeedbackRequest) GetImageCount() int32 { - if x != nil { - return x.ImageCount - } - return 0 -} - -func (x *SendFeedbackRequest) GetLatitude() float64 { - if x != nil { - return x.Latitude - } - return 0 -} - -func (x *SendFeedbackRequest) GetLongitude() float64 { - if x != nil { - return x.Longitude - } - return 0 -} - -func (x *SendFeedbackRequest) GetOsVersion() string { - if x != nil { - return x.OsVersion - } - return "" -} - -func (x *SendFeedbackRequest) GetAppVersion() string { - if x != nil { - return x.AppVersion - } - return "" -} - -type SendFeedbackImageReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *SendFeedbackImageReply) Reset() { - *x = SendFeedbackImageReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendFeedbackImageReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendFeedbackImageReply) ProtoMessage() {} - -func (x *SendFeedbackImageReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendFeedbackImageReply.ProtoReflect.Descriptor instead. -func (*SendFeedbackImageReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{65} -} - -func (x *SendFeedbackImageReply) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type SendFeedbackImageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo where does the file come from? -} - -func (x *SendFeedbackImageRequest) Reset() { - *x = SendFeedbackImageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendFeedbackImageRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendFeedbackImageRequest) ProtoMessage() {} - -func (x *SendFeedbackImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendFeedbackImageRequest.ProtoReflect.Descriptor instead. -func (*SendFeedbackImageRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{66} -} - -func (x *SendFeedbackImageRequest) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *SendFeedbackImageRequest) GetImageNr() int32 { - if x != nil { - return x.ImageNr - } - return 0 -} - -type GetMembersRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` -} - -func (x *GetMembersRequest) Reset() { - *x = GetMembersRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMembersRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMembersRequest) ProtoMessage() {} - -func (x *GetMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMembersRequest.ProtoReflect.Descriptor instead. -func (*GetMembersRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{67} -} - -func (x *GetMembersRequest) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" -} - -type GetMembersReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - MemberId int32 `protobuf:"varint,3,opt,name=memberId,proto3" json:"memberId,omitempty"` -} - -func (x *GetMembersReply) Reset() { - *x = GetMembersReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMembersReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMembersReply) ProtoMessage() {} - -func (x *GetMembersReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMembersReply.ProtoReflect.Descriptor instead. -func (*GetMembersReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{68} -} - -func (x *GetMembersReply) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" -} - -func (x *GetMembersReply) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *GetMembersReply) GetMemberId() int32 { - if x != nil { - return x.MemberId - } - return 0 -} - -type GetChatRoomsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Rooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` -} - -func (x *GetChatRoomsReply) Reset() { - *x = GetChatRoomsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatRoomsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatRoomsReply) ProtoMessage() {} - -func (x *GetChatRoomsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatRoomsReply.ProtoReflect.Descriptor instead. -func (*GetChatRoomsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{69} -} - -func (x *GetChatRoomsReply) GetRooms() []*ChatRoomsMsgElement { - if x != nil { - return x.Rooms - } - return nil -} - -type ChatRoomsMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Semester string `protobuf:"bytes,3,opt,name=semester,proto3" json:"semester,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Members int32 `protobuf:"varint,5,opt,name=members,proto3" json:"members,omitempty"` -} - -func (x *ChatRoomsMsgElement) Reset() { - *x = ChatRoomsMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatRoomsMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatRoomsMsgElement) ProtoMessage() {} - -func (x *ChatRoomsMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatRoomsMsgElement.ProtoReflect.Descriptor instead. -func (*ChatRoomsMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{70} -} - -func (x *ChatRoomsMsgElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ChatRoomsMsgElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ChatRoomsMsgElement) GetSemester() string { - if x != nil { - return x.Semester - } - return "" -} - -func (x *ChatRoomsMsgElement) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *ChatRoomsMsgElement) GetMembers() int32 { - if x != nil { - return x.Members - } - return 0 -} - -type GetChatRoomByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` -} - -func (x *GetChatRoomByIdRequest) Reset() { - *x = GetChatRoomByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatRoomByIdRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatRoomByIdRequest) ProtoMessage() {} - -func (x *GetChatRoomByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatRoomByIdRequest.ProtoReflect.Descriptor instead. -func (*GetChatRoomByIdRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{71} -} - -func (x *GetChatRoomByIdRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -type LeaveChatRoomRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` -} - -func (x *LeaveChatRoomRequest) Reset() { - *x = LeaveChatRoomRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LeaveChatRoomRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LeaveChatRoomRequest) ProtoMessage() {} - -func (x *LeaveChatRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LeaveChatRoomRequest.ProtoReflect.Descriptor instead. -func (*LeaveChatRoomRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{72} -} - -func (x *LeaveChatRoomRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -type AddUserToChatRoomRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` - MemberId int32 `protobuf:"varint,2,opt,name=memberId,proto3" json:"memberId,omitempty"` -} - -func (x *AddUserToChatRoomRequest) Reset() { - *x = AddUserToChatRoomRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddUserToChatRoomRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddUserToChatRoomRequest) ProtoMessage() {} - -func (x *AddUserToChatRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddUserToChatRoomRequest.ProtoReflect.Descriptor instead. -func (*AddUserToChatRoomRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{73} -} - -func (x *AddUserToChatRoomRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -func (x *AddUserToChatRoomRequest) GetMemberId() int32 { - if x != nil { - return x.MemberId - } - return 0 -} - -type SendChatMessageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` -} - -func (x *SendChatMessageRequest) Reset() { - *x = SendChatMessageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendChatMessageRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendChatMessageRequest) ProtoMessage() {} - -func (x *SendChatMessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendChatMessageRequest.ProtoReflect.Descriptor instead. -func (*SendChatMessageRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{74} -} - -func (x *SendChatMessageRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -type UpdateChatMessageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` - MessageId int32 `protobuf:"varint,2,opt,name=messageId,proto3" json:"messageId,omitempty"` -} - -func (x *UpdateChatMessageRequest) Reset() { - *x = UpdateChatMessageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateChatMessageRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateChatMessageRequest) ProtoMessage() {} - -func (x *UpdateChatMessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateChatMessageRequest.ProtoReflect.Descriptor instead. -func (*UpdateChatMessageRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{75} -} - -func (x *UpdateChatMessageRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -func (x *UpdateChatMessageRequest) GetMessageId() int32 { - if x != nil { - return x.MessageId - } - return 0 -} - -type ChatMessageModelMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Messages []*ChatMessageModelMsgElement `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` -} - -func (x *ChatMessageModelMsg) Reset() { - *x = ChatMessageModelMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatMessageModelMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatMessageModelMsg) ProtoMessage() {} - -func (x *ChatMessageModelMsg) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatMessageModelMsg.ProtoReflect.Descriptor instead. -func (*ChatMessageModelMsg) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{76} -} - -func (x *ChatMessageModelMsg) GetMessages() []*ChatMessageModelMsgElement { - if x != nil { - return x.Messages - } - return nil -} - -type ChatMessageModelMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Previous int32 `protobuf:"varint,2,opt,name=previous,proto3" json:"previous,omitempty"` - Room int32 `protobuf:"varint,3,opt,name=room,proto3" json:"room,omitempty"` - Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"` - Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Signature string `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"` - MemberId int32 `protobuf:"varint,7,opt,name=memberId,proto3" json:"memberId,omitempty"` - SendingStatus int32 `protobuf:"varint,8,opt,name=sendingStatus,proto3" json:"sendingStatus,omitempty"` -} - -func (x *ChatMessageModelMsgElement) Reset() { - *x = ChatMessageModelMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatMessageModelMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatMessageModelMsgElement) ProtoMessage() {} - -func (x *ChatMessageModelMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatMessageModelMsgElement.ProtoReflect.Descriptor instead. -func (*ChatMessageModelMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{77} -} - -func (x *ChatMessageModelMsgElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ChatMessageModelMsgElement) GetPrevious() int32 { - if x != nil { - return x.Previous - } - return 0 -} - -func (x *ChatMessageModelMsgElement) GetRoom() int32 { - if x != nil { - return x.Room - } - return 0 -} - -func (x *ChatMessageModelMsgElement) GetText() string { - if x != nil { - return x.Text - } - return "" -} - -func (x *ChatMessageModelMsgElement) GetTimestamp() *timestamppb.Timestamp { - if x != nil { - return x.Timestamp - } - return nil -} - -func (x *ChatMessageModelMsgElement) GetSignature() string { - if x != nil { - return x.Signature - } - return "" -} - -func (x *ChatMessageModelMsgElement) GetMemberId() int32 { - if x != nil { - return x.MemberId - } - return 0 -} - -func (x *ChatMessageModelMsgElement) GetSendingStatus() int32 { - if x != nil { - return x.SendingStatus - } - return 0 -} - -type GetChatMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` - PageId int32 `protobuf:"varint,2,opt,name=pageId,proto3" json:"pageId,omitempty"` -} - -func (x *GetChatMessagesRequest) Reset() { - *x = GetChatMessagesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatMessagesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatMessagesRequest) ProtoMessage() {} - -func (x *GetChatMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatMessagesRequest.ProtoReflect.Descriptor instead. -func (*GetChatMessagesRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{78} -} - -func (x *GetChatMessagesRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -func (x *GetChatMessagesRequest) GetPageId() int32 { - if x != nil { - return x.PageId - } - return 0 -} - -type ChatMemberMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Members []*ChatMemberMsgElement `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` -} - -func (x *ChatMemberMsg) Reset() { - *x = ChatMemberMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatMemberMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatMemberMsg) ProtoMessage() {} - -func (x *ChatMemberMsg) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatMemberMsg.ProtoReflect.Descriptor instead. -func (*ChatMemberMsg) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{79} -} - -func (x *ChatMemberMsg) GetMembers() []*ChatMemberMsgElement { - if x != nil { - return x.Members - } - return nil -} - -type ChatMemberMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - LrzId string `protobuf:"bytes,2,opt,name=lrzId,proto3" json:"lrzId,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=displayName,proto3" json:"displayName,omitempty"` - Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` -} - -func (x *ChatMemberMsgElement) Reset() { - *x = ChatMemberMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatMemberMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatMemberMsgElement) ProtoMessage() {} - -func (x *ChatMemberMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatMemberMsgElement.ProtoReflect.Descriptor instead. -func (*ChatMemberMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{80} -} - -func (x *ChatMemberMsgElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ChatMemberMsgElement) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" -} - -func (x *ChatMemberMsgElement) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *ChatMemberMsgElement) GetSignature() string { - if x != nil { - return x.Signature - } - return "" -} - -type GetChatMemberRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` -} - -func (x *GetChatMemberRequest) Reset() { - *x = GetChatMemberRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatMemberRequest) ProtoMessage() {} - -func (x *GetChatMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatMemberRequest.ProtoReflect.Descriptor instead. -func (*GetChatMemberRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{81} -} - -func (x *GetChatMemberRequest) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" -} - -type SearchMemberByNameRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` -} - -func (x *SearchMemberByNameRequest) Reset() { - *x = SearchMemberByNameRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SearchMemberByNameRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SearchMemberByNameRequest) ProtoMessage() {} - -func (x *SearchMemberByNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SearchMemberByNameRequest.ProtoReflect.Descriptor instead. -func (*SearchMemberByNameRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{82} -} - -func (x *SearchMemberByNameRequest) GetQuery() string { - if x != nil { - return x.Query - } - return "" -} - -type GetMemberRoomsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MemberId int32 `protobuf:"varint,1,opt,name=memberId,proto3" json:"memberId,omitempty"` -} - -func (x *GetMemberRoomsRequest) Reset() { - *x = GetMemberRoomsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMemberRoomsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMemberRoomsRequest) ProtoMessage() {} - -func (x *GetMemberRoomsRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMemberRoomsRequest.ProtoReflect.Descriptor instead. -func (*GetMemberRoomsRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{83} -} - -func (x *GetMemberRoomsRequest) GetMemberId() int32 { - if x != nil { - return x.MemberId - } - return 0 -} - -type GetMemberRoomsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChatRooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=chatRooms,proto3" json:"chatRooms,omitempty"` -} - -func (x *GetMemberRoomsReply) Reset() { - *x = GetMemberRoomsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMemberRoomsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMemberRoomsReply) ProtoMessage() {} - -func (x *GetMemberRoomsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMemberRoomsReply.ProtoReflect.Descriptor instead. -func (*GetMemberRoomsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{84} -} - -func (x *GetMemberRoomsReply) GetChatRooms() []*ChatRoomsMsgElement { - if x != nil { - return x.ChatRooms - } - return nil -} - -type PurchaseTicketStripeReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tickets []*TicketMessageElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` -} - -func (x *PurchaseTicketStripeReply) Reset() { - *x = PurchaseTicketStripeReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PurchaseTicketStripeReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PurchaseTicketStripeReply) ProtoMessage() {} - -func (x *PurchaseTicketStripeReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PurchaseTicketStripeReply.ProtoReflect.Descriptor instead. -func (*PurchaseTicketStripeReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{85} -} - -func (x *PurchaseTicketStripeReply) GetTickets() []*TicketMessageElement { - if x != nil { - return x.Tickets - } - return nil -} - -type TicketMessageElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - EventId int32 `protobuf:"varint,2,opt,name=eventId,proto3" json:"eventId,omitempty"` - Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` - TicketTypeId int32 `protobuf:"varint,4,opt,name=ticketTypeId,proto3" json:"ticketTypeId,omitempty"` - Redemption *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=redemption,proto3" json:"redemption,omitempty"` -} - -func (x *TicketMessageElement) Reset() { - *x = TicketMessageElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TicketMessageElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TicketMessageElement) ProtoMessage() {} - -func (x *TicketMessageElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TicketMessageElement.ProtoReflect.Descriptor instead. -func (*TicketMessageElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{86} -} - -func (x *TicketMessageElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *TicketMessageElement) GetEventId() int32 { - if x != nil { - return x.EventId - } - return 0 -} - -func (x *TicketMessageElement) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *TicketMessageElement) GetTicketTypeId() int32 { - if x != nil { - return x.TicketTypeId - } - return 0 -} - -func (x *TicketMessageElement) GetRedemption() *timestamppb.Timestamp { - if x != nil { - return x.Redemption - } - return nil -} - -type GetEphemeralKeyReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetEphemeralKeyReply) Reset() { - *x = GetEphemeralKeyReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetEphemeralKeyReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetEphemeralKeyReply) ProtoMessage() {} - -func (x *GetEphemeralKeyReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetEphemeralKeyReply.ProtoReflect.Descriptor instead. -func (*GetEphemeralKeyReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{87} -} - -type GetTicketStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` -} - -func (x *GetTicketStatusRequest) Reset() { - *x = GetTicketStatusRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTicketStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTicketStatusRequest) ProtoMessage() {} - -func (x *GetTicketStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetTicketStatusRequest.ProtoReflect.Descriptor instead. -func (*GetTicketStatusRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{88} -} - -func (x *GetTicketStatusRequest) GetEventId() int32 { - if x != nil { - return x.EventId - } - return 0 -} - -type GetTicketStatusReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status []*TicketStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"` -} - -func (x *GetTicketStatusReply) Reset() { - *x = GetTicketStatusReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTicketStatusReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTicketStatusReply) ProtoMessage() {} - -func (x *GetTicketStatusReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetTicketStatusReply.ProtoReflect.Descriptor instead. -func (*GetTicketStatusReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{89} -} - -func (x *GetTicketStatusReply) GetStatus() []*TicketStatus { - if x != nil { - return x.Status - } - return nil -} - -type TicketStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TicketType int32 `protobuf:"varint,1,opt,name=ticketType,proto3" json:"ticketType,omitempty"` - Contingent int32 `protobuf:"varint,2,opt,name=contingent,proto3" json:"contingent,omitempty"` - Sold int32 `protobuf:"varint,3,opt,name=sold,proto3" json:"sold,omitempty"` -} - -func (x *TicketStatus) Reset() { - *x = TicketStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TicketStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TicketStatus) ProtoMessage() {} - -func (x *TicketStatus) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TicketStatus.ProtoReflect.Descriptor instead. -func (*TicketStatus) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{90} -} - -func (x *TicketStatus) GetTicketType() int32 { - if x != nil { - return x.TicketType - } - return 0 -} - -func (x *TicketStatus) GetContingent() int32 { - if x != nil { - return x.Contingent - } - return 0 -} - -func (x *TicketStatus) GetSold() int32 { - if x != nil { - return x.Sold - } - return 0 -} - -type TUMCabeStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *TUMCabeStatus) Reset() { - *x = TUMCabeStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TUMCabeStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TUMCabeStatus) ProtoMessage() {} - -func (x *TUMCabeStatus) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TUMCabeStatus.ProtoReflect.Descriptor instead. -func (*TUMCabeStatus) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{91} -} - -func (x *TUMCabeStatus) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type GetUploadStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` -} - -func (x *GetUploadStatusRequest) Reset() { - *x = GetUploadStatusRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUploadStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUploadStatusRequest) ProtoMessage() {} - -func (x *GetUploadStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUploadStatusRequest.ProtoReflect.Descriptor instead. -func (*GetUploadStatusRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{92} -} - -func (x *GetUploadStatusRequest) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" -} - -type GetUploadStatusReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FcmToken string `protobuf:"bytes,1,opt,name=fcm_token,json=fcmToken,proto3" json:"fcm_token,omitempty"` - PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` - StudentId bool `protobuf:"varint,3,opt,name=student_id,json=studentId,proto3" json:"student_id,omitempty"` - EmployeeId bool `protobuf:"varint,4,opt,name=employee_id,json=employeeId,proto3" json:"employee_id,omitempty"` - ExternalId bool `protobuf:"varint,5,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` -} - -func (x *GetUploadStatusReply) Reset() { - *x = GetUploadStatusReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUploadStatusReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUploadStatusReply) ProtoMessage() {} - -func (x *GetUploadStatusReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUploadStatusReply.ProtoReflect.Descriptor instead. -func (*GetUploadStatusReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{93} -} - -func (x *GetUploadStatusReply) GetFcmToken() string { - if x != nil { - return x.FcmToken - } - return "" -} - -func (x *GetUploadStatusReply) GetPublicKey() string { - if x != nil { - return x.PublicKey - } - return "" -} - -func (x *GetUploadStatusReply) GetStudentId() bool { - if x != nil { - return x.StudentId - } - return false -} - -func (x *GetUploadStatusReply) GetEmployeeId() bool { - if x != nil { - return x.EmployeeId - } - return false -} - -func (x *GetUploadStatusReply) GetExternalId() bool { - if x != nil { - return x.ExternalId - } - return false -} - -type GetNotificationsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NotificationId int32 `protobuf:"varint,1,opt,name=notificationId,proto3" json:"notificationId,omitempty"` - Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` -} - -func (x *GetNotificationsReply) Reset() { - *x = GetNotificationsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetNotificationsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetNotificationsReply) ProtoMessage() {} - -func (x *GetNotificationsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetNotificationsReply.ProtoReflect.Descriptor instead. -func (*GetNotificationsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{94} -} - -func (x *GetNotificationsReply) GetNotificationId() int32 { - if x != nil { - return x.NotificationId - } - return 0 -} - -func (x *GetNotificationsReply) GetType() int32 { - if x != nil { - return x.Type - } - return 0 -} - -func (x *GetNotificationsReply) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *GetNotificationsReply) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *GetNotificationsReply) GetSignature() string { - if x != nil { - return x.Signature - } - return "" -} - -type NotificationsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NotificationId int32 `protobuf:"varint,1,opt,name=notificationId,proto3" json:"notificationId,omitempty"` -} - -func (x *NotificationsRequest) Reset() { - *x = NotificationsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NotificationsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NotificationsRequest) ProtoMessage() {} - -func (x *NotificationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NotificationsRequest.ProtoReflect.Descriptor instead. -func (*NotificationsRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{95} -} - -func (x *NotificationsRequest) GetNotificationId() int32 { - if x != nil { - return x.NotificationId - } - return 0 -} - -type GetNotificationsConfirmReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *GetNotificationsConfirmReply) Reset() { - *x = GetNotificationsConfirmReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetNotificationsConfirmReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetNotificationsConfirmReply) ProtoMessage() {} - -func (x *GetNotificationsConfirmReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetNotificationsConfirmReply.ProtoReflect.Descriptor instead. -func (*GetNotificationsConfirmReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{96} -} - -func (x *GetNotificationsConfirmReply) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type GetRoomScheduleReply_RoomScheduleEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` - End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - EventId int32 `protobuf:"varint,4,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` - CourseCode string `protobuf:"bytes,5,opt,name=course_code,json=courseCode,proto3" json:"course_code,omitempty"` -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { - *x = GetRoomScheduleReply_RoomScheduleEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetRoomScheduleReply_RoomScheduleEvent.ProtoReflect.Descriptor instead. -func (*GetRoomScheduleReply_RoomScheduleEvent) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{1, 0} -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetStart() *timestamppb.Timestamp { - if x != nil { - return x.Start - } - return nil -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEnd() *timestamppb.Timestamp { - if x != nil { - return x.End - } - return nil -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEventId() int32 { - if x != nil { - return x.EventId - } - return 0 -} - -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetCourseCode() string { - if x != nil { - return x.CourseCode - } - return "" -} - -type GetRoomMapsReply_Map struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Scale int64 `protobuf:"varint,3,opt,name=scale,proto3" json:"scale,omitempty"` - Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` - Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` -} - -func (x *GetRoomMapsReply_Map) Reset() { - *x = GetRoomMapsReply_Map{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetRoomMapsReply_Map) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetRoomMapsReply_Map) ProtoMessage() {} - -func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetRoomMapsReply_Map.ProtoReflect.Descriptor instead. -func (*GetRoomMapsReply_Map) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{5, 0} -} - -func (x *GetRoomMapsReply_Map) GetMapId() int64 { - if x != nil { - return x.MapId - } - return 0 -} - -func (x *GetRoomMapsReply_Map) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *GetRoomMapsReply_Map) GetScale() int64 { - if x != nil { - return x.Scale - } - return 0 -} - -func (x *GetRoomMapsReply_Map) GetWidth() int64 { - if x != nil { - return x.Width - } - return 0 -} - -func (x *GetRoomMapsReply_Map) GetHeight() int64 { - if x != nil { - return x.Height - } - return 0 -} - -type GetLocationsReply_Location struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Lon string `protobuf:"bytes,3,opt,name=lon,proto3" json:"lon,omitempty"` - Lat string `protobuf:"bytes,4,opt,name=lat,proto3" json:"lat,omitempty"` - Radius string `protobuf:"bytes,5,opt,name=radius,proto3" json:"radius,omitempty"` -} - -func (x *GetLocationsReply_Location) Reset() { - *x = GetLocationsReply_Location{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetLocationsReply_Location) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLocationsReply_Location) ProtoMessage() {} - -func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLocationsReply_Location.ProtoReflect.Descriptor instead. -func (*GetLocationsReply_Location) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{7, 0} -} - -func (x *GetLocationsReply_Location) GetLocation() string { - if x != nil { - return x.Location - } - return "" -} - -func (x *GetLocationsReply_Location) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *GetLocationsReply_Location) GetLon() string { - if x != nil { - return x.Lon - } - return "" -} - -func (x *GetLocationsReply_Location) GetLat() string { - if x != nil { - return x.Lat - } - return "" -} - -func (x *GetLocationsReply_Location) GetRadius() string { - if x != nil { - return x.Radius - } - return "" -} - -var File_CampusService_proto protoreflect.FileDescriptor - -var file_CampusService_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, - 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0xc5, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, - 0x75, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x34, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, - 0x64, 0x22, 0x78, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, - 0x75, 0x74, 0x6d, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x75, 0x74, 0x6d, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x6d, 0x5f, 0x65, - 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x75, 0x74, - 0x6d, 0x45, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x74, 0x6d, 0x5f, - 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, - 0x75, 0x74, 0x6d, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x1a, 0x82, - 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x22, 0x31, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x09, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x76, 0x0a, 0x08, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x64, - 0x69, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, - 0x33, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, - 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, - 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, - 0x67, 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, - 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, - 0x70, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x3c, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x4e, - 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0xd4, - 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, - 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, - 0x69, 0x6e, 0x6b, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, - 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, - 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x06, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x61, - 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, 0x10, 0x0a, - 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, 0x74, 0x64, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x69, - 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x6d, 0x61, 0x78, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x0f, 0x44, 0x69, - 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, - 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, - 0x03, 0x61, 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, - 0x10, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, 0x74, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x6e, - 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0xcb, 0x01, - 0x0a, 0x11, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x4e, - 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x19, - 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x68, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x12, 0x37, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x54, 0x61, 0x67, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x0a, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0x4a, 0x0a, 0x12, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x65, 0x6e, 0x22, 0x39, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x22, 0x43, 0x0a, 0x13, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x4e, 0x65, 0x77, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x6f, 0x0a, 0x0f, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, - 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, - 0x74, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x41, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x63, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x09, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0x6f, 0x0a, 0x09, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x70, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x22, 0x24, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x69, 0x73, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, - 0x73, 0x68, 0x22, 0x68, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x0a, - 0x18, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x75, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x75, 0x6d, 0x49, - 0x44, 0x22, 0x54, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, - 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0c, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, - 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x13, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, - 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, - 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, - 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x5b, 0x0a, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x47, 0x0a, 0x24, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x41, - 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, - 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x16, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, - 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, - 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, - 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x69, - 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x22, 0x58, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x0b, - 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, - 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x16, 0x4d, - 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x34, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, - 0x53, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x66, 0x61, 0x63, 0x69, 0x6c, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4d, 0x73, - 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, - 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x2b, 0x0a, - 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, - 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x70, - 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, - 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, - 0x73, 0x22, 0x79, 0x0a, 0x13, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, - 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x75, 0x64, - 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x9d, 0x01, 0x0a, - 0x09, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, - 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, - 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x45, 0x0a, - 0x11, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x22, 0xfa, 0x02, 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, - 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6e, 0x65, 0x77, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x30, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0x56, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, - 0x09, 0x6d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, - 0x6d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, - 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, - 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, - 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, - 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x73, 0x6f, 0x6c, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x34, - 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, - 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, - 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, - 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x1d, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x62, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x24, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x0c, - 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x05, - 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, 0x4b, 0x69, 0x6e, 0x6f, - 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, - 0x61, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, - 0x69, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x6e, - 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, - 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x16, 0x53, 0x65, 0x6e, - 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x53, - 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x4e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, - 0x72, 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x6f, - 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x43, - 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x65, 0x73, 0x74, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x65, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x22, 0x30, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x54, - 0x6f, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, - 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x8a, 0x02, 0x0a, - 0x1a, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x67, - 0x65, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x19, - 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xb4, - 0x01, 0x0a, 0x14, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x65, 0x64, - 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, - 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x32, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x62, 0x0a, 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, - 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, - 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x2e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, - 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, - 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, - 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xcd, 0x2c, 0x0a, 0x06, - 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, - 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, - 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, - 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, - 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, - 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, - 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, - 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, - 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, - 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, - 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, - 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, - 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, - 0x22, 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, - 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, - 0x65, 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, - 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x15, 0x22, 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, - 0x6e, 0x65, 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, - 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, - 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, - 0x18, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, - 0x73, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x0f, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, - 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x62, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, - 0x65, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, - 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, - 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, - 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, - 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, - 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, 0x12, 0x6a, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, - 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, - 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, - 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, - 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, - 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, - 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, - 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, - 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x7d, 0x12, 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, - 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, - 0x64, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, - 0x73, 0x74, 0x12, 0x66, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, - 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, - 0x61, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x10, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x6d, 0x79, 0x12, 0x5a, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x4d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x14, 0x22, 0x12, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x65, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x86, 0x01, - 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, - 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x2f, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x63, 0x68, - 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, - 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, - 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, - 0x2e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x70, 0x75, - 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, - 0x77, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, - 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x29, 0x2f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x65, 0x70, 0x68, 0x65, - 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x6b, 0x65, 0x79, 0x12, 0x71, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x49, 0x0a, 0x07, 0x47, - 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x16, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, 0x7b, 0x6c, - 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x58, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, - 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, - 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, - 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x22, 0x09, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, - 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, - 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x66, 0x65, 0x65, 0x64, - 0x62, 0x61, 0x63, 0x6b, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x4e, 0x72, 0x7d, 0x12, 0x56, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x10, 0x2f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x09, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, - 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x47, - 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x13, 0x2f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x60, 0x0a, - 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, - 0x0e, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, - 0x12, 0x27, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x0a, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, - 0x56, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x22, 0x0b, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, - 0x6f, 0x6f, 0x6d, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x63, 0x68, 0x61, 0x74, - 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x12, - 0x68, 0x0a, 0x0d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, - 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x1a, 0x2f, - 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, - 0x49, 0x64, 0x7d, 0x2f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x79, 0x0a, 0x11, 0x41, 0x64, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1d, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, - 0x23, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x49, 0x64, 0x7d, 0x12, 0x75, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, - 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x1c, 0x2f, - 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, - 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x11, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, - 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x1a, 0x28, 0x2f, 0x63, 0x68, 0x61, 0x74, - 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x64, 0x7d, 0x12, 0x78, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x26, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, - 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x5f, 0x0a, - 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x19, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x22, - 0x0d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x6b, - 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, - 0x79, 0x4c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1d, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x6e, 0x0a, 0x12, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, - 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x7d, 0x12, 0x6e, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x1a, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, 0x63, 0x68, - 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x49, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x42, 0x5e, 0x0a, 0x12, 0x61, - 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, - 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, - 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -} - -var ( - file_CampusService_proto_rawDescOnce sync.Once - file_CampusService_proto_rawDescData = file_CampusService_proto_rawDesc -) - -func file_CampusService_proto_rawDescGZIP() []byte { - file_CampusService_proto_rawDescOnce.Do(func() { - file_CampusService_proto_rawDescData = protoimpl.X.CompressGZIP(file_CampusService_proto_rawDescData) - }) - return file_CampusService_proto_rawDescData -} - -var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 100) -var file_CampusService_proto_goTypes = []interface{}{ - (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest - (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply - (*GetRoomCoordinatesRequest)(nil), // 2: api.GetRoomCoordinatesRequest - (*GetRoomCoordinatesReply)(nil), // 3: api.GetRoomCoordinatesReply - (*GetRoomMapsRequest)(nil), // 4: api.GetRoomMapsRequest - (*GetRoomMapsReply)(nil), // 5: api.GetRoomMapsReply - (*GetLocationsRequest)(nil), // 6: api.GetLocationsRequest - (*GetLocationsReply)(nil), // 7: api.GetLocationsReply - (*SearchRoomsRequest)(nil), // 8: api.SearchRoomsRequest - (*SearchRoomsReply)(nil), // 9: api.SearchRoomsReply - (*Room)(nil), // 10: api.Room - (*NewsSourceArray)(nil), // 11: api.NewsSourceArray - (*NewsSource)(nil), // 12: api.NewsSource - (*GetTopNewsReply)(nil), // 13: api.GetTopNewsReply - (*CafeteriaRatingRequest)(nil), // 14: api.CafeteriaRatingRequest - (*DishRatingRequest)(nil), // 15: api.DishRatingRequest - (*CafeteriaRatingReply)(nil), // 16: api.CafeteriaRatingReply - (*DishRatingReply)(nil), // 17: api.DishRatingReply - (*SingleRatingReply)(nil), // 18: api.SingleRatingReply - (*NewCafeteriaRatingRequest)(nil), // 19: api.NewCafeteriaRatingRequest - (*NewDishRatingRequest)(nil), // 20: api.NewDishRatingRequest - (*GetRatingTagsReply)(nil), // 21: api.GetRatingTagsReply - (*RatingTagsOverview)(nil), // 22: api.RatingTagsOverview - (*RatingTag)(nil), // 23: api.RatingTag - (*RatingTagNewRequest)(nil), // 24: api.RatingTagNewRequest - (*RatingTagResult)(nil), // 25: api.RatingTagResult - (*GetCafeteriaReply)(nil), // 26: api.GetCafeteriaReply - (*Cafeteria)(nil), // 27: api.Cafeteria - (*GetDishesRequest)(nil), // 28: api.GetDishesRequest - (*GetDishesReply)(nil), // 29: api.GetDishesReply - (*GetResponsiblePersonReply)(nil), // 30: api.GetResponsiblePersonReply - (*ResponsiblePersonElement)(nil), // 31: api.ResponsiblePersonElement - (*GetBuilding2GpsReply)(nil), // 32: api.GetBuilding2GpsReply - (*Building2GpsElement)(nil), // 33: api.Building2GpsElement - (*GetAreaFacilitiesByBuildingNrReply)(nil), // 34: api.GetAreaFacilitiesByBuildingNrReply - (*GetAreaFacilitiesByBuildingNrRequest)(nil), // 35: api.GetAreaFacilitiesByBuildingNrRequest - (*GetListOfToiletsReply)(nil), // 36: api.GetListOfToiletsReply - (*RoomInformationElement)(nil), // 37: api.RoomInformationElement - (*GetListOfElevatorsReply)(nil), // 38: api.GetListOfElevatorsReply - (*GetMoreInformationReply)(nil), // 39: api.GetMoreInformationReply - (*MoreInformationElement)(nil), // 40: api.MoreInformationElement - (*GetOpeningTimesRequest)(nil), // 41: api.GetOpeningTimesRequest - (*GetOpeningTimesReply)(nil), // 42: api.GetOpeningTimesReply - (*OpeningTimesMsgElement)(nil), // 43: api.OpeningTimesMsgElement - (*GetUpdateNoteRequest)(nil), // 44: api.GetUpdateNoteRequest - (*GetUpdateNoteReply)(nil), // 45: api.GetUpdateNoteReply - (*GetStudyRoomListReply)(nil), // 46: api.GetStudyRoomListReply - (*StudyRoomMsgElement)(nil), // 47: api.StudyRoomMsgElement - (*StudyRoom)(nil), // 48: api.StudyRoom - (*GetEventListRequest)(nil), // 49: api.GetEventListRequest - (*GetEventListReply)(nil), // 50: api.GetEventListReply - (*EventListMsgElement)(nil), // 51: api.EventListMsgElement - (*GetPurchasedTicketsReply)(nil), // 52: api.GetPurchasedTicketsReply - (*EventTicketMyMsgElement)(nil), // 53: api.EventTicketMyMsgElement - (*GetTicketRequest)(nil), // 54: api.GetTicketRequest - (*GetEventTicketTypeReply)(nil), // 55: api.GetEventTicketTypeReply - (*EventTicketTypeMsgElement)(nil), // 56: api.EventTicketTypeMsgElement - (*EventTicketPaymentMsg)(nil), // 57: api.EventTicketPaymentMsg - (*ReserveMultipleTicketsRequest)(nil), // 58: api.ReserveMultipleTicketsRequest - (*ReserveMultipleTicketsReply)(nil), // 59: api.ReserveMultipleTicketsReply - (*EventTicketReserveMultipleMsgElement)(nil), // 60: api.EventTicketReserveMultipleMsgElement - (*GetKinoRequest)(nil), // 61: api.GetKinoRequest - (*GetKinoReply)(nil), // 62: api.GetKinoReply - (*KinoMsgElement)(nil), // 63: api.KinoMsgElement - (*SendFeedbackRequest)(nil), // 64: api.SendFeedbackRequest - (*SendFeedbackImageReply)(nil), // 65: api.SendFeedbackImageReply - (*SendFeedbackImageRequest)(nil), // 66: api.SendFeedbackImageRequest - (*GetMembersRequest)(nil), // 67: api.GetMembersRequest - (*GetMembersReply)(nil), // 68: api.GetMembersReply - (*GetChatRoomsReply)(nil), // 69: api.GetChatRoomsReply - (*ChatRoomsMsgElement)(nil), // 70: api.ChatRoomsMsgElement - (*GetChatRoomByIdRequest)(nil), // 71: api.GetChatRoomByIdRequest - (*LeaveChatRoomRequest)(nil), // 72: api.LeaveChatRoomRequest - (*AddUserToChatRoomRequest)(nil), // 73: api.AddUserToChatRoomRequest - (*SendChatMessageRequest)(nil), // 74: api.SendChatMessageRequest - (*UpdateChatMessageRequest)(nil), // 75: api.UpdateChatMessageRequest - (*ChatMessageModelMsg)(nil), // 76: api.ChatMessageModelMsg - (*ChatMessageModelMsgElement)(nil), // 77: api.ChatMessageModelMsgElement - (*GetChatMessagesRequest)(nil), // 78: api.GetChatMessagesRequest - (*ChatMemberMsg)(nil), // 79: api.ChatMemberMsg - (*ChatMemberMsgElement)(nil), // 80: api.ChatMemberMsgElement - (*GetChatMemberRequest)(nil), // 81: api.GetChatMemberRequest - (*SearchMemberByNameRequest)(nil), // 82: api.SearchMemberByNameRequest - (*GetMemberRoomsRequest)(nil), // 83: api.GetMemberRoomsRequest - (*GetMemberRoomsReply)(nil), // 84: api.GetMemberRoomsReply - (*PurchaseTicketStripeReply)(nil), // 85: api.PurchaseTicketStripeReply - (*TicketMessageElement)(nil), // 86: api.TicketMessageElement - (*GetEphemeralKeyReply)(nil), // 87: api.GetEphemeralKeyReply - (*GetTicketStatusRequest)(nil), // 88: api.GetTicketStatusRequest - (*GetTicketStatusReply)(nil), // 89: api.GetTicketStatusReply - (*TicketStatus)(nil), // 90: api.TicketStatus - (*TUMCabeStatus)(nil), // 91: api.TUMCabeStatus - (*GetUploadStatusRequest)(nil), // 92: api.GetUploadStatusRequest - (*GetUploadStatusReply)(nil), // 93: api.GetUploadStatusReply - (*GetNotificationsReply)(nil), // 94: api.GetNotificationsReply - (*NotificationsRequest)(nil), // 95: api.NotificationsRequest - (*GetNotificationsConfirmReply)(nil), // 96: api.GetNotificationsConfirmReply - (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 97: api.GetRoomScheduleReply.RoomScheduleEvent - (*GetRoomMapsReply_Map)(nil), // 98: api.GetRoomMapsReply.Map - (*GetLocationsReply_Location)(nil), // 99: api.GetLocationsReply.Location - (*timestamppb.Timestamp)(nil), // 100: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 101: google.protobuf.Empty -} -var file_CampusService_proto_depIdxs = []int32{ - 100, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp - 100, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp - 97, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent - 98, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map - 99, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location - 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room - 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource - 100, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp - 100, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp - 100, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp - 100, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp - 100, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp - 100, // 12: api.DishRatingRequest.from:type_name -> google.protobuf.Timestamp - 100, // 13: api.DishRatingRequest.to:type_name -> google.protobuf.Timestamp - 18, // 14: api.CafeteriaRatingReply.rating:type_name -> api.SingleRatingReply - 25, // 15: api.CafeteriaRatingReply.ratingTags:type_name -> api.RatingTagResult - 18, // 16: api.DishRatingReply.rating:type_name -> api.SingleRatingReply - 25, // 17: api.DishRatingReply.ratingTags:type_name -> api.RatingTagResult - 25, // 18: api.DishRatingReply.nameTags:type_name -> api.RatingTagResult - 24, // 19: api.SingleRatingReply.ratingTags:type_name -> api.RatingTagNewRequest - 100, // 20: api.SingleRatingReply.visited:type_name -> google.protobuf.Timestamp - 23, // 21: api.NewCafeteriaRatingRequest.ratingTags:type_name -> api.RatingTag - 23, // 22: api.NewDishRatingRequest.ratingTags:type_name -> api.RatingTag - 22, // 23: api.GetRatingTagsReply.ratingTags:type_name -> api.RatingTagsOverview - 27, // 24: api.GetCafeteriaReply.cafeteria:type_name -> api.Cafeteria - 31, // 25: api.GetResponsiblePersonReply.responsiblePerson:type_name -> api.ResponsiblePersonElement - 33, // 26: api.GetBuilding2GpsReply.building2Gps:type_name -> api.Building2GpsElement - 37, // 27: api.GetAreaFacilitiesByBuildingNrReply.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement - 37, // 28: api.GetListOfToiletsReply.listOfToilets:type_name -> api.RoomInformationElement - 37, // 29: api.GetListOfElevatorsReply.listOfElevators:type_name -> api.RoomInformationElement - 40, // 30: api.GetMoreInformationReply.information:type_name -> api.MoreInformationElement - 43, // 31: api.GetOpeningTimesReply.facilities:type_name -> api.OpeningTimesMsgElement - 47, // 32: api.GetStudyRoomListReply.rooms:type_name -> api.StudyRoomMsgElement - 48, // 33: api.StudyRoomMsgElement.rooms:type_name -> api.StudyRoom - 51, // 34: api.GetEventListReply.events:type_name -> api.EventListMsgElement - 100, // 35: api.EventListMsgElement.start:type_name -> google.protobuf.Timestamp - 100, // 36: api.EventListMsgElement.end:type_name -> google.protobuf.Timestamp - 53, // 37: api.GetPurchasedTicketsReply.myTickets:type_name -> api.EventTicketMyMsgElement - 100, // 38: api.EventTicketMyMsgElement.redemption:type_name -> google.protobuf.Timestamp - 56, // 39: api.GetEventTicketTypeReply.eventTickets:type_name -> api.EventTicketTypeMsgElement - 57, // 40: api.EventTicketTypeMsgElement.payment:type_name -> api.EventTicketPaymentMsg - 60, // 41: api.ReserveMultipleTicketsReply.tickets:type_name -> api.EventTicketReserveMultipleMsgElement - 63, // 42: api.GetKinoReply.kinos:type_name -> api.KinoMsgElement - 100, // 43: api.KinoMsgElement.date:type_name -> google.protobuf.Timestamp - 100, // 44: api.KinoMsgElement.created:type_name -> google.protobuf.Timestamp - 70, // 45: api.GetChatRoomsReply.rooms:type_name -> api.ChatRoomsMsgElement - 77, // 46: api.ChatMessageModelMsg.messages:type_name -> api.ChatMessageModelMsgElement - 100, // 47: api.ChatMessageModelMsgElement.timestamp:type_name -> google.protobuf.Timestamp - 80, // 48: api.ChatMemberMsg.members:type_name -> api.ChatMemberMsgElement - 70, // 49: api.GetMemberRoomsReply.chatRooms:type_name -> api.ChatRoomsMsgElement - 86, // 50: api.PurchaseTicketStripeReply.tickets:type_name -> api.TicketMessageElement - 100, // 51: api.TicketMessageElement.redemption:type_name -> google.protobuf.Timestamp - 90, // 52: api.GetTicketStatusReply.status:type_name -> api.TicketStatus - 100, // 53: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp - 100, // 54: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp - 101, // 55: api.Campus.GetTopNews:input_type -> google.protobuf.Empty - 101, // 56: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty - 8, // 57: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest - 6, // 58: api.Campus.GetLocations:input_type -> api.GetLocationsRequest - 4, // 59: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest - 2, // 60: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest - 0, // 61: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest - 14, // 62: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest - 15, // 63: api.Campus.GetDishRatings:input_type -> api.DishRatingRequest - 19, // 64: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest - 20, // 65: api.Campus.NewDishRating:input_type -> api.NewDishRatingRequest - 101, // 66: api.Campus.GetAvailableDishTags:input_type -> google.protobuf.Empty - 101, // 67: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty - 101, // 68: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty - 28, // 69: api.Campus.GetDishes:input_type -> api.GetDishesRequest - 101, // 70: api.Campus.GetResponsiblePerson:input_type -> google.protobuf.Empty - 101, // 71: api.Campus.GetBuilding2Gps:input_type -> google.protobuf.Empty - 35, // 72: api.Campus.GetAreaFacilitiesByBuildingNr:input_type -> api.GetAreaFacilitiesByBuildingNrRequest - 101, // 73: api.Campus.GetListOfToilets:input_type -> google.protobuf.Empty - 101, // 74: api.Campus.GetListOfElevators:input_type -> google.protobuf.Empty - 101, // 75: api.Campus.GetMoreInformation:input_type -> google.protobuf.Empty - 41, // 76: api.Campus.GetOpeningTimes:input_type -> api.GetOpeningTimesRequest - 44, // 77: api.Campus.GetUpdateNote:input_type -> api.GetUpdateNoteRequest - 101, // 78: api.Campus.GetStudyRoomList:input_type -> google.protobuf.Empty - 49, // 79: api.Campus.GetEventList:input_type -> api.GetEventListRequest - 101, // 80: api.Campus.GetPurchasedTickets:input_type -> google.protobuf.Empty - 54, // 81: api.Campus.GetMyTicket:input_type -> api.GetTicketRequest - 54, // 82: api.Campus.GetTicketType:input_type -> api.GetTicketRequest - 58, // 83: api.Campus.ReserveMultipleTickets:input_type -> api.ReserveMultipleTicketsRequest - 101, // 84: api.Campus.PurchaseTicketStripe:input_type -> google.protobuf.Empty - 101, // 85: api.Campus.GetEphemeralKey:input_type -> google.protobuf.Empty - 88, // 86: api.Campus.GetTicketStatus:input_type -> api.GetTicketStatusRequest - 61, // 87: api.Campus.GetKino:input_type -> api.GetKinoRequest - 64, // 88: api.Campus.SendFeedback:input_type -> api.SendFeedbackRequest - 66, // 89: api.Campus.SendFeedbackImage:input_type -> api.SendFeedbackImageRequest - 101, // 90: api.Campus.RegisterDevice:input_type -> google.protobuf.Empty - 101, // 91: api.Campus.VerifyKey:input_type -> google.protobuf.Empty - 101, // 92: api.Campus.DeviceUploadGcmToken:input_type -> google.protobuf.Empty - 92, // 93: api.Campus.GetUploadStatus:input_type -> api.GetUploadStatusRequest - 95, // 94: api.Campus.GetNotification:input_type -> api.NotificationsRequest - 95, // 95: api.Campus.GetNotificationConfirm:input_type -> api.NotificationsRequest - 67, // 96: api.Campus.GetMembers:input_type -> api.GetMembersRequest - 101, // 97: api.Campus.GetChatRooms:input_type -> google.protobuf.Empty - 71, // 98: api.Campus.GetChatRoomById:input_type -> api.GetChatRoomByIdRequest - 72, // 99: api.Campus.LeaveChatRoom:input_type -> api.LeaveChatRoomRequest - 73, // 100: api.Campus.AddUserToChatRoom:input_type -> api.AddUserToChatRoomRequest - 74, // 101: api.Campus.SendChatMessage:input_type -> api.SendChatMessageRequest - 75, // 102: api.Campus.UpdateChatMessage:input_type -> api.UpdateChatMessageRequest - 78, // 103: api.Campus.GetChatMessages:input_type -> api.GetChatMessagesRequest - 80, // 104: api.Campus.CreateChatMember:input_type -> api.ChatMemberMsgElement - 81, // 105: api.Campus.GetChatMemberByLrzId:input_type -> api.GetChatMemberRequest - 82, // 106: api.Campus.SearchMemberByName:input_type -> api.SearchMemberByNameRequest - 83, // 107: api.Campus.GetMemberRooms:input_type -> api.GetMemberRoomsRequest - 13, // 108: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 109: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 110: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 111: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 112: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 113: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 114: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 115: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply - 17, // 116: api.Campus.GetDishRatings:output_type -> api.DishRatingReply - 101, // 117: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 101, // 118: api.Campus.NewDishRating:output_type -> google.protobuf.Empty - 21, // 119: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply - 21, // 120: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 26, // 121: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply - 29, // 122: api.Campus.GetDishes:output_type -> api.GetDishesReply - 30, // 123: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply - 32, // 124: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply - 34, // 125: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply - 36, // 126: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply - 38, // 127: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply - 39, // 128: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply - 42, // 129: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply - 45, // 130: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply - 46, // 131: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply - 50, // 132: api.Campus.GetEventList:output_type -> api.GetEventListReply - 52, // 133: api.Campus.GetPurchasedTickets:output_type -> api.GetPurchasedTicketsReply - 51, // 134: api.Campus.GetMyTicket:output_type -> api.EventListMsgElement - 55, // 135: api.Campus.GetTicketType:output_type -> api.GetEventTicketTypeReply - 59, // 136: api.Campus.ReserveMultipleTickets:output_type -> api.ReserveMultipleTicketsReply - 85, // 137: api.Campus.PurchaseTicketStripe:output_type -> api.PurchaseTicketStripeReply - 87, // 138: api.Campus.GetEphemeralKey:output_type -> api.GetEphemeralKeyReply - 89, // 139: api.Campus.GetTicketStatus:output_type -> api.GetTicketStatusReply - 62, // 140: api.Campus.GetKino:output_type -> api.GetKinoReply - 65, // 141: api.Campus.SendFeedback:output_type -> api.SendFeedbackImageReply - 65, // 142: api.Campus.SendFeedbackImage:output_type -> api.SendFeedbackImageReply - 91, // 143: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus - 91, // 144: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus - 91, // 145: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus - 93, // 146: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply - 94, // 147: api.Campus.GetNotification:output_type -> api.GetNotificationsReply - 96, // 148: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply - 68, // 149: api.Campus.GetMembers:output_type -> api.GetMembersReply - 69, // 150: api.Campus.GetChatRooms:output_type -> api.GetChatRoomsReply - 70, // 151: api.Campus.GetChatRoomById:output_type -> api.ChatRoomsMsgElement - 70, // 152: api.Campus.LeaveChatRoom:output_type -> api.ChatRoomsMsgElement - 70, // 153: api.Campus.AddUserToChatRoom:output_type -> api.ChatRoomsMsgElement - 77, // 154: api.Campus.SendChatMessage:output_type -> api.ChatMessageModelMsgElement - 77, // 155: api.Campus.UpdateChatMessage:output_type -> api.ChatMessageModelMsgElement - 76, // 156: api.Campus.GetChatMessages:output_type -> api.ChatMessageModelMsg - 80, // 157: api.Campus.CreateChatMember:output_type -> api.ChatMemberMsgElement - 80, // 158: api.Campus.GetChatMemberByLrzId:output_type -> api.ChatMemberMsgElement - 79, // 159: api.Campus.SearchMemberByName:output_type -> api.ChatMemberMsg - 84, // 160: api.Campus.GetMemberRooms:output_type -> api.GetMemberRoomsReply - 108, // [108:161] is the sub-list for method output_type - 55, // [55:108] is the sub-list for method input_type - 55, // [55:55] is the sub-list for extension type_name - 55, // [55:55] is the sub-list for extension extendee - 0, // [0:55] is the sub-list for field type_name -} - -func init() { file_CampusService_proto_init() } -func file_CampusService_proto_init() { - if File_CampusService_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_CampusService_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomCoordinatesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomCoordinatesReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLocationsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLocationsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRoomsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRoomsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Room); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsSourceArray); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTopNewsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRatingRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DishRatingRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRatingReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DishRatingReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SingleRatingReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewCafeteriaRatingRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewDishRatingRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRatingTagsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RatingTagsOverview); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RatingTag); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RatingTagNewRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RatingTagResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCafeteriaReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Cafeteria); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDishesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDishesReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResponsiblePersonReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResponsiblePersonElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBuilding2GpsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Building2GpsElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAreaFacilitiesByBuildingNrReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAreaFacilitiesByBuildingNrRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetListOfToiletsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoomInformationElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetListOfElevatorsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMoreInformationReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MoreInformationElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOpeningTimesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetOpeningTimesReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpeningTimesMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUpdateNoteRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUpdateNoteReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStudyRoomListReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StudyRoomMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StudyRoom); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEventListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEventListReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventListMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPurchasedTicketsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventTicketMyMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTicketRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEventTicketTypeReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventTicketTypeMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventTicketPaymentMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReserveMultipleTicketsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReserveMultipleTicketsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventTicketReserveMultipleMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKinoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetKinoReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KinoMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendFeedbackRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendFeedbackImageReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendFeedbackImageRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMembersRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMembersReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatRoomsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatRoomsMsgElement); i { +func (x *GetLocationsReply_Location) GetLon() string { + if x != nil { + return x.Lon + } + return "" +} + +func (x *GetLocationsReply_Location) GetLat() string { + if x != nil { + return x.Lat + } + return "" +} + +func (x *GetLocationsReply_Location) GetRadius() string { + if x != nil { + return x.Radius + } + return "" +} + +var File_CampusService_proto protoreflect.FileDescriptor + +var file_CampusService_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, + 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x1a, 0xc5, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, + 0x75, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x34, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, + 0x64, 0x22, 0x78, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, + 0x75, 0x74, 0x6d, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x75, 0x74, 0x6d, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x6d, 0x5f, 0x65, + 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x75, 0x74, + 0x6d, 0x45, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x74, 0x6d, 0x5f, + 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, + 0x75, 0x74, 0x6d, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x1a, 0x82, + 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x22, 0x31, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x76, 0x0a, 0x08, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x64, + 0x69, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, + 0x33, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, + 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x17, 0x0a, + 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x6e, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, + 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, + 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3c, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, + 0x4e, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, + 0xd4, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xc0, 0x01, 0x0a, 0x12, 0x4d, 0x65, + 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xe0, 0x01, 0x0a, + 0x17, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, + 0x78, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, + 0x61, 0x78, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, + 0x8a, 0x02, 0x0a, 0x13, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, + 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x6e, 0x61, 0x6d, + 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0x81, 0x02, 0x0a, + 0x0f, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x74, 0x61, + 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, + 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0x90, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, + 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x22, 0xf9, 0x01, 0x0a, 0x19, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0x88, 0x02, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0x22, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, + 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x5b, 0x0a, 0x11, + 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, + 0x77, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x45, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x61, 0x6d, + 0x65, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x45, + 0x4e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x35, 0x0a, 0x09, 0x54, 0x61, 0x67, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0xa4, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x45, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x45, 0x12, 0x16, 0x0a, + 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, + 0x61, 0x6d, 0x65, 0x45, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, + 0x78, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x7c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, + 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, + 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x32, 0xae, 0x0c, 0x0a, 0x06, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, + 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, + 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, + 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, + 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, + 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, + 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, + 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, + 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x69, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x69, + 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, 0x0a, 0x12, 0x4e, 0x65, + 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, + 0x22, 0x2d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x6e, 0x65, 0x77, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, + 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, + 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x61, + 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x54, + 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, + 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x63, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, 0x65, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, + 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, + 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, + 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, + 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_CampusService_proto_rawDescOnce sync.Once + file_CampusService_proto_rawDescData = file_CampusService_proto_rawDesc +) + +func file_CampusService_proto_rawDescGZIP() []byte { + file_CampusService_proto_rawDescOnce.Do(func() { + file_CampusService_proto_rawDescData = protoimpl.X.CompressGZIP(file_CampusService_proto_rawDescData) + }) + return file_CampusService_proto_rawDescData +} + +var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_CampusService_proto_goTypes = []interface{}{ + (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest + (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply + (*GetRoomCoordinatesRequest)(nil), // 2: api.GetRoomCoordinatesRequest + (*GetRoomCoordinatesReply)(nil), // 3: api.GetRoomCoordinatesReply + (*GetRoomMapsRequest)(nil), // 4: api.GetRoomMapsRequest + (*GetRoomMapsReply)(nil), // 5: api.GetRoomMapsReply + (*GetLocationsRequest)(nil), // 6: api.GetLocationsRequest + (*GetLocationsReply)(nil), // 7: api.GetLocationsReply + (*SearchRoomsRequest)(nil), // 8: api.SearchRoomsRequest + (*SearchRoomsReply)(nil), // 9: api.SearchRoomsReply + (*Room)(nil), // 10: api.Room + (*NewsSourceArray)(nil), // 11: api.NewsSourceArray + (*NewsSource)(nil), // 12: api.NewsSource + (*GetTopNewsReply)(nil), // 13: api.GetTopNewsReply + (*CafeteriaRatingRequest)(nil), // 14: api.CafeteriaRatingRequest + (*MealRatingsRequest)(nil), // 15: api.MealRatingsRequest + (*CafeteriaRatingResponse)(nil), // 16: api.CafeteriaRatingResponse + (*MealRatingsResponse)(nil), // 17: api.MealRatingsResponse + (*CafeteriaRating)(nil), // 18: api.CafeteriaRating + (*MealRating)(nil), // 19: api.MealRating + (*NewCafeteriaRatingRequest)(nil), // 20: api.NewCafeteriaRatingRequest + (*NewMealRatingRequest)(nil), // 21: api.NewMealRatingRequest + (*GetRatingTagsReply)(nil), // 22: api.GetRatingTagsReply + (*TagRatingOverview)(nil), // 23: api.TagRatingOverview + (*TagRating)(nil), // 24: api.TagRating + (*TagRatingsResult)(nil), // 25: api.TagRatingsResult + (*GetCafeteriaResponse)(nil), // 26: api.GetCafeteriaResponse + (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 27: api.GetRoomScheduleReply.RoomScheduleEvent + (*GetRoomMapsReply_Map)(nil), // 28: api.GetRoomMapsReply.Map + (*GetLocationsReply_Location)(nil), // 29: api.GetLocationsReply.Location + (*timestamppb.Timestamp)(nil), // 30: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 31: google.protobuf.Empty +} +var file_CampusService_proto_depIdxs = []int32{ + 30, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp + 30, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp + 27, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent + 28, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map + 29, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location + 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room + 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource + 30, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp + 30, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp + 30, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp + 30, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp + 30, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp + 30, // 12: api.MealRatingsRequest.from:type_name -> google.protobuf.Timestamp + 30, // 13: api.MealRatingsRequest.to:type_name -> google.protobuf.Timestamp + 18, // 14: api.CafeteriaRatingResponse.rating:type_name -> api.CafeteriaRating + 25, // 15: api.CafeteriaRatingResponse.ratingTags:type_name -> api.TagRatingsResult + 19, // 16: api.MealRatingsResponse.rating:type_name -> api.MealRating + 25, // 17: api.MealRatingsResponse.ratingTags:type_name -> api.TagRatingsResult + 25, // 18: api.MealRatingsResponse.nameTags:type_name -> api.TagRatingsResult + 30, // 19: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 23, // 20: api.CafeteriaRating.tagRating:type_name -> api.TagRatingOverview + 30, // 21: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 23, // 22: api.MealRating.tagRating:type_name -> api.TagRatingOverview + 24, // 23: api.NewCafeteriaRatingRequest.tags:type_name -> api.TagRating + 30, // 24: api.NewCafeteriaRatingRequest.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 24, // 25: api.NewMealRatingRequest.tags:type_name -> api.TagRating + 30, // 26: api.NewMealRatingRequest.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 23, // 27: api.GetRatingTagsReply.tags:type_name -> api.TagRatingOverview + 30, // 28: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp + 30, // 29: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp + 31, // 30: api.Campus.GetTopNews:input_type -> google.protobuf.Empty + 31, // 31: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty + 8, // 32: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest + 6, // 33: api.Campus.GetLocations:input_type -> api.GetLocationsRequest + 4, // 34: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest + 2, // 35: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest + 0, // 36: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest + 14, // 37: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest + 15, // 38: api.Campus.GetMealRatings:input_type -> api.MealRatingsRequest + 20, // 39: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest + 21, // 40: api.Campus.NewMealRating:input_type -> api.NewMealRatingRequest + 31, // 41: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty + 31, // 42: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty + 31, // 43: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty + 13, // 44: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 45: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 46: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 47: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 48: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 49: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 50: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 51: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingResponse + 17, // 52: api.Campus.GetMealRatings:output_type -> api.MealRatingsResponse + 31, // 53: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 31, // 54: api.Campus.NewMealRating:output_type -> google.protobuf.Empty + 22, // 55: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply + 22, // 56: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 26, // 57: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaResponse + 44, // [44:58] is the sub-list for method output_type + 30, // [30:44] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_CampusService_proto_init() } +func file_CampusService_proto_init() { + if File_CampusService_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_CampusService_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleRequest); i { case 0: return &v.state case 1: @@ -8497,8 +2571,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatRoomByIdRequest); i { + file_CampusService_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleReply); i { case 0: return &v.state case 1: @@ -8509,8 +2583,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LeaveChatRoomRequest); i { + file_CampusService_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomCoordinatesRequest); i { case 0: return &v.state case 1: @@ -8521,8 +2595,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserToChatRoomRequest); i { + file_CampusService_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomCoordinatesReply); i { case 0: return &v.state case 1: @@ -8533,8 +2607,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendChatMessageRequest); i { + file_CampusService_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsRequest); i { case 0: return &v.state case 1: @@ -8545,8 +2619,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateChatMessageRequest); i { + file_CampusService_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsReply); i { case 0: return &v.state case 1: @@ -8557,8 +2631,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMessageModelMsg); i { + file_CampusService_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLocationsRequest); i { case 0: return &v.state case 1: @@ -8569,8 +2643,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMessageModelMsgElement); i { + file_CampusService_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLocationsReply); i { case 0: return &v.state case 1: @@ -8581,8 +2655,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatMessagesRequest); i { + file_CampusService_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRoomsRequest); i { case 0: return &v.state case 1: @@ -8593,8 +2667,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMemberMsg); i { + file_CampusService_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRoomsReply); i { case 0: return &v.state case 1: @@ -8605,8 +2679,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMemberMsgElement); i { + file_CampusService_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Room); i { case 0: return &v.state case 1: @@ -8617,8 +2691,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatMemberRequest); i { + file_CampusService_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewsSourceArray); i { case 0: return &v.state case 1: @@ -8629,8 +2703,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchMemberByNameRequest); i { + file_CampusService_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewsSource); i { case 0: return &v.state case 1: @@ -8641,8 +2715,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMemberRoomsRequest); i { + file_CampusService_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTopNewsReply); i { case 0: return &v.state case 1: @@ -8653,8 +2727,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMemberRoomsReply); i { + file_CampusService_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CafeteriaRatingRequest); i { case 0: return &v.state case 1: @@ -8665,8 +2739,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PurchaseTicketStripeReply); i { + file_CampusService_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MealRatingsRequest); i { case 0: return &v.state case 1: @@ -8677,8 +2751,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TicketMessageElement); i { + file_CampusService_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CafeteriaRatingResponse); i { case 0: return &v.state case 1: @@ -8689,8 +2763,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEphemeralKeyReply); i { + file_CampusService_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MealRatingsResponse); i { case 0: return &v.state case 1: @@ -8701,8 +2775,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTicketStatusRequest); i { + file_CampusService_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CafeteriaRating); i { case 0: return &v.state case 1: @@ -8713,8 +2787,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTicketStatusReply); i { + file_CampusService_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MealRating); i { case 0: return &v.state case 1: @@ -8725,8 +2799,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TicketStatus); i { + file_CampusService_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewCafeteriaRatingRequest); i { case 0: return &v.state case 1: @@ -8737,8 +2811,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TUMCabeStatus); i { + file_CampusService_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewMealRatingRequest); i { case 0: return &v.state case 1: @@ -8749,8 +2823,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUploadStatusRequest); i { + file_CampusService_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRatingTagsReply); i { case 0: return &v.state case 1: @@ -8761,8 +2835,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUploadStatusReply); i { + file_CampusService_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TagRatingOverview); i { case 0: return &v.state case 1: @@ -8773,8 +2847,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNotificationsReply); i { + file_CampusService_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TagRating); i { case 0: return &v.state case 1: @@ -8785,8 +2859,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotificationsRequest); i { + file_CampusService_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TagRatingsResult); i { case 0: return &v.state case 1: @@ -8797,8 +2871,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNotificationsConfirmReply); i { + file_CampusService_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCafeteriaResponse); i { case 0: return &v.state case 1: @@ -8809,7 +2883,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { case 0: return &v.state @@ -8821,7 +2895,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomMapsReply_Map); i { case 0: return &v.state @@ -8833,7 +2907,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLocationsReply_Location); i { case 0: return &v.state @@ -8852,7 +2926,7 @@ func file_CampusService_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_CampusService_proto_rawDesc, NumEnums: 0, - NumMessages: 100, + NumMessages: 30, NumExtensions: 0, NumServices: 1, }, diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index c32edc88..c49a8ac5 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -290,8 +290,8 @@ func local_request_Campus_GetCafeteriaRatings_0(ctx context.Context, marshaler r } -func request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DishRatingRequest +func request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MealRatingsRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -302,13 +302,13 @@ func request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Mars return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetDishRatings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetMealRatings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DishRatingRequest +func local_request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MealRatingsRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -319,7 +319,7 @@ func local_request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtim return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.GetDishRatings(ctx, &protoReq) + msg, err := server.GetMealRatings(ctx, &protoReq) return msg, metadata, err } @@ -358,8 +358,8 @@ func local_request_Campus_NewCafeteriaRating_0(ctx context.Context, marshaler ru } -func request_Campus_NewDishRating_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewDishRatingRequest +func request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NewMealRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -370,13 +370,13 @@ func request_Campus_NewDishRating_0(ctx context.Context, marshaler runtime.Marsh return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.NewDishRating(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.NewMealRating(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_NewDishRating_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewDishRatingRequest +func local_request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NewMealRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -387,25 +387,25 @@ func local_request_Campus_NewDishRating_0(ctx context.Context, marshaler runtime return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.NewDishRating(ctx, &protoReq) + msg, err := server.NewMealRating(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetAvailableDishTags_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_GetAvailableMealTags_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := client.GetAvailableDishTags(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetAvailableMealTags(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetAvailableDishTags_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_GetAvailableMealTags_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := server.GetAvailableDishTags(ctx, &protoReq) + msg, err := server.GetAvailableMealTags(ctx, &protoReq) return msg, metadata, err } @@ -446,4005 +446,680 @@ func local_request_Campus_GetCafeterias_0(ctx context.Context, marshaler runtime } -var ( - filter_Campus_GetDishes_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_GetDishes_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetDishesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetDishes_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetDishes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetDishes_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetDishesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetDishes_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetDishes(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetResponsiblePerson_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetResponsiblePerson(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetResponsiblePerson_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetResponsiblePerson(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetBuilding2Gps_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetBuilding2Gps(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetBuilding2Gps_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetBuilding2Gps(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Campus_GetAreaFacilitiesByBuildingNr_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAreaFacilitiesByBuildingNrRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetAreaFacilitiesByBuildingNr(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAreaFacilitiesByBuildingNrRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetAreaFacilitiesByBuildingNr(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetListOfToilets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetListOfToilets(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetListOfElevators(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetListOfElevators(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetMoreInformation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetMoreInformation(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetOpeningTimes_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetOpeningTimesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["language"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "language") - } - - protoReq.Language, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "language", err) - } - - msg, err := client.GetOpeningTimes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetOpeningTimes_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetOpeningTimesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["language"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "language") - } - - protoReq.Language, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "language", err) - } - - msg, err := server.GetOpeningTimes(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetUpdateNote_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetUpdateNoteRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["version"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "version") - } - - protoReq.Version, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "version", err) - } - - msg, err := client.GetUpdateNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetUpdateNote_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetUpdateNoteRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["version"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "version") - } - - protoReq.Version, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "version", err) - } - - msg, err := server.GetUpdateNote(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetStudyRoomList_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetStudyRoomList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetStudyRoomList_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetStudyRoomList(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Campus_GetEventList_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_GetEventList_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetEventListRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetEventList_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetEventList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetEventList_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetEventListRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetEventList_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetEventList(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetPurchasedTickets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetPurchasedTickets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetPurchasedTickets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetPurchasedTickets(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetMyTicket_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.GetMyTicket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetMyTicket_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.GetMyTicket(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetTicketType_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.GetTicketType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetTicketType_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.GetTicketType(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Campus_ReserveMultipleTickets_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_ReserveMultipleTickets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ReserveMultipleTicketsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_ReserveMultipleTickets_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ReserveMultipleTickets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_ReserveMultipleTickets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ReserveMultipleTicketsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_ReserveMultipleTickets_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ReserveMultipleTickets(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.PurchaseTicketStripe(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.PurchaseTicketStripe(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetEphemeralKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetEphemeralKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["eventId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "eventId") - } - - protoReq.EventId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) - } - - msg, err := client.GetTicketStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["eventId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "eventId") - } - - protoReq.EventId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) - } - - msg, err := server.GetTicketStatus(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetKinoRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lastId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastId") - } - - protoReq.LastId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastId", err) - } - - msg, err := client.GetKino(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetKinoRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lastId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastId") - } - - protoReq.LastId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastId", err) - } - - msg, err := server.GetKino(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Campus_SendFeedback_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_SendFeedback_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SendFeedbackRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_SendFeedback_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.SendFeedback(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_SendFeedback_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SendFeedbackRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_SendFeedback_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.SendFeedback(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_SendFeedbackImage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SendFeedbackImageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - val, ok = pathParams["imageNr"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "imageNr") - } - - protoReq.ImageNr, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) - } - - msg, err := client.SendFeedbackImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_SendFeedbackImage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SendFeedbackImageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - val, ok = pathParams["imageNr"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "imageNr") - } - - protoReq.ImageNr, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) - } - - msg, err := server.SendFeedbackImage(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_RegisterDevice_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.RegisterDevice(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_RegisterDevice_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.RegisterDevice(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_VerifyKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.VerifyKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_VerifyKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.VerifyKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_DeviceUploadGcmToken_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.DeviceUploadGcmToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_DeviceUploadGcmToken_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.DeviceUploadGcmToken(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetUploadStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetUploadStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lrzId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") - } - - protoReq.LrzId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) - } - - msg, err := client.GetUploadStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetUploadStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetUploadStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lrzId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") - } - - protoReq.LrzId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) - } - - msg, err := server.GetUploadStatus(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Campus_GetNotification_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_GetNotification_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NotificationsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetNotification_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetNotification(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetNotification_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NotificationsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetNotification_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetNotification(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetNotificationConfirm_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NotificationsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["notificationId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "notificationId") - } - - protoReq.NotificationId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "notificationId", err) - } - - msg, err := client.GetNotificationConfirm(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetNotificationConfirm_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NotificationsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["notificationId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "notificationId") - } - - protoReq.NotificationId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "notificationId", err) - } - - msg, err := server.GetNotificationConfirm(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetMembers_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMembersRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lrzId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") - } - - protoReq.LrzId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) - } - - msg, err := client.GetMembers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetMembers_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMembersRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lrzId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") - } - - protoReq.LrzId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) - } - - msg, err := server.GetMembers(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetChatRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetChatRooms(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetChatRoomById_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatRoomByIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := client.GetChatRoomById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetChatRoomById_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatRoomByIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := server.GetChatRoomById(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_LeaveChatRoom_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq LeaveChatRoomRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := client.LeaveChatRoom(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_LeaveChatRoom_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq LeaveChatRoomRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := server.LeaveChatRoom(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_AddUserToChatRoom_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AddUserToChatRoomRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["memberId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") - } - - protoReq.MemberId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) - } - - msg, err := client.AddUserToChatRoom(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_AddUserToChatRoom_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AddUserToChatRoomRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["memberId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") - } - - protoReq.MemberId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) - } - - msg, err := server.AddUserToChatRoom(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_SendChatMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SendChatMessageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := client.SendChatMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_SendChatMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SendChatMessageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := server.SendChatMessage(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_UpdateChatMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateChatMessageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["messageId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "messageId") - } - - protoReq.MessageId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) - } - - msg, err := client.UpdateChatMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_UpdateChatMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateChatMessageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["messageId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "messageId") - } - - protoReq.MessageId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) - } - - msg, err := server.UpdateChatMessage(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetChatMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatMessagesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["pageId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pageId") - } - - protoReq.PageId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) - } - - msg, err := client.GetChatMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetChatMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatMessagesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["pageId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pageId") - } - - protoReq.PageId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) - } - - msg, err := server.GetChatMessages(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Campus_CreateChatMember_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_CreateChatMember_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ChatMemberMsgElement - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_CreateChatMember_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateChatMember(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_CreateChatMember_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ChatMemberMsgElement - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_CreateChatMember_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateChatMember(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetChatMemberByLrzId_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatMemberRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lrzId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") - } - - protoReq.LrzId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) - } - - msg, err := client.GetChatMemberByLrzId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetChatMemberByLrzId_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatMemberRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lrzId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") - } - - protoReq.LrzId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) - } - - msg, err := server.GetChatMemberByLrzId(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_SearchMemberByName_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SearchMemberByNameRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["query"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query") - } - - protoReq.Query, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query", err) - } - - msg, err := client.SearchMemberByName(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_SearchMemberByName_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SearchMemberByNameRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["query"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query") - } - - protoReq.Query, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query", err) - } - - msg, err := server.SearchMemberByName(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetMemberRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMemberRoomsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["memberId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") - } - - protoReq.MemberId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) - } - - msg, err := client.GetMemberRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetMemberRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMemberRoomsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["memberId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") - } - - protoReq.MemberId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) - } - - msg, err := server.GetMemberRooms(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". -// UnaryRPC :call CampusServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCampusHandlerFromEndpoint instead. -func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CampusServer) error { - - mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetTopNews_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetNewsSources_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_SearchRooms_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetLocations_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteria/rating/get")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetDishRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishRatings", runtime.WithHTTPPathPattern("/dish/rating/get")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetDishRatings_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetDishRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteria/rating/new")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_NewDishRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewDishRating", runtime.WithHTTPPathPattern("/dish/rating/new")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_NewDishRating_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_NewDishRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetAvailableDishTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableDishTags", runtime.WithHTTPPathPattern("/dish/rating/allTags")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetAvailableDishTags_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetAvailableDishTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableDishTags_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteria/rating/allTags")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableCafeteriaTags_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteria/allCafeterias")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetCafeterias_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetDishes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishes", runtime.WithHTTPPathPattern("/dish/allDishes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetDishes_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetDishes_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetDishes_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetOpeningTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetOpeningTimes", runtime.WithHTTPPathPattern("/openingtimes/{language}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetOpeningTimes_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetOpeningTimes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetUpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUpdateNote", runtime.WithHTTPPathPattern("/updatenote/{version}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetUpdateNote_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetUpdateNote_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetStudyRoomList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetStudyRoomList_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetStudyRoomList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetEventList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventList", runtime.WithHTTPPathPattern("/event/list")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetEventList_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetEventList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetPurchasedTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetPurchasedTickets", runtime.WithHTTPPathPattern("/event/ticket/my")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetPurchasedTickets_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetPurchasedTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetMyTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMyTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetMyTicket_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetMyTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetTicketType_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_ReserveMultipleTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/ReserveMultipleTickets", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_ReserveMultipleTickets_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_ReserveMultipleTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetEphemeralKey_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetTicketStatus_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetKino", runtime.WithHTTPPathPattern("/kino/{lastId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetKino_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetKino_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_SendFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SendFeedback", runtime.WithHTTPPathPattern("/feedback")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_SendFeedback_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_SendFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_SendFeedbackImage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SendFeedbackImage", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_SendFeedbackImage_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_SendFeedbackImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_RegisterDevice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RegisterDevice", runtime.WithHTTPPathPattern("/device/register")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_RegisterDevice_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_RegisterDevice_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_VerifyKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/VerifyKey", runtime.WithHTTPPathPattern("/device/verifyKey")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_VerifyKey_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_VerifyKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_DeviceUploadGcmToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/DeviceUploadGcmToken", runtime.WithHTTPPathPattern("/device/addGcmToken")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_DeviceUploadGcmToken_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_DeviceUploadGcmToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetUploadStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUploadStatus", runtime.WithHTTPPathPattern("/device/uploaded/{lrzId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetUploadStatus_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetUploadStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetNotification_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetNotificationConfirm_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotificationConfirm", runtime.WithHTTPPathPattern("/notifications/confirm/{notificationId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetNotificationConfirm_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetNotificationConfirm_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMembers", runtime.WithHTTPPathPattern("/members/{lrzId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetMembers_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetChatRooms_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetChatRoomById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatRoomById", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetChatRoomById_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetChatRoomById_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_LeaveChatRoom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/LeaveChatRoom", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_LeaveChatRoom_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_LeaveChatRoom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_AddUserToChatRoom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/AddUserToChatRoom", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_AddUserToChatRoom_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_AddUserToChatRoom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Campus_SendChatMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SendChatMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_SendChatMessage_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_SendChatMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Campus_UpdateChatMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/UpdateChatMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_UpdateChatMessage_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_UpdateChatMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetChatMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetChatMessages_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetChatMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_CreateChatMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/CreateChatMember", runtime.WithHTTPPathPattern("/chat/members")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_CreateChatMember_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_CreateChatMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetChatMemberByLrzId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatMemberByLrzId", runtime.WithHTTPPathPattern("/chat/members/{lrzId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetChatMemberByLrzId_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetChatMemberByLrzId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_SearchMemberByName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchMemberByName", runtime.WithHTTPPathPattern("/chat/members/search/{query}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_SearchMemberByName_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_SearchMemberByName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetMemberRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMemberRooms", runtime.WithHTTPPathPattern("/chat/members/{memberId}/rooms")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetMemberRooms_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetMemberRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterCampusHandlerFromEndpoint is same as RegisterCampusHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterCampusHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterCampusHandler(ctx, mux, conn) -} - -// RegisterCampusHandler registers the http handlers for service Campus to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterCampusHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterCampusHandlerClient(ctx, mux, NewCampusClient(conn)) -} - -// RegisterCampusHandlerClient registers the http handlers for service Campus -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CampusClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CampusClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "CampusClient" to call the correct interceptors. -func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CampusClient) error { - - mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetTopNews_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetNewsSources_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_SearchRooms_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetLocations_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteria/rating/get")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetDishRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetDishRatings", runtime.WithHTTPPathPattern("/dish/rating/get")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetDishRatings_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetDishRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteria/rating/new")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_NewDishRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewDishRating", runtime.WithHTTPPathPattern("/dish/rating/new")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_NewDishRating_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_NewDishRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetAvailableDishTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableDishTags", runtime.WithHTTPPathPattern("/dish/rating/allTags")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetAvailableDishTags_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetAvailableDishTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableDishTags_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteria/rating/allTags")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableCafeteriaTags_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteria/allCafeterias")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetCafeterias_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetCafeterias_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetDishes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetDishes", runtime.WithHTTPPathPattern("/dish/allDishes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetDishes_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetDishes_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetDishes_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetOpeningTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetOpeningTimes", runtime.WithHTTPPathPattern("/openingtimes/{language}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetOpeningTimes_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetOpeningTimes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetUpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetUpdateNote", runtime.WithHTTPPathPattern("/updatenote/{version}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetUpdateNote_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetUpdateNote_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetStudyRoomList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetStudyRoomList_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetStudyRoomList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetEventList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventList", runtime.WithHTTPPathPattern("/event/list")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetEventList_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetEventList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) +// RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". +// UnaryRPC :call CampusServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCampusHandlerFromEndpoint instead. +func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CampusServer) error { - mux.Handle("POST", pattern_Campus_GetPurchasedTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetPurchasedTickets", runtime.WithHTTPPathPattern("/event/ticket/my")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetPurchasedTickets_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetTopNews_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetPurchasedTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMyTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMyTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetMyTicket_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetNewsSources_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMyTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetTicketType_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_SearchRooms_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_ReserveMultipleTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/ReserveMultipleTickets", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_ReserveMultipleTickets_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetLocations_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_ReserveMultipleTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetEphemeralKey_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetTicketStatus_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetKino", runtime.WithHTTPPathPattern("/kino/{lastId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetKino_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetKino_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_SendFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMealRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SendFeedback", runtime.WithHTTPPathPattern("/feedback")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMealRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_SendFeedback_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetMealRatings_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_SendFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMealRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_SendFeedbackImage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SendFeedbackImage", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/newCafeteriaRating")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_SendFeedbackImage_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_SendFeedbackImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_RegisterDevice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_NewMealRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/RegisterDevice", runtime.WithHTTPPathPattern("/device/register")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewMealRating", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/newMealRating")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_RegisterDevice_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_NewMealRating_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_RegisterDevice_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_NewMealRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_VerifyKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAvailableMealTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/VerifyKey", runtime.WithHTTPPathPattern("/device/verifyKey")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableMealTags", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/allTags")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_VerifyKey_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetAvailableMealTags_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_VerifyKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetAvailableMealTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_DeviceUploadGcmToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/DeviceUploadGcmToken", runtime.WithHTTPPathPattern("/device/addGcmToken")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allTags")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_DeviceUploadGcmToken_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_DeviceUploadGcmToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetUploadStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetUploadStatus", runtime.WithHTTPPathPattern("/device/uploaded/{lrzId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allCafeterias")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetUploadStatus_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetUploadStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + return nil +} + +// RegisterCampusHandlerFromEndpoint is same as RegisterCampusHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterCampusHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterCampusHandler(ctx, mux, conn) +} + +// RegisterCampusHandler registers the http handlers for service Campus to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterCampusHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterCampusHandlerClient(ctx, mux, NewCampusClient(conn)) +} + +// RegisterCampusHandlerClient registers the http handlers for service Campus +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CampusClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CampusClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "CampusClient" to call the correct interceptors. +func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CampusClient) error { + + mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetNotification_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetTopNews_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetNotificationConfirm_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNotificationConfirm", runtime.WithHTTPPathPattern("/notifications/confirm/{notificationId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetNotificationConfirm_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetNewsSources_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetNotificationConfirm_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMembers", runtime.WithHTTPPathPattern("/members/{lrzId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetMembers_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_SearchRooms_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetChatRooms_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetLocations_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetChatRoomById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatRoomById", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetChatRoomById_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetChatRoomById_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_LeaveChatRoom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/LeaveChatRoom", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_LeaveChatRoom_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_LeaveChatRoom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_AddUserToChatRoom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/AddUserToChatRoom", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_AddUserToChatRoom_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_AddUserToChatRoom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Campus_SendChatMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SendChatMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_SendChatMessage_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_SendChatMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Campus_UpdateChatMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMealRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/UpdateChatMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMealRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_UpdateChatMessage_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetMealRatings_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_UpdateChatMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMealRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetChatMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/newCafeteriaRating")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetChatMessages_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetChatMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_CreateChatMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_NewMealRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/CreateChatMember", runtime.WithHTTPPathPattern("/chat/members")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewMealRating", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/newMealRating")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_CreateChatMember_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_NewMealRating_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_CreateChatMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_NewMealRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetChatMemberByLrzId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAvailableMealTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatMemberByLrzId", runtime.WithHTTPPathPattern("/chat/members/{lrzId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableMealTags", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/allTags")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetChatMemberByLrzId_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetAvailableMealTags_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetChatMemberByLrzId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetAvailableMealTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_SearchMemberByName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchMemberByName", runtime.WithHTTPPathPattern("/chat/members/search/{query}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allTags")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_SearchMemberByName_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_SearchMemberByName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMemberRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMemberRooms", runtime.WithHTTPPathPattern("/chat/members/{memberId}/rooms")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allCafeterias")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetMemberRooms_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetCafeterias_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMemberRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4496,42 +1171,6 @@ func (m response_Campus_GetRoomSchedule_0) XXX_ResponseBody() interface{} { return response.Events } -type response_Campus_GetAvailableDishTags_0 struct { - proto.Message -} - -func (m response_Campus_GetAvailableDishTags_0) XXX_ResponseBody() interface{} { - response := m.Message.(*GetRatingTagsReply) - return response.RatingTags -} - -type response_Campus_GetAvailableCafeteriaTags_0 struct { - proto.Message -} - -func (m response_Campus_GetAvailableCafeteriaTags_0) XXX_ResponseBody() interface{} { - response := m.Message.(*GetRatingTagsReply) - return response.RatingTags -} - -type response_Campus_GetCafeterias_0 struct { - proto.Message -} - -func (m response_Campus_GetCafeterias_0) XXX_ResponseBody() interface{} { - response := m.Message.(*GetCafeteriaReply) - return response.Cafeteria -} - -type response_Campus_GetDishes_0 struct { - proto.Message -} - -func (m response_Campus_GetDishes_0) XXX_ResponseBody() interface{} { - response := m.Message.(*GetDishesReply) - return response.Dish -} - var ( pattern_Campus_GetTopNews_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"news", "top"}, "")) @@ -4547,97 +1186,19 @@ var ( pattern_Campus_GetRoomSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"roomfinder", "room", "scheduleById"}, "")) - pattern_Campus_GetCafeteriaRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "get"}, "")) - - pattern_Campus_GetDishRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "get"}, "")) - - pattern_Campus_NewCafeteriaRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "new"}, "")) - - pattern_Campus_NewDishRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "new"}, "")) - - pattern_Campus_GetAvailableDishTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "allTags"}, "")) - - pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "allTags"}, "")) - - pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"cafeteria", "allCafeterias"}, "")) - - pattern_Campus_GetDishes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"dish", "allDishes"}, "")) - - pattern_Campus_GetResponsiblePerson_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "contacts"}, "")) - - pattern_Campus_GetBuilding2Gps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "getBuilding2Gps"}, "")) - - pattern_Campus_GetAreaFacilitiesByBuildingNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "nerby"}, "")) - - pattern_Campus_GetListOfToilets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfToilets"}, "")) - - pattern_Campus_GetListOfElevators_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfElevators"}, "")) - - pattern_Campus_GetMoreInformation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "moreInformation"}, "")) - - pattern_Campus_GetOpeningTimes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"openingtimes", "language"}, "")) + pattern_Campus_GetCafeteriaRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "get"}, "")) - pattern_Campus_GetUpdateNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"updatenote", "version"}, "")) + pattern_Campus_GetMealRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "dish", "get"}, "")) - pattern_Campus_GetStudyRoomList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"studyroom", "list"}, "")) + pattern_Campus_NewCafeteriaRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "newCafeteriaRating"}, "")) - pattern_Campus_GetEventList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"event", "list"}, "")) + pattern_Campus_NewMealRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "meal", "newMealRating"}, "")) - pattern_Campus_GetPurchasedTickets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"event", "ticket", "my"}, "")) + pattern_Campus_GetAvailableMealTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "meal", "allTags"}, "")) - pattern_Campus_GetMyTicket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"event", "ticket", "id"}, "")) + pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allTags"}, "")) - pattern_Campus_GetTicketType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "type", "id"}, "")) - - pattern_Campus_ReserveMultipleTickets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"event", "ticket", "reserve", "multiple"}, "")) - - pattern_Campus_PurchaseTicketStripe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"event", "ticket", "payment", "stripe", "purchase", "multiple"}, "")) - - pattern_Campus_GetEphemeralKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"event", "ticket", "payment", "stripe", "ephemeralkey"}, "")) - - pattern_Campus_GetTicketStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "status", "eventId"}, "")) - - pattern_Campus_GetKino_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"kino", "lastId"}, "")) - - pattern_Campus_SendFeedback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"feedback"}, "")) - - pattern_Campus_SendFeedbackImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"feedback", "id", "imageNr"}, "")) - - pattern_Campus_RegisterDevice_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "register"}, "")) - - pattern_Campus_VerifyKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "verifyKey"}, "")) - - pattern_Campus_DeviceUploadGcmToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "addGcmToken"}, "")) - - pattern_Campus_GetUploadStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"device", "uploaded", "lrzId"}, "")) - - pattern_Campus_GetNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"notifications"}, "")) - - pattern_Campus_GetNotificationConfirm_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"notifications", "confirm", "notificationId"}, "")) - - pattern_Campus_GetMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "lrzId"}, "")) - - pattern_Campus_GetChatRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "rooms"}, "")) - - pattern_Campus_GetChatRoomById_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "rooms", "roomId"}, "")) - - pattern_Campus_LeaveChatRoom_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "leave"}, "")) - - pattern_Campus_AddUserToChatRoom_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "add", "memberId"}, "")) - - pattern_Campus_SendChatMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "message"}, "")) - - pattern_Campus_UpdateChatMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "message", "messageId"}, "")) - - pattern_Campus_GetChatMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "messages", "pageId"}, "")) - - pattern_Campus_CreateChatMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "members"}, "")) - - pattern_Campus_GetChatMemberByLrzId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "members", "lrzId"}, "")) - - pattern_Campus_SearchMemberByName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"chat", "members", "search", "query"}, "")) - - pattern_Campus_GetMemberRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "members", "memberId", "rooms"}, "")) + pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allCafeterias"}, "")) ) var ( @@ -4657,93 +1218,15 @@ var ( forward_Campus_GetCafeteriaRatings_0 = runtime.ForwardResponseMessage - forward_Campus_GetDishRatings_0 = runtime.ForwardResponseMessage + forward_Campus_GetMealRatings_0 = runtime.ForwardResponseMessage forward_Campus_NewCafeteriaRating_0 = runtime.ForwardResponseMessage - forward_Campus_NewDishRating_0 = runtime.ForwardResponseMessage + forward_Campus_NewMealRating_0 = runtime.ForwardResponseMessage - forward_Campus_GetAvailableDishTags_0 = runtime.ForwardResponseMessage + forward_Campus_GetAvailableMealTags_0 = runtime.ForwardResponseMessage forward_Campus_GetAvailableCafeteriaTags_0 = runtime.ForwardResponseMessage forward_Campus_GetCafeterias_0 = runtime.ForwardResponseMessage - - forward_Campus_GetDishes_0 = runtime.ForwardResponseMessage - - forward_Campus_GetResponsiblePerson_0 = runtime.ForwardResponseMessage - - forward_Campus_GetBuilding2Gps_0 = runtime.ForwardResponseMessage - - forward_Campus_GetAreaFacilitiesByBuildingNr_0 = runtime.ForwardResponseMessage - - forward_Campus_GetListOfToilets_0 = runtime.ForwardResponseMessage - - forward_Campus_GetListOfElevators_0 = runtime.ForwardResponseMessage - - forward_Campus_GetMoreInformation_0 = runtime.ForwardResponseMessage - - forward_Campus_GetOpeningTimes_0 = runtime.ForwardResponseMessage - - forward_Campus_GetUpdateNote_0 = runtime.ForwardResponseMessage - - forward_Campus_GetStudyRoomList_0 = runtime.ForwardResponseMessage - - forward_Campus_GetEventList_0 = runtime.ForwardResponseMessage - - forward_Campus_GetPurchasedTickets_0 = runtime.ForwardResponseMessage - - forward_Campus_GetMyTicket_0 = runtime.ForwardResponseMessage - - forward_Campus_GetTicketType_0 = runtime.ForwardResponseMessage - - forward_Campus_ReserveMultipleTickets_0 = runtime.ForwardResponseMessage - - forward_Campus_PurchaseTicketStripe_0 = runtime.ForwardResponseMessage - - forward_Campus_GetEphemeralKey_0 = runtime.ForwardResponseMessage - - forward_Campus_GetTicketStatus_0 = runtime.ForwardResponseMessage - - forward_Campus_GetKino_0 = runtime.ForwardResponseMessage - - forward_Campus_SendFeedback_0 = runtime.ForwardResponseMessage - - forward_Campus_SendFeedbackImage_0 = runtime.ForwardResponseMessage - - forward_Campus_RegisterDevice_0 = runtime.ForwardResponseMessage - - forward_Campus_VerifyKey_0 = runtime.ForwardResponseMessage - - forward_Campus_DeviceUploadGcmToken_0 = runtime.ForwardResponseMessage - - forward_Campus_GetUploadStatus_0 = runtime.ForwardResponseMessage - - forward_Campus_GetNotification_0 = runtime.ForwardResponseMessage - - forward_Campus_GetNotificationConfirm_0 = runtime.ForwardResponseMessage - - forward_Campus_GetMembers_0 = runtime.ForwardResponseMessage - - forward_Campus_GetChatRooms_0 = runtime.ForwardResponseMessage - - forward_Campus_GetChatRoomById_0 = runtime.ForwardResponseMessage - - forward_Campus_LeaveChatRoom_0 = runtime.ForwardResponseMessage - - forward_Campus_AddUserToChatRoom_0 = runtime.ForwardResponseMessage - - forward_Campus_SendChatMessage_0 = runtime.ForwardResponseMessage - - forward_Campus_UpdateChatMessage_0 = runtime.ForwardResponseMessage - - forward_Campus_GetChatMessages_0 = runtime.ForwardResponseMessage - - forward_Campus_CreateChatMember_0 = runtime.ForwardResponseMessage - - forward_Campus_GetChatMemberByLrzId_0 = runtime.ForwardResponseMessage - - forward_Campus_SearchMemberByName_0 = runtime.ForwardResponseMessage - - forward_Campus_GetMemberRooms_0 = runtime.ForwardResponseMessage ) diff --git a/api/CampusService.proto b/api/CampusService.proto index 55c4d266..966a79ea 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -66,18 +66,17 @@ service Campus { } - // This endpoint retrieves Cafeteria Ratings from the Backend. - rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingReply) { + rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingResponse) { option (google.api.http) = { - post: "/cafeteria/rating/get", + post: "/cafeteriaRating/cafeteria/get" body: "*", }; } - rpc GetDishRatings (DishRatingRequest) returns (DishRatingReply) { + rpc GetMealRatings (MealRatingsRequest) returns (MealRatingsResponse) { option (google.api.http) = { - post: "/dish/rating/get", + post: "/cafeteriaRating/dish/get" body: "*", }; } @@ -86,284 +85,36 @@ service Campus { rpc NewCafeteriaRating (NewCafeteriaRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { - post: "/cafeteria/rating/new", + post: "/cafeteriaRating/cafeteria/newCafeteriaRating" body: "*", }; } - rpc NewDishRating (NewDishRatingRequest) returns (google.protobuf.Empty) { + rpc NewMealRating (NewMealRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { - post: "/dish/rating/new", + post: "/cafeteriaRating/meal/newMealRating" body: "*", }; } - rpc GetAvailableDishTags (google.protobuf.Empty) returns (GetRatingTagsReply) { + rpc GetAvailableMealTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { - get: "/dish/rating/allTags", - response_body: "ratingTags" + get: "/cafeteriaRating/meal/allTags", }; } rpc GetAvailableCafeteriaTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { - get: "/cafeteria/rating/allTags", - response_body: "ratingTags" + get: "/cafeteriaRating/cafeteria/allTags", }; } - rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaReply) { + rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaResponse) { option (google.api.http) = { - get: "/cafeteria/allCafeterias", - response_body: "cafeteria" + get: "/cafeteriaRating/cafeteria/allCafeterias", }; } - - rpc GetDishes (GetDishesRequest) returns (GetDishesReply) { - option (google.api.http) = { - get: "/dish/allDishes", - response_body: "dish" - }; - } - - - rpc GetResponsiblePerson (google.protobuf.Empty) returns (GetResponsiblePersonReply) { - option (google.api.http) = { - get: "/barrierfree/contacts", - }; - } - - rpc GetBuilding2Gps (google.protobuf.Empty) returns (GetBuilding2GpsReply) { - option (google.api.http) = { - get: "/barrierfree/getBuilding2Gps", - }; - } - - rpc GetAreaFacilitiesByBuildingNr (GetAreaFacilitiesByBuildingNrRequest) returns (GetAreaFacilitiesByBuildingNrReply) { - option (google.api.http) = { - get: "/barrierfree/nerby", - }; - } - - rpc GetListOfToilets (google.protobuf.Empty) returns (GetListOfToiletsReply) { - option (google.api.http) = { - get: "/barrierfree/listOfToilets", - }; - } - - rpc GetListOfElevators (google.protobuf.Empty) returns (GetListOfElevatorsReply) { - option (google.api.http) = { - get: "/barrierfree/listOfElevators", - }; - } - - rpc GetMoreInformation (google.protobuf.Empty) returns (GetMoreInformationReply) { - option (google.api.http) = { - get: "/barrierfree/moreInformation", - }; - } - - - rpc GetOpeningTimes (GetOpeningTimesRequest) returns (GetOpeningTimesReply) { - option (google.api.http) = { - get: "/openingtimes/{language}", - }; - } - - - rpc GetUpdateNote (GetUpdateNoteRequest) returns (GetUpdateNoteReply) { - option (google.api.http) = { - get: "/updatenote/{version}", - }; - } - - - rpc GetStudyRoomList (google.protobuf.Empty) returns (GetStudyRoomListReply) { - option (google.api.http) = { - get: "/studyroom/list", - }; - } - - rpc GetEventList(GetEventListRequest) returns (GetEventListReply) { - option (google.api.http) = { - get: "/event/list", - }; - } - - rpc GetPurchasedTickets(google.protobuf.Empty) returns (GetPurchasedTicketsReply) { - option (google.api.http) = { - post: "/event/ticket/my", - }; - } - - rpc GetMyTicket(GetTicketRequest) returns (EventListMsgElement) { - option (google.api.http) = { - post: "/event/ticket/{id}", - }; - } - - rpc GetTicketType(GetTicketRequest) returns (GetEventTicketTypeReply) { - option (google.api.http) = { - get: "/event/ticket/type/{id}", - }; - } - - rpc ReserveMultipleTickets(ReserveMultipleTicketsRequest) returns (ReserveMultipleTicketsReply) { - option (google.api.http) = { - post: "/event/ticket/reserve/multiple", - }; - } - - rpc PurchaseTicketStripe(google.protobuf.Empty) returns (PurchaseTicketStripeReply) { - option (google.api.http) = { - post: "/event/ticket/payment/stripe/purchase/multiple", - }; - } - - rpc GetEphemeralKey(google.protobuf.Empty) returns (GetEphemeralKeyReply) { - option (google.api.http) = { - post: "/event/ticket/payment/stripe/ephemeralkey", - }; - } - - rpc GetTicketStatus(GetTicketStatusRequest) returns (GetTicketStatusReply) { - option (google.api.http) = { - get: "/event/ticket/status/{eventId}", - }; - } - - rpc GetKino(GetKinoRequest) returns (GetKinoReply) { - option (google.api.http) = { - get: "/kino/{lastId}", - }; - } - - rpc SendFeedback(SendFeedbackRequest) returns (SendFeedbackImageReply) { - option (google.api.http) = { - post: "/feedback", - }; - } - - rpc SendFeedbackImage(SendFeedbackImageRequest) returns (SendFeedbackImageReply) { - option (google.api.http) = { - post: "/feedback/{id}/{imageNr}", - }; - } - - - rpc RegisterDevice(google.protobuf.Empty) returns (TUMCabeStatus) { - option (google.api.http) = { - post: "/device/register", - }; - } - - rpc VerifyKey(google.protobuf.Empty) returns (TUMCabeStatus) { - option (google.api.http) = { - get: "/device/verifyKey", - }; - } - - rpc DeviceUploadGcmToken(google.protobuf.Empty) returns (TUMCabeStatus) { - option (google.api.http) = { - post: "/device/addGcmToken", - }; - } - - rpc GetUploadStatus(GetUploadStatusRequest) returns (GetUploadStatusReply) { - option (google.api.http) = { - get: "/device/uploaded/{lrzId}", - }; - } - - - rpc GetNotification(NotificationsRequest) returns (GetNotificationsReply) { - option (google.api.http) = { - get: "/notifications", - }; - } - - rpc GetNotificationConfirm(NotificationsRequest) returns (GetNotificationsConfirmReply) { - option (google.api.http) = { - get: "/notifications/confirm/{notificationId}", - }; - } - - rpc GetMembers(GetMembersRequest) returns (GetMembersReply) { - option (google.api.http) = { - get: "/members/{lrzId}", - }; - } - - - rpc GetChatRooms(google.protobuf.Empty) returns (GetChatRoomsReply) { - option (google.api.http) = { - post: "/chat/rooms", - body: "*" - }; - } - - rpc GetChatRoomById(GetChatRoomByIdRequest) returns (ChatRoomsMsgElement) { - option (google.api.http) = { - get: "/chat/rooms/{roomId}", - }; - } - - rpc LeaveChatRoom(LeaveChatRoomRequest) returns (ChatRoomsMsgElement) { - option (google.api.http) = { - post: "/chat/rooms/{roomId}/leave", - }; - } - rpc AddUserToChatRoom(AddUserToChatRoomRequest) returns (ChatRoomsMsgElement) { - option (google.api.http) = { - post: "/chat/rooms/{roomId}/add/{memberId}", - }; - } - - rpc SendChatMessage(SendChatMessageRequest) returns (ChatMessageModelMsgElement) { - option (google.api.http) = { - put: "/chat/rooms/{roomId}/message", - }; - } - - rpc UpdateChatMessage(UpdateChatMessageRequest) returns (ChatMessageModelMsgElement) { - option (google.api.http) = { - put: "/chat/rooms/{roomId}/message/{messageId}", - }; - } - - - rpc GetChatMessages(GetChatMessagesRequest) returns (ChatMessageModelMsg) { - option (google.api.http) = { - post: "/chat/rooms/{roomId}/messages/{pageId}", - }; - } - - - - rpc CreateChatMember(ChatMemberMsgElement) returns (ChatMemberMsgElement) { - option (google.api.http) = { - post: "/chat/members", - }; - } - - rpc GetChatMemberByLrzId(GetChatMemberRequest) returns (ChatMemberMsgElement) { - option (google.api.http) = { - get: "/chat/members/{lrzId}", - }; - } - - rpc SearchMemberByName(SearchMemberByNameRequest) returns (ChatMemberMsg) { - option (google.api.http) = { - get: "/chat/members/search/{query}", - }; - } - - rpc GetMemberRooms(GetMemberRoomsRequest) returns (GetMemberRoomsReply) { - option (google.api.http) = { - post: "/chat/members/{memberId}/rooms", - }; - } } message GetRoomScheduleRequest { @@ -432,7 +183,7 @@ message SearchRoomsReply { } message Room { - int32 roomId = 1; + int32 room_id = 1; string room_code = 2; string building_nr = 3; string arch_id = 4; @@ -462,555 +213,113 @@ message GetTopNewsReply { } - message CafeteriaRatingRequest { - // cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") - string cafeteriaId = 1; - // Optional Parameter to define an interval for the ratings (Lower bound) + string cafeteriaName = 1; google.protobuf.Timestamp from = 2; - // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 3; - // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" int32 limit = 4; } -message DishRatingRequest { - // Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") - string cafeteriaId = 1; - // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa - string dish = 2; - // Optional Parameter to define an interval for the ratings (Lower bound) +message MealRatingsRequest { + string cafeteriaName = 1; + string meal = 2; google.protobuf.Timestamp from = 3; - // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 4; - // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" int32 limit = 5; } -message CafeteriaRatingReply { - repeated SingleRatingReply rating = 1; - double avg = 2; - double std = 3; - int32 min = 4; - int32 max = 5; - repeated RatingTagResult ratingTags = 6; +message CafeteriaRatingResponse { + repeated CafeteriaRating rating = 1; + double averageRating = 2; + int32 minRating = 3; + int32 maxRating = 4; + repeated TagRatingsResult ratingTags = 5; } -message DishRatingReply { - repeated SingleRatingReply rating = 1; - double avg = 2; - double std = 3; - int32 min = 4; - int32 max = 5; - repeated RatingTagResult ratingTags = 6; - repeated RatingTagResult nameTags = 7; +message MealRatingsResponse { + repeated MealRating rating = 1; + double averageRating = 2; + int32 minRating = 3; + int32 maxRating = 4; + repeated TagRatingsResult ratingTags = 5; + repeated TagRatingsResult nameTags = 6; } -message SingleRatingReply{ - // number in the range 1-5 - int32 points = 1; - // Optional JPEG image in Base64 - bytes image = 2; - // Optional comment (max 256 chars) - string comment = 3; - repeated RatingTagNewRequest ratingTags = 4; - google.protobuf.Timestamp visited = 5; -} -message NewCafeteriaRatingRequest{ - // number in the range 1-5 - int32 points = 1; - string cafeteriaId = 2; +message CafeteriaRating{ + int32 rating = 1; + string cafeteriaName = 2; bytes image = 3; - // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags - repeated RatingTag ratingTags = 4; - // Optional comment (max 256 chars) - string comment = 6; + google.protobuf.Timestamp cafeteriaVisitedAt = 4; + string comment = 5; + repeated TagRatingOverview tagRating = 6; } -message NewDishRatingRequest{ - // number in the range 1-5 - int32 points = 1; - // Mandatory Name of the dish (EAT-API naming scheme "MENSA_GARCHING") Must be available int the given mensa - string cafeteriaId = 2; - // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa - string dish = 3; - // Optional JPEG image in Base64 +message MealRating{ + int32 rating = 1; + string cafeteriaName = 2; + string meal = 3; bytes image = 4; - // Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags - repeated RatingTag ratingTags = 5; - // Optional comment (max 256 chars) - string comment = 7; -} - -message GetRatingTagsReply{ - repeated RatingTagsOverview ratingTags = 1; -} - - -message RatingTagsOverview { - int32 tagId = 1; - string de = 2; - string en = 3; -} - -message RatingTag { - int32 tagId = 1; - double points = 2; -} - -message RatingTagNewRequest { - int32 tagId = 1; - int32 points = 2; -} - -message RatingTagResult { - int32 tagId = 1; - double avg = 2; - double std = 3; - int32 min = 4; - int32 max = 5; -} - - - -message GetCafeteriaReply{ - repeated Cafeteria cafeteria = 1; -} - -message Cafeteria{ - string id = 1; - string address = 2; - double longitude = 3; - double latitude = 4; -} - - -message GetDishesRequest{ - string cafeteriaId = 1; - int32 year = 2; - int32 month = 3; - int32 day = 4; -} - -message GetDishesReply{ - repeated string dish = 1; -} - - - - - - -message GetResponsiblePersonReply { - repeated ResponsiblePersonElement responsiblePerson = 1; -} - -message ResponsiblePersonElement{ - string name = 1; - string telephone = 2; - string email = 3; - string faculty = 4; - string tumID = 5; - -} - -message GetBuilding2GpsReply { - repeated Building2GpsElement building2Gps = 1; -} - -message Building2GpsElement{ - string id = 1; - string latitude = 2; - string longitude = 3; - -} - -message GetAreaFacilitiesByBuildingNrReply { - repeated RoomInformationElement areaFacilitiesByBuildingNr = 1; -} - - - -message GetAreaFacilitiesByBuildingNrRequest { - string building_nr = 1; -} - -message GetListOfToiletsReply { - repeated RoomInformationElement listOfToilets = 1; -} - -message RoomInformationElement{ - int32 roomId = 1; - string room_code = 2; - string building_nr = 3; - string arch_id = 4; - string info = 5; - string address = 6; - string purpose = 7; - string campus = 8; - string name = 9; -} - -message GetListOfElevatorsReply { - repeated RoomInformationElement listOfElevators = 1; -} - - - -message GetMoreInformationReply { - repeated MoreInformationElement information = 1; -} - -message MoreInformationElement{ - string title = 1; - string category = 2; - string url = 3; -} - - -message GetOpeningTimesRequest{ - string language = 1; -} - - - -message GetOpeningTimesReply{ - repeated OpeningTimesMsgElement facilities = 1; - -} - -message OpeningTimesMsgElement{ - int32 id = 1; - string category = 2; - string name = 3; - string address = 4; - string room = 5; - string transport_station = 6; - string opening_hours = 7; - string infos = 8; - string url = 9; - string language = 10; - int32 reference_id = 11; -} - -message GetUpdateNoteRequest{ - int32 version = 1; -} - -message GetUpdateNoteReply{ - string message = 1; -} - -message GetStudyRoomListReply{ - repeated StudyRoomMsgElement rooms = 1; - -} -message StudyRoomMsgElement{ - int32 id = 1; - string name = 2; - string details = 3; - repeated StudyRoom rooms = 4; -} - -message StudyRoom{ - int32 group_id = 1; - int32 roomId = 2; - string room_code = 3; - string room_name = 4; - string building_name = 5; -} - -message GetEventListRequest{ - // optional parameter, will return all events if no id is specified - int32 eventId = 1; -} - -message GetEventListReply{ - repeated EventListMsgElement events = 1; -} - -message EventListMsgElement{ - string name = 1; - string path = 2; - int32 event = 3; - int32 news = 4; - int32 kino = 5; - int32 file = 6; - string title = 7; - string description = 8; - string locality = 9; - string link = 10; - google.protobuf.Timestamp start = 11; - google.protobuf.Timestamp end = 12; - int32 ticket_group = 13; -} - - -message GetPurchasedTicketsReply{ - repeated EventTicketMyMsgElement myTickets = 1; -} - -message EventTicketMyMsgElement{ - int32 ticket_history = 1; - int32 ticket_type = 2; - google.protobuf.Timestamp redemption = 3; - string code = 4; - int32 event = 5; -} - -message GetTicketRequest { - int32 id = 1; -} - -message GetEventTicketTypeReply{ - repeated EventTicketTypeMsgElement eventTickets = 1; - -} -message EventTicketTypeMsgElement{ - int32 ticket_type = 1; - int32 event = 2; - int32 ticket_payment = 3; - int32 price = 4; - int32 contingent = 5; - string description = 6; - EventTicketPaymentMsg payment = 7; - int32 sold = 8; -} - -message EventTicketPaymentMsg{ - string stripe_publishable_key = 1; - string terms = 2; - int32 minTickets = 3; - int32 maxTickets = 4; -} - -message ReserveMultipleTicketsRequest{ - repeated int32 ticketTypes = 1; - repeated int32 amounts = 2; -} - -message ReserveMultipleTicketsReply{ - repeated EventTicketReserveMultipleMsgElement tickets = 1; -} - -message EventTicketReserveMultipleMsgElement{ - int32 ticket_ids = 1; -} - -message GetKinoRequest{ - int32 lastId = 1; -} - -message GetKinoReply{ - repeated KinoMsgElement kinos = 1; -} - -message KinoMsgElement{ - string name = 1; - string path = 2; - int32 kino = 3; - google.protobuf.Timestamp date = 4; - google.protobuf.Timestamp created = 5; - string title = 6; - string year = 7; - string runtime = 8; - string genre = 9; - string director = 10; - string actors = 11; - string rating = 12; - string description = 13; - int32 cover = 14; - string trailer = 15; - string link = 16; -} - -message SendFeedbackRequest{ - string topic = 1; - string email = 2; - string emailId = 3; - string message = 4; - int32 image_count = 5; - double latitude = 6; - double longitude = 7; - string osVersion = 8; - string appVersion = 9; -} - -message SendFeedbackImageReply{ - string status = 1; -} - -message SendFeedbackImageRequest{ - int32 id = 1; - int32 imageNr = 2; - //todo where does the file come from? -} - - -message GetMembersRequest{ - string lrzId = 1; -} - -message GetMembersReply{ - string lrzId = 1; - string name = 2; - int32 memberId = 3; -} - - - -message GetChatRoomsReply{ - repeated ChatRoomsMsgElement rooms = 1; -} - -message ChatRoomsMsgElement{ - int32 id = 1; - string name = 2; - string semester = 3; - string title = 4; - int32 members = 5; -} - -message GetChatRoomByIdRequest{ - int32 roomId = 1; -} - - -message LeaveChatRoomRequest{ - int32 roomId = 1; -} - -message AddUserToChatRoomRequest{ - int32 roomId = 1; - int32 memberId = 2; -} - -message SendChatMessageRequest{ - int32 roomId = 1; -} - -message UpdateChatMessageRequest{ - int32 roomId = 1; - int32 messageId = 2; -} - - -message ChatMessageModelMsg{ - repeated ChatMessageModelMsgElement messages = 1; -} - -message ChatMessageModelMsgElement{ - int32 id = 1; - int32 previous = 2; - int32 room = 3; - string text = 4; - google.protobuf.Timestamp timestamp = 5; - string signature = 6; - int32 memberId = 7; - int32 sendingStatus = 8; -} - -message GetChatMessagesRequest{ - int32 roomId = 1; - int32 pageId = 2; -} - -message ChatMemberMsg{ - repeated ChatMemberMsgElement members = 1; -} - -message ChatMemberMsgElement{ - int32 id = 1; - string lrzId = 2; - string displayName = 3; - string signature = 4; -} - - -message GetChatMemberRequest{ - string lrzId = 1; -} - - -message SearchMemberByNameRequest{ - string query = 1; -} - -message GetMemberRoomsRequest{ - int32 memberId = 1; -} - -message GetMemberRoomsReply{ - repeated ChatRoomsMsgElement chatRooms = 1; + google.protobuf.Timestamp cafeteriaVisitedAt = 5; + string comment = 6; + repeated TagRatingOverview tagRating = 7; } -message PurchaseTicketStripeReply{ - repeated TicketMessageElement tickets = 1; +message NewCafeteriaRatingRequest{ + int32 rating = 1; + string cafeteriaName = 2; + bytes image = 3; + repeated TagRating tags = 4; + google.protobuf.Timestamp cafeteriaVisitedAt = 5; + string comment = 6; } -message TicketMessageElement{ - int32 id = 1; - int32 eventId = 2; - string code = 3; - int32 ticketTypeId = 4; - google.protobuf.Timestamp redemption = 5; +message NewMealRatingRequest{ + int32 rating = 1; + string cafeteriaName = 2; + string meal = 3; + bytes image = 4; + repeated TagRating tags = 5; + google.protobuf.Timestamp cafeteriaVisitedAt = 6; + string comment = 7; } - -message GetEphemeralKeyReply{ - //todo How does this look? +message GetRatingTagsReply{ + repeated TagRatingOverview tags=1; } - -message GetTicketStatusRequest{ - int32 eventId = 1; +message TagRatingOverview { + string nameDE = 1; + string nameEN = 2; + double rating = 3; } - -message GetTicketStatusReply{ - repeated TicketStatus status = 1; +message TagRating { + string tag = 1; + double rating = 2; } -message TicketStatus{ - int32 ticketType = 1; - int32 contingent = 2; - int32 sold = 3; +message TagRatingsResult { + string nameDE = 1; + string nameEN = 2; + double averageRating = 3; + int32 minRating = 4; + int32 maxRating = 5; } -message TUMCabeStatus{ - string status = 1; -} -message GetUploadStatusRequest{ - string lrzId = 1; -} -message GetUploadStatusReply{ - string fcm_token = 1; - string public_key = 2; - bool student_id = 3; - bool employee_id = 4; - bool external_id = 5; -} +message GetCafeteriaResponse{ + string name=1; + string adress=2; + double longitude=3; + double latitude=4; -message GetNotificationsReply{ - int32 notificationId=1; - int32 type=2; - string title=3; - string description=4; - string signature=5; } -message NotificationsRequest{ - int32 notificationId=1; -} -message GetNotificationsConfirmReply{ - string status=1; -} \ No newline at end of file diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index e0195b79..07ee39d7 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -31,53 +31,13 @@ type CampusClient interface { GetRoomMaps(ctx context.Context, in *GetRoomMapsRequest, opts ...grpc.CallOption) (*GetRoomMapsReply, error) GetRoomCoordinates(ctx context.Context, in *GetRoomCoordinatesRequest, opts ...grpc.CallOption) (*GetRoomCoordinatesReply, error) GetRoomSchedule(ctx context.Context, in *GetRoomScheduleRequest, opts ...grpc.CallOption) (*GetRoomScheduleReply, error) - // This endpoint retrieves Cafeteria Ratings from the Backend. - GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingReply, error) - GetDishRatings(ctx context.Context, in *DishRatingRequest, opts ...grpc.CallOption) (*DishRatingReply, error) + GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingResponse, error) + GetMealRatings(ctx context.Context, in *MealRatingsRequest, opts ...grpc.CallOption) (*MealRatingsResponse, error) NewCafeteriaRating(ctx context.Context, in *NewCafeteriaRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - NewDishRating(ctx context.Context, in *NewDishRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - GetAvailableDishTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) + NewMealRating(ctx context.Context, in *NewMealRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) - GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaReply, error) - GetDishes(ctx context.Context, in *GetDishesRequest, opts ...grpc.CallOption) (*GetDishesReply, error) - GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonReply, error) - GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsReply, error) - GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrReply, error) - GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsReply, error) - GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsReply, error) - GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationReply, error) - GetOpeningTimes(ctx context.Context, in *GetOpeningTimesRequest, opts ...grpc.CallOption) (*GetOpeningTimesReply, error) - GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) - GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) - GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) - GetPurchasedTickets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPurchasedTicketsReply, error) - GetMyTicket(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) - GetTicketType(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) - ReserveMultipleTickets(ctx context.Context, in *ReserveMultipleTicketsRequest, opts ...grpc.CallOption) (*ReserveMultipleTicketsReply, error) - PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) - GetEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetEphemeralKeyReply, error) - GetTicketStatus(ctx context.Context, in *GetTicketStatusRequest, opts ...grpc.CallOption) (*GetTicketStatusReply, error) - GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) - SendFeedback(ctx context.Context, in *SendFeedbackRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) - SendFeedbackImage(ctx context.Context, in *SendFeedbackImageRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) - RegisterDevice(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) - VerifyKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) - DeviceUploadGcmToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) - GetUploadStatus(ctx context.Context, in *GetUploadStatusRequest, opts ...grpc.CallOption) (*GetUploadStatusReply, error) - GetNotification(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsReply, error) - GetNotificationConfirm(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsConfirmReply, error) - GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersReply, error) - GetChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetChatRoomsReply, error) - GetChatRoomById(ctx context.Context, in *GetChatRoomByIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - LeaveChatRoom(ctx context.Context, in *LeaveChatRoomRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - AddUserToChatRoom(ctx context.Context, in *AddUserToChatRoomRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - SendChatMessage(ctx context.Context, in *SendChatMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) - UpdateChatMessage(ctx context.Context, in *UpdateChatMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) - GetChatMessages(ctx context.Context, in *GetChatMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) - CreateChatMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) - GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) - SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) - GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) + GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) } type campusClient struct { @@ -151,8 +111,8 @@ func (c *campusClient) GetRoomSchedule(ctx context.Context, in *GetRoomScheduleR return out, nil } -func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingReply, error) { - out := new(CafeteriaRatingReply) +func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingResponse, error) { + out := new(CafeteriaRatingResponse) err := c.cc.Invoke(ctx, "/api.Campus/GetCafeteriaRatings", in, out, opts...) if err != nil { return nil, err @@ -160,9 +120,9 @@ func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRat return out, nil } -func (c *campusClient) GetDishRatings(ctx context.Context, in *DishRatingRequest, opts ...grpc.CallOption) (*DishRatingReply, error) { - out := new(DishRatingReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetDishRatings", in, out, opts...) +func (c *campusClient) GetMealRatings(ctx context.Context, in *MealRatingsRequest, opts ...grpc.CallOption) (*MealRatingsResponse, error) { + out := new(MealRatingsResponse) + err := c.cc.Invoke(ctx, "/api.Campus/GetMealRatings", in, out, opts...) if err != nil { return nil, err } @@ -178,18 +138,18 @@ func (c *campusClient) NewCafeteriaRating(ctx context.Context, in *NewCafeteriaR return out, nil } -func (c *campusClient) NewDishRating(ctx context.Context, in *NewDishRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *campusClient) NewMealRating(ctx context.Context, in *NewMealRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/api.Campus/NewDishRating", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/NewMealRating", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetAvailableDishTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) { +func (c *campusClient) GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) { out := new(GetRatingTagsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetAvailableDishTags", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetAvailableMealTags", in, out, opts...) if err != nil { return nil, err } @@ -205,8 +165,8 @@ func (c *campusClient) GetAvailableCafeteriaTags(ctx context.Context, in *emptyp return out, nil } -func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaReply, error) { - out := new(GetCafeteriaReply) +func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) { + out := new(GetCafeteriaResponse) err := c.cc.Invoke(ctx, "/api.Campus/GetCafeterias", in, out, opts...) if err != nil { return nil, err @@ -214,1545 +174,335 @@ func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opt return out, nil } -func (c *campusClient) GetDishes(ctx context.Context, in *GetDishesRequest, opts ...grpc.CallOption) (*GetDishesReply, error) { - out := new(GetDishesReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetDishes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonReply, error) { - out := new(GetResponsiblePersonReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetResponsiblePerson", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsReply, error) { - out := new(GetBuilding2GpsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetBuilding2Gps", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrReply, error) { - out := new(GetAreaFacilitiesByBuildingNrReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetAreaFacilitiesByBuildingNr", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsReply, error) { - out := new(GetListOfToiletsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetListOfToilets", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsReply, error) { - out := new(GetListOfElevatorsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetListOfElevators", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationReply, error) { - out := new(GetMoreInformationReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetMoreInformation", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetOpeningTimes(ctx context.Context, in *GetOpeningTimesRequest, opts ...grpc.CallOption) (*GetOpeningTimesReply, error) { - out := new(GetOpeningTimesReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetOpeningTimes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) { - out := new(GetUpdateNoteReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetUpdateNote", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) { - out := new(GetStudyRoomListReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetStudyRoomList", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) { - out := new(GetEventListReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetEventList", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetPurchasedTickets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPurchasedTicketsReply, error) { - out := new(GetPurchasedTicketsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetPurchasedTickets", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetMyTicket(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) { - out := new(EventListMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/GetMyTicket", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetTicketType(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) { - out := new(GetEventTicketTypeReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetTicketType", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) ReserveMultipleTickets(ctx context.Context, in *ReserveMultipleTicketsRequest, opts ...grpc.CallOption) (*ReserveMultipleTicketsReply, error) { - out := new(ReserveMultipleTicketsReply) - err := c.cc.Invoke(ctx, "/api.Campus/ReserveMultipleTickets", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) { - out := new(PurchaseTicketStripeReply) - err := c.cc.Invoke(ctx, "/api.Campus/PurchaseTicketStripe", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetEphemeralKeyReply, error) { - out := new(GetEphemeralKeyReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetEphemeralKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetTicketStatus(ctx context.Context, in *GetTicketStatusRequest, opts ...grpc.CallOption) (*GetTicketStatusReply, error) { - out := new(GetTicketStatusReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetTicketStatus", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) { - out := new(GetKinoReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetKino", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) SendFeedback(ctx context.Context, in *SendFeedbackRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) { - out := new(SendFeedbackImageReply) - err := c.cc.Invoke(ctx, "/api.Campus/SendFeedback", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) SendFeedbackImage(ctx context.Context, in *SendFeedbackImageRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) { - out := new(SendFeedbackImageReply) - err := c.cc.Invoke(ctx, "/api.Campus/SendFeedbackImage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) RegisterDevice(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { - out := new(TUMCabeStatus) - err := c.cc.Invoke(ctx, "/api.Campus/RegisterDevice", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) VerifyKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { - out := new(TUMCabeStatus) - err := c.cc.Invoke(ctx, "/api.Campus/VerifyKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) DeviceUploadGcmToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { - out := new(TUMCabeStatus) - err := c.cc.Invoke(ctx, "/api.Campus/DeviceUploadGcmToken", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetUploadStatus(ctx context.Context, in *GetUploadStatusRequest, opts ...grpc.CallOption) (*GetUploadStatusReply, error) { - out := new(GetUploadStatusReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetUploadStatus", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetNotification(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsReply, error) { - out := new(GetNotificationsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetNotification", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetNotificationConfirm(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsConfirmReply, error) { - out := new(GetNotificationsConfirmReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetNotificationConfirm", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersReply, error) { - out := new(GetMembersReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetMembers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetChatRoomsReply, error) { - out := new(GetChatRoomsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetChatRooms", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetChatRoomById(ctx context.Context, in *GetChatRoomByIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { - out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/GetChatRoomById", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) LeaveChatRoom(ctx context.Context, in *LeaveChatRoomRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { - out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/LeaveChatRoom", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) AddUserToChatRoom(ctx context.Context, in *AddUserToChatRoomRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { - out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/AddUserToChatRoom", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) SendChatMessage(ctx context.Context, in *SendChatMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { - out := new(ChatMessageModelMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/SendChatMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) UpdateChatMessage(ctx context.Context, in *UpdateChatMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { - out := new(ChatMessageModelMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/UpdateChatMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetChatMessages(ctx context.Context, in *GetChatMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { - out := new(ChatMessageModelMsg) - err := c.cc.Invoke(ctx, "/api.Campus/GetChatMessages", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) CreateChatMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { - out := new(ChatMemberMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/CreateChatMember", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { - out := new(ChatMemberMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/GetChatMemberByLrzId", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) { - out := new(ChatMemberMsg) - err := c.cc.Invoke(ctx, "/api.Campus/SearchMemberByName", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) { - out := new(GetMemberRoomsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetMemberRooms", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - // CampusServer is the server API for Campus service. // All implementations must embed UnimplementedCampusServer // for forward compatibility type CampusServer interface { GetTopNews(context.Context, *emptypb.Empty) (*GetTopNewsReply, error) GetNewsSources(context.Context, *emptypb.Empty) (*NewsSourceArray, error) - SearchRooms(context.Context, *SearchRoomsRequest) (*SearchRoomsReply, error) - // a location is a campus location/building, e.g. "Garching Forschungszentrum" - GetLocations(context.Context, *GetLocationsRequest) (*GetLocationsReply, error) - GetRoomMaps(context.Context, *GetRoomMapsRequest) (*GetRoomMapsReply, error) - GetRoomCoordinates(context.Context, *GetRoomCoordinatesRequest) (*GetRoomCoordinatesReply, error) - GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) - // This endpoint retrieves Cafeteria Ratings from the Backend. - GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingReply, error) - GetDishRatings(context.Context, *DishRatingRequest) (*DishRatingReply, error) - NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) - NewDishRating(context.Context, *NewDishRatingRequest) (*emptypb.Empty, error) - GetAvailableDishTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) - GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) - GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaReply, error) - GetDishes(context.Context, *GetDishesRequest) (*GetDishesReply, error) - GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonReply, error) - GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsReply, error) - GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrReply, error) - GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsReply, error) - GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsReply, error) - GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationReply, error) - GetOpeningTimes(context.Context, *GetOpeningTimesRequest) (*GetOpeningTimesReply, error) - GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) - GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) - GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) - GetPurchasedTickets(context.Context, *emptypb.Empty) (*GetPurchasedTicketsReply, error) - GetMyTicket(context.Context, *GetTicketRequest) (*EventListMsgElement, error) - GetTicketType(context.Context, *GetTicketRequest) (*GetEventTicketTypeReply, error) - ReserveMultipleTickets(context.Context, *ReserveMultipleTicketsRequest) (*ReserveMultipleTicketsReply, error) - PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) - GetEphemeralKey(context.Context, *emptypb.Empty) (*GetEphemeralKeyReply, error) - GetTicketStatus(context.Context, *GetTicketStatusRequest) (*GetTicketStatusReply, error) - GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) - SendFeedback(context.Context, *SendFeedbackRequest) (*SendFeedbackImageReply, error) - SendFeedbackImage(context.Context, *SendFeedbackImageRequest) (*SendFeedbackImageReply, error) - RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) - VerifyKey(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) - DeviceUploadGcmToken(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) - GetUploadStatus(context.Context, *GetUploadStatusRequest) (*GetUploadStatusReply, error) - GetNotification(context.Context, *NotificationsRequest) (*GetNotificationsReply, error) - GetNotificationConfirm(context.Context, *NotificationsRequest) (*GetNotificationsConfirmReply, error) - GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) - GetChatRooms(context.Context, *emptypb.Empty) (*GetChatRoomsReply, error) - GetChatRoomById(context.Context, *GetChatRoomByIdRequest) (*ChatRoomsMsgElement, error) - LeaveChatRoom(context.Context, *LeaveChatRoomRequest) (*ChatRoomsMsgElement, error) - AddUserToChatRoom(context.Context, *AddUserToChatRoomRequest) (*ChatRoomsMsgElement, error) - SendChatMessage(context.Context, *SendChatMessageRequest) (*ChatMessageModelMsgElement, error) - UpdateChatMessage(context.Context, *UpdateChatMessageRequest) (*ChatMessageModelMsgElement, error) - GetChatMessages(context.Context, *GetChatMessagesRequest) (*ChatMessageModelMsg, error) - CreateChatMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) - GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) - SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) - GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) - mustEmbedUnimplementedCampusServer() -} - -// UnimplementedCampusServer must be embedded to have forward compatible implementations. -type UnimplementedCampusServer struct { -} - -func (UnimplementedCampusServer) GetTopNews(context.Context, *emptypb.Empty) (*GetTopNewsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTopNews not implemented") -} -func (UnimplementedCampusServer) GetNewsSources(context.Context, *emptypb.Empty) (*NewsSourceArray, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetNewsSources not implemented") -} -func (UnimplementedCampusServer) SearchRooms(context.Context, *SearchRoomsRequest) (*SearchRoomsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method SearchRooms not implemented") -} -func (UnimplementedCampusServer) GetLocations(context.Context, *GetLocationsRequest) (*GetLocationsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLocations not implemented") -} -func (UnimplementedCampusServer) GetRoomMaps(context.Context, *GetRoomMapsRequest) (*GetRoomMapsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetRoomMaps not implemented") -} -func (UnimplementedCampusServer) GetRoomCoordinates(context.Context, *GetRoomCoordinatesRequest) (*GetRoomCoordinatesReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetRoomCoordinates not implemented") -} -func (UnimplementedCampusServer) GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetRoomSchedule not implemented") -} -func (UnimplementedCampusServer) GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetCafeteriaRatings not implemented") -} -func (UnimplementedCampusServer) GetDishRatings(context.Context, *DishRatingRequest) (*DishRatingReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetDishRatings not implemented") -} -func (UnimplementedCampusServer) NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method NewCafeteriaRating not implemented") -} -func (UnimplementedCampusServer) NewDishRating(context.Context, *NewDishRatingRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method NewDishRating not implemented") -} -func (UnimplementedCampusServer) GetAvailableDishTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAvailableDishTags not implemented") -} -func (UnimplementedCampusServer) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAvailableCafeteriaTags not implemented") -} -func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetCafeterias not implemented") -} -func (UnimplementedCampusServer) GetDishes(context.Context, *GetDishesRequest) (*GetDishesReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetDishes not implemented") -} -func (UnimplementedCampusServer) GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetResponsiblePerson not implemented") -} -func (UnimplementedCampusServer) GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetBuilding2Gps not implemented") -} -func (UnimplementedCampusServer) GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAreaFacilitiesByBuildingNr not implemented") -} -func (UnimplementedCampusServer) GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetListOfToilets not implemented") -} -func (UnimplementedCampusServer) GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetListOfElevators not implemented") -} -func (UnimplementedCampusServer) GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMoreInformation not implemented") -} -func (UnimplementedCampusServer) GetOpeningTimes(context.Context, *GetOpeningTimesRequest) (*GetOpeningTimesReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetOpeningTimes not implemented") -} -func (UnimplementedCampusServer) GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUpdateNote not implemented") -} -func (UnimplementedCampusServer) GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetStudyRoomList not implemented") -} -func (UnimplementedCampusServer) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetEventList not implemented") -} -func (UnimplementedCampusServer) GetPurchasedTickets(context.Context, *emptypb.Empty) (*GetPurchasedTicketsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetPurchasedTickets not implemented") -} -func (UnimplementedCampusServer) GetMyTicket(context.Context, *GetTicketRequest) (*EventListMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMyTicket not implemented") -} -func (UnimplementedCampusServer) GetTicketType(context.Context, *GetTicketRequest) (*GetEventTicketTypeReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTicketType not implemented") -} -func (UnimplementedCampusServer) ReserveMultipleTickets(context.Context, *ReserveMultipleTicketsRequest) (*ReserveMultipleTicketsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method ReserveMultipleTickets not implemented") -} -func (UnimplementedCampusServer) PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PurchaseTicketStripe not implemented") -} -func (UnimplementedCampusServer) GetEphemeralKey(context.Context, *emptypb.Empty) (*GetEphemeralKeyReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetEphemeralKey not implemented") -} -func (UnimplementedCampusServer) GetTicketStatus(context.Context, *GetTicketStatusRequest) (*GetTicketStatusReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTicketStatus not implemented") -} -func (UnimplementedCampusServer) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetKino not implemented") -} -func (UnimplementedCampusServer) SendFeedback(context.Context, *SendFeedbackRequest) (*SendFeedbackImageReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendFeedback not implemented") -} -func (UnimplementedCampusServer) SendFeedbackImage(context.Context, *SendFeedbackImageRequest) (*SendFeedbackImageReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendFeedbackImage not implemented") -} -func (UnimplementedCampusServer) RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { - return nil, status.Errorf(codes.Unimplemented, "method RegisterDevice not implemented") -} -func (UnimplementedCampusServer) VerifyKey(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { - return nil, status.Errorf(codes.Unimplemented, "method VerifyKey not implemented") -} -func (UnimplementedCampusServer) DeviceUploadGcmToken(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeviceUploadGcmToken not implemented") -} -func (UnimplementedCampusServer) GetUploadStatus(context.Context, *GetUploadStatusRequest) (*GetUploadStatusReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUploadStatus not implemented") -} -func (UnimplementedCampusServer) GetNotification(context.Context, *NotificationsRequest) (*GetNotificationsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetNotification not implemented") -} -func (UnimplementedCampusServer) GetNotificationConfirm(context.Context, *NotificationsRequest) (*GetNotificationsConfirmReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetNotificationConfirm not implemented") -} -func (UnimplementedCampusServer) GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMembers not implemented") -} -func (UnimplementedCampusServer) GetChatRooms(context.Context, *emptypb.Empty) (*GetChatRoomsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatRooms not implemented") -} -func (UnimplementedCampusServer) GetChatRoomById(context.Context, *GetChatRoomByIdRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatRoomById not implemented") -} -func (UnimplementedCampusServer) LeaveChatRoom(context.Context, *LeaveChatRoomRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method LeaveChatRoom not implemented") -} -func (UnimplementedCampusServer) AddUserToChatRoom(context.Context, *AddUserToChatRoomRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddUserToChatRoom not implemented") -} -func (UnimplementedCampusServer) SendChatMessage(context.Context, *SendChatMessageRequest) (*ChatMessageModelMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendChatMessage not implemented") -} -func (UnimplementedCampusServer) UpdateChatMessage(context.Context, *UpdateChatMessageRequest) (*ChatMessageModelMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateChatMessage not implemented") -} -func (UnimplementedCampusServer) GetChatMessages(context.Context, *GetChatMessagesRequest) (*ChatMessageModelMsg, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatMessages not implemented") -} -func (UnimplementedCampusServer) CreateChatMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateChatMember not implemented") -} -func (UnimplementedCampusServer) GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatMemberByLrzId not implemented") -} -func (UnimplementedCampusServer) SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) { - return nil, status.Errorf(codes.Unimplemented, "method SearchMemberByName not implemented") -} -func (UnimplementedCampusServer) GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMemberRooms not implemented") -} -func (UnimplementedCampusServer) mustEmbedUnimplementedCampusServer() {} - -// UnsafeCampusServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to CampusServer will -// result in compilation errors. -type UnsafeCampusServer interface { - mustEmbedUnimplementedCampusServer() -} - -func RegisterCampusServer(s grpc.ServiceRegistrar, srv CampusServer) { - s.RegisterService(&Campus_ServiceDesc, srv) -} - -func _Campus_GetTopNews_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetTopNews(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetTopNews", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetTopNews(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetNewsSources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetNewsSources(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetNewsSources", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetNewsSources(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_SearchRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SearchRoomsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).SearchRooms(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/SearchRooms", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).SearchRooms(ctx, req.(*SearchRoomsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetLocationsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetLocations(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetLocations", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetLocations(ctx, req.(*GetLocationsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetRoomMaps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetRoomMapsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetRoomMaps(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetRoomMaps", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetRoomMaps(ctx, req.(*GetRoomMapsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetRoomCoordinates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetRoomCoordinatesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetRoomCoordinates(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetRoomCoordinates", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetRoomCoordinates(ctx, req.(*GetRoomCoordinatesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetRoomSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetRoomScheduleRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetRoomSchedule(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetRoomSchedule", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetRoomSchedule(ctx, req.(*GetRoomScheduleRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetCafeteriaRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CafeteriaRatingRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetCafeteriaRatings(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetCafeteriaRatings", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetCafeteriaRatings(ctx, req.(*CafeteriaRatingRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetDishRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DishRatingRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetDishRatings(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetDishRatings", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetDishRatings(ctx, req.(*DishRatingRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_NewCafeteriaRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewCafeteriaRatingRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).NewCafeteriaRating(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/NewCafeteriaRating", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).NewCafeteriaRating(ctx, req.(*NewCafeteriaRatingRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_NewDishRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewDishRatingRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).NewDishRating(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/NewDishRating", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).NewDishRating(ctx, req.(*NewDishRatingRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetAvailableDishTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetAvailableDishTags(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetAvailableDishTags", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetAvailableDishTags(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetAvailableCafeteriaTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetAvailableCafeteriaTags(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetAvailableCafeteriaTags", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetAvailableCafeteriaTags(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetCafeterias_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetCafeterias(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetCafeterias", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetCafeterias(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetDishes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetDishesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetDishes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetDishes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetDishes(ctx, req.(*GetDishesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetResponsiblePerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetResponsiblePerson(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetResponsiblePerson", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetResponsiblePerson(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetBuilding2Gps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetBuilding2Gps(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetBuilding2Gps", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetBuilding2Gps(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetAreaFacilitiesByBuildingNr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAreaFacilitiesByBuildingNrRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetAreaFacilitiesByBuildingNr(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetAreaFacilitiesByBuildingNr", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetAreaFacilitiesByBuildingNr(ctx, req.(*GetAreaFacilitiesByBuildingNrRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetListOfToilets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetListOfToilets(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetListOfToilets", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetListOfToilets(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetListOfElevators_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetListOfElevators(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetListOfElevators", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetListOfElevators(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetMoreInformation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetMoreInformation(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetMoreInformation", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMoreInformation(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetOpeningTimes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetOpeningTimesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetOpeningTimes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetOpeningTimes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetOpeningTimes(ctx, req.(*GetOpeningTimesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetUpdateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUpdateNoteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetUpdateNote(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetUpdateNote", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetUpdateNote(ctx, req.(*GetUpdateNoteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetStudyRoomList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetStudyRoomList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetStudyRoomList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetStudyRoomList(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetEventList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetEventListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetEventList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetEventList", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetEventList(ctx, req.(*GetEventListRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetPurchasedTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetPurchasedTickets(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetPurchasedTickets", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetPurchasedTickets(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetMyTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTicketRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetMyTicket(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetMyTicket", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMyTicket(ctx, req.(*GetTicketRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetTicketType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTicketRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetTicketType(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetTicketType", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetTicketType(ctx, req.(*GetTicketRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_ReserveMultipleTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ReserveMultipleTicketsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).ReserveMultipleTickets(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/ReserveMultipleTickets", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).ReserveMultipleTickets(ctx, req.(*ReserveMultipleTicketsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PurchaseTicketStripe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PurchaseTicketStripe(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PurchaseTicketStripe", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PurchaseTicketStripe(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetEphemeralKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetEphemeralKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetEphemeralKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetEphemeralKey(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetTicketStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTicketStatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetTicketStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetTicketStatus", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetTicketStatus(ctx, req.(*GetTicketStatusRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetKino_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetKinoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetKino(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetKino", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetKino(ctx, req.(*GetKinoRequest)) - } - return interceptor(ctx, in, info, handler) + SearchRooms(context.Context, *SearchRoomsRequest) (*SearchRoomsReply, error) + // a location is a campus location/building, e.g. "Garching Forschungszentrum" + GetLocations(context.Context, *GetLocationsRequest) (*GetLocationsReply, error) + GetRoomMaps(context.Context, *GetRoomMapsRequest) (*GetRoomMapsReply, error) + GetRoomCoordinates(context.Context, *GetRoomCoordinatesRequest) (*GetRoomCoordinatesReply, error) + GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) + GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) + GetMealRatings(context.Context, *MealRatingsRequest) (*MealRatingsResponse, error) + NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) + NewMealRating(context.Context, *NewMealRatingRequest) (*emptypb.Empty, error) + GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) + GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) + GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) + mustEmbedUnimplementedCampusServer() } -func _Campus_SendFeedback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendFeedbackRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).SendFeedback(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/SendFeedback", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).SendFeedback(ctx, req.(*SendFeedbackRequest)) - } - return interceptor(ctx, in, info, handler) +// UnimplementedCampusServer must be embedded to have forward compatible implementations. +type UnimplementedCampusServer struct { } -func _Campus_SendFeedbackImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendFeedbackImageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).SendFeedbackImage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/SendFeedbackImage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).SendFeedbackImage(ctx, req.(*SendFeedbackImageRequest)) - } - return interceptor(ctx, in, info, handler) +func (UnimplementedCampusServer) GetTopNews(context.Context, *emptypb.Empty) (*GetTopNewsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTopNews not implemented") } - -func _Campus_RegisterDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).RegisterDevice(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/RegisterDevice", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).RegisterDevice(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) +func (UnimplementedCampusServer) GetNewsSources(context.Context, *emptypb.Empty) (*NewsSourceArray, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNewsSources not implemented") } - -func _Campus_VerifyKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).VerifyKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/VerifyKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).VerifyKey(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) +func (UnimplementedCampusServer) SearchRooms(context.Context, *SearchRoomsRequest) (*SearchRoomsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchRooms not implemented") +} +func (UnimplementedCampusServer) GetLocations(context.Context, *GetLocationsRequest) (*GetLocationsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLocations not implemented") +} +func (UnimplementedCampusServer) GetRoomMaps(context.Context, *GetRoomMapsRequest) (*GetRoomMapsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRoomMaps not implemented") +} +func (UnimplementedCampusServer) GetRoomCoordinates(context.Context, *GetRoomCoordinatesRequest) (*GetRoomCoordinatesReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRoomCoordinates not implemented") +} +func (UnimplementedCampusServer) GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRoomSchedule not implemented") +} +func (UnimplementedCampusServer) GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCafeteriaRatings not implemented") +} +func (UnimplementedCampusServer) GetMealRatings(context.Context, *MealRatingsRequest) (*MealRatingsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMealRatings not implemented") } +func (UnimplementedCampusServer) NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method NewCafeteriaRating not implemented") +} +func (UnimplementedCampusServer) NewMealRating(context.Context, *NewMealRatingRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method NewMealRating not implemented") +} +func (UnimplementedCampusServer) GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAvailableMealTags not implemented") +} +func (UnimplementedCampusServer) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAvailableCafeteriaTags not implemented") +} +func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCafeterias not implemented") +} +func (UnimplementedCampusServer) mustEmbedUnimplementedCampusServer() {} -func _Campus_DeviceUploadGcmToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).DeviceUploadGcmToken(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/DeviceUploadGcmToken", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).DeviceUploadGcmToken(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) +// UnsafeCampusServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to CampusServer will +// result in compilation errors. +type UnsafeCampusServer interface { + mustEmbedUnimplementedCampusServer() } -func _Campus_GetUploadStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUploadStatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetUploadStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetUploadStatus", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetUploadStatus(ctx, req.(*GetUploadStatusRequest)) - } - return interceptor(ctx, in, info, handler) +func RegisterCampusServer(s grpc.ServiceRegistrar, srv CampusServer) { + s.RegisterService(&Campus_ServiceDesc, srv) } -func _Campus_GetNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NotificationsRequest) +func _Campus_GetTopNews_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetNotification(ctx, in) + return srv.(CampusServer).GetTopNews(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetNotification", + FullMethod: "/api.Campus/GetTopNews", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetNotification(ctx, req.(*NotificationsRequest)) + return srv.(CampusServer).GetTopNews(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetNotificationConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NotificationsRequest) +func _Campus_GetNewsSources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetNotificationConfirm(ctx, in) + return srv.(CampusServer).GetNewsSources(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetNotificationConfirm", + FullMethod: "/api.Campus/GetNewsSources", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetNotificationConfirm(ctx, req.(*NotificationsRequest)) + return srv.(CampusServer).GetNewsSources(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMembersRequest) +func _Campus_SearchRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchRoomsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetMembers(ctx, in) + return srv.(CampusServer).SearchRooms(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetMembers", + FullMethod: "/api.Campus/SearchRooms", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMembers(ctx, req.(*GetMembersRequest)) + return srv.(CampusServer).SearchRooms(ctx, req.(*SearchRoomsRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetChatRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) +func _Campus_GetLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetLocationsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetChatRooms(ctx, in) + return srv.(CampusServer).GetLocations(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetChatRooms", + FullMethod: "/api.Campus/GetLocations", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetChatRooms(ctx, req.(*emptypb.Empty)) + return srv.(CampusServer).GetLocations(ctx, req.(*GetLocationsRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetChatRoomById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChatRoomByIdRequest) +func _Campus_GetRoomMaps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRoomMapsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetChatRoomById(ctx, in) + return srv.(CampusServer).GetRoomMaps(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetChatRoomById", + FullMethod: "/api.Campus/GetRoomMaps", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetChatRoomById(ctx, req.(*GetChatRoomByIdRequest)) + return srv.(CampusServer).GetRoomMaps(ctx, req.(*GetRoomMapsRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_LeaveChatRoom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LeaveChatRoomRequest) +func _Campus_GetRoomCoordinates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRoomCoordinatesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).LeaveChatRoom(ctx, in) + return srv.(CampusServer).GetRoomCoordinates(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/LeaveChatRoom", + FullMethod: "/api.Campus/GetRoomCoordinates", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).LeaveChatRoom(ctx, req.(*LeaveChatRoomRequest)) + return srv.(CampusServer).GetRoomCoordinates(ctx, req.(*GetRoomCoordinatesRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_AddUserToChatRoom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddUserToChatRoomRequest) +func _Campus_GetRoomSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRoomScheduleRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).AddUserToChatRoom(ctx, in) + return srv.(CampusServer).GetRoomSchedule(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/AddUserToChatRoom", + FullMethod: "/api.Campus/GetRoomSchedule", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).AddUserToChatRoom(ctx, req.(*AddUserToChatRoomRequest)) + return srv.(CampusServer).GetRoomSchedule(ctx, req.(*GetRoomScheduleRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_SendChatMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendChatMessageRequest) +func _Campus_GetCafeteriaRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CafeteriaRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).SendChatMessage(ctx, in) + return srv.(CampusServer).GetCafeteriaRatings(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/SendChatMessage", + FullMethod: "/api.Campus/GetCafeteriaRatings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).SendChatMessage(ctx, req.(*SendChatMessageRequest)) + return srv.(CampusServer).GetCafeteriaRatings(ctx, req.(*CafeteriaRatingRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_UpdateChatMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateChatMessageRequest) +func _Campus_GetMealRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MealRatingsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).UpdateChatMessage(ctx, in) + return srv.(CampusServer).GetMealRatings(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/UpdateChatMessage", + FullMethod: "/api.Campus/GetMealRatings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).UpdateChatMessage(ctx, req.(*UpdateChatMessageRequest)) + return srv.(CampusServer).GetMealRatings(ctx, req.(*MealRatingsRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetChatMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChatMessagesRequest) +func _Campus_NewCafeteriaRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NewCafeteriaRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetChatMessages(ctx, in) + return srv.(CampusServer).NewCafeteriaRating(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetChatMessages", + FullMethod: "/api.Campus/NewCafeteriaRating", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetChatMessages(ctx, req.(*GetChatMessagesRequest)) + return srv.(CampusServer).NewCafeteriaRating(ctx, req.(*NewCafeteriaRatingRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_CreateChatMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChatMemberMsgElement) +func _Campus_NewMealRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NewMealRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).CreateChatMember(ctx, in) + return srv.(CampusServer).NewMealRating(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/CreateChatMember", + FullMethod: "/api.Campus/NewMealRating", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).CreateChatMember(ctx, req.(*ChatMemberMsgElement)) + return srv.(CampusServer).NewMealRating(ctx, req.(*NewMealRatingRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetChatMemberByLrzId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChatMemberRequest) +func _Campus_GetAvailableMealTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetChatMemberByLrzId(ctx, in) + return srv.(CampusServer).GetAvailableMealTags(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetChatMemberByLrzId", + FullMethod: "/api.Campus/GetAvailableMealTags", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetChatMemberByLrzId(ctx, req.(*GetChatMemberRequest)) + return srv.(CampusServer).GetAvailableMealTags(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_SearchMemberByName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SearchMemberByNameRequest) +func _Campus_GetAvailableCafeteriaTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).SearchMemberByName(ctx, in) + return srv.(CampusServer).GetAvailableCafeteriaTags(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/SearchMemberByName", + FullMethod: "/api.Campus/GetAvailableCafeteriaTags", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).SearchMemberByName(ctx, req.(*SearchMemberByNameRequest)) + return srv.(CampusServer).GetAvailableCafeteriaTags(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetMemberRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMemberRoomsRequest) +func _Campus_GetCafeterias_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetMemberRooms(ctx, in) + return srv.(CampusServer).GetCafeterias(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetMemberRooms", + FullMethod: "/api.Campus/GetCafeterias", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMemberRooms(ctx, req.(*GetMemberRoomsRequest)) + return srv.(CampusServer).GetCafeterias(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } @@ -1797,20 +547,20 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetCafeteriaRatings_Handler, }, { - MethodName: "GetDishRatings", - Handler: _Campus_GetDishRatings_Handler, + MethodName: "GetMealRatings", + Handler: _Campus_GetMealRatings_Handler, }, { MethodName: "NewCafeteriaRating", Handler: _Campus_NewCafeteriaRating_Handler, }, { - MethodName: "NewDishRating", - Handler: _Campus_NewDishRating_Handler, + MethodName: "NewMealRating", + Handler: _Campus_NewMealRating_Handler, }, { - MethodName: "GetAvailableDishTags", - Handler: _Campus_GetAvailableDishTags_Handler, + MethodName: "GetAvailableMealTags", + Handler: _Campus_GetAvailableMealTags_Handler, }, { MethodName: "GetAvailableCafeteriaTags", @@ -1820,162 +570,6 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetCafeterias", Handler: _Campus_GetCafeterias_Handler, }, - { - MethodName: "GetDishes", - Handler: _Campus_GetDishes_Handler, - }, - { - MethodName: "GetResponsiblePerson", - Handler: _Campus_GetResponsiblePerson_Handler, - }, - { - MethodName: "GetBuilding2Gps", - Handler: _Campus_GetBuilding2Gps_Handler, - }, - { - MethodName: "GetAreaFacilitiesByBuildingNr", - Handler: _Campus_GetAreaFacilitiesByBuildingNr_Handler, - }, - { - MethodName: "GetListOfToilets", - Handler: _Campus_GetListOfToilets_Handler, - }, - { - MethodName: "GetListOfElevators", - Handler: _Campus_GetListOfElevators_Handler, - }, - { - MethodName: "GetMoreInformation", - Handler: _Campus_GetMoreInformation_Handler, - }, - { - MethodName: "GetOpeningTimes", - Handler: _Campus_GetOpeningTimes_Handler, - }, - { - MethodName: "GetUpdateNote", - Handler: _Campus_GetUpdateNote_Handler, - }, - { - MethodName: "GetStudyRoomList", - Handler: _Campus_GetStudyRoomList_Handler, - }, - { - MethodName: "GetEventList", - Handler: _Campus_GetEventList_Handler, - }, - { - MethodName: "GetPurchasedTickets", - Handler: _Campus_GetPurchasedTickets_Handler, - }, - { - MethodName: "GetMyTicket", - Handler: _Campus_GetMyTicket_Handler, - }, - { - MethodName: "GetTicketType", - Handler: _Campus_GetTicketType_Handler, - }, - { - MethodName: "ReserveMultipleTickets", - Handler: _Campus_ReserveMultipleTickets_Handler, - }, - { - MethodName: "PurchaseTicketStripe", - Handler: _Campus_PurchaseTicketStripe_Handler, - }, - { - MethodName: "GetEphemeralKey", - Handler: _Campus_GetEphemeralKey_Handler, - }, - { - MethodName: "GetTicketStatus", - Handler: _Campus_GetTicketStatus_Handler, - }, - { - MethodName: "GetKino", - Handler: _Campus_GetKino_Handler, - }, - { - MethodName: "SendFeedback", - Handler: _Campus_SendFeedback_Handler, - }, - { - MethodName: "SendFeedbackImage", - Handler: _Campus_SendFeedbackImage_Handler, - }, - { - MethodName: "RegisterDevice", - Handler: _Campus_RegisterDevice_Handler, - }, - { - MethodName: "VerifyKey", - Handler: _Campus_VerifyKey_Handler, - }, - { - MethodName: "DeviceUploadGcmToken", - Handler: _Campus_DeviceUploadGcmToken_Handler, - }, - { - MethodName: "GetUploadStatus", - Handler: _Campus_GetUploadStatus_Handler, - }, - { - MethodName: "GetNotification", - Handler: _Campus_GetNotification_Handler, - }, - { - MethodName: "GetNotificationConfirm", - Handler: _Campus_GetNotificationConfirm_Handler, - }, - { - MethodName: "GetMembers", - Handler: _Campus_GetMembers_Handler, - }, - { - MethodName: "GetChatRooms", - Handler: _Campus_GetChatRooms_Handler, - }, - { - MethodName: "GetChatRoomById", - Handler: _Campus_GetChatRoomById_Handler, - }, - { - MethodName: "LeaveChatRoom", - Handler: _Campus_LeaveChatRoom_Handler, - }, - { - MethodName: "AddUserToChatRoom", - Handler: _Campus_AddUserToChatRoom_Handler, - }, - { - MethodName: "SendChatMessage", - Handler: _Campus_SendChatMessage_Handler, - }, - { - MethodName: "UpdateChatMessage", - Handler: _Campus_UpdateChatMessage_Handler, - }, - { - MethodName: "GetChatMessages", - Handler: _Campus_GetChatMessages_Handler, - }, - { - MethodName: "CreateChatMember", - Handler: _Campus_CreateChatMember_Handler, - }, - { - MethodName: "GetChatMemberByLrzId", - Handler: _Campus_GetChatMemberByLrzId_Handler, - }, - { - MethodName: "SearchMemberByName", - Handler: _Campus_SearchMemberByName_Handler, - }, - { - MethodName: "GetMemberRooms", - Handler: _Campus_GetMemberRooms_Handler, - }, }, Streams: []grpc.StreamDesc{}, Metadata: "CampusService.proto", diff --git a/api/buf.lock b/api/buf.lock index 90431c92..31b3e001 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: e8ece2f0d0704600846d5cd689418436 + commit: c6727d5f2f6945a1b22b9d73cf074cdb diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index adaf2c4d..5c0eb1b3 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -17,36 +17,14 @@ "application/json" ], "paths": { - "/barrierfree/contacts": { + "/cafeteriaRating/cafeteria/allCafeterias": { "get": { - "operationId": "Campus_GetResponsiblePerson", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetResponsiblePersonReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/barrierfree/getBuilding2Gps": { - "get": { - "operationId": "Campus_GetBuilding2Gps", + "operationId": "Campus_GetCafeterias", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetBuilding2GpsReply" + "$ref": "#/definitions/apiGetCafeteriaResponse" } }, "default": { @@ -61,14 +39,14 @@ ] } }, - "/barrierfree/listOfElevators": { + "/cafeteriaRating/cafeteria/allTags": { "get": { - "operationId": "Campus_GetListOfElevators", + "operationId": "Campus_GetAvailableCafeteriaTags", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetListOfElevatorsReply" + "$ref": "#/definitions/apiGetRatingTagsReply" } }, "default": { @@ -83,14 +61,14 @@ ] } }, - "/barrierfree/listOfToilets": { - "get": { - "operationId": "Campus_GetListOfToilets", + "/cafeteriaRating/cafeteria/get": { + "post": { + "operationId": "Campus_GetCafeteriaRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetListOfToiletsReply" + "$ref": "#/definitions/apiCafeteriaRatingResponse" } }, "default": { @@ -100,41 +78,29 @@ } } }, - "tags": [ - "Campus" - ] - } - }, - "/barrierfree/moreInformation": { - "get": { - "operationId": "Campus_GetMoreInformation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetMoreInformationReply" - } - }, - "default": { - "description": "An unexpected error response.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, "schema": { - "$ref": "#/definitions/rpcStatus" + "$ref": "#/definitions/apiCafeteriaRatingRequest" } } - }, + ], "tags": [ "Campus" ] } }, - "/barrierfree/nerby": { - "get": { - "operationId": "Campus_GetAreaFacilitiesByBuildingNr", + "/cafeteriaRating/cafeteria/newCafeteriaRating": { + "post": { + "operationId": "Campus_NewCafeteriaRating", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" + "properties": {} } }, "default": { @@ -146,76 +112,27 @@ }, "parameters": [ { - "name": "buildingNr", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/cafeteria/allCafeterias": { - "get": { - "operationId": "Campus_GetCafeterias", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiCafeteria" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/cafeteria/rating/allTags": { - "get": { - "operationId": "Campus_GetAvailableCafeteriaTags", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagsOverview" - } - } - }, - "default": { - "description": "An unexpected error response.", + "name": "body", + "in": "body", + "required": true, "schema": { - "$ref": "#/definitions/rpcStatus" + "$ref": "#/definitions/apiNewCafeteriaRatingRequest" } } - }, + ], "tags": [ "Campus" ] } }, - "/cafeteria/rating/get": { + "/cafeteriaRating/dish/get": { "post": { - "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", - "operationId": "Campus_GetCafeteriaRatings", + "operationId": "Campus_GetMealRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiCafeteriaRatingReply" + "$ref": "#/definitions/apiMealRatingsResponse" } }, "default": { @@ -231,7 +148,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiCafeteriaRatingRequest" + "$ref": "#/definitions/apiMealRatingsRequest" } } ], @@ -240,14 +157,14 @@ ] } }, - "/cafeteria/rating/new": { - "post": { - "operationId": "Campus_NewCafeteriaRating", + "/cafeteriaRating/meal/allTags": { + "get": { + "operationId": "Campus_GetAvailableMealTags", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/apiGetRatingTagsReply" } }, "default": { @@ -257,29 +174,19 @@ } } }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiNewCafeteriaRatingRequest" - } - } - ], "tags": [ "Campus" ] } }, - "/chat/members": { + "/cafeteriaRating/meal/newMealRating": { "post": { - "operationId": "Campus_CreateChatMember", + "operationId": "Campus_NewMealRating", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiChatMemberMsgElement" + "properties": {} } }, "default": { @@ -291,29 +198,12 @@ }, "parameters": [ { - "name": "id", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "lrzId", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "displayName", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "signature", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiNewMealRatingRequest" + } } ], "tags": [ @@ -321,14 +211,18 @@ ] } }, - "/chat/members/search/{query}": { + "/locations/{location}": { "get": { - "operationId": "Campus_SearchMemberByName", + "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", + "operationId": "Campus_GetLocations", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiChatMemberMsg" + "type": "array", + "items": { + "$ref": "#/definitions/apiGetLocationsReplyLocation" + } } }, "default": { @@ -340,7 +234,7 @@ }, "parameters": [ { - "name": "query", + "name": "location", "in": "path", "required": true, "type": "string" @@ -351,14 +245,17 @@ ] } }, - "/chat/members/{lrzId}": { + "/news/sources": { "get": { - "operationId": "Campus_GetChatMemberByLrzId", + "operationId": "Campus_GetNewsSources", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiChatMemberMsgElement" + "type": "array", + "items": { + "$ref": "#/definitions/apiNewsSource" + } } }, "default": { @@ -368,27 +265,19 @@ } } }, - "parameters": [ - { - "name": "lrzId", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Campus" ] } }, - "/chat/members/{memberId}/rooms": { - "post": { - "operationId": "Campus_GetMemberRooms", + "/news/top": { + "get": { + "operationId": "Campus_GetTopNews", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetMemberRoomsReply" + "$ref": "#/definitions/apiGetTopNewsReply" } }, "default": { @@ -398,28 +287,22 @@ } } }, - "parameters": [ - { - "name": "memberId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], "tags": [ "Campus" ] } }, - "/chat/rooms": { + "/roomfinder/maps": { "post": { - "operationId": "Campus_GetChatRooms", + "operationId": "Campus_GetRoomMaps", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetChatRoomsReply" + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomMapsReplyMap" + } } }, "default": { @@ -435,7 +318,7 @@ "in": "body", "required": true, "schema": { - "properties": {} + "$ref": "#/definitions/apiGetRoomMapsRequest" } } ], @@ -444,14 +327,14 @@ ] } }, - "/chat/rooms/{roomId}": { - "get": { - "operationId": "Campus_GetChatRoomById", + "/roomfinder/room/coordinates": { + "post": { + "operationId": "Campus_GetRoomCoordinates", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" + "$ref": "#/definitions/apiGetRoomCoordinatesReply" } }, "default": { @@ -463,11 +346,12 @@ }, "parameters": [ { - "name": "roomId", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "integer", - "format": "int32" + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesRequest" + } } ], "tags": [ @@ -475,14 +359,17 @@ ] } }, - "/chat/rooms/{roomId}/add/{memberId}": { + "/roomfinder/room/scheduleById": { "post": { - "operationId": "Campus_AddUserToChatRoom", + "operationId": "Campus_GetRoomSchedule", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" + } } }, "default": { @@ -494,18 +381,12 @@ }, "parameters": [ { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "memberId", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "integer", - "format": "int32" + "schema": { + "$ref": "#/definitions/apiGetRoomScheduleRequest" + } } ], "tags": [ @@ -513,14 +394,17 @@ ] } }, - "/chat/rooms/{roomId}/leave": { + "/roomfinder/room/search": { "post": { - "operationId": "Campus_LeaveChatRoom", + "operationId": "Campus_SearchRooms", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" + "type": "array", + "items": { + "$ref": "#/definitions/apiRoom" + } } }, "default": { @@ -532,1836 +416,203 @@ }, "parameters": [ { - "name": "roomId", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/message": { - "put": { - "operationId": "Campus_SendChatMessage", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/rpcStatus" + "$ref": "#/definitions/apiSearchRoomsRequest" } } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } ], "tags": [ "Campus" ] } - }, - "/chat/rooms/{roomId}/message/{messageId}": { - "put": { - "operationId": "Campus_UpdateChatMessage", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "messageId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/messages/{pageId}": { - "post": { - "operationId": "Campus_GetChatMessages", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsg" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "pageId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/device/addGcmToken": { - "post": { - "operationId": "Campus_DeviceUploadGcmToken", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiTUMCabeStatus" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/device/register": { - "post": { - "operationId": "Campus_RegisterDevice", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiTUMCabeStatus" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/device/uploaded/{lrzId}": { - "get": { - "operationId": "Campus_GetUploadStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetUploadStatusReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "lrzId", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/device/verifyKey": { - "get": { - "operationId": "Campus_VerifyKey", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiTUMCabeStatus" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/dish/allDishes": { - "get": { - "operationId": "Campus_GetDishes", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "cafeteriaId", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "year", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "month", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "day", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/dish/rating/allTags": { - "get": { - "operationId": "Campus_GetAvailableDishTags", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagsOverview" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/dish/rating/get": { - "post": { - "operationId": "Campus_GetDishRatings", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiDishRatingReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiDishRatingRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/dish/rating/new": { - "post": { - "operationId": "Campus_NewDishRating", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "properties": {} - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiNewDishRatingRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/list": { - "get": { - "operationId": "Campus_GetEventList", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEventListReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "eventId", - "description": "optional parameter, will return all events if no id is specified", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/my": { - "post": { - "operationId": "Campus_GetPurchasedTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetPurchasedTicketsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/payment/stripe/ephemeralkey": { - "post": { - "operationId": "Campus_GetEphemeralKey", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEphemeralKeyReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/payment/stripe/purchase/multiple": { - "post": { - "operationId": "Campus_PurchaseTicketStripe", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiPurchaseTicketStripeReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/reserve/multiple": { - "post": { - "operationId": "Campus_ReserveMultipleTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiReserveMultipleTicketsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "ticketTypes", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "collectionFormat": "multi" - }, - { - "name": "amounts", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "collectionFormat": "multi" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/status/{eventId}": { - "get": { - "operationId": "Campus_GetTicketStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetTicketStatusReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "eventId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/type/{id}": { - "get": { - "operationId": "Campus_GetTicketType", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEventTicketTypeReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/{id}": { - "post": { - "operationId": "Campus_GetMyTicket", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiEventListMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/feedback": { - "post": { - "operationId": "Campus_SendFeedback", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiSendFeedbackImageReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "topic", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "email", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "emailId", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "message", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "imageCount", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "latitude", - "in": "query", - "required": false, - "type": "number", - "format": "double" - }, - { - "name": "longitude", - "in": "query", - "required": false, - "type": "number", - "format": "double" - }, - { - "name": "osVersion", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "appVersion", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/feedback/{id}/{imageNr}": { - "post": { - "operationId": "Campus_SendFeedbackImage", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiSendFeedbackImageReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "imageNr", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/kino/{lastId}": { - "get": { - "operationId": "Campus_GetKino", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetKinoReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "lastId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/locations/{location}": { - "get": { - "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", - "operationId": "Campus_GetLocations", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiGetLocationsReplyLocation" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "location", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/members/{lrzId}": { - "get": { - "operationId": "Campus_GetMembers", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetMembersReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "lrzId", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/news/sources": { - "get": { - "operationId": "Campus_GetNewsSources", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiNewsSource" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/news/top": { - "get": { - "operationId": "Campus_GetTopNews", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetTopNewsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/notifications": { - "get": { - "operationId": "Campus_GetNotification", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetNotificationsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "notificationId", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/notifications/confirm/{notificationId}": { - "get": { - "operationId": "Campus_GetNotificationConfirm", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetNotificationsConfirmReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "notificationId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/openingtimes/{language}": { - "get": { - "operationId": "Campus_GetOpeningTimes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetOpeningTimesReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "language", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/roomfinder/maps": { - "post": { - "operationId": "Campus_GetRoomMaps", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomMapsReplyMap" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomMapsRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/roomfinder/room/coordinates": { - "post": { - "operationId": "Campus_GetRoomCoordinates", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/roomfinder/room/scheduleById": { - "post": { - "operationId": "Campus_GetRoomSchedule", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomScheduleRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/roomfinder/room/search": { - "post": { - "operationId": "Campus_SearchRooms", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoom" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiSearchRoomsRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/studyroom/list": { - "get": { - "operationId": "Campus_GetStudyRoomList", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetStudyRoomListReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/updatenote/{version}": { - "get": { - "operationId": "Campus_GetUpdateNote", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetUpdateNoteReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "version", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - } - }, - "definitions": { - "GetRoomMapsReplyMap": { - "type": "object", - "properties": { - "mapId": { - "type": "string", - "format": "int64" - }, - "description": { - "type": "string" - }, - "scale": { - "type": "string", - "format": "int64" - }, - "width": { - "type": "string", - "format": "int64" - }, - "height": { - "type": "string", - "format": "int64" - } - } - }, - "GetRoomScheduleReplyRoomScheduleEvent": { - "type": "object", - "properties": { - "start": { - "type": "string", - "format": "date-time" - }, - "end": { - "type": "string", - "format": "date-time" - }, - "title": { - "type": "string" - }, - "eventId": { - "type": "integer", - "format": "int32" - }, - "courseCode": { - "type": "string" - } - } - }, - "apiBuilding2GpsElement": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "latitude": { - "type": "string" - }, - "longitude": { - "type": "string" - } - } - }, - "apiCafeteria": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "address": { - "type": "string" - }, - "longitude": { - "type": "number", - "format": "double" - }, - "latitude": { - "type": "number", - "format": "double" - } - } - }, - "apiCafeteriaRatingReply": { - "type": "object", - "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiSingleRatingReply" - } - }, - "avg": { - "type": "number", - "format": "double" - }, - "std": { - "type": "number", - "format": "double" - }, - "min": { - "type": "integer", - "format": "int32" - }, - "max": { - "type": "integer", - "format": "int32" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagResult" - } - } - } - }, - "apiCafeteriaRatingRequest": { - "type": "object", - "properties": { - "cafeteriaId": { - "type": "string", - "title": "cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" - }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" - }, - "to": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" - }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" - } - } - }, - "apiChatMemberMsg": { - "type": "object", - "properties": { - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatMemberMsgElement" - } - } - } - }, - "apiChatMemberMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "lrzId": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "signature": { - "type": "string" - } - } - }, - "apiChatMessageModelMsg": { - "type": "object", - "properties": { - "messages": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - } - } - }, - "apiChatMessageModelMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "previous": { - "type": "integer", - "format": "int32" - }, - "room": { - "type": "integer", - "format": "int32" - }, - "text": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string" - }, - "memberId": { - "type": "integer", - "format": "int32" - }, - "sendingStatus": { - "type": "integer", - "format": "int32" - } - } - }, - "apiChatRoomsMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "semester": { - "type": "string" - }, - "title": { - "type": "string" - }, - "members": { - "type": "integer", - "format": "int32" - } - } - }, - "apiDishRatingReply": { - "type": "object", - "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiSingleRatingReply" - } - }, - "avg": { - "type": "number", - "format": "double" - }, - "std": { - "type": "number", - "format": "double" - }, - "min": { - "type": "integer", - "format": "int32" - }, - "max": { - "type": "integer", - "format": "int32" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagResult" - } - }, - "nameTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagResult" - } - } - } - }, - "apiDishRatingRequest": { + } + }, + "definitions": { + "GetRoomMapsReplyMap": { "type": "object", "properties": { - "cafeteriaId": { - "type": "string", - "title": "Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" - }, - "dish": { - "type": "string", - "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" - }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" - }, - "to": { + "mapId": { "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" - }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" - } - } - }, - "apiEventListMsgElement": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "event": { - "type": "integer", - "format": "int32" - }, - "news": { - "type": "integer", - "format": "int32" - }, - "kino": { - "type": "integer", - "format": "int32" - }, - "file": { - "type": "integer", - "format": "int32" - }, - "title": { - "type": "string" + "format": "int64" }, "description": { "type": "string" }, - "locality": { - "type": "string" - }, - "link": { - "type": "string" - }, - "start": { - "type": "string", - "format": "date-time" - }, - "end": { + "scale": { "type": "string", - "format": "date-time" - }, - "ticketGroup": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketMyMsgElement": { - "type": "object", - "properties": { - "ticketHistory": { - "type": "integer", - "format": "int32" - }, - "ticketType": { - "type": "integer", - "format": "int32" + "format": "int64" }, - "redemption": { + "width": { "type": "string", - "format": "date-time" - }, - "code": { - "type": "string" - }, - "event": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketPaymentMsg": { - "type": "object", - "properties": { - "stripePublishableKey": { - "type": "string" - }, - "terms": { - "type": "string" - }, - "minTickets": { - "type": "integer", - "format": "int32" - }, - "maxTickets": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketReserveMultipleMsgElement": { - "type": "object", - "properties": { - "ticketIds": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketTypeMsgElement": { - "type": "object", - "properties": { - "ticketType": { - "type": "integer", - "format": "int32" - }, - "event": { - "type": "integer", - "format": "int32" - }, - "ticketPayment": { - "type": "integer", - "format": "int32" - }, - "price": { - "type": "integer", - "format": "int32" - }, - "contingent": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string" - }, - "payment": { - "$ref": "#/definitions/apiEventTicketPaymentMsg" - }, - "sold": { - "type": "integer", - "format": "int32" - } - } - }, - "apiGetAreaFacilitiesByBuildingNrReply": { - "type": "object", - "properties": { - "areaFacilitiesByBuildingNr": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apiGetBuilding2GpsReply": { - "type": "object", - "properties": { - "building2Gps": { - "type": "array", - "items": { - "$ref": "#/definitions/apiBuilding2GpsElement" - } - } - } - }, - "apiGetCafeteriaReply": { - "type": "object", - "properties": { - "cafeteria": { - "type": "array", - "items": { - "$ref": "#/definitions/apiCafeteria" - } - } - } - }, - "apiGetChatRoomsReply": { - "type": "object", - "properties": { - "rooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatRoomsMsgElement" - } - } - } - }, - "apiGetDishesReply": { - "type": "object", - "properties": { - "dish": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "apiGetEphemeralKeyReply": { - "type": "object" - }, - "apiGetEventListReply": { - "type": "object", - "properties": { - "events": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventListMsgElement" - } - } - } - }, - "apiGetEventTicketTypeReply": { - "type": "object", - "properties": { - "eventTickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketTypeMsgElement" - } - } - } - }, - "apiGetKinoReply": { - "type": "object", - "properties": { - "kinos": { - "type": "array", - "items": { - "$ref": "#/definitions/apiKinoMsgElement" - } - } - } - }, - "apiGetListOfElevatorsReply": { - "type": "object", - "properties": { - "listOfElevators": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apiGetListOfToiletsReply": { - "type": "object", - "properties": { - "listOfToilets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apiGetLocationsReply": { - "type": "object", - "properties": { - "locations": { - "type": "array", - "items": { - "$ref": "#/definitions/apiGetLocationsReplyLocation" - } + "format": "int64" + }, + "height": { + "type": "string", + "format": "int64" } } }, - "apiGetLocationsReplyLocation": { + "GetRoomScheduleReplyRoomScheduleEvent": { "type": "object", "properties": { - "location": { - "type": "string" + "start": { + "type": "string", + "format": "date-time" }, - "name": { - "type": "string" + "end": { + "type": "string", + "format": "date-time" }, - "lon": { + "title": { "type": "string" }, - "lat": { - "type": "string" + "eventId": { + "type": "integer", + "format": "int32" }, - "radius": { + "courseCode": { "type": "string" } } }, - "apiGetMemberRoomsReply": { + "apiCafeteriaRating": { "type": "object", "properties": { - "chatRooms": { + "rating": { + "type": "integer", + "format": "int32" + }, + "cafeteriaName": { + "type": "string" + }, + "image": { + "type": "string", + "format": "byte" + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" + }, + "comment": { + "type": "string" + }, + "tagRating": { "type": "array", "items": { - "$ref": "#/definitions/apiChatRoomsMsgElement" + "$ref": "#/definitions/apiTagRatingOverview" } } } }, - "apiGetMembersReply": { + "apiCafeteriaRatingRequest": { "type": "object", "properties": { - "lrzId": { + "cafeteriaName": { "type": "string" }, - "name": { - "type": "string" + "from": { + "type": "string", + "format": "date-time" }, - "memberId": { + "to": { + "type": "string", + "format": "date-time" + }, + "limit": { "type": "integer", "format": "int32" } } }, - "apiGetMoreInformationReply": { + "apiCafeteriaRatingResponse": { "type": "object", "properties": { - "information": { + "rating": { "type": "array", "items": { - "$ref": "#/definitions/apiMoreInformationElement" + "$ref": "#/definitions/apiCafeteriaRating" } - } - } - }, - "apiGetNotificationsConfirmReply": { - "type": "object", - "properties": { - "status": { - "type": "string" - } - } - }, - "apiGetNotificationsReply": { - "type": "object", - "properties": { - "notificationId": { + }, + "averageRating": { + "type": "number", + "format": "double" + }, + "minRating": { "type": "integer", "format": "int32" }, - "type": { + "maxRating": { "type": "integer", "format": "int32" }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "signature": { - "type": "string" + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } } } }, - "apiGetOpeningTimesReply": { + "apiGetCafeteriaResponse": { "type": "object", "properties": { - "facilities": { - "type": "array", - "items": { - "$ref": "#/definitions/apiOpeningTimesMsgElement" - } + "name": { + "type": "string" + }, + "adress": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { + "type": "number", + "format": "double" } } }, - "apiGetPurchasedTicketsReply": { + "apiGetLocationsReply": { "type": "object", "properties": { - "myTickets": { + "locations": { "type": "array", "items": { - "$ref": "#/definitions/apiEventTicketMyMsgElement" + "$ref": "#/definitions/apiGetLocationsReplyLocation" } } } }, - "apiGetRatingTagsReply": { + "apiGetLocationsReplyLocation": { "type": "object", "properties": { - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagsOverview" - } + "location": { + "type": "string" + }, + "name": { + "type": "string" + }, + "lon": { + "type": "string" + }, + "lat": { + "type": "string" + }, + "radius": { + "type": "string" } } }, - "apiGetResponsiblePersonReply": { + "apiGetRatingTagsReply": { "type": "object", "properties": { - "responsiblePerson": { + "tags": { "type": "array", "items": { - "$ref": "#/definitions/apiResponsiblePersonElement" + "$ref": "#/definitions/apiTagRatingOverview" } } } @@ -2433,423 +684,210 @@ }, "end": { "type": "string", - "format": "date-time" - } - } - }, - "apiGetStudyRoomListReply": { - "type": "object", - "properties": { - "rooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiStudyRoomMsgElement" - } - } - } - }, - "apiGetTicketStatusReply": { - "type": "object", - "properties": { - "status": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTicketStatus" - } - } - } - }, - "apiGetTopNewsReply": { - "type": "object", - "properties": { - "imageUrl": { - "type": "string" - }, - "link": { - "type": "string" - }, - "created": { - "type": "string", - "format": "date-time" - }, - "from": { - "type": "string", - "format": "date-time" - }, - "to": { - "type": "string", - "format": "date-time" - } - } - }, - "apiGetUpdateNoteReply": { - "type": "object", - "properties": { - "message": { - "type": "string" - } - } - }, - "apiGetUploadStatusReply": { - "type": "object", - "properties": { - "fcmToken": { - "type": "string" - }, - "publicKey": { - "type": "string" - }, - "studentId": { - "type": "boolean" - }, - "employeeId": { - "type": "boolean" - }, - "externalId": { - "type": "boolean" - } - } - }, - "apiKinoMsgElement": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "kino": { - "type": "integer", - "format": "int32" - }, - "date": { - "type": "string", - "format": "date-time" - }, - "created": { - "type": "string", - "format": "date-time" - }, - "title": { - "type": "string" - }, - "year": { - "type": "string" - }, - "runtime": { - "type": "string" - }, - "genre": { - "type": "string" - }, - "director": { - "type": "string" - }, - "actors": { - "type": "string" - }, - "rating": { - "type": "string" - }, - "description": { - "type": "string" - }, - "cover": { - "type": "integer", - "format": "int32" - }, - "trailer": { - "type": "string" - }, - "link": { - "type": "string" - } - } - }, - "apiMoreInformationElement": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "category": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "apiNewCafeteriaRatingRequest": { - "type": "object", - "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaId": { - "type": "string" - }, - "image": { - "type": "string", - "format": "byte" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTag" - }, - "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" + "format": "date-time" } } }, - "apiNewDishRatingRequest": { + "apiGetTopNewsReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" + "imageUrl": { + "type": "string" }, - "cafeteriaId": { - "type": "string", - "title": "Mandatory Name of the dish (EAT-API naming scheme \"MENSA_GARCHING\") Must be available int the given mensa" + "link": { + "type": "string" }, - "dish": { + "created": { "type": "string", - "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" + "format": "date-time" }, - "image": { + "from": { "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTag" - }, - "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags" + "format": "date-time" }, - "comment": { + "to": { "type": "string", - "title": "Optional comment (max 256 chars)" + "format": "date-time" } } }, - "apiNewsSource": { + "apiMealRating": { "type": "object", "properties": { - "source": { + "rating": { + "type": "integer", + "format": "int32" + }, + "cafeteriaName": { "type": "string" }, - "title": { + "meal": { "type": "string" }, - "icon": { + "image": { + "type": "string", + "format": "byte" + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" + }, + "comment": { "type": "string" - } - } - }, - "apiNewsSourceArray": { - "type": "object", - "properties": { - "sources": { + }, + "tagRating": { "type": "array", "items": { - "$ref": "#/definitions/apiNewsSource" + "$ref": "#/definitions/apiTagRatingOverview" } } } }, - "apiOpeningTimesMsgElement": { + "apiMealRatingsRequest": { "type": "object", "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "category": { - "type": "string" - }, - "name": { - "type": "string" - }, - "address": { - "type": "string" - }, - "room": { - "type": "string" - }, - "transportStation": { + "cafeteriaName": { "type": "string" }, - "openingHours": { + "meal": { "type": "string" }, - "infos": { - "type": "string" - }, - "url": { - "type": "string" + "from": { + "type": "string", + "format": "date-time" }, - "language": { - "type": "string" + "to": { + "type": "string", + "format": "date-time" }, - "referenceId": { + "limit": { "type": "integer", "format": "int32" } } }, - "apiPurchaseTicketStripeReply": { + "apiMealRatingsResponse": { "type": "object", "properties": { - "tickets": { + "rating": { "type": "array", "items": { - "$ref": "#/definitions/apiTicketMessageElement" + "$ref": "#/definitions/apiMealRating" } - } - } - }, - "apiRatingTag": { - "type": "object", - "properties": { - "tagId": { - "type": "integer", - "format": "int32" }, - "points": { + "averageRating": { "type": "number", "format": "double" - } - } - }, - "apiRatingTagNewRequest": { - "type": "object", - "properties": { - "tagId": { + }, + "minRating": { "type": "integer", "format": "int32" }, - "points": { + "maxRating": { "type": "integer", "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } + }, + "nameTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } } } }, - "apiRatingTagResult": { + "apiNewCafeteriaRatingRequest": { "type": "object", "properties": { - "tagId": { + "rating": { "type": "integer", "format": "int32" }, - "avg": { - "type": "number", - "format": "double" + "cafeteriaName": { + "type": "string" }, - "std": { - "type": "number", - "format": "double" + "image": { + "type": "string", + "format": "byte" }, - "min": { - "type": "integer", - "format": "int32" + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRating" + } }, - "max": { - "type": "integer", - "format": "int32" + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" + }, + "comment": { + "type": "string" } } }, - "apiRatingTagsOverview": { + "apiNewMealRatingRequest": { "type": "object", "properties": { - "tagId": { + "rating": { "type": "integer", "format": "int32" }, - "de": { + "cafeteriaName": { "type": "string" }, - "en": { + "meal": { "type": "string" - } - } - }, - "apiReserveMultipleTicketsReply": { - "type": "object", - "properties": { - "tickets": { + }, + "image": { + "type": "string", + "format": "byte" + }, + "tags": { "type": "array", "items": { - "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" + "$ref": "#/definitions/apiTagRating" } + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" + }, + "comment": { + "type": "string" } } }, - "apiResponsiblePersonElement": { + "apiNewsSource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "telephone": { - "type": "string" - }, - "email": { + "source": { "type": "string" }, - "faculty": { + "title": { "type": "string" }, - "tumID": { + "icon": { "type": "string" } } }, - "apiRoom": { + "apiNewsSourceArray": { "type": "object", "properties": { - "roomId": { - "type": "integer", - "format": "int32" - }, - "roomCode": { - "type": "string" - }, - "buildingNr": { - "type": "string" - }, - "archId": { - "type": "string" - }, - "info": { - "type": "string" - }, - "address": { - "type": "string" - }, - "purpose": { - "type": "string" - }, - "campus": { - "type": "string" - }, - "name": { - "type": "string" + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/apiNewsSource" + } } } }, - "apiRoomInformationElement": { + "apiRoom": { "type": "object", "properties": { "roomId": { @@ -2901,130 +939,51 @@ } } }, - "apiSendFeedbackImageReply": { - "type": "object", - "properties": { - "status": { - "type": "string" - } - } - }, - "apiSingleRatingReply": { - "type": "object", - "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagNewRequest" - } - }, - "visited": { - "type": "string", - "format": "date-time" - } - } - }, - "apiStudyRoom": { + "apiTagRating": { "type": "object", "properties": { - "groupId": { - "type": "integer", - "format": "int32" - }, - "roomId": { - "type": "integer", - "format": "int32" - }, - "roomCode": { + "tag": { "type": "string" }, - "roomName": { - "type": "string" - }, - "buildingName": { - "type": "string" + "rating": { + "type": "number", + "format": "double" } } }, - "apiStudyRoomMsgElement": { + "apiTagRatingOverview": { "type": "object", "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "name": { + "nameDE": { "type": "string" }, - "details": { + "nameEN": { "type": "string" }, - "rooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiStudyRoom" - } + "rating": { + "type": "number", + "format": "double" } } }, - "apiTUMCabeStatus": { + "apiTagRatingsResult": { "type": "object", "properties": { - "status": { + "nameDE": { "type": "string" - } - } - }, - "apiTicketMessageElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "eventId": { - "type": "integer", - "format": "int32" }, - "code": { + "nameEN": { "type": "string" }, - "ticketTypeId": { - "type": "integer", - "format": "int32" - }, - "redemption": { - "type": "string", - "format": "date-time" - } - } - }, - "apiTicketStatus": { - "type": "object", - "properties": { - "ticketType": { - "type": "integer", - "format": "int32" + "averageRating": { + "type": "number", + "format": "double" }, - "contingent": { + "minRating": { "type": "integer", "format": "int32" }, - "sold": { + "maxRating": { "type": "integer", "format": "int32" } diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index adaf2c4d..5c0eb1b3 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -17,36 +17,14 @@ "application/json" ], "paths": { - "/barrierfree/contacts": { + "/cafeteriaRating/cafeteria/allCafeterias": { "get": { - "operationId": "Campus_GetResponsiblePerson", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetResponsiblePersonReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/barrierfree/getBuilding2Gps": { - "get": { - "operationId": "Campus_GetBuilding2Gps", + "operationId": "Campus_GetCafeterias", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetBuilding2GpsReply" + "$ref": "#/definitions/apiGetCafeteriaResponse" } }, "default": { @@ -61,14 +39,14 @@ ] } }, - "/barrierfree/listOfElevators": { + "/cafeteriaRating/cafeteria/allTags": { "get": { - "operationId": "Campus_GetListOfElevators", + "operationId": "Campus_GetAvailableCafeteriaTags", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetListOfElevatorsReply" + "$ref": "#/definitions/apiGetRatingTagsReply" } }, "default": { @@ -83,14 +61,14 @@ ] } }, - "/barrierfree/listOfToilets": { - "get": { - "operationId": "Campus_GetListOfToilets", + "/cafeteriaRating/cafeteria/get": { + "post": { + "operationId": "Campus_GetCafeteriaRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetListOfToiletsReply" + "$ref": "#/definitions/apiCafeteriaRatingResponse" } }, "default": { @@ -100,41 +78,29 @@ } } }, - "tags": [ - "Campus" - ] - } - }, - "/barrierfree/moreInformation": { - "get": { - "operationId": "Campus_GetMoreInformation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetMoreInformationReply" - } - }, - "default": { - "description": "An unexpected error response.", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, "schema": { - "$ref": "#/definitions/rpcStatus" + "$ref": "#/definitions/apiCafeteriaRatingRequest" } } - }, + ], "tags": [ "Campus" ] } }, - "/barrierfree/nerby": { - "get": { - "operationId": "Campus_GetAreaFacilitiesByBuildingNr", + "/cafeteriaRating/cafeteria/newCafeteriaRating": { + "post": { + "operationId": "Campus_NewCafeteriaRating", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" + "properties": {} } }, "default": { @@ -146,76 +112,27 @@ }, "parameters": [ { - "name": "buildingNr", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/cafeteria/allCafeterias": { - "get": { - "operationId": "Campus_GetCafeterias", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiCafeteria" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/cafeteria/rating/allTags": { - "get": { - "operationId": "Campus_GetAvailableCafeteriaTags", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagsOverview" - } - } - }, - "default": { - "description": "An unexpected error response.", + "name": "body", + "in": "body", + "required": true, "schema": { - "$ref": "#/definitions/rpcStatus" + "$ref": "#/definitions/apiNewCafeteriaRatingRequest" } } - }, + ], "tags": [ "Campus" ] } }, - "/cafeteria/rating/get": { + "/cafeteriaRating/dish/get": { "post": { - "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", - "operationId": "Campus_GetCafeteriaRatings", + "operationId": "Campus_GetMealRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiCafeteriaRatingReply" + "$ref": "#/definitions/apiMealRatingsResponse" } }, "default": { @@ -231,7 +148,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiCafeteriaRatingRequest" + "$ref": "#/definitions/apiMealRatingsRequest" } } ], @@ -240,14 +157,14 @@ ] } }, - "/cafeteria/rating/new": { - "post": { - "operationId": "Campus_NewCafeteriaRating", + "/cafeteriaRating/meal/allTags": { + "get": { + "operationId": "Campus_GetAvailableMealTags", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/apiGetRatingTagsReply" } }, "default": { @@ -257,29 +174,19 @@ } } }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiNewCafeteriaRatingRequest" - } - } - ], "tags": [ "Campus" ] } }, - "/chat/members": { + "/cafeteriaRating/meal/newMealRating": { "post": { - "operationId": "Campus_CreateChatMember", + "operationId": "Campus_NewMealRating", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiChatMemberMsgElement" + "properties": {} } }, "default": { @@ -291,29 +198,12 @@ }, "parameters": [ { - "name": "id", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "lrzId", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "displayName", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "signature", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiNewMealRatingRequest" + } } ], "tags": [ @@ -321,14 +211,18 @@ ] } }, - "/chat/members/search/{query}": { + "/locations/{location}": { "get": { - "operationId": "Campus_SearchMemberByName", + "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", + "operationId": "Campus_GetLocations", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiChatMemberMsg" + "type": "array", + "items": { + "$ref": "#/definitions/apiGetLocationsReplyLocation" + } } }, "default": { @@ -340,7 +234,7 @@ }, "parameters": [ { - "name": "query", + "name": "location", "in": "path", "required": true, "type": "string" @@ -351,14 +245,17 @@ ] } }, - "/chat/members/{lrzId}": { + "/news/sources": { "get": { - "operationId": "Campus_GetChatMemberByLrzId", + "operationId": "Campus_GetNewsSources", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiChatMemberMsgElement" + "type": "array", + "items": { + "$ref": "#/definitions/apiNewsSource" + } } }, "default": { @@ -368,27 +265,19 @@ } } }, - "parameters": [ - { - "name": "lrzId", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Campus" ] } }, - "/chat/members/{memberId}/rooms": { - "post": { - "operationId": "Campus_GetMemberRooms", + "/news/top": { + "get": { + "operationId": "Campus_GetTopNews", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetMemberRoomsReply" + "$ref": "#/definitions/apiGetTopNewsReply" } }, "default": { @@ -398,28 +287,22 @@ } } }, - "parameters": [ - { - "name": "memberId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], "tags": [ "Campus" ] } }, - "/chat/rooms": { + "/roomfinder/maps": { "post": { - "operationId": "Campus_GetChatRooms", + "operationId": "Campus_GetRoomMaps", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetChatRoomsReply" + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomMapsReplyMap" + } } }, "default": { @@ -435,7 +318,7 @@ "in": "body", "required": true, "schema": { - "properties": {} + "$ref": "#/definitions/apiGetRoomMapsRequest" } } ], @@ -444,14 +327,14 @@ ] } }, - "/chat/rooms/{roomId}": { - "get": { - "operationId": "Campus_GetChatRoomById", + "/roomfinder/room/coordinates": { + "post": { + "operationId": "Campus_GetRoomCoordinates", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" + "$ref": "#/definitions/apiGetRoomCoordinatesReply" } }, "default": { @@ -463,11 +346,12 @@ }, "parameters": [ { - "name": "roomId", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "integer", - "format": "int32" + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesRequest" + } } ], "tags": [ @@ -475,14 +359,17 @@ ] } }, - "/chat/rooms/{roomId}/add/{memberId}": { + "/roomfinder/room/scheduleById": { "post": { - "operationId": "Campus_AddUserToChatRoom", + "operationId": "Campus_GetRoomSchedule", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" + } } }, "default": { @@ -494,18 +381,12 @@ }, "parameters": [ { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "memberId", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "integer", - "format": "int32" + "schema": { + "$ref": "#/definitions/apiGetRoomScheduleRequest" + } } ], "tags": [ @@ -513,14 +394,17 @@ ] } }, - "/chat/rooms/{roomId}/leave": { + "/roomfinder/room/search": { "post": { - "operationId": "Campus_LeaveChatRoom", + "operationId": "Campus_SearchRooms", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" + "type": "array", + "items": { + "$ref": "#/definitions/apiRoom" + } } }, "default": { @@ -532,1836 +416,203 @@ }, "parameters": [ { - "name": "roomId", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/message": { - "put": { - "operationId": "Campus_SendChatMessage", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/rpcStatus" + "$ref": "#/definitions/apiSearchRoomsRequest" } } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } ], "tags": [ "Campus" ] } - }, - "/chat/rooms/{roomId}/message/{messageId}": { - "put": { - "operationId": "Campus_UpdateChatMessage", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "messageId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/messages/{pageId}": { - "post": { - "operationId": "Campus_GetChatMessages", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsg" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "pageId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/device/addGcmToken": { - "post": { - "operationId": "Campus_DeviceUploadGcmToken", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiTUMCabeStatus" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/device/register": { - "post": { - "operationId": "Campus_RegisterDevice", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiTUMCabeStatus" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/device/uploaded/{lrzId}": { - "get": { - "operationId": "Campus_GetUploadStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetUploadStatusReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "lrzId", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/device/verifyKey": { - "get": { - "operationId": "Campus_VerifyKey", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiTUMCabeStatus" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/dish/allDishes": { - "get": { - "operationId": "Campus_GetDishes", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "cafeteriaId", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "year", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "month", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "day", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/dish/rating/allTags": { - "get": { - "operationId": "Campus_GetAvailableDishTags", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagsOverview" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/dish/rating/get": { - "post": { - "operationId": "Campus_GetDishRatings", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiDishRatingReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiDishRatingRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/dish/rating/new": { - "post": { - "operationId": "Campus_NewDishRating", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "properties": {} - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiNewDishRatingRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/list": { - "get": { - "operationId": "Campus_GetEventList", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEventListReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "eventId", - "description": "optional parameter, will return all events if no id is specified", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/my": { - "post": { - "operationId": "Campus_GetPurchasedTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetPurchasedTicketsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/payment/stripe/ephemeralkey": { - "post": { - "operationId": "Campus_GetEphemeralKey", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEphemeralKeyReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/payment/stripe/purchase/multiple": { - "post": { - "operationId": "Campus_PurchaseTicketStripe", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiPurchaseTicketStripeReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/reserve/multiple": { - "post": { - "operationId": "Campus_ReserveMultipleTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiReserveMultipleTicketsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "ticketTypes", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "collectionFormat": "multi" - }, - { - "name": "amounts", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "collectionFormat": "multi" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/status/{eventId}": { - "get": { - "operationId": "Campus_GetTicketStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetTicketStatusReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "eventId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/type/{id}": { - "get": { - "operationId": "Campus_GetTicketType", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEventTicketTypeReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/{id}": { - "post": { - "operationId": "Campus_GetMyTicket", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiEventListMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/feedback": { - "post": { - "operationId": "Campus_SendFeedback", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiSendFeedbackImageReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "topic", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "email", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "emailId", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "message", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "imageCount", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "latitude", - "in": "query", - "required": false, - "type": "number", - "format": "double" - }, - { - "name": "longitude", - "in": "query", - "required": false, - "type": "number", - "format": "double" - }, - { - "name": "osVersion", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "appVersion", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/feedback/{id}/{imageNr}": { - "post": { - "operationId": "Campus_SendFeedbackImage", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiSendFeedbackImageReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "imageNr", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/kino/{lastId}": { - "get": { - "operationId": "Campus_GetKino", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetKinoReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "lastId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/locations/{location}": { - "get": { - "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", - "operationId": "Campus_GetLocations", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiGetLocationsReplyLocation" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "location", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/members/{lrzId}": { - "get": { - "operationId": "Campus_GetMembers", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetMembersReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "lrzId", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/news/sources": { - "get": { - "operationId": "Campus_GetNewsSources", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiNewsSource" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/news/top": { - "get": { - "operationId": "Campus_GetTopNews", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetTopNewsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/notifications": { - "get": { - "operationId": "Campus_GetNotification", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetNotificationsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "notificationId", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/notifications/confirm/{notificationId}": { - "get": { - "operationId": "Campus_GetNotificationConfirm", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetNotificationsConfirmReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "notificationId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/openingtimes/{language}": { - "get": { - "operationId": "Campus_GetOpeningTimes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetOpeningTimesReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "language", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/roomfinder/maps": { - "post": { - "operationId": "Campus_GetRoomMaps", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomMapsReplyMap" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomMapsRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/roomfinder/room/coordinates": { - "post": { - "operationId": "Campus_GetRoomCoordinates", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/roomfinder/room/scheduleById": { - "post": { - "operationId": "Campus_GetRoomSchedule", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomScheduleRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/roomfinder/room/search": { - "post": { - "operationId": "Campus_SearchRooms", - "responses": { - "200": { - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoom" - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiSearchRoomsRequest" - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/studyroom/list": { - "get": { - "operationId": "Campus_GetStudyRoomList", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetStudyRoomListReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/updatenote/{version}": { - "get": { - "operationId": "Campus_GetUpdateNote", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetUpdateNoteReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "version", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - } - }, - "definitions": { - "GetRoomMapsReplyMap": { - "type": "object", - "properties": { - "mapId": { - "type": "string", - "format": "int64" - }, - "description": { - "type": "string" - }, - "scale": { - "type": "string", - "format": "int64" - }, - "width": { - "type": "string", - "format": "int64" - }, - "height": { - "type": "string", - "format": "int64" - } - } - }, - "GetRoomScheduleReplyRoomScheduleEvent": { - "type": "object", - "properties": { - "start": { - "type": "string", - "format": "date-time" - }, - "end": { - "type": "string", - "format": "date-time" - }, - "title": { - "type": "string" - }, - "eventId": { - "type": "integer", - "format": "int32" - }, - "courseCode": { - "type": "string" - } - } - }, - "apiBuilding2GpsElement": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "latitude": { - "type": "string" - }, - "longitude": { - "type": "string" - } - } - }, - "apiCafeteria": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "address": { - "type": "string" - }, - "longitude": { - "type": "number", - "format": "double" - }, - "latitude": { - "type": "number", - "format": "double" - } - } - }, - "apiCafeteriaRatingReply": { - "type": "object", - "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiSingleRatingReply" - } - }, - "avg": { - "type": "number", - "format": "double" - }, - "std": { - "type": "number", - "format": "double" - }, - "min": { - "type": "integer", - "format": "int32" - }, - "max": { - "type": "integer", - "format": "int32" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagResult" - } - } - } - }, - "apiCafeteriaRatingRequest": { - "type": "object", - "properties": { - "cafeteriaId": { - "type": "string", - "title": "cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" - }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" - }, - "to": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" - }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" - } - } - }, - "apiChatMemberMsg": { - "type": "object", - "properties": { - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatMemberMsgElement" - } - } - } - }, - "apiChatMemberMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "lrzId": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "signature": { - "type": "string" - } - } - }, - "apiChatMessageModelMsg": { - "type": "object", - "properties": { - "messages": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - } - } - }, - "apiChatMessageModelMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "previous": { - "type": "integer", - "format": "int32" - }, - "room": { - "type": "integer", - "format": "int32" - }, - "text": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string" - }, - "memberId": { - "type": "integer", - "format": "int32" - }, - "sendingStatus": { - "type": "integer", - "format": "int32" - } - } - }, - "apiChatRoomsMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "semester": { - "type": "string" - }, - "title": { - "type": "string" - }, - "members": { - "type": "integer", - "format": "int32" - } - } - }, - "apiDishRatingReply": { - "type": "object", - "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiSingleRatingReply" - } - }, - "avg": { - "type": "number", - "format": "double" - }, - "std": { - "type": "number", - "format": "double" - }, - "min": { - "type": "integer", - "format": "int32" - }, - "max": { - "type": "integer", - "format": "int32" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagResult" - } - }, - "nameTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagResult" - } - } - } - }, - "apiDishRatingRequest": { + } + }, + "definitions": { + "GetRoomMapsReplyMap": { "type": "object", "properties": { - "cafeteriaId": { - "type": "string", - "title": "Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" - }, - "dish": { - "type": "string", - "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" - }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" - }, - "to": { + "mapId": { "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" - }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" - } - } - }, - "apiEventListMsgElement": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "event": { - "type": "integer", - "format": "int32" - }, - "news": { - "type": "integer", - "format": "int32" - }, - "kino": { - "type": "integer", - "format": "int32" - }, - "file": { - "type": "integer", - "format": "int32" - }, - "title": { - "type": "string" + "format": "int64" }, "description": { "type": "string" }, - "locality": { - "type": "string" - }, - "link": { - "type": "string" - }, - "start": { - "type": "string", - "format": "date-time" - }, - "end": { + "scale": { "type": "string", - "format": "date-time" - }, - "ticketGroup": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketMyMsgElement": { - "type": "object", - "properties": { - "ticketHistory": { - "type": "integer", - "format": "int32" - }, - "ticketType": { - "type": "integer", - "format": "int32" + "format": "int64" }, - "redemption": { + "width": { "type": "string", - "format": "date-time" - }, - "code": { - "type": "string" - }, - "event": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketPaymentMsg": { - "type": "object", - "properties": { - "stripePublishableKey": { - "type": "string" - }, - "terms": { - "type": "string" - }, - "minTickets": { - "type": "integer", - "format": "int32" - }, - "maxTickets": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketReserveMultipleMsgElement": { - "type": "object", - "properties": { - "ticketIds": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketTypeMsgElement": { - "type": "object", - "properties": { - "ticketType": { - "type": "integer", - "format": "int32" - }, - "event": { - "type": "integer", - "format": "int32" - }, - "ticketPayment": { - "type": "integer", - "format": "int32" - }, - "price": { - "type": "integer", - "format": "int32" - }, - "contingent": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string" - }, - "payment": { - "$ref": "#/definitions/apiEventTicketPaymentMsg" - }, - "sold": { - "type": "integer", - "format": "int32" - } - } - }, - "apiGetAreaFacilitiesByBuildingNrReply": { - "type": "object", - "properties": { - "areaFacilitiesByBuildingNr": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apiGetBuilding2GpsReply": { - "type": "object", - "properties": { - "building2Gps": { - "type": "array", - "items": { - "$ref": "#/definitions/apiBuilding2GpsElement" - } - } - } - }, - "apiGetCafeteriaReply": { - "type": "object", - "properties": { - "cafeteria": { - "type": "array", - "items": { - "$ref": "#/definitions/apiCafeteria" - } - } - } - }, - "apiGetChatRoomsReply": { - "type": "object", - "properties": { - "rooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatRoomsMsgElement" - } - } - } - }, - "apiGetDishesReply": { - "type": "object", - "properties": { - "dish": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "apiGetEphemeralKeyReply": { - "type": "object" - }, - "apiGetEventListReply": { - "type": "object", - "properties": { - "events": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventListMsgElement" - } - } - } - }, - "apiGetEventTicketTypeReply": { - "type": "object", - "properties": { - "eventTickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketTypeMsgElement" - } - } - } - }, - "apiGetKinoReply": { - "type": "object", - "properties": { - "kinos": { - "type": "array", - "items": { - "$ref": "#/definitions/apiKinoMsgElement" - } - } - } - }, - "apiGetListOfElevatorsReply": { - "type": "object", - "properties": { - "listOfElevators": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apiGetListOfToiletsReply": { - "type": "object", - "properties": { - "listOfToilets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apiGetLocationsReply": { - "type": "object", - "properties": { - "locations": { - "type": "array", - "items": { - "$ref": "#/definitions/apiGetLocationsReplyLocation" - } + "format": "int64" + }, + "height": { + "type": "string", + "format": "int64" } } }, - "apiGetLocationsReplyLocation": { + "GetRoomScheduleReplyRoomScheduleEvent": { "type": "object", "properties": { - "location": { - "type": "string" + "start": { + "type": "string", + "format": "date-time" }, - "name": { - "type": "string" + "end": { + "type": "string", + "format": "date-time" }, - "lon": { + "title": { "type": "string" }, - "lat": { - "type": "string" + "eventId": { + "type": "integer", + "format": "int32" }, - "radius": { + "courseCode": { "type": "string" } } }, - "apiGetMemberRoomsReply": { + "apiCafeteriaRating": { "type": "object", "properties": { - "chatRooms": { + "rating": { + "type": "integer", + "format": "int32" + }, + "cafeteriaName": { + "type": "string" + }, + "image": { + "type": "string", + "format": "byte" + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" + }, + "comment": { + "type": "string" + }, + "tagRating": { "type": "array", "items": { - "$ref": "#/definitions/apiChatRoomsMsgElement" + "$ref": "#/definitions/apiTagRatingOverview" } } } }, - "apiGetMembersReply": { + "apiCafeteriaRatingRequest": { "type": "object", "properties": { - "lrzId": { + "cafeteriaName": { "type": "string" }, - "name": { - "type": "string" + "from": { + "type": "string", + "format": "date-time" }, - "memberId": { + "to": { + "type": "string", + "format": "date-time" + }, + "limit": { "type": "integer", "format": "int32" } } }, - "apiGetMoreInformationReply": { + "apiCafeteriaRatingResponse": { "type": "object", "properties": { - "information": { + "rating": { "type": "array", "items": { - "$ref": "#/definitions/apiMoreInformationElement" + "$ref": "#/definitions/apiCafeteriaRating" } - } - } - }, - "apiGetNotificationsConfirmReply": { - "type": "object", - "properties": { - "status": { - "type": "string" - } - } - }, - "apiGetNotificationsReply": { - "type": "object", - "properties": { - "notificationId": { + }, + "averageRating": { + "type": "number", + "format": "double" + }, + "minRating": { "type": "integer", "format": "int32" }, - "type": { + "maxRating": { "type": "integer", "format": "int32" }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "signature": { - "type": "string" + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } } } }, - "apiGetOpeningTimesReply": { + "apiGetCafeteriaResponse": { "type": "object", "properties": { - "facilities": { - "type": "array", - "items": { - "$ref": "#/definitions/apiOpeningTimesMsgElement" - } + "name": { + "type": "string" + }, + "adress": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { + "type": "number", + "format": "double" } } }, - "apiGetPurchasedTicketsReply": { + "apiGetLocationsReply": { "type": "object", "properties": { - "myTickets": { + "locations": { "type": "array", "items": { - "$ref": "#/definitions/apiEventTicketMyMsgElement" + "$ref": "#/definitions/apiGetLocationsReplyLocation" } } } }, - "apiGetRatingTagsReply": { + "apiGetLocationsReplyLocation": { "type": "object", "properties": { - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagsOverview" - } + "location": { + "type": "string" + }, + "name": { + "type": "string" + }, + "lon": { + "type": "string" + }, + "lat": { + "type": "string" + }, + "radius": { + "type": "string" } } }, - "apiGetResponsiblePersonReply": { + "apiGetRatingTagsReply": { "type": "object", "properties": { - "responsiblePerson": { + "tags": { "type": "array", "items": { - "$ref": "#/definitions/apiResponsiblePersonElement" + "$ref": "#/definitions/apiTagRatingOverview" } } } @@ -2433,423 +684,210 @@ }, "end": { "type": "string", - "format": "date-time" - } - } - }, - "apiGetStudyRoomListReply": { - "type": "object", - "properties": { - "rooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiStudyRoomMsgElement" - } - } - } - }, - "apiGetTicketStatusReply": { - "type": "object", - "properties": { - "status": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTicketStatus" - } - } - } - }, - "apiGetTopNewsReply": { - "type": "object", - "properties": { - "imageUrl": { - "type": "string" - }, - "link": { - "type": "string" - }, - "created": { - "type": "string", - "format": "date-time" - }, - "from": { - "type": "string", - "format": "date-time" - }, - "to": { - "type": "string", - "format": "date-time" - } - } - }, - "apiGetUpdateNoteReply": { - "type": "object", - "properties": { - "message": { - "type": "string" - } - } - }, - "apiGetUploadStatusReply": { - "type": "object", - "properties": { - "fcmToken": { - "type": "string" - }, - "publicKey": { - "type": "string" - }, - "studentId": { - "type": "boolean" - }, - "employeeId": { - "type": "boolean" - }, - "externalId": { - "type": "boolean" - } - } - }, - "apiKinoMsgElement": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "kino": { - "type": "integer", - "format": "int32" - }, - "date": { - "type": "string", - "format": "date-time" - }, - "created": { - "type": "string", - "format": "date-time" - }, - "title": { - "type": "string" - }, - "year": { - "type": "string" - }, - "runtime": { - "type": "string" - }, - "genre": { - "type": "string" - }, - "director": { - "type": "string" - }, - "actors": { - "type": "string" - }, - "rating": { - "type": "string" - }, - "description": { - "type": "string" - }, - "cover": { - "type": "integer", - "format": "int32" - }, - "trailer": { - "type": "string" - }, - "link": { - "type": "string" - } - } - }, - "apiMoreInformationElement": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "category": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "apiNewCafeteriaRatingRequest": { - "type": "object", - "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaId": { - "type": "string" - }, - "image": { - "type": "string", - "format": "byte" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTag" - }, - "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" + "format": "date-time" } } }, - "apiNewDishRatingRequest": { + "apiGetTopNewsReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" + "imageUrl": { + "type": "string" }, - "cafeteriaId": { - "type": "string", - "title": "Mandatory Name of the dish (EAT-API naming scheme \"MENSA_GARCHING\") Must be available int the given mensa" + "link": { + "type": "string" }, - "dish": { + "created": { "type": "string", - "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" + "format": "date-time" }, - "image": { + "from": { "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTag" - }, - "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags" + "format": "date-time" }, - "comment": { + "to": { "type": "string", - "title": "Optional comment (max 256 chars)" + "format": "date-time" } } }, - "apiNewsSource": { + "apiMealRating": { "type": "object", "properties": { - "source": { + "rating": { + "type": "integer", + "format": "int32" + }, + "cafeteriaName": { "type": "string" }, - "title": { + "meal": { "type": "string" }, - "icon": { + "image": { + "type": "string", + "format": "byte" + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" + }, + "comment": { "type": "string" - } - } - }, - "apiNewsSourceArray": { - "type": "object", - "properties": { - "sources": { + }, + "tagRating": { "type": "array", "items": { - "$ref": "#/definitions/apiNewsSource" + "$ref": "#/definitions/apiTagRatingOverview" } } } }, - "apiOpeningTimesMsgElement": { + "apiMealRatingsRequest": { "type": "object", "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "category": { - "type": "string" - }, - "name": { - "type": "string" - }, - "address": { - "type": "string" - }, - "room": { - "type": "string" - }, - "transportStation": { + "cafeteriaName": { "type": "string" }, - "openingHours": { + "meal": { "type": "string" }, - "infos": { - "type": "string" - }, - "url": { - "type": "string" + "from": { + "type": "string", + "format": "date-time" }, - "language": { - "type": "string" + "to": { + "type": "string", + "format": "date-time" }, - "referenceId": { + "limit": { "type": "integer", "format": "int32" } } }, - "apiPurchaseTicketStripeReply": { + "apiMealRatingsResponse": { "type": "object", "properties": { - "tickets": { + "rating": { "type": "array", "items": { - "$ref": "#/definitions/apiTicketMessageElement" + "$ref": "#/definitions/apiMealRating" } - } - } - }, - "apiRatingTag": { - "type": "object", - "properties": { - "tagId": { - "type": "integer", - "format": "int32" }, - "points": { + "averageRating": { "type": "number", "format": "double" - } - } - }, - "apiRatingTagNewRequest": { - "type": "object", - "properties": { - "tagId": { + }, + "minRating": { "type": "integer", "format": "int32" }, - "points": { + "maxRating": { "type": "integer", "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } + }, + "nameTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRatingsResult" + } } } }, - "apiRatingTagResult": { + "apiNewCafeteriaRatingRequest": { "type": "object", "properties": { - "tagId": { + "rating": { "type": "integer", "format": "int32" }, - "avg": { - "type": "number", - "format": "double" + "cafeteriaName": { + "type": "string" }, - "std": { - "type": "number", - "format": "double" + "image": { + "type": "string", + "format": "byte" }, - "min": { - "type": "integer", - "format": "int32" + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTagRating" + } }, - "max": { - "type": "integer", - "format": "int32" + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" + }, + "comment": { + "type": "string" } } }, - "apiRatingTagsOverview": { + "apiNewMealRatingRequest": { "type": "object", "properties": { - "tagId": { + "rating": { "type": "integer", "format": "int32" }, - "de": { + "cafeteriaName": { "type": "string" }, - "en": { + "meal": { "type": "string" - } - } - }, - "apiReserveMultipleTicketsReply": { - "type": "object", - "properties": { - "tickets": { + }, + "image": { + "type": "string", + "format": "byte" + }, + "tags": { "type": "array", "items": { - "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" + "$ref": "#/definitions/apiTagRating" } + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" + }, + "comment": { + "type": "string" } } }, - "apiResponsiblePersonElement": { + "apiNewsSource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "telephone": { - "type": "string" - }, - "email": { + "source": { "type": "string" }, - "faculty": { + "title": { "type": "string" }, - "tumID": { + "icon": { "type": "string" } } }, - "apiRoom": { + "apiNewsSourceArray": { "type": "object", "properties": { - "roomId": { - "type": "integer", - "format": "int32" - }, - "roomCode": { - "type": "string" - }, - "buildingNr": { - "type": "string" - }, - "archId": { - "type": "string" - }, - "info": { - "type": "string" - }, - "address": { - "type": "string" - }, - "purpose": { - "type": "string" - }, - "campus": { - "type": "string" - }, - "name": { - "type": "string" + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/apiNewsSource" + } } } }, - "apiRoomInformationElement": { + "apiRoom": { "type": "object", "properties": { "roomId": { @@ -2901,130 +939,51 @@ } } }, - "apiSendFeedbackImageReply": { - "type": "object", - "properties": { - "status": { - "type": "string" - } - } - }, - "apiSingleRatingReply": { - "type": "object", - "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" - }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRatingTagNewRequest" - } - }, - "visited": { - "type": "string", - "format": "date-time" - } - } - }, - "apiStudyRoom": { + "apiTagRating": { "type": "object", "properties": { - "groupId": { - "type": "integer", - "format": "int32" - }, - "roomId": { - "type": "integer", - "format": "int32" - }, - "roomCode": { + "tag": { "type": "string" }, - "roomName": { - "type": "string" - }, - "buildingName": { - "type": "string" + "rating": { + "type": "number", + "format": "double" } } }, - "apiStudyRoomMsgElement": { + "apiTagRatingOverview": { "type": "object", "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "name": { + "nameDE": { "type": "string" }, - "details": { + "nameEN": { "type": "string" }, - "rooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiStudyRoom" - } + "rating": { + "type": "number", + "format": "double" } } }, - "apiTUMCabeStatus": { + "apiTagRatingsResult": { "type": "object", "properties": { - "status": { + "nameDE": { "type": "string" - } - } - }, - "apiTicketMessageElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "eventId": { - "type": "integer", - "format": "int32" }, - "code": { + "nameEN": { "type": "string" }, - "ticketTypeId": { - "type": "integer", - "format": "int32" - }, - "redemption": { - "type": "string", - "format": "date-time" - } - } - }, - "apiTicketStatus": { - "type": "object", - "properties": { - "ticketType": { - "type": "integer", - "format": "int32" + "averageRating": { + "type": "number", + "format": "double" }, - "contingent": { + "minRating": { "type": "integer", "format": "int32" }, - "sold": { + "maxRating": { "type": "integer", "format": "int32" } From 3f4a00c1d32a31e815ec35d3b9440e593d9f210f Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Thu, 14 Jul 2022 11:19:19 +0200 Subject: [PATCH 17/24] fixed merge error in proto file --- api/CampusService.proto | 115 +++++++++++++++++++++++++++------------- 1 file changed, 77 insertions(+), 38 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 966a79ea..601743b7 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -66,6 +66,7 @@ service Campus { } + // This endpoint retrieves Cafeteria Ratings from the Backend. rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingResponse) { option (google.api.http) = { post: "/cafeteriaRating/cafeteria/get" @@ -74,7 +75,7 @@ service Campus { } - rpc GetMealRatings (MealRatingsRequest) returns (MealRatingsResponse) { + rpc GetMealRatings (MealRatingRequest) returns (MealRatingResponse) { option (google.api.http) = { post: "/cafeteriaRating/dish/get" body: "*", @@ -213,112 +214,150 @@ message GetTopNewsReply { } + message CafeteriaRatingRequest { + // cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme) string cafeteriaName = 1; + // Optional Parameter to define an interval for the ratings (Lower bound) google.protobuf.Timestamp from = 2; + // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 3; + // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request int32 limit = 4; } -message MealRatingsRequest { +message MealRatingRequest { + // Mandatory Name of the cafeteria (EAT-API naming scheme) string cafeteriaName = 1; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string meal = 2; + // Optional Parameter to define an interval for the ratings (Lower bound) google.protobuf.Timestamp from = 3; + // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 4; + // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request int32 limit = 5; } message CafeteriaRatingResponse { repeated CafeteriaRating rating = 1; - double averageRating = 2; - int32 minRating = 3; - int32 maxRating = 4; - repeated TagRatingsResult ratingTags = 5; + double averagePoints = 2; + double standardDeviation = 3; + int32 minPoints = 4; + int32 maxPoints = 5; + repeated TagRatingsResult ratingTags = 6; } -message MealRatingsResponse { +message MealRatingResponse { repeated MealRating rating = 1; - double averageRating = 2; - int32 minRating = 3; - int32 maxRating = 4; - repeated TagRatingsResult ratingTags = 5; - repeated TagRatingsResult nameTags = 6; + double averagePoints = 2; + double standardDeviation = 3; + int32 minPoints = 4; + int32 maxPoints = 5; + repeated TagRatingsResult ratingTags = 6; + repeated TagRatingsResult nameTags = 7; } message CafeteriaRating{ - int32 rating = 1; + // number in the range 1-5 + int32 points = 1; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string cafeteriaName = 2; + // Optional JPEG image in Base64 bytes image = 3; - google.protobuf.Timestamp cafeteriaVisitedAt = 4; - string comment = 5; - repeated TagRatingOverview tagRating = 6; + // Optional comment (max 256 chars) + string comment = 4; + repeated TagRatingResult tagRating = 5; + google.protobuf.Timestamp cafeteriaVisitedAt = 6; } message MealRating{ - int32 rating = 1; + // number in the range 1-5 + int32 points = 1; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string cafeteriaName = 2; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string meal = 3; + // Optional JPEG image in Base64 bytes image = 4; - google.protobuf.Timestamp cafeteriaVisitedAt = 5; - string comment = 6; - repeated TagRatingOverview tagRating = 7; + // Optional comment (max 256 chars) + string comment = 5; + repeated TagRatingResult tagRating = 6; + google.protobuf.Timestamp cafeteriaVisitedAt = 7; } message NewCafeteriaRatingRequest{ - int32 rating = 1; + // number in the range 1-5 + int32 points = 1; string cafeteriaName = 2; bytes image = 3; + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags repeated TagRating tags = 4; - google.protobuf.Timestamp cafeteriaVisitedAt = 5; + // Optional comment (max 256 chars) string comment = 6; } message NewMealRatingRequest{ - int32 rating = 1; + // number in the range 1-5 + int32 points = 1; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string cafeteriaName = 2; + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa string meal = 3; + // Optional JPEG image in Base64 bytes image = 4; + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags repeated TagRating tags = 5; - google.protobuf.Timestamp cafeteriaVisitedAt = 6; + // Optional comment (max 256 chars) string comment = 7; } message GetRatingTagsReply{ - repeated TagRatingOverview tags=1; + repeated TagRatingOverview tags = 1; } + message TagRatingOverview { - string nameDE = 1; - string nameEN = 2; - double rating = 3; + string DE = 1; + string EN = 2; +} + +message TagRatingResult { + string DE = 1; + string EN = 2; + int32 points = 3; } message TagRating { string tag = 1; - double rating = 2; + double points = 2; } message TagRatingsResult { - string nameDE = 1; - string nameEN = 2; - double averageRating = 3; - int32 minRating = 4; - int32 maxRating = 5; + string DE = 1; + string EN = 2; + double averagePoints = 3; + double standardDeviation = 4; + int32 minPoints = 5; + int32 maxPoints = 6; } message GetCafeteriaResponse{ - string name=1; - string adress=2; - double longitude=3; - double latitude=4; + repeated Cafeteria cafeteria = 1; +} +message Cafeteria{ + string name = 1; + string address = 2; + double longitude = 3; + double latitude = 4; } From 6fc2b55918203a13a4155528338ef2af3d2cbc23 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sun, 17 Jul 2022 21:15:54 +0200 Subject: [PATCH 18/24] added new stubs for barrier free endpoints --- api/CampusService.pb.go | 2222 +++++++++++++----- api/CampusService.pb.gw.go | 420 ++++ api/CampusService.proto | 105 + api/CampusService_grpc.pb.go | 216 ++ api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 507 +++- server/swagger/swagger.json | 507 +++- 7 files changed, 3250 insertions(+), 729 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index 524d9179..fb9b0c8b 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -830,10 +830,14 @@ type CafeteriaRatingRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` - To *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` - Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` + // cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme) + CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Optional Parameter to define an interval for the ratings (Lower bound) + From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` + // Optional Parameter to define an interval for the ratings (Upper bound) + To *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` + // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *CafeteriaRatingRequest) Reset() { @@ -896,20 +900,25 @@ func (x *CafeteriaRatingRequest) GetLimit() int32 { return 0 } -type MealRatingsRequest struct { +type MealRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Meal string `protobuf:"bytes,2,opt,name=meal,proto3" json:"meal,omitempty"` - From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` - To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` - Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` + // Mandatory Name of the cafeteria (EAT-API naming scheme) + CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + Meal string `protobuf:"bytes,2,opt,name=meal,proto3" json:"meal,omitempty"` + // Optional Parameter to define an interval for the ratings (Lower bound) + From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` + // Optional Parameter to define an interval for the ratings (Upper bound) + To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` + // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` } -func (x *MealRatingsRequest) Reset() { - *x = MealRatingsRequest{} +func (x *MealRatingRequest) Reset() { + *x = MealRatingRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -917,13 +926,13 @@ func (x *MealRatingsRequest) Reset() { } } -func (x *MealRatingsRequest) String() string { +func (x *MealRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MealRatingsRequest) ProtoMessage() {} +func (*MealRatingRequest) ProtoMessage() {} -func (x *MealRatingsRequest) ProtoReflect() protoreflect.Message { +func (x *MealRatingRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -935,40 +944,40 @@ func (x *MealRatingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MealRatingsRequest.ProtoReflect.Descriptor instead. -func (*MealRatingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use MealRatingRequest.ProtoReflect.Descriptor instead. +func (*MealRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{15} } -func (x *MealRatingsRequest) GetCafeteriaName() string { +func (x *MealRatingRequest) GetCafeteriaName() string { if x != nil { return x.CafeteriaName } return "" } -func (x *MealRatingsRequest) GetMeal() string { +func (x *MealRatingRequest) GetMeal() string { if x != nil { return x.Meal } return "" } -func (x *MealRatingsRequest) GetFrom() *timestamppb.Timestamp { +func (x *MealRatingRequest) GetFrom() *timestamppb.Timestamp { if x != nil { return x.From } return nil } -func (x *MealRatingsRequest) GetTo() *timestamppb.Timestamp { +func (x *MealRatingRequest) GetTo() *timestamppb.Timestamp { if x != nil { return x.To } return nil } -func (x *MealRatingsRequest) GetLimit() int32 { +func (x *MealRatingRequest) GetLimit() int32 { if x != nil { return x.Limit } @@ -980,11 +989,12 @@ type CafeteriaRatingResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*CafeteriaRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - AverageRating float64 `protobuf:"fixed64,2,opt,name=averageRating,proto3" json:"averageRating,omitempty"` - MinRating int32 `protobuf:"varint,3,opt,name=minRating,proto3" json:"minRating,omitempty"` - MaxRating int32 `protobuf:"varint,4,opt,name=maxRating,proto3" json:"maxRating,omitempty"` - RatingTags []*TagRatingsResult `protobuf:"bytes,5,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + Rating []*CafeteriaRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + AveragePoints float64 `protobuf:"fixed64,2,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` + StandardDeviation float64 `protobuf:"fixed64,3,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` + MinPoints int32 `protobuf:"varint,4,opt,name=minPoints,proto3" json:"minPoints,omitempty"` + MaxPoints int32 `protobuf:"varint,5,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` + RatingTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` } func (x *CafeteriaRatingResponse) Reset() { @@ -1026,23 +1036,30 @@ func (x *CafeteriaRatingResponse) GetRating() []*CafeteriaRating { return nil } -func (x *CafeteriaRatingResponse) GetAverageRating() float64 { +func (x *CafeteriaRatingResponse) GetAveragePoints() float64 { if x != nil { - return x.AverageRating + return x.AveragePoints } return 0 } -func (x *CafeteriaRatingResponse) GetMinRating() int32 { +func (x *CafeteriaRatingResponse) GetStandardDeviation() float64 { if x != nil { - return x.MinRating + return x.StandardDeviation } return 0 } -func (x *CafeteriaRatingResponse) GetMaxRating() int32 { +func (x *CafeteriaRatingResponse) GetMinPoints() int32 { if x != nil { - return x.MaxRating + return x.MinPoints + } + return 0 +} + +func (x *CafeteriaRatingResponse) GetMaxPoints() int32 { + if x != nil { + return x.MaxPoints } return 0 } @@ -1054,21 +1071,22 @@ func (x *CafeteriaRatingResponse) GetRatingTags() []*TagRatingsResult { return nil } -type MealRatingsResponse struct { +type MealRatingResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*MealRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - AverageRating float64 `protobuf:"fixed64,2,opt,name=averageRating,proto3" json:"averageRating,omitempty"` - MinRating int32 `protobuf:"varint,3,opt,name=minRating,proto3" json:"minRating,omitempty"` - MaxRating int32 `protobuf:"varint,4,opt,name=maxRating,proto3" json:"maxRating,omitempty"` - RatingTags []*TagRatingsResult `protobuf:"bytes,5,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` - NameTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=nameTags,proto3" json:"nameTags,omitempty"` + Rating []*MealRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + AveragePoints float64 `protobuf:"fixed64,2,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` + StandardDeviation float64 `protobuf:"fixed64,3,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` + MinPoints int32 `protobuf:"varint,4,opt,name=minPoints,proto3" json:"minPoints,omitempty"` + MaxPoints int32 `protobuf:"varint,5,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` + RatingTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + NameTags []*TagRatingsResult `protobuf:"bytes,7,rep,name=nameTags,proto3" json:"nameTags,omitempty"` } -func (x *MealRatingsResponse) Reset() { - *x = MealRatingsResponse{} +func (x *MealRatingResponse) Reset() { + *x = MealRatingResponse{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1076,13 +1094,13 @@ func (x *MealRatingsResponse) Reset() { } } -func (x *MealRatingsResponse) String() string { +func (x *MealRatingResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MealRatingsResponse) ProtoMessage() {} +func (*MealRatingResponse) ProtoMessage() {} -func (x *MealRatingsResponse) ProtoReflect() protoreflect.Message { +func (x *MealRatingResponse) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1094,47 +1112,54 @@ func (x *MealRatingsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MealRatingsResponse.ProtoReflect.Descriptor instead. -func (*MealRatingsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use MealRatingResponse.ProtoReflect.Descriptor instead. +func (*MealRatingResponse) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{17} } -func (x *MealRatingsResponse) GetRating() []*MealRating { +func (x *MealRatingResponse) GetRating() []*MealRating { if x != nil { return x.Rating } return nil } -func (x *MealRatingsResponse) GetAverageRating() float64 { +func (x *MealRatingResponse) GetAveragePoints() float64 { + if x != nil { + return x.AveragePoints + } + return 0 +} + +func (x *MealRatingResponse) GetStandardDeviation() float64 { if x != nil { - return x.AverageRating + return x.StandardDeviation } return 0 } -func (x *MealRatingsResponse) GetMinRating() int32 { +func (x *MealRatingResponse) GetMinPoints() int32 { if x != nil { - return x.MinRating + return x.MinPoints } return 0 } -func (x *MealRatingsResponse) GetMaxRating() int32 { +func (x *MealRatingResponse) GetMaxPoints() int32 { if x != nil { - return x.MaxRating + return x.MaxPoints } return 0 } -func (x *MealRatingsResponse) GetRatingTags() []*TagRatingsResult { +func (x *MealRatingResponse) GetRatingTags() []*TagRatingsResult { if x != nil { return x.RatingTags } return nil } -func (x *MealRatingsResponse) GetNameTags() []*TagRatingsResult { +func (x *MealRatingResponse) GetNameTags() []*TagRatingsResult { if x != nil { return x.NameTags } @@ -1146,12 +1171,16 @@ type CafeteriaRating struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` - Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` - TagRating []*TagRatingOverview `protobuf:"bytes,6,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + // number in the range 1-5 + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Optional JPEG image in Base64 + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + // Optional comment (max 256 chars) + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + TagRating []*TagRatingResult `protobuf:"bytes,5,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` } func (x *CafeteriaRating) Reset() { @@ -1186,9 +1215,9 @@ func (*CafeteriaRating) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{18} } -func (x *CafeteriaRating) GetRating() int32 { +func (x *CafeteriaRating) GetPoints() int32 { if x != nil { - return x.Rating + return x.Points } return 0 } @@ -1207,13 +1236,6 @@ func (x *CafeteriaRating) GetImage() []byte { return nil } -func (x *CafeteriaRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { - if x != nil { - return x.CafeteriaVisitedAt - } - return nil -} - func (x *CafeteriaRating) GetComment() string { if x != nil { return x.Comment @@ -1221,25 +1243,37 @@ func (x *CafeteriaRating) GetComment() string { return "" } -func (x *CafeteriaRating) GetTagRating() []*TagRatingOverview { +func (x *CafeteriaRating) GetTagRating() []*TagRatingResult { if x != nil { return x.TagRating } return nil } +func (x *CafeteriaRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { + if x != nil { + return x.CafeteriaVisitedAt + } + return nil +} + type MealRating struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` - Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` - Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` - TagRating []*TagRatingOverview `protobuf:"bytes,7,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + // number in the range 1-5 + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` + // Optional JPEG image in Base64 + Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` + // Optional comment (max 256 chars) + Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` + TagRating []*TagRatingResult `protobuf:"bytes,6,rep,name=tagRating,proto3" json:"tagRating,omitempty"` + CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` } func (x *MealRating) Reset() { @@ -1274,9 +1308,9 @@ func (*MealRating) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{19} } -func (x *MealRating) GetRating() int32 { +func (x *MealRating) GetPoints() int32 { if x != nil { - return x.Rating + return x.Points } return 0 } @@ -1302,13 +1336,6 @@ func (x *MealRating) GetImage() []byte { return nil } -func (x *MealRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { - if x != nil { - return x.CafeteriaVisitedAt - } - return nil -} - func (x *MealRating) GetComment() string { if x != nil { return x.Comment @@ -1316,24 +1343,33 @@ func (x *MealRating) GetComment() string { return "" } -func (x *MealRating) GetTagRating() []*TagRatingOverview { +func (x *MealRating) GetTagRating() []*TagRatingResult { if x != nil { return x.TagRating } return nil } +func (x *MealRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { + if x != nil { + return x.CafeteriaVisitedAt + } + return nil +} + type NewCafeteriaRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` - Tags []*TagRating `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` - Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` + // number in the range 1-5 + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags + Tags []*TagRating `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` + // Optional comment (max 256 chars) + Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` } func (x *NewCafeteriaRatingRequest) Reset() { @@ -1368,9 +1404,9 @@ func (*NewCafeteriaRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{20} } -func (x *NewCafeteriaRatingRequest) GetRating() int32 { +func (x *NewCafeteriaRatingRequest) GetPoints() int32 { if x != nil { - return x.Rating + return x.Points } return 0 } @@ -1396,13 +1432,6 @@ func (x *NewCafeteriaRatingRequest) GetTags() []*TagRating { return nil } -func (x *NewCafeteriaRatingRequest) GetCafeteriaVisitedAt() *timestamppb.Timestamp { - if x != nil { - return x.CafeteriaVisitedAt - } - return nil -} - func (x *NewCafeteriaRatingRequest) GetComment() string { if x != nil { return x.Comment @@ -1415,13 +1444,18 @@ type NewMealRatingRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating int32 `protobuf:"varint,1,opt,name=rating,proto3" json:"rating,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` - Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - Tags []*TagRating `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` - Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` + // number in the range 1-5 + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa + Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` + // Optional JPEG image in Base64 + Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags + Tags []*TagRating `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` + // Optional comment (max 256 chars) + Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` } func (x *NewMealRatingRequest) Reset() { @@ -1456,9 +1490,9 @@ func (*NewMealRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{21} } -func (x *NewMealRatingRequest) GetRating() int32 { +func (x *NewMealRatingRequest) GetPoints() int32 { if x != nil { - return x.Rating + return x.Points } return 0 } @@ -1491,13 +1525,6 @@ func (x *NewMealRatingRequest) GetTags() []*TagRating { return nil } -func (x *NewMealRatingRequest) GetCafeteriaVisitedAt() *timestamppb.Timestamp { - if x != nil { - return x.CafeteriaVisitedAt - } - return nil -} - func (x *NewMealRatingRequest) GetComment() string { if x != nil { return x.Comment @@ -1557,9 +1584,8 @@ type TagRatingOverview struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NameDE string `protobuf:"bytes,1,opt,name=nameDE,proto3" json:"nameDE,omitempty"` - NameEN string `protobuf:"bytes,2,opt,name=nameEN,proto3" json:"nameEN,omitempty"` - Rating float64 `protobuf:"fixed64,3,opt,name=rating,proto3" json:"rating,omitempty"` + DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` + EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` } func (x *TagRatingOverview) Reset() { @@ -1586,61 +1612,864 @@ func (x *TagRatingOverview) ProtoReflect() protoreflect.Message { } return ms } - return mi.MessageOf(x) + return mi.MessageOf(x) +} + +// Deprecated: Use TagRatingOverview.ProtoReflect.Descriptor instead. +func (*TagRatingOverview) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{23} +} + +func (x *TagRatingOverview) GetDE() string { + if x != nil { + return x.DE + } + return "" +} + +func (x *TagRatingOverview) GetEN() string { + if x != nil { + return x.EN + } + return "" +} + +type TagRatingResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` + EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` + Points int32 `protobuf:"varint,3,opt,name=points,proto3" json:"points,omitempty"` +} + +func (x *TagRatingResult) Reset() { + *x = TagRatingResult{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TagRatingResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TagRatingResult) ProtoMessage() {} + +func (x *TagRatingResult) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TagRatingResult.ProtoReflect.Descriptor instead. +func (*TagRatingResult) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{24} +} + +func (x *TagRatingResult) GetDE() string { + if x != nil { + return x.DE + } + return "" +} + +func (x *TagRatingResult) GetEN() string { + if x != nil { + return x.EN + } + return "" +} + +func (x *TagRatingResult) GetPoints() int32 { + if x != nil { + return x.Points + } + return 0 +} + +type TagRating struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + Points float64 `protobuf:"fixed64,2,opt,name=points,proto3" json:"points,omitempty"` +} + +func (x *TagRating) Reset() { + *x = TagRating{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TagRating) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TagRating) ProtoMessage() {} + +func (x *TagRating) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TagRating.ProtoReflect.Descriptor instead. +func (*TagRating) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{25} +} + +func (x *TagRating) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *TagRating) GetPoints() float64 { + if x != nil { + return x.Points + } + return 0 +} + +type TagRatingsResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` + EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` + AveragePoints float64 `protobuf:"fixed64,3,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` + StandardDeviation float64 `protobuf:"fixed64,4,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` + MinPoints int32 `protobuf:"varint,5,opt,name=minPoints,proto3" json:"minPoints,omitempty"` + MaxPoints int32 `protobuf:"varint,6,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` +} + +func (x *TagRatingsResult) Reset() { + *x = TagRatingsResult{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TagRatingsResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TagRatingsResult) ProtoMessage() {} + +func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TagRatingsResult.ProtoReflect.Descriptor instead. +func (*TagRatingsResult) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{26} +} + +func (x *TagRatingsResult) GetDE() string { + if x != nil { + return x.DE + } + return "" +} + +func (x *TagRatingsResult) GetEN() string { + if x != nil { + return x.EN + } + return "" +} + +func (x *TagRatingsResult) GetAveragePoints() float64 { + if x != nil { + return x.AveragePoints + } + return 0 +} + +func (x *TagRatingsResult) GetStandardDeviation() float64 { + if x != nil { + return x.StandardDeviation + } + return 0 +} + +func (x *TagRatingsResult) GetMinPoints() int32 { + if x != nil { + return x.MinPoints + } + return 0 +} + +func (x *TagRatingsResult) GetMaxPoints() int32 { + if x != nil { + return x.MaxPoints + } + return 0 +} + +type GetCafeteriaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cafeteria []*Cafeteria `protobuf:"bytes,1,rep,name=cafeteria,proto3" json:"cafeteria,omitempty"` +} + +func (x *GetCafeteriaResponse) Reset() { + *x = GetCafeteriaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCafeteriaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCafeteriaResponse) ProtoMessage() {} + +func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCafeteriaResponse.ProtoReflect.Descriptor instead. +func (*GetCafeteriaResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{27} +} + +func (x *GetCafeteriaResponse) GetCafeteria() []*Cafeteria { + if x != nil { + return x.Cafeteria + } + return nil +} + +type Cafeteria struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + Longitude float64 `protobuf:"fixed64,3,opt,name=longitude,proto3" json:"longitude,omitempty"` + Latitude float64 `protobuf:"fixed64,4,opt,name=latitude,proto3" json:"latitude,omitempty"` +} + +func (x *Cafeteria) Reset() { + *x = Cafeteria{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Cafeteria) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Cafeteria) ProtoMessage() {} + +func (x *Cafeteria) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Cafeteria.ProtoReflect.Descriptor instead. +func (*Cafeteria) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{28} +} + +func (x *Cafeteria) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Cafeteria) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *Cafeteria) GetLongitude() float64 { + if x != nil { + return x.Longitude + } + return 0 +} + +func (x *Cafeteria) GetLatitude() float64 { + if x != nil { + return x.Latitude + } + return 0 +} + +type GetResponsiblePersonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResponsiblePerson []*ResponsiblePersonElement `protobuf:"bytes,1,rep,name=responsiblePerson,proto3" json:"responsiblePerson,omitempty"` +} + +func (x *GetResponsiblePersonResponse) Reset() { + *x = GetResponsiblePersonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetResponsiblePersonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResponsiblePersonResponse) ProtoMessage() {} + +func (x *GetResponsiblePersonResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetResponsiblePersonResponse.ProtoReflect.Descriptor instead. +func (*GetResponsiblePersonResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{29} +} + +func (x *GetResponsiblePersonResponse) GetResponsiblePerson() []*ResponsiblePersonElement { + if x != nil { + return x.ResponsiblePerson + } + return nil +} + +type ResponsiblePersonElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Telephone string `protobuf:"bytes,2,opt,name=telephone,proto3" json:"telephone,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + Faculty string `protobuf:"bytes,4,opt,name=faculty,proto3" json:"faculty,omitempty"` + TumID string `protobuf:"bytes,5,opt,name=tumID,proto3" json:"tumID,omitempty"` +} + +func (x *ResponsiblePersonElement) Reset() { + *x = ResponsiblePersonElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponsiblePersonElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponsiblePersonElement) ProtoMessage() {} + +func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponsiblePersonElement.ProtoReflect.Descriptor instead. +func (*ResponsiblePersonElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{30} +} + +func (x *ResponsiblePersonElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResponsiblePersonElement) GetTelephone() string { + if x != nil { + return x.Telephone + } + return "" +} + +func (x *ResponsiblePersonElement) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *ResponsiblePersonElement) GetFaculty() string { + if x != nil { + return x.Faculty + } + return "" +} + +func (x *ResponsiblePersonElement) GetTumID() string { + if x != nil { + return x.TumID + } + return "" +} + +type GetBuilding2GpsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Building2Gps []*Building2GpsElement `protobuf:"bytes,1,rep,name=building2Gps,proto3" json:"building2Gps,omitempty"` +} + +func (x *GetBuilding2GpsResponse) Reset() { + *x = GetBuilding2GpsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBuilding2GpsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBuilding2GpsResponse) ProtoMessage() {} + +func (x *GetBuilding2GpsResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBuilding2GpsResponse.ProtoReflect.Descriptor instead. +func (*GetBuilding2GpsResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{31} +} + +func (x *GetBuilding2GpsResponse) GetBuilding2Gps() []*Building2GpsElement { + if x != nil { + return x.Building2Gps + } + return nil +} + +type Building2GpsElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Latitude string `protobuf:"bytes,2,opt,name=latitude,proto3" json:"latitude,omitempty"` + Longitude string `protobuf:"bytes,3,opt,name=longitude,proto3" json:"longitude,omitempty"` +} + +func (x *Building2GpsElement) Reset() { + *x = Building2GpsElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Building2GpsElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Building2GpsElement) ProtoMessage() {} + +func (x *Building2GpsElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Building2GpsElement.ProtoReflect.Descriptor instead. +func (*Building2GpsElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{32} +} + +func (x *Building2GpsElement) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Building2GpsElement) GetLatitude() string { + if x != nil { + return x.Latitude + } + return "" +} + +func (x *Building2GpsElement) GetLongitude() string { + if x != nil { + return x.Longitude + } + return "" +} + +type GetAreaFacilitiesByBuildingNrResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AreaFacilitiesByBuildingNr []*RoomInformationElement `protobuf:"bytes,1,rep,name=areaFacilitiesByBuildingNr,proto3" json:"areaFacilitiesByBuildingNr,omitempty"` +} + +func (x *GetAreaFacilitiesByBuildingNrResponse) Reset() { + *x = GetAreaFacilitiesByBuildingNrResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAreaFacilitiesByBuildingNrResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAreaFacilitiesByBuildingNrResponse) ProtoMessage() {} + +func (x *GetAreaFacilitiesByBuildingNrResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAreaFacilitiesByBuildingNrResponse.ProtoReflect.Descriptor instead. +func (*GetAreaFacilitiesByBuildingNrResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{33} +} + +func (x *GetAreaFacilitiesByBuildingNrResponse) GetAreaFacilitiesByBuildingNr() []*RoomInformationElement { + if x != nil { + return x.AreaFacilitiesByBuildingNr + } + return nil +} + +type GetAreaFacilitiesByBuildingNrRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildingNr string `protobuf:"bytes,1,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` +} + +func (x *GetAreaFacilitiesByBuildingNrRequest) Reset() { + *x = GetAreaFacilitiesByBuildingNrRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAreaFacilitiesByBuildingNrRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAreaFacilitiesByBuildingNrRequest) ProtoMessage() {} + +func (x *GetAreaFacilitiesByBuildingNrRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAreaFacilitiesByBuildingNrRequest.ProtoReflect.Descriptor instead. +func (*GetAreaFacilitiesByBuildingNrRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{34} +} + +func (x *GetAreaFacilitiesByBuildingNrRequest) GetBuildingNr() string { + if x != nil { + return x.BuildingNr + } + return "" +} + +type GetListOfToiletsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ListOfToilets []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfToilets,proto3" json:"listOfToilets,omitempty"` +} + +func (x *GetListOfToiletsResponse) Reset() { + *x = GetListOfToiletsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetListOfToiletsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetListOfToiletsResponse) ProtoMessage() {} + +func (x *GetListOfToiletsResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetListOfToiletsResponse.ProtoReflect.Descriptor instead. +func (*GetListOfToiletsResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{35} +} + +func (x *GetListOfToiletsResponse) GetListOfToilets() []*RoomInformationElement { + if x != nil { + return x.ListOfToilets + } + return nil +} + +type RoomInformationElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` + RoomCode string `protobuf:"bytes,2,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` + BuildingNr string `protobuf:"bytes,3,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` + ArchId string `protobuf:"bytes,4,opt,name=arch_id,json=archId,proto3" json:"arch_id,omitempty"` + Info string `protobuf:"bytes,5,opt,name=info,proto3" json:"info,omitempty"` + Address string `protobuf:"bytes,6,opt,name=address,proto3" json:"address,omitempty"` + Purpose string `protobuf:"bytes,7,opt,name=purpose,proto3" json:"purpose,omitempty"` + Campus string `protobuf:"bytes,8,opt,name=campus,proto3" json:"campus,omitempty"` + Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RoomInformationElement) Reset() { + *x = RoomInformationElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RoomInformationElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoomInformationElement) ProtoMessage() {} + +func (x *RoomInformationElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoomInformationElement.ProtoReflect.Descriptor instead. +func (*RoomInformationElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{36} +} + +func (x *RoomInformationElement) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *RoomInformationElement) GetRoomCode() string { + if x != nil { + return x.RoomCode + } + return "" +} + +func (x *RoomInformationElement) GetBuildingNr() string { + if x != nil { + return x.BuildingNr + } + return "" +} + +func (x *RoomInformationElement) GetArchId() string { + if x != nil { + return x.ArchId + } + return "" } -// Deprecated: Use TagRatingOverview.ProtoReflect.Descriptor instead. -func (*TagRatingOverview) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{23} +func (x *RoomInformationElement) GetInfo() string { + if x != nil { + return x.Info + } + return "" } -func (x *TagRatingOverview) GetNameDE() string { +func (x *RoomInformationElement) GetAddress() string { if x != nil { - return x.NameDE + return x.Address } return "" } -func (x *TagRatingOverview) GetNameEN() string { +func (x *RoomInformationElement) GetPurpose() string { if x != nil { - return x.NameEN + return x.Purpose } return "" } -func (x *TagRatingOverview) GetRating() float64 { +func (x *RoomInformationElement) GetCampus() string { if x != nil { - return x.Rating + return x.Campus } - return 0 + return "" } -type TagRating struct { +func (x *RoomInformationElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetListOfElevatorsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` - Rating float64 `protobuf:"fixed64,2,opt,name=rating,proto3" json:"rating,omitempty"` + ListOfElevators []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfElevators,proto3" json:"listOfElevators,omitempty"` } -func (x *TagRating) Reset() { - *x = TagRating{} +func (x *GetListOfElevatorsResponse) Reset() { + *x = GetListOfElevatorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[24] + mi := &file_CampusService_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRating) String() string { +func (x *GetListOfElevatorsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRating) ProtoMessage() {} +func (*GetListOfElevatorsResponse) ProtoMessage() {} -func (x *TagRating) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[24] +func (x *GetListOfElevatorsResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1651,54 +2480,43 @@ func (x *TagRating) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRating.ProtoReflect.Descriptor instead. -func (*TagRating) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{24} -} - -func (x *TagRating) GetTag() string { - if x != nil { - return x.Tag - } - return "" +// Deprecated: Use GetListOfElevatorsResponse.ProtoReflect.Descriptor instead. +func (*GetListOfElevatorsResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{37} } -func (x *TagRating) GetRating() float64 { +func (x *GetListOfElevatorsResponse) GetListOfElevators() []*RoomInformationElement { if x != nil { - return x.Rating + return x.ListOfElevators } - return 0 + return nil } -type TagRatingsResult struct { +type GetMoreInformationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NameDE string `protobuf:"bytes,1,opt,name=nameDE,proto3" json:"nameDE,omitempty"` - NameEN string `protobuf:"bytes,2,opt,name=nameEN,proto3" json:"nameEN,omitempty"` - AverageRating float64 `protobuf:"fixed64,3,opt,name=averageRating,proto3" json:"averageRating,omitempty"` - MinRating int32 `protobuf:"varint,4,opt,name=minRating,proto3" json:"minRating,omitempty"` - MaxRating int32 `protobuf:"varint,5,opt,name=maxRating,proto3" json:"maxRating,omitempty"` + Information []*MoreInformationElement `protobuf:"bytes,1,rep,name=information,proto3" json:"information,omitempty"` } -func (x *TagRatingsResult) Reset() { - *x = TagRatingsResult{} +func (x *GetMoreInformationResponse) Reset() { + *x = GetMoreInformationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[25] + mi := &file_CampusService_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRatingsResult) String() string { +func (x *GetMoreInformationResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRatingsResult) ProtoMessage() {} +func (*GetMoreInformationResponse) ProtoMessage() {} -func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[25] +func (x *GetMoreInformationResponse) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1709,74 +2527,45 @@ func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRatingsResult.ProtoReflect.Descriptor instead. -func (*TagRatingsResult) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{25} -} - -func (x *TagRatingsResult) GetNameDE() string { - if x != nil { - return x.NameDE - } - return "" -} - -func (x *TagRatingsResult) GetNameEN() string { - if x != nil { - return x.NameEN - } - return "" -} - -func (x *TagRatingsResult) GetAverageRating() float64 { - if x != nil { - return x.AverageRating - } - return 0 -} - -func (x *TagRatingsResult) GetMinRating() int32 { - if x != nil { - return x.MinRating - } - return 0 +// Deprecated: Use GetMoreInformationResponse.ProtoReflect.Descriptor instead. +func (*GetMoreInformationResponse) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{38} } -func (x *TagRatingsResult) GetMaxRating() int32 { +func (x *GetMoreInformationResponse) GetInformation() []*MoreInformationElement { if x != nil { - return x.MaxRating + return x.Information } - return 0 + return nil } -type GetCafeteriaResponse struct { +type MoreInformationElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Adress string `protobuf:"bytes,2,opt,name=adress,proto3" json:"adress,omitempty"` - Longitude float64 `protobuf:"fixed64,3,opt,name=longitude,proto3" json:"longitude,omitempty"` - Latitude float64 `protobuf:"fixed64,4,opt,name=latitude,proto3" json:"latitude,omitempty"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` + Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` } -func (x *GetCafeteriaResponse) Reset() { - *x = GetCafeteriaResponse{} +func (x *MoreInformationElement) Reset() { + *x = MoreInformationElement{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[26] + mi := &file_CampusService_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetCafeteriaResponse) String() string { +func (x *MoreInformationElement) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetCafeteriaResponse) ProtoMessage() {} +func (*MoreInformationElement) ProtoMessage() {} -func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[26] +func (x *MoreInformationElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1787,37 +2576,30 @@ func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetCafeteriaResponse.ProtoReflect.Descriptor instead. -func (*GetCafeteriaResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{26} +// Deprecated: Use MoreInformationElement.ProtoReflect.Descriptor instead. +func (*MoreInformationElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{39} } -func (x *GetCafeteriaResponse) GetName() string { +func (x *MoreInformationElement) GetTitle() string { if x != nil { - return x.Name + return x.Title } return "" } -func (x *GetCafeteriaResponse) GetAdress() string { +func (x *MoreInformationElement) GetCategory() string { if x != nil { - return x.Adress + return x.Category } return "" } -func (x *GetCafeteriaResponse) GetLongitude() float64 { - if x != nil { - return x.Longitude - } - return 0 -} - -func (x *GetCafeteriaResponse) GetLatitude() float64 { +func (x *MoreInformationElement) GetUrl() string { if x != nil { - return x.Latitude + return x.Url } - return 0 + return "" } type GetRoomScheduleReply_RoomScheduleEvent struct { @@ -1835,7 +2617,7 @@ type GetRoomScheduleReply_RoomScheduleEvent struct { func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { *x = GetRoomScheduleReply_RoomScheduleEvent{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[27] + mi := &file_CampusService_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1848,7 +2630,7 @@ func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[27] + mi := &file_CampusService_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1914,7 +2696,7 @@ type GetRoomMapsReply_Map struct { func (x *GetRoomMapsReply_Map) Reset() { *x = GetRoomMapsReply_Map{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[28] + mi := &file_CampusService_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1927,7 +2709,7 @@ func (x *GetRoomMapsReply_Map) String() string { func (*GetRoomMapsReply_Map) ProtoMessage() {} func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[28] + mi := &file_CampusService_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1993,7 +2775,7 @@ type GetLocationsReply_Location struct { func (x *GetLocationsReply_Location) Reset() { *x = GetLocationsReply_Location{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[29] + mi := &file_CampusService_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2006,7 +2788,7 @@ func (x *GetLocationsReply_Location) String() string { func (*GetLocationsReply_Location) ProtoMessage() {} func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[29] + mi := &file_CampusService_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2191,253 +2973,383 @@ var file_CampusService_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xc0, 0x01, 0x0a, 0x12, 0x4d, 0x65, - 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xbf, 0x01, 0x0a, 0x11, 0x4d, 0x65, + 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x17, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, + 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0xb7, 0x02, 0x0a, + 0x12, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, + 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, + 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, + 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x12, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xe0, 0x01, 0x0a, - 0x17, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, - 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, - 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, - 0x78, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, - 0x61, 0x78, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, - 0x8a, 0x02, 0x0a, 0x13, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, - 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x6e, 0x61, 0x6d, - 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0x81, 0x02, 0x0a, - 0x0f, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x74, 0x61, - 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, - 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x22, 0x90, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, - 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, + 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x61, 0x67, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, - 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x22, 0xf9, 0x01, 0x0a, 0x19, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, - 0x88, 0x02, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x12, 0x22, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, - 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x5b, 0x0a, 0x11, - 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, - 0x77, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x45, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x61, 0x6d, - 0x65, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x45, - 0x4e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x35, 0x0a, 0x09, 0x54, 0x61, 0x67, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x22, 0xa4, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x45, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x45, 0x12, 0x16, 0x0a, - 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, - 0x61, 0x6d, 0x65, 0x45, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, - 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, - 0x78, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x7c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, - 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, - 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, - 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, - 0x69, 0x74, 0x75, 0x64, 0x65, 0x32, 0xae, 0x0c, 0x0a, 0x06, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, - 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, - 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, - 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, - 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, - 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, - 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, - 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, - 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, - 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, - 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x69, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x69, - 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, 0x0a, 0x12, 0x4e, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, - 0x22, 0x2d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x6e, 0x65, 0x77, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, - 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, - 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x61, - 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x54, - 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, - 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x63, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, - 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, - 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, - 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, - 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x4e, 0x65, + 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, + 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, + 0x76, 0x69, 0x65, 0x77, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x33, 0x0a, 0x11, 0x54, 0x61, + 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, + 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x44, 0x45, 0x12, + 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x45, 0x4e, 0x22, + 0x49, 0x0a, 0x0f, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x44, 0x45, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x45, 0x4e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x35, 0x0a, 0x09, 0x54, 0x61, + 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x44, 0x45, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x45, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, + 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, + 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, + 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, + 0x0a, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x52, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0x73, 0x0a, 0x09, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x22, 0x6b, 0x0a, 0x1c, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x22, 0x92, + 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x75, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x75, + 0x6d, 0x49, 0x44, 0x22, 0x57, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, + 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x13, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x84, 0x01, + 0x0a, 0x25, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, + 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, + 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, + 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x47, 0x0a, 0x24, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, + 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x5d, 0x0a, + 0x18, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x6c, 0x69, 0x73, + 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x6c, + 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, + 0x16, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x17, + 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x1a, 0x67, + 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x69, 0x73, + 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x22, 0x5b, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, + 0x0a, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, + 0x16, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x32, 0xfb, 0x11, 0x0a, 0x06, + 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, + 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, + 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, + 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, + 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, + 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, + 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, + 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, + 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x67, 0x65, + 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, + 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, + 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x2f, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, + 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x28, 0x22, 0x23, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, + 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, + 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, + 0x61, 0x6c, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, + 0x12, 0x22, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, + 0x12, 0x28, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x70, 0x0a, 0x14, 0x67, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, + 0x72, 0x65, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6d, 0x0a, 0x0f, + 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, + 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, + 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x1d, + 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, + 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, + 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, + 0x12, 0x6d, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, + 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, + 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, + 0x73, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, + 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, + 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x73, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, + 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, + 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, + 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, + 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, + 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -2452,7 +3364,7 @@ func file_CampusService_proto_rawDescGZIP() []byte { return file_CampusService_proto_rawDescData } -var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 43) var file_CampusService_proto_goTypes = []interface{}{ (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply @@ -2469,88 +3381,118 @@ var file_CampusService_proto_goTypes = []interface{}{ (*NewsSource)(nil), // 12: api.NewsSource (*GetTopNewsReply)(nil), // 13: api.GetTopNewsReply (*CafeteriaRatingRequest)(nil), // 14: api.CafeteriaRatingRequest - (*MealRatingsRequest)(nil), // 15: api.MealRatingsRequest + (*MealRatingRequest)(nil), // 15: api.MealRatingRequest (*CafeteriaRatingResponse)(nil), // 16: api.CafeteriaRatingResponse - (*MealRatingsResponse)(nil), // 17: api.MealRatingsResponse + (*MealRatingResponse)(nil), // 17: api.MealRatingResponse (*CafeteriaRating)(nil), // 18: api.CafeteriaRating (*MealRating)(nil), // 19: api.MealRating (*NewCafeteriaRatingRequest)(nil), // 20: api.NewCafeteriaRatingRequest (*NewMealRatingRequest)(nil), // 21: api.NewMealRatingRequest (*GetRatingTagsReply)(nil), // 22: api.GetRatingTagsReply (*TagRatingOverview)(nil), // 23: api.TagRatingOverview - (*TagRating)(nil), // 24: api.TagRating - (*TagRatingsResult)(nil), // 25: api.TagRatingsResult - (*GetCafeteriaResponse)(nil), // 26: api.GetCafeteriaResponse - (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 27: api.GetRoomScheduleReply.RoomScheduleEvent - (*GetRoomMapsReply_Map)(nil), // 28: api.GetRoomMapsReply.Map - (*GetLocationsReply_Location)(nil), // 29: api.GetLocationsReply.Location - (*timestamppb.Timestamp)(nil), // 30: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 31: google.protobuf.Empty + (*TagRatingResult)(nil), // 24: api.TagRatingResult + (*TagRating)(nil), // 25: api.TagRating + (*TagRatingsResult)(nil), // 26: api.TagRatingsResult + (*GetCafeteriaResponse)(nil), // 27: api.GetCafeteriaResponse + (*Cafeteria)(nil), // 28: api.Cafeteria + (*GetResponsiblePersonResponse)(nil), // 29: api.getResponsiblePersonResponse + (*ResponsiblePersonElement)(nil), // 30: api.ResponsiblePersonElement + (*GetBuilding2GpsResponse)(nil), // 31: api.getBuilding2GpsResponse + (*Building2GpsElement)(nil), // 32: api.Building2GpsElement + (*GetAreaFacilitiesByBuildingNrResponse)(nil), // 33: api.getAreaFacilitiesByBuildingNrResponse + (*GetAreaFacilitiesByBuildingNrRequest)(nil), // 34: api.getAreaFacilitiesByBuildingNrRequest + (*GetListOfToiletsResponse)(nil), // 35: api.getListOfToiletsResponse + (*RoomInformationElement)(nil), // 36: api.RoomInformationElement + (*GetListOfElevatorsResponse)(nil), // 37: api.getListOfElevatorsResponse + (*GetMoreInformationResponse)(nil), // 38: api.getMoreInformationResponse + (*MoreInformationElement)(nil), // 39: api.MoreInformationElement + (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 40: api.GetRoomScheduleReply.RoomScheduleEvent + (*GetRoomMapsReply_Map)(nil), // 41: api.GetRoomMapsReply.Map + (*GetLocationsReply_Location)(nil), // 42: api.GetLocationsReply.Location + (*timestamppb.Timestamp)(nil), // 43: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 44: google.protobuf.Empty } var file_CampusService_proto_depIdxs = []int32{ - 30, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp - 30, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp - 27, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent - 28, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map - 29, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location + 43, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp + 43, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp + 40, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent + 41, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map + 42, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource - 30, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp - 30, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp - 30, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp - 30, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp - 30, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp - 30, // 12: api.MealRatingsRequest.from:type_name -> google.protobuf.Timestamp - 30, // 13: api.MealRatingsRequest.to:type_name -> google.protobuf.Timestamp + 43, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp + 43, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp + 43, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp + 43, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp + 43, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp + 43, // 12: api.MealRatingRequest.from:type_name -> google.protobuf.Timestamp + 43, // 13: api.MealRatingRequest.to:type_name -> google.protobuf.Timestamp 18, // 14: api.CafeteriaRatingResponse.rating:type_name -> api.CafeteriaRating - 25, // 15: api.CafeteriaRatingResponse.ratingTags:type_name -> api.TagRatingsResult - 19, // 16: api.MealRatingsResponse.rating:type_name -> api.MealRating - 25, // 17: api.MealRatingsResponse.ratingTags:type_name -> api.TagRatingsResult - 25, // 18: api.MealRatingsResponse.nameTags:type_name -> api.TagRatingsResult - 30, // 19: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 23, // 20: api.CafeteriaRating.tagRating:type_name -> api.TagRatingOverview - 30, // 21: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 23, // 22: api.MealRating.tagRating:type_name -> api.TagRatingOverview - 24, // 23: api.NewCafeteriaRatingRequest.tags:type_name -> api.TagRating - 30, // 24: api.NewCafeteriaRatingRequest.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 24, // 25: api.NewMealRatingRequest.tags:type_name -> api.TagRating - 30, // 26: api.NewMealRatingRequest.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 23, // 27: api.GetRatingTagsReply.tags:type_name -> api.TagRatingOverview - 30, // 28: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp - 30, // 29: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp - 31, // 30: api.Campus.GetTopNews:input_type -> google.protobuf.Empty - 31, // 31: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty - 8, // 32: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest - 6, // 33: api.Campus.GetLocations:input_type -> api.GetLocationsRequest - 4, // 34: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest - 2, // 35: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest - 0, // 36: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest - 14, // 37: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest - 15, // 38: api.Campus.GetMealRatings:input_type -> api.MealRatingsRequest - 20, // 39: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest - 21, // 40: api.Campus.NewMealRating:input_type -> api.NewMealRatingRequest - 31, // 41: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty - 31, // 42: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty - 31, // 43: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty - 13, // 44: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 45: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 46: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 47: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 48: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 49: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 50: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 51: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingResponse - 17, // 52: api.Campus.GetMealRatings:output_type -> api.MealRatingsResponse - 31, // 53: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 31, // 54: api.Campus.NewMealRating:output_type -> google.protobuf.Empty - 22, // 55: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply - 22, // 56: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 26, // 57: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaResponse - 44, // [44:58] is the sub-list for method output_type - 30, // [30:44] is the sub-list for method input_type - 30, // [30:30] is the sub-list for extension type_name - 30, // [30:30] is the sub-list for extension extendee - 0, // [0:30] is the sub-list for field type_name + 26, // 15: api.CafeteriaRatingResponse.ratingTags:type_name -> api.TagRatingsResult + 19, // 16: api.MealRatingResponse.rating:type_name -> api.MealRating + 26, // 17: api.MealRatingResponse.ratingTags:type_name -> api.TagRatingsResult + 26, // 18: api.MealRatingResponse.nameTags:type_name -> api.TagRatingsResult + 24, // 19: api.CafeteriaRating.tagRating:type_name -> api.TagRatingResult + 43, // 20: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 24, // 21: api.MealRating.tagRating:type_name -> api.TagRatingResult + 43, // 22: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp + 25, // 23: api.NewCafeteriaRatingRequest.tags:type_name -> api.TagRating + 25, // 24: api.NewMealRatingRequest.tags:type_name -> api.TagRating + 23, // 25: api.GetRatingTagsReply.tags:type_name -> api.TagRatingOverview + 28, // 26: api.GetCafeteriaResponse.cafeteria:type_name -> api.Cafeteria + 30, // 27: api.getResponsiblePersonResponse.responsiblePerson:type_name -> api.ResponsiblePersonElement + 32, // 28: api.getBuilding2GpsResponse.building2Gps:type_name -> api.Building2GpsElement + 36, // 29: api.getAreaFacilitiesByBuildingNrResponse.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement + 36, // 30: api.getListOfToiletsResponse.listOfToilets:type_name -> api.RoomInformationElement + 36, // 31: api.getListOfElevatorsResponse.listOfElevators:type_name -> api.RoomInformationElement + 39, // 32: api.getMoreInformationResponse.information:type_name -> api.MoreInformationElement + 43, // 33: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp + 43, // 34: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp + 44, // 35: api.Campus.GetTopNews:input_type -> google.protobuf.Empty + 44, // 36: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty + 8, // 37: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest + 6, // 38: api.Campus.GetLocations:input_type -> api.GetLocationsRequest + 4, // 39: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest + 2, // 40: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest + 0, // 41: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest + 14, // 42: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest + 15, // 43: api.Campus.GetMealRatings:input_type -> api.MealRatingRequest + 20, // 44: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest + 21, // 45: api.Campus.NewMealRating:input_type -> api.NewMealRatingRequest + 44, // 46: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty + 44, // 47: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty + 44, // 48: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty + 44, // 49: api.Campus.getResponsiblePerson:input_type -> google.protobuf.Empty + 44, // 50: api.Campus.getBuilding2Gps:input_type -> google.protobuf.Empty + 34, // 51: api.Campus.getAreaFacilitiesByBuildingNr:input_type -> api.getAreaFacilitiesByBuildingNrRequest + 44, // 52: api.Campus.getListOfToilets:input_type -> google.protobuf.Empty + 44, // 53: api.Campus.getListOfElevators:input_type -> google.protobuf.Empty + 44, // 54: api.Campus.getMoreInformation:input_type -> google.protobuf.Empty + 13, // 55: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 56: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 57: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 58: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 59: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 60: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 61: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 62: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingResponse + 17, // 63: api.Campus.GetMealRatings:output_type -> api.MealRatingResponse + 44, // 64: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 44, // 65: api.Campus.NewMealRating:output_type -> google.protobuf.Empty + 22, // 66: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply + 22, // 67: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 27, // 68: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaResponse + 29, // 69: api.Campus.getResponsiblePerson:output_type -> api.getResponsiblePersonResponse + 31, // 70: api.Campus.getBuilding2Gps:output_type -> api.getBuilding2GpsResponse + 33, // 71: api.Campus.getAreaFacilitiesByBuildingNr:output_type -> api.getAreaFacilitiesByBuildingNrResponse + 35, // 72: api.Campus.getListOfToilets:output_type -> api.getListOfToiletsResponse + 37, // 73: api.Campus.getListOfElevators:output_type -> api.getListOfElevatorsResponse + 38, // 74: api.Campus.getMoreInformation:output_type -> api.getMoreInformationResponse + 55, // [55:75] is the sub-list for method output_type + 35, // [35:55] is the sub-list for method input_type + 35, // [35:35] is the sub-list for extension type_name + 35, // [35:35] is the sub-list for extension extendee + 0, // [0:35] is the sub-list for field type_name } func init() { file_CampusService_proto_init() } @@ -2740,7 +3682,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRatingsRequest); i { + switch v := v.(*MealRatingRequest); i { case 0: return &v.state case 1: @@ -2764,7 +3706,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRatingsResponse); i { + switch v := v.(*MealRatingResponse); i { case 0: return &v.state case 1: @@ -2848,7 +3790,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRating); i { + switch v := v.(*TagRatingResult); i { case 0: return &v.state case 1: @@ -2860,7 +3802,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRatingsResult); i { + switch v := v.(*TagRating); i { case 0: return &v.state case 1: @@ -2872,7 +3814,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCafeteriaResponse); i { + switch v := v.(*TagRatingsResult); i { case 0: return &v.state case 1: @@ -2884,7 +3826,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { + switch v := v.(*GetCafeteriaResponse); i { case 0: return &v.state case 1: @@ -2896,7 +3838,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsReply_Map); i { + switch v := v.(*Cafeteria); i { case 0: return &v.state case 1: @@ -2908,6 +3850,162 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetResponsiblePersonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponsiblePersonElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBuilding2GpsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Building2GpsElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAreaFacilitiesByBuildingNrResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAreaFacilitiesByBuildingNrRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetListOfToiletsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RoomInformationElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetListOfElevatorsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMoreInformationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MoreInformationElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsReply_Map); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLocationsReply_Location); i { case 0: return &v.state @@ -2926,7 +4024,7 @@ func file_CampusService_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_CampusService_proto_rawDesc, NumEnums: 0, - NumMessages: 30, + NumMessages: 43, NumExtensions: 0, NumServices: 1, }, diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index c49a8ac5..97930bf3 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -446,6 +446,132 @@ func local_request_Campus_GetCafeterias_0(ctx context.Context, marshaler runtime } +func request_Campus_GetResponsiblePerson_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetResponsiblePerson(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetResponsiblePerson_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetResponsiblePerson(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetBuilding2Gps_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetBuilding2Gps(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetBuilding2Gps_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetBuilding2Gps(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_GetAreaFacilitiesByBuildingNr_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAreaFacilitiesByBuildingNrRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetAreaFacilitiesByBuildingNr(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAreaFacilitiesByBuildingNrRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetAreaFacilitiesByBuildingNr(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetListOfToilets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetListOfToilets(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetListOfElevators(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetListOfElevators(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetMoreInformation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetMoreInformation(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". // UnaryRPC :call CampusServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -788,6 +914,150 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1123,6 +1393,132 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1199,6 +1595,18 @@ var ( pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allTags"}, "")) pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allCafeterias"}, "")) + + pattern_Campus_GetResponsiblePerson_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "contacts"}, "")) + + pattern_Campus_GetBuilding2Gps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "getBuilding2Gps"}, "")) + + pattern_Campus_GetAreaFacilitiesByBuildingNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "nerby"}, "")) + + pattern_Campus_GetListOfToilets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfToilets"}, "")) + + pattern_Campus_GetListOfElevators_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfElevators"}, "")) + + pattern_Campus_GetMoreInformation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "moreInformation"}, "")) ) var ( @@ -1229,4 +1637,16 @@ var ( forward_Campus_GetAvailableCafeteriaTags_0 = runtime.ForwardResponseMessage forward_Campus_GetCafeterias_0 = runtime.ForwardResponseMessage + + forward_Campus_GetResponsiblePerson_0 = runtime.ForwardResponseMessage + + forward_Campus_GetBuilding2Gps_0 = runtime.ForwardResponseMessage + + forward_Campus_GetAreaFacilitiesByBuildingNr_0 = runtime.ForwardResponseMessage + + forward_Campus_GetListOfToilets_0 = runtime.ForwardResponseMessage + + forward_Campus_GetListOfElevators_0 = runtime.ForwardResponseMessage + + forward_Campus_GetMoreInformation_0 = runtime.ForwardResponseMessage ) diff --git a/api/CampusService.proto b/api/CampusService.proto index 601743b7..23637ac2 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -116,6 +116,43 @@ service Campus { }; } + + + rpc getResponsiblePerson (google.protobuf.Empty) returns (getResponsiblePersonResponse) { + option (google.api.http) = { + get: "/barrierfree/contacts", + }; + } + + rpc getBuilding2Gps (google.protobuf.Empty) returns (getBuilding2GpsResponse) { + option (google.api.http) = { + get: "/barrierfree/getBuilding2Gps", + }; + } + + rpc getAreaFacilitiesByBuildingNr (getAreaFacilitiesByBuildingNrRequest) returns (getAreaFacilitiesByBuildingNrResponse) { + option (google.api.http) = { + get: "/barrierfree/nerby", + }; + } + + rpc getListOfToilets (google.protobuf.Empty) returns (getListOfToiletsResponse) { + option (google.api.http) = { + get: "/barrierfree/listOfToilets", + }; + } + + rpc getListOfElevators (google.protobuf.Empty) returns (getListOfElevatorsResponse) { + option (google.api.http) = { + get: "/barrierfree/listOfElevators", + }; + } + + rpc getMoreInformation (google.protobuf.Empty) returns (getMoreInformationResponse) { + option (google.api.http) = { + get: "/barrierfree/moreInformation", + }; + } } message GetRoomScheduleRequest { @@ -362,3 +399,71 @@ message Cafeteria{ +message getResponsiblePersonResponse { + repeated ResponsiblePersonElement responsiblePerson = 1; +} + +message ResponsiblePersonElement{ + string name = 1; + string telephone = 2; + string email = 3; + string faculty = 4; + string tumID = 5; + +} + +message getBuilding2GpsResponse { + repeated Building2GpsElement building2Gps = 1; +} + +message Building2GpsElement{ + string id=1; + string latitude=2; + string longitude=3; + +} + +message getAreaFacilitiesByBuildingNrResponse { + repeated RoomInformationElement areaFacilitiesByBuildingNr = 1; +} + + + +message getAreaFacilitiesByBuildingNrRequest { + string building_nr = 1; +} + +message getListOfToiletsResponse { + repeated RoomInformationElement listOfToilets = 1; +} + +message RoomInformationElement{ + int32 room_id = 1; + string room_code = 2; + string building_nr = 3; + string arch_id = 4; + string info = 5; + string address = 6; + string purpose = 7; + string campus = 8; + string name = 9; +} + +message getListOfElevatorsResponse { + repeated RoomInformationElement listOfElevators = 1; +} + + + +message getMoreInformationResponse { + repeated MoreInformationElement information = 1; +} + +message MoreInformationElement{ + string title = 1; + string category = 2; + string url = 3; +} + + + diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index 07ee39d7..926c090c 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -38,6 +38,12 @@ type CampusClient interface { GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) + GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonResponse, error) + GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsResponse, error) + GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrResponse, error) + GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsResponse, error) + GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsResponse, error) + GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationResponse, error) } type campusClient struct { @@ -174,6 +180,60 @@ func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opt return out, nil } +func (c *campusClient) GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonResponse, error) { + out := new(GetResponsiblePersonResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getResponsiblePerson", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsResponse, error) { + out := new(GetBuilding2GpsResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getBuilding2Gps", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrResponse, error) { + out := new(GetAreaFacilitiesByBuildingNrResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getAreaFacilitiesByBuildingNr", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsResponse, error) { + out := new(GetListOfToiletsResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getListOfToilets", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsResponse, error) { + out := new(GetListOfElevatorsResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getListOfElevators", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationResponse, error) { + out := new(GetMoreInformationResponse) + err := c.cc.Invoke(ctx, "/api.Campus/getMoreInformation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // CampusServer is the server API for Campus service. // All implementations must embed UnimplementedCampusServer // for forward compatibility @@ -193,6 +253,12 @@ type CampusServer interface { GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) + GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonResponse, error) + GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsResponse, error) + GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrResponse, error) + GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsResponse, error) + GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsResponse, error) + GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationResponse, error) mustEmbedUnimplementedCampusServer() } @@ -242,6 +308,24 @@ func (UnimplementedCampusServer) GetAvailableCafeteriaTags(context.Context, *emp func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCafeterias not implemented") } +func (UnimplementedCampusServer) GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetResponsiblePerson not implemented") +} +func (UnimplementedCampusServer) GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBuilding2Gps not implemented") +} +func (UnimplementedCampusServer) GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAreaFacilitiesByBuildingNr not implemented") +} +func (UnimplementedCampusServer) GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetListOfToilets not implemented") +} +func (UnimplementedCampusServer) GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetListOfElevators not implemented") +} +func (UnimplementedCampusServer) GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMoreInformation not implemented") +} func (UnimplementedCampusServer) mustEmbedUnimplementedCampusServer() {} // UnsafeCampusServer may be embedded to opt out of forward compatibility for this service. @@ -507,6 +591,114 @@ func _Campus_GetCafeterias_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Campus_GetResponsiblePerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetResponsiblePerson(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getResponsiblePerson", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetResponsiblePerson(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetBuilding2Gps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetBuilding2Gps(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getBuilding2Gps", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetBuilding2Gps(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetAreaFacilitiesByBuildingNr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAreaFacilitiesByBuildingNrRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetAreaFacilitiesByBuildingNr(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getAreaFacilitiesByBuildingNr", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetAreaFacilitiesByBuildingNr(ctx, req.(*GetAreaFacilitiesByBuildingNrRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetListOfToilets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetListOfToilets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getListOfToilets", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetListOfToilets(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetListOfElevators_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetListOfElevators(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getListOfElevators", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetListOfElevators(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetMoreInformation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetMoreInformation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/getMoreInformation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetMoreInformation(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + // Campus_ServiceDesc is the grpc.ServiceDesc for Campus service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -570,6 +762,30 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetCafeterias", Handler: _Campus_GetCafeterias_Handler, }, + { + MethodName: "getResponsiblePerson", + Handler: _Campus_GetResponsiblePerson_Handler, + }, + { + MethodName: "getBuilding2Gps", + Handler: _Campus_GetBuilding2Gps_Handler, + }, + { + MethodName: "getAreaFacilitiesByBuildingNr", + Handler: _Campus_GetAreaFacilitiesByBuildingNr_Handler, + }, + { + MethodName: "getListOfToilets", + Handler: _Campus_GetListOfToilets_Handler, + }, + { + MethodName: "getListOfElevators", + Handler: _Campus_GetListOfElevators_Handler, + }, + { + MethodName: "getMoreInformation", + Handler: _Campus_GetMoreInformation_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "CampusService.proto", diff --git a/api/buf.lock b/api/buf.lock index 31b3e001..432e5196 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: c6727d5f2f6945a1b22b9d73cf074cdb + commit: bab7e2fd165a45d2a08d4f2fd277c224 diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index 5c0eb1b3..966a46a2 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -17,6 +17,146 @@ "application/json" ], "paths": { + "/barrierfree/contacts": { + "get": { + "operationId": "Campus_getResponsiblePerson", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetResponsiblePersonResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/getBuilding2Gps": { + "get": { + "operationId": "Campus_getBuilding2Gps", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetBuilding2GpsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/listOfElevators": { + "get": { + "operationId": "Campus_getListOfElevators", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetListOfElevatorsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/listOfToilets": { + "get": { + "operationId": "Campus_getListOfToilets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetListOfToiletsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/moreInformation": { + "get": { + "operationId": "Campus_getMoreInformation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetMoreInformationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/nerby": { + "get": { + "operationId": "Campus_getAreaFacilitiesByBuildingNr", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetAreaFacilitiesByBuildingNrResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "buildingNr", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, "/cafeteriaRating/cafeteria/allCafeterias": { "get": { "operationId": "Campus_GetCafeterias", @@ -63,6 +203,7 @@ }, "/cafeteriaRating/cafeteria/get": { "post": { + "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", "operationId": "Campus_GetCafeteriaRatings", "responses": { "200": { @@ -132,7 +273,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiMealRatingsResponse" + "$ref": "#/definitions/apiMealRatingResponse" } }, "default": { @@ -148,7 +289,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiMealRatingsRequest" + "$ref": "#/definitions/apiMealRatingRequest" } } ], @@ -478,32 +619,69 @@ } } }, + "apiBuilding2GpsElement": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "latitude": { + "type": "string" + }, + "longitude": { + "type": "string" + } + } + }, + "apiCafeteria": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "address": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { + "type": "number", + "format": "double" + } + } + }, "apiCafeteriaRating": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" - }, - "image": { "type": "string", - "format": "byte" + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, - "cafeteriaVisitedAt": { + "image": { "type": "string", - "format": "date-time" + "format": "byte", + "title": "Optional JPEG image in Base64" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" }, "tagRating": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingOverview" + "$ref": "#/definitions/apiTagRatingResult" } + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" } } }, @@ -511,19 +689,23 @@ "type": "object", "properties": { "cafeteriaName": { - "type": "string" + "type": "string", + "title": "cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme)" }, "from": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" }, "to": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" }, "limit": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" } } }, @@ -536,15 +718,19 @@ "$ref": "#/definitions/apiCafeteriaRating" } }, - "averageRating": { + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { "type": "number", "format": "double" }, - "minRating": { + "minPoints": { "type": "integer", "format": "int32" }, - "maxRating": { + "maxPoints": { "type": "integer", "format": "int32" }, @@ -559,19 +745,11 @@ "apiGetCafeteriaResponse": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "adress": { - "type": "string" - }, - "longitude": { - "type": "number", - "format": "double" - }, - "latitude": { - "type": "number", - "format": "double" + "cafeteria": { + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } } }, @@ -714,59 +892,69 @@ "apiMealRating": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "meal": { - "type": "string" - }, - "image": { "type": "string", - "format": "byte" + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, - "cafeteriaVisitedAt": { + "image": { "type": "string", - "format": "date-time" + "format": "byte", + "title": "Optional JPEG image in Base64" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" }, "tagRating": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingOverview" + "$ref": "#/definitions/apiTagRatingResult" } + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" } } }, - "apiMealRatingsRequest": { + "apiMealRatingRequest": { "type": "object", "properties": { "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the cafeteria (EAT-API naming scheme)" }, "meal": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "from": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" }, "to": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" }, "limit": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" } } }, - "apiMealRatingsResponse": { + "apiMealRatingResponse": { "type": "object", "properties": { "rating": { @@ -775,15 +963,19 @@ "$ref": "#/definitions/apiMealRating" } }, - "averageRating": { + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { "type": "number", "format": "double" }, - "minRating": { + "minPoints": { "type": "integer", "format": "int32" }, - "maxRating": { + "maxPoints": { "type": "integer", "format": "int32" }, @@ -801,12 +993,27 @@ } } }, + "apiMoreInformationElement": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "category": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, "apiNewCafeteriaRatingRequest": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { "type": "string" @@ -819,46 +1026,46 @@ "type": "array", "items": { "$ref": "#/definitions/apiTagRating" - } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" + }, + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" } } }, "apiNewMealRatingRequest": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "meal": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", - "format": "byte" + "format": "byte", + "title": "Optional JPEG image in Base64" }, "tags": { "type": "array", "items": { "$ref": "#/definitions/apiTagRating" - } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" + }, + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" } } }, @@ -887,6 +1094,26 @@ } } }, + "apiResponsiblePersonElement": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "telephone": { + "type": "string" + }, + "email": { + "type": "string" + }, + "faculty": { + "type": "string" + }, + "tumID": { + "type": "string" + } + } + }, "apiRoom": { "type": "object", "properties": { @@ -920,6 +1147,39 @@ } } }, + "apiRoomInformationElement": { + "type": "object", + "properties": { + "roomId": { + "type": "integer", + "format": "int32" + }, + "roomCode": { + "type": "string" + }, + "buildingNr": { + "type": "string" + }, + "archId": { + "type": "string" + }, + "info": { + "type": "string" + }, + "address": { + "type": "string" + }, + "purpose": { + "type": "string" + }, + "campus": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, "apiSearchRoomsReply": { "type": "object", "properties": { @@ -945,7 +1205,7 @@ "tag": { "type": "string" }, - "rating": { + "points": { "type": "number", "format": "double" } @@ -954,41 +1214,122 @@ "apiTagRatingOverview": { "type": "object", "properties": { - "nameDE": { + "DE": { "type": "string" }, - "nameEN": { + "EN": { + "type": "string" + } + } + }, + "apiTagRatingResult": { + "type": "object", + "properties": { + "DE": { "type": "string" }, - "rating": { - "type": "number", - "format": "double" + "EN": { + "type": "string" + }, + "points": { + "type": "integer", + "format": "int32" } } }, "apiTagRatingsResult": { "type": "object", "properties": { - "nameDE": { + "DE": { "type": "string" }, - "nameEN": { + "EN": { "type": "string" }, - "averageRating": { + "averagePoints": { "type": "number", "format": "double" }, - "minRating": { + "standardDeviation": { + "type": "number", + "format": "double" + }, + "minPoints": { "type": "integer", "format": "int32" }, - "maxRating": { + "maxPoints": { "type": "integer", "format": "int32" } } }, + "apigetAreaFacilitiesByBuildingNrResponse": { + "type": "object", + "properties": { + "areaFacilitiesByBuildingNr": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetBuilding2GpsResponse": { + "type": "object", + "properties": { + "building2Gps": { + "type": "array", + "items": { + "$ref": "#/definitions/apiBuilding2GpsElement" + } + } + } + }, + "apigetListOfElevatorsResponse": { + "type": "object", + "properties": { + "listOfElevators": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetListOfToiletsResponse": { + "type": "object", + "properties": { + "listOfToilets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetMoreInformationResponse": { + "type": "object", + "properties": { + "information": { + "type": "array", + "items": { + "$ref": "#/definitions/apiMoreInformationElement" + } + } + } + }, + "apigetResponsiblePersonResponse": { + "type": "object", + "properties": { + "responsiblePerson": { + "type": "array", + "items": { + "$ref": "#/definitions/apiResponsiblePersonElement" + } + } + } + }, "protobufAny": { "type": "object", "properties": { diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index 5c0eb1b3..966a46a2 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -17,6 +17,146 @@ "application/json" ], "paths": { + "/barrierfree/contacts": { + "get": { + "operationId": "Campus_getResponsiblePerson", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetResponsiblePersonResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/getBuilding2Gps": { + "get": { + "operationId": "Campus_getBuilding2Gps", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetBuilding2GpsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/listOfElevators": { + "get": { + "operationId": "Campus_getListOfElevators", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetListOfElevatorsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/listOfToilets": { + "get": { + "operationId": "Campus_getListOfToilets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetListOfToiletsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/moreInformation": { + "get": { + "operationId": "Campus_getMoreInformation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetMoreInformationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/barrierfree/nerby": { + "get": { + "operationId": "Campus_getAreaFacilitiesByBuildingNr", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apigetAreaFacilitiesByBuildingNrResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "buildingNr", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, "/cafeteriaRating/cafeteria/allCafeterias": { "get": { "operationId": "Campus_GetCafeterias", @@ -63,6 +203,7 @@ }, "/cafeteriaRating/cafeteria/get": { "post": { + "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", "operationId": "Campus_GetCafeteriaRatings", "responses": { "200": { @@ -132,7 +273,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiMealRatingsResponse" + "$ref": "#/definitions/apiMealRatingResponse" } }, "default": { @@ -148,7 +289,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiMealRatingsRequest" + "$ref": "#/definitions/apiMealRatingRequest" } } ], @@ -478,32 +619,69 @@ } } }, + "apiBuilding2GpsElement": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "latitude": { + "type": "string" + }, + "longitude": { + "type": "string" + } + } + }, + "apiCafeteria": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "address": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { + "type": "number", + "format": "double" + } + } + }, "apiCafeteriaRating": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" - }, - "image": { "type": "string", - "format": "byte" + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, - "cafeteriaVisitedAt": { + "image": { "type": "string", - "format": "date-time" + "format": "byte", + "title": "Optional JPEG image in Base64" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" }, "tagRating": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingOverview" + "$ref": "#/definitions/apiTagRatingResult" } + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" } } }, @@ -511,19 +689,23 @@ "type": "object", "properties": { "cafeteriaName": { - "type": "string" + "type": "string", + "title": "cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme)" }, "from": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" }, "to": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" }, "limit": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" } } }, @@ -536,15 +718,19 @@ "$ref": "#/definitions/apiCafeteriaRating" } }, - "averageRating": { + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { "type": "number", "format": "double" }, - "minRating": { + "minPoints": { "type": "integer", "format": "int32" }, - "maxRating": { + "maxPoints": { "type": "integer", "format": "int32" }, @@ -559,19 +745,11 @@ "apiGetCafeteriaResponse": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "adress": { - "type": "string" - }, - "longitude": { - "type": "number", - "format": "double" - }, - "latitude": { - "type": "number", - "format": "double" + "cafeteria": { + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } } }, @@ -714,59 +892,69 @@ "apiMealRating": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "meal": { - "type": "string" - }, - "image": { "type": "string", - "format": "byte" + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, - "cafeteriaVisitedAt": { + "image": { "type": "string", - "format": "date-time" + "format": "byte", + "title": "Optional JPEG image in Base64" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" }, "tagRating": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingOverview" + "$ref": "#/definitions/apiTagRatingResult" } + }, + "cafeteriaVisitedAt": { + "type": "string", + "format": "date-time" } } }, - "apiMealRatingsRequest": { + "apiMealRatingRequest": { "type": "object", "properties": { "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the cafeteria (EAT-API naming scheme)" }, "meal": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "from": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" }, "to": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" }, "limit": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" } } }, - "apiMealRatingsResponse": { + "apiMealRatingResponse": { "type": "object", "properties": { "rating": { @@ -775,15 +963,19 @@ "$ref": "#/definitions/apiMealRating" } }, - "averageRating": { + "averagePoints": { + "type": "number", + "format": "double" + }, + "standardDeviation": { "type": "number", "format": "double" }, - "minRating": { + "minPoints": { "type": "integer", "format": "int32" }, - "maxRating": { + "maxPoints": { "type": "integer", "format": "int32" }, @@ -801,12 +993,27 @@ } } }, + "apiMoreInformationElement": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "category": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, "apiNewCafeteriaRatingRequest": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { "type": "string" @@ -819,46 +1026,46 @@ "type": "array", "items": { "$ref": "#/definitions/apiTagRating" - } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" + }, + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" } } }, "apiNewMealRatingRequest": { "type": "object", "properties": { - "rating": { + "points": { "type": "integer", - "format": "int32" + "format": "int32", + "title": "number in the range 1-5" }, "cafeteriaName": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "meal": { - "type": "string" + "type": "string", + "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", - "format": "byte" + "format": "byte", + "title": "Optional JPEG image in Base64" }, "tags": { "type": "array", "items": { "$ref": "#/definitions/apiTagRating" - } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" + }, + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags" }, "comment": { - "type": "string" + "type": "string", + "title": "Optional comment (max 256 chars)" } } }, @@ -887,6 +1094,26 @@ } } }, + "apiResponsiblePersonElement": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "telephone": { + "type": "string" + }, + "email": { + "type": "string" + }, + "faculty": { + "type": "string" + }, + "tumID": { + "type": "string" + } + } + }, "apiRoom": { "type": "object", "properties": { @@ -920,6 +1147,39 @@ } } }, + "apiRoomInformationElement": { + "type": "object", + "properties": { + "roomId": { + "type": "integer", + "format": "int32" + }, + "roomCode": { + "type": "string" + }, + "buildingNr": { + "type": "string" + }, + "archId": { + "type": "string" + }, + "info": { + "type": "string" + }, + "address": { + "type": "string" + }, + "purpose": { + "type": "string" + }, + "campus": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, "apiSearchRoomsReply": { "type": "object", "properties": { @@ -945,7 +1205,7 @@ "tag": { "type": "string" }, - "rating": { + "points": { "type": "number", "format": "double" } @@ -954,41 +1214,122 @@ "apiTagRatingOverview": { "type": "object", "properties": { - "nameDE": { + "DE": { "type": "string" }, - "nameEN": { + "EN": { + "type": "string" + } + } + }, + "apiTagRatingResult": { + "type": "object", + "properties": { + "DE": { "type": "string" }, - "rating": { - "type": "number", - "format": "double" + "EN": { + "type": "string" + }, + "points": { + "type": "integer", + "format": "int32" } } }, "apiTagRatingsResult": { "type": "object", "properties": { - "nameDE": { + "DE": { "type": "string" }, - "nameEN": { + "EN": { "type": "string" }, - "averageRating": { + "averagePoints": { "type": "number", "format": "double" }, - "minRating": { + "standardDeviation": { + "type": "number", + "format": "double" + }, + "minPoints": { "type": "integer", "format": "int32" }, - "maxRating": { + "maxPoints": { "type": "integer", "format": "int32" } } }, + "apigetAreaFacilitiesByBuildingNrResponse": { + "type": "object", + "properties": { + "areaFacilitiesByBuildingNr": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetBuilding2GpsResponse": { + "type": "object", + "properties": { + "building2Gps": { + "type": "array", + "items": { + "$ref": "#/definitions/apiBuilding2GpsElement" + } + } + } + }, + "apigetListOfElevatorsResponse": { + "type": "object", + "properties": { + "listOfElevators": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetListOfToiletsResponse": { + "type": "object", + "properties": { + "listOfToilets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apigetMoreInformationResponse": { + "type": "object", + "properties": { + "information": { + "type": "array", + "items": { + "$ref": "#/definitions/apiMoreInformationElement" + } + } + } + }, + "apigetResponsiblePersonResponse": { + "type": "object", + "properties": { + "responsiblePerson": { + "type": "array", + "items": { + "$ref": "#/definitions/apiResponsiblePersonElement" + } + } + } + }, "protobufAny": { "type": "object", "properties": { From b56535409e0709bfef2d4d21b69975d43f2ab219 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 23 Jul 2022 17:51:05 +0200 Subject: [PATCH 19/24] fixing small bug to enable generating --- api/CampusService.pb.go | 7589 ++++++++++++++---- api/CampusService.pb.gw.go | 3878 ++++++++- api/CampusService.proto | 761 +- api/CampusService_grpc.pb.go | 1432 +++- api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 2561 +++++- server/swagger/swagger.json | 2 + 7 files changed, 13894 insertions(+), 2331 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index fb9b0c8b..8dde185a 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -530,7 +530,7 @@ type Room struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RoomId int32 `protobuf:"varint,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` RoomCode string `protobuf:"bytes,2,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` BuildingNr string `protobuf:"bytes,3,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` ArchId string `protobuf:"bytes,4,opt,name=arch_id,json=archId,proto3" json:"arch_id,omitempty"` @@ -830,8 +830,8 @@ type CafeteriaRatingRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme) - CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` + // cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") + CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` // Optional Parameter to define an interval for the ratings (Lower bound) From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` // Optional Parameter to define an interval for the ratings (Upper bound) @@ -872,9 +872,9 @@ func (*CafeteriaRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{14} } -func (x *CafeteriaRatingRequest) GetCafeteriaName() string { +func (x *CafeteriaRatingRequest) GetCafeteriaId() string { if x != nil { - return x.CafeteriaName + return x.CafeteriaId } return "" } @@ -900,15 +900,15 @@ func (x *CafeteriaRatingRequest) GetLimit() int32 { return 0 } -type MealRatingRequest struct { +type DishRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Mandatory Name of the cafeteria (EAT-API naming scheme) - CafeteriaName string `protobuf:"bytes,1,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - Meal string `protobuf:"bytes,2,opt,name=meal,proto3" json:"meal,omitempty"` + // Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") + CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + Dish string `protobuf:"bytes,2,opt,name=dish,proto3" json:"dish,omitempty"` // Optional Parameter to define an interval for the ratings (Lower bound) From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` // Optional Parameter to define an interval for the ratings (Upper bound) @@ -917,8 +917,8 @@ type MealRatingRequest struct { Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` } -func (x *MealRatingRequest) Reset() { - *x = MealRatingRequest{} +func (x *DishRatingRequest) Reset() { + *x = DishRatingRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -926,13 +926,13 @@ func (x *MealRatingRequest) Reset() { } } -func (x *MealRatingRequest) String() string { +func (x *DishRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MealRatingRequest) ProtoMessage() {} +func (*DishRatingRequest) ProtoMessage() {} -func (x *MealRatingRequest) ProtoReflect() protoreflect.Message { +func (x *DishRatingRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -944,61 +944,61 @@ func (x *MealRatingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MealRatingRequest.ProtoReflect.Descriptor instead. -func (*MealRatingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DishRatingRequest.ProtoReflect.Descriptor instead. +func (*DishRatingRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{15} } -func (x *MealRatingRequest) GetCafeteriaName() string { +func (x *DishRatingRequest) GetCafeteriaId() string { if x != nil { - return x.CafeteriaName + return x.CafeteriaId } return "" } -func (x *MealRatingRequest) GetMeal() string { +func (x *DishRatingRequest) GetDish() string { if x != nil { - return x.Meal + return x.Dish } return "" } -func (x *MealRatingRequest) GetFrom() *timestamppb.Timestamp { +func (x *DishRatingRequest) GetFrom() *timestamppb.Timestamp { if x != nil { return x.From } return nil } -func (x *MealRatingRequest) GetTo() *timestamppb.Timestamp { +func (x *DishRatingRequest) GetTo() *timestamppb.Timestamp { if x != nil { return x.To } return nil } -func (x *MealRatingRequest) GetLimit() int32 { +func (x *DishRatingRequest) GetLimit() int32 { if x != nil { return x.Limit } return 0 } -type CafeteriaRatingResponse struct { +type CafeteriaRatingReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*CafeteriaRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - AveragePoints float64 `protobuf:"fixed64,2,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` - StandardDeviation float64 `protobuf:"fixed64,3,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` - MinPoints int32 `protobuf:"varint,4,opt,name=minPoints,proto3" json:"minPoints,omitempty"` - MaxPoints int32 `protobuf:"varint,5,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` - RatingTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + Rating []*SingleRatingReply `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` + Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` + Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` + Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` + RatingTags []*RatingTagResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` } -func (x *CafeteriaRatingResponse) Reset() { - *x = CafeteriaRatingResponse{} +func (x *CafeteriaRatingReply) Reset() { + *x = CafeteriaRatingReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1006,13 +1006,13 @@ func (x *CafeteriaRatingResponse) Reset() { } } -func (x *CafeteriaRatingResponse) String() string { +func (x *CafeteriaRatingReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CafeteriaRatingResponse) ProtoMessage() {} +func (*CafeteriaRatingReply) ProtoMessage() {} -func (x *CafeteriaRatingResponse) ProtoReflect() protoreflect.Message { +func (x *CafeteriaRatingReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1024,69 +1024,69 @@ func (x *CafeteriaRatingResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CafeteriaRatingResponse.ProtoReflect.Descriptor instead. -func (*CafeteriaRatingResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use CafeteriaRatingReply.ProtoReflect.Descriptor instead. +func (*CafeteriaRatingReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{16} } -func (x *CafeteriaRatingResponse) GetRating() []*CafeteriaRating { +func (x *CafeteriaRatingReply) GetRating() []*SingleRatingReply { if x != nil { return x.Rating } return nil } -func (x *CafeteriaRatingResponse) GetAveragePoints() float64 { +func (x *CafeteriaRatingReply) GetAvg() float64 { if x != nil { - return x.AveragePoints + return x.Avg } return 0 } -func (x *CafeteriaRatingResponse) GetStandardDeviation() float64 { +func (x *CafeteriaRatingReply) GetStd() float64 { if x != nil { - return x.StandardDeviation + return x.Std } return 0 } -func (x *CafeteriaRatingResponse) GetMinPoints() int32 { +func (x *CafeteriaRatingReply) GetMin() int32 { if x != nil { - return x.MinPoints + return x.Min } return 0 } -func (x *CafeteriaRatingResponse) GetMaxPoints() int32 { +func (x *CafeteriaRatingReply) GetMax() int32 { if x != nil { - return x.MaxPoints + return x.Max } return 0 } -func (x *CafeteriaRatingResponse) GetRatingTags() []*TagRatingsResult { +func (x *CafeteriaRatingReply) GetRatingTags() []*RatingTagResult { if x != nil { return x.RatingTags } return nil } -type MealRatingResponse struct { +type DishRatingReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rating []*MealRating `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` - AveragePoints float64 `protobuf:"fixed64,2,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` - StandardDeviation float64 `protobuf:"fixed64,3,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` - MinPoints int32 `protobuf:"varint,4,opt,name=minPoints,proto3" json:"minPoints,omitempty"` - MaxPoints int32 `protobuf:"varint,5,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` - RatingTags []*TagRatingsResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` - NameTags []*TagRatingsResult `protobuf:"bytes,7,rep,name=nameTags,proto3" json:"nameTags,omitempty"` + Rating []*SingleRatingReply `protobuf:"bytes,1,rep,name=rating,proto3" json:"rating,omitempty"` + Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` + Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` + Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` + Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` + RatingTags []*RatingTagResult `protobuf:"bytes,6,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + NameTags []*RatingTagResult `protobuf:"bytes,7,rep,name=nameTags,proto3" json:"nameTags,omitempty"` } -func (x *MealRatingResponse) Reset() { - *x = MealRatingResponse{} +func (x *DishRatingReply) Reset() { + *x = DishRatingReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1094,13 +1094,13 @@ func (x *MealRatingResponse) Reset() { } } -func (x *MealRatingResponse) String() string { +func (x *DishRatingReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MealRatingResponse) ProtoMessage() {} +func (*DishRatingReply) ProtoMessage() {} -func (x *MealRatingResponse) ProtoReflect() protoreflect.Message { +func (x *DishRatingReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1112,79 +1112,77 @@ func (x *MealRatingResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MealRatingResponse.ProtoReflect.Descriptor instead. -func (*MealRatingResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use DishRatingReply.ProtoReflect.Descriptor instead. +func (*DishRatingReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{17} } -func (x *MealRatingResponse) GetRating() []*MealRating { +func (x *DishRatingReply) GetRating() []*SingleRatingReply { if x != nil { return x.Rating } return nil } -func (x *MealRatingResponse) GetAveragePoints() float64 { +func (x *DishRatingReply) GetAvg() float64 { if x != nil { - return x.AveragePoints + return x.Avg } return 0 } -func (x *MealRatingResponse) GetStandardDeviation() float64 { +func (x *DishRatingReply) GetStd() float64 { if x != nil { - return x.StandardDeviation + return x.Std } return 0 } -func (x *MealRatingResponse) GetMinPoints() int32 { +func (x *DishRatingReply) GetMin() int32 { if x != nil { - return x.MinPoints + return x.Min } return 0 } -func (x *MealRatingResponse) GetMaxPoints() int32 { +func (x *DishRatingReply) GetMax() int32 { if x != nil { - return x.MaxPoints + return x.Max } return 0 } -func (x *MealRatingResponse) GetRatingTags() []*TagRatingsResult { +func (x *DishRatingReply) GetRatingTags() []*RatingTagResult { if x != nil { return x.RatingTags } return nil } -func (x *MealRatingResponse) GetNameTags() []*TagRatingsResult { +func (x *DishRatingReply) GetNameTags() []*RatingTagResult { if x != nil { return x.NameTags } return nil } -type CafeteriaRating struct { +type SingleRatingReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // number in the range 1-5 Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` // Optional JPEG image in Base64 - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` // Optional comment (max 256 chars) - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` - TagRating []*TagRatingResult `protobuf:"bytes,5,rep,name=tagRating,proto3" json:"tagRating,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + RatingTags []*RatingTagNewRequest `protobuf:"bytes,4,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` + Visited *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=visited,proto3" json:"visited,omitempty"` } -func (x *CafeteriaRating) Reset() { - *x = CafeteriaRating{} +func (x *SingleRatingReply) Reset() { + *x = SingleRatingReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1192,13 +1190,13 @@ func (x *CafeteriaRating) Reset() { } } -func (x *CafeteriaRating) String() string { +func (x *SingleRatingReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CafeteriaRating) ProtoMessage() {} +func (*SingleRatingReply) ProtoMessage() {} -func (x *CafeteriaRating) ProtoReflect() protoreflect.Message { +func (x *SingleRatingReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1210,149 +1208,42 @@ func (x *CafeteriaRating) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CafeteriaRating.ProtoReflect.Descriptor instead. -func (*CafeteriaRating) Descriptor() ([]byte, []int) { +// Deprecated: Use SingleRatingReply.ProtoReflect.Descriptor instead. +func (*SingleRatingReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{18} } -func (x *CafeteriaRating) GetPoints() int32 { +func (x *SingleRatingReply) GetPoints() int32 { if x != nil { return x.Points } return 0 } -func (x *CafeteriaRating) GetCafeteriaName() string { - if x != nil { - return x.CafeteriaName - } - return "" -} - -func (x *CafeteriaRating) GetImage() []byte { - if x != nil { - return x.Image - } - return nil -} - -func (x *CafeteriaRating) GetComment() string { - if x != nil { - return x.Comment - } - return "" -} - -func (x *CafeteriaRating) GetTagRating() []*TagRatingResult { - if x != nil { - return x.TagRating - } - return nil -} - -func (x *CafeteriaRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { - if x != nil { - return x.CafeteriaVisitedAt - } - return nil -} - -type MealRating struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // number in the range 1-5 - Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` - // Optional JPEG image in Base64 - Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - // Optional comment (max 256 chars) - Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` - TagRating []*TagRatingResult `protobuf:"bytes,6,rep,name=tagRating,proto3" json:"tagRating,omitempty"` - CafeteriaVisitedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=cafeteriaVisitedAt,proto3" json:"cafeteriaVisitedAt,omitempty"` -} - -func (x *MealRating) Reset() { - *x = MealRating{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MealRating) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MealRating) ProtoMessage() {} - -func (x *MealRating) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MealRating.ProtoReflect.Descriptor instead. -func (*MealRating) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{19} -} - -func (x *MealRating) GetPoints() int32 { - if x != nil { - return x.Points - } - return 0 -} - -func (x *MealRating) GetCafeteriaName() string { - if x != nil { - return x.CafeteriaName - } - return "" -} - -func (x *MealRating) GetMeal() string { - if x != nil { - return x.Meal - } - return "" -} - -func (x *MealRating) GetImage() []byte { +func (x *SingleRatingReply) GetImage() []byte { if x != nil { return x.Image } return nil } -func (x *MealRating) GetComment() string { +func (x *SingleRatingReply) GetComment() string { if x != nil { return x.Comment } return "" } -func (x *MealRating) GetTagRating() []*TagRatingResult { +func (x *SingleRatingReply) GetRatingTags() []*RatingTagNewRequest { if x != nil { - return x.TagRating + return x.RatingTags } return nil } -func (x *MealRating) GetCafeteriaVisitedAt() *timestamppb.Timestamp { +func (x *SingleRatingReply) GetVisited() *timestamppb.Timestamp { if x != nil { - return x.CafeteriaVisitedAt + return x.Visited } return nil } @@ -1363,11 +1254,11 @@ type NewCafeteriaRatingRequest struct { unknownFields protoimpl.UnknownFields // number in the range 1-5 - Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` + CafeteriaId string `protobuf:"bytes,2,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags - Tags []*TagRating `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` + RatingTags []*RatingTag `protobuf:"bytes,4,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` // Optional comment (max 256 chars) Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` } @@ -1375,7 +1266,7 @@ type NewCafeteriaRatingRequest struct { func (x *NewCafeteriaRatingRequest) Reset() { *x = NewCafeteriaRatingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[20] + mi := &file_CampusService_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1388,7 +1279,7 @@ func (x *NewCafeteriaRatingRequest) String() string { func (*NewCafeteriaRatingRequest) ProtoMessage() {} func (x *NewCafeteriaRatingRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[20] + mi := &file_CampusService_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1401,7 +1292,7 @@ func (x *NewCafeteriaRatingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NewCafeteriaRatingRequest.ProtoReflect.Descriptor instead. func (*NewCafeteriaRatingRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{20} + return file_CampusService_proto_rawDescGZIP(), []int{19} } func (x *NewCafeteriaRatingRequest) GetPoints() int32 { @@ -1411,9 +1302,9 @@ func (x *NewCafeteriaRatingRequest) GetPoints() int32 { return 0 } -func (x *NewCafeteriaRatingRequest) GetCafeteriaName() string { +func (x *NewCafeteriaRatingRequest) GetCafeteriaId() string { if x != nil { - return x.CafeteriaName + return x.CafeteriaId } return "" } @@ -1425,9 +1316,9 @@ func (x *NewCafeteriaRatingRequest) GetImage() []byte { return nil } -func (x *NewCafeteriaRatingRequest) GetTags() []*TagRating { +func (x *NewCafeteriaRatingRequest) GetRatingTags() []*RatingTag { if x != nil { - return x.Tags + return x.RatingTags } return nil } @@ -1439,42 +1330,42 @@ func (x *NewCafeteriaRatingRequest) GetComment() string { return "" } -type NewMealRatingRequest struct { +type NewDishRatingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // number in the range 1-5 Points int32 `protobuf:"varint,1,opt,name=points,proto3" json:"points,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - CafeteriaName string `protobuf:"bytes,2,opt,name=cafeteriaName,proto3" json:"cafeteriaName,omitempty"` - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - Meal string `protobuf:"bytes,3,opt,name=meal,proto3" json:"meal,omitempty"` + // Mandatory Name of the dish (EAT-API naming scheme "MENSA_GARCHING") Must be available int the given mensa + CafeteriaId string `protobuf:"bytes,2,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + Dish string `protobuf:"bytes,3,opt,name=dish,proto3" json:"dish,omitempty"` // Optional JPEG image in Base64 Image []byte `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` - // Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags - Tags []*TagRating `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags + RatingTags []*RatingTag `protobuf:"bytes,5,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` // Optional comment (max 256 chars) Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` } -func (x *NewMealRatingRequest) Reset() { - *x = NewMealRatingRequest{} +func (x *NewDishRatingRequest) Reset() { + *x = NewDishRatingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[21] + mi := &file_CampusService_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NewMealRatingRequest) String() string { +func (x *NewDishRatingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NewMealRatingRequest) ProtoMessage() {} +func (*NewDishRatingRequest) ProtoMessage() {} -func (x *NewMealRatingRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[21] +func (x *NewDishRatingRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1485,47 +1376,47 @@ func (x *NewMealRatingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NewMealRatingRequest.ProtoReflect.Descriptor instead. -func (*NewMealRatingRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{21} +// Deprecated: Use NewDishRatingRequest.ProtoReflect.Descriptor instead. +func (*NewDishRatingRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{20} } -func (x *NewMealRatingRequest) GetPoints() int32 { +func (x *NewDishRatingRequest) GetPoints() int32 { if x != nil { return x.Points } return 0 } -func (x *NewMealRatingRequest) GetCafeteriaName() string { +func (x *NewDishRatingRequest) GetCafeteriaId() string { if x != nil { - return x.CafeteriaName + return x.CafeteriaId } return "" } -func (x *NewMealRatingRequest) GetMeal() string { +func (x *NewDishRatingRequest) GetDish() string { if x != nil { - return x.Meal + return x.Dish } return "" } -func (x *NewMealRatingRequest) GetImage() []byte { +func (x *NewDishRatingRequest) GetImage() []byte { if x != nil { return x.Image } return nil } -func (x *NewMealRatingRequest) GetTags() []*TagRating { +func (x *NewDishRatingRequest) GetRatingTags() []*RatingTag { if x != nil { - return x.Tags + return x.RatingTags } return nil } -func (x *NewMealRatingRequest) GetComment() string { +func (x *NewDishRatingRequest) GetComment() string { if x != nil { return x.Comment } @@ -1537,13 +1428,13 @@ type GetRatingTagsReply struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tags []*TagRatingOverview `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` + RatingTags []*RatingTagsOverview `protobuf:"bytes,1,rep,name=ratingTags,proto3" json:"ratingTags,omitempty"` } func (x *GetRatingTagsReply) Reset() { *x = GetRatingTagsReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[22] + mi := &file_CampusService_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1556,7 +1447,7 @@ func (x *GetRatingTagsReply) String() string { func (*GetRatingTagsReply) ProtoMessage() {} func (x *GetRatingTagsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[22] + mi := &file_CampusService_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1569,42 +1460,43 @@ func (x *GetRatingTagsReply) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRatingTagsReply.ProtoReflect.Descriptor instead. func (*GetRatingTagsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{22} + return file_CampusService_proto_rawDescGZIP(), []int{21} } -func (x *GetRatingTagsReply) GetTags() []*TagRatingOverview { +func (x *GetRatingTagsReply) GetRatingTags() []*RatingTagsOverview { if x != nil { - return x.Tags + return x.RatingTags } return nil } -type TagRatingOverview struct { +type RatingTagsOverview struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` - EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` + TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` + De string `protobuf:"bytes,2,opt,name=de,proto3" json:"de,omitempty"` + En string `protobuf:"bytes,3,opt,name=en,proto3" json:"en,omitempty"` } -func (x *TagRatingOverview) Reset() { - *x = TagRatingOverview{} +func (x *RatingTagsOverview) Reset() { + *x = RatingTagsOverview{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[23] + mi := &file_CampusService_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRatingOverview) String() string { +func (x *RatingTagsOverview) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRatingOverview) ProtoMessage() {} +func (*RatingTagsOverview) ProtoMessage() {} -func (x *TagRatingOverview) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[23] +func (x *RatingTagsOverview) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1615,52 +1507,58 @@ func (x *TagRatingOverview) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRatingOverview.ProtoReflect.Descriptor instead. -func (*TagRatingOverview) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{23} +// Deprecated: Use RatingTagsOverview.ProtoReflect.Descriptor instead. +func (*RatingTagsOverview) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{22} +} + +func (x *RatingTagsOverview) GetTagId() int32 { + if x != nil { + return x.TagId + } + return 0 } -func (x *TagRatingOverview) GetDE() string { +func (x *RatingTagsOverview) GetDe() string { if x != nil { - return x.DE + return x.De } return "" } -func (x *TagRatingOverview) GetEN() string { +func (x *RatingTagsOverview) GetEn() string { if x != nil { - return x.EN + return x.En } return "" } -type TagRatingResult struct { +type RatingTag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` - EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` - Points int32 `protobuf:"varint,3,opt,name=points,proto3" json:"points,omitempty"` + TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` + Points float64 `protobuf:"fixed64,2,opt,name=points,proto3" json:"points,omitempty"` } -func (x *TagRatingResult) Reset() { - *x = TagRatingResult{} +func (x *RatingTag) Reset() { + *x = RatingTag{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[24] + mi := &file_CampusService_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRatingResult) String() string { +func (x *RatingTag) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRatingResult) ProtoMessage() {} +func (*RatingTag) ProtoMessage() {} -func (x *TagRatingResult) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[24] +func (x *RatingTag) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1671,58 +1569,51 @@ func (x *TagRatingResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRatingResult.ProtoReflect.Descriptor instead. -func (*TagRatingResult) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{24} -} - -func (x *TagRatingResult) GetDE() string { - if x != nil { - return x.DE - } - return "" +// Deprecated: Use RatingTag.ProtoReflect.Descriptor instead. +func (*RatingTag) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{23} } -func (x *TagRatingResult) GetEN() string { +func (x *RatingTag) GetTagId() int32 { if x != nil { - return x.EN + return x.TagId } - return "" + return 0 } -func (x *TagRatingResult) GetPoints() int32 { +func (x *RatingTag) GetPoints() float64 { if x != nil { return x.Points } return 0 } -type TagRating struct { +type RatingTagNewRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` - Points float64 `protobuf:"fixed64,2,opt,name=points,proto3" json:"points,omitempty"` + TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` + Points int32 `protobuf:"varint,2,opt,name=points,proto3" json:"points,omitempty"` } -func (x *TagRating) Reset() { - *x = TagRating{} +func (x *RatingTagNewRequest) Reset() { + *x = RatingTagNewRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[25] + mi := &file_CampusService_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRating) String() string { +func (x *RatingTagNewRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRating) ProtoMessage() {} +func (*RatingTagNewRequest) ProtoMessage() {} -func (x *TagRating) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[25] +func (x *RatingTagNewRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1733,55 +1624,54 @@ func (x *TagRating) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRating.ProtoReflect.Descriptor instead. -func (*TagRating) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{25} +// Deprecated: Use RatingTagNewRequest.ProtoReflect.Descriptor instead. +func (*RatingTagNewRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{24} } -func (x *TagRating) GetTag() string { +func (x *RatingTagNewRequest) GetTagId() int32 { if x != nil { - return x.Tag + return x.TagId } - return "" + return 0 } -func (x *TagRating) GetPoints() float64 { +func (x *RatingTagNewRequest) GetPoints() int32 { if x != nil { return x.Points } return 0 } -type TagRatingsResult struct { +type RatingTagResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DE string `protobuf:"bytes,1,opt,name=DE,proto3" json:"DE,omitempty"` - EN string `protobuf:"bytes,2,opt,name=EN,proto3" json:"EN,omitempty"` - AveragePoints float64 `protobuf:"fixed64,3,opt,name=averagePoints,proto3" json:"averagePoints,omitempty"` - StandardDeviation float64 `protobuf:"fixed64,4,opt,name=standardDeviation,proto3" json:"standardDeviation,omitempty"` - MinPoints int32 `protobuf:"varint,5,opt,name=minPoints,proto3" json:"minPoints,omitempty"` - MaxPoints int32 `protobuf:"varint,6,opt,name=maxPoints,proto3" json:"maxPoints,omitempty"` + TagId int32 `protobuf:"varint,1,opt,name=tagId,proto3" json:"tagId,omitempty"` + Avg float64 `protobuf:"fixed64,2,opt,name=avg,proto3" json:"avg,omitempty"` + Std float64 `protobuf:"fixed64,3,opt,name=std,proto3" json:"std,omitempty"` + Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` + Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` } -func (x *TagRatingsResult) Reset() { - *x = TagRatingsResult{} +func (x *RatingTagResult) Reset() { + *x = RatingTagResult{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[26] + mi := &file_CampusService_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TagRatingsResult) String() string { +func (x *RatingTagResult) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TagRatingsResult) ProtoMessage() {} +func (*RatingTagResult) ProtoMessage() {} -func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[26] +func (x *RatingTagResult) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1792,54 +1682,47 @@ func (x *TagRatingsResult) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TagRatingsResult.ProtoReflect.Descriptor instead. -func (*TagRatingsResult) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{26} -} - -func (x *TagRatingsResult) GetDE() string { - if x != nil { - return x.DE - } - return "" +// Deprecated: Use RatingTagResult.ProtoReflect.Descriptor instead. +func (*RatingTagResult) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{25} } -func (x *TagRatingsResult) GetEN() string { +func (x *RatingTagResult) GetTagId() int32 { if x != nil { - return x.EN + return x.TagId } - return "" + return 0 } -func (x *TagRatingsResult) GetAveragePoints() float64 { +func (x *RatingTagResult) GetAvg() float64 { if x != nil { - return x.AveragePoints + return x.Avg } return 0 } -func (x *TagRatingsResult) GetStandardDeviation() float64 { +func (x *RatingTagResult) GetStd() float64 { if x != nil { - return x.StandardDeviation + return x.Std } return 0 } -func (x *TagRatingsResult) GetMinPoints() int32 { +func (x *RatingTagResult) GetMin() int32 { if x != nil { - return x.MinPoints + return x.Min } return 0 } -func (x *TagRatingsResult) GetMaxPoints() int32 { +func (x *RatingTagResult) GetMax() int32 { if x != nil { - return x.MaxPoints + return x.Max } return 0 } -type GetCafeteriaResponse struct { +type GetCafeteriaReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1847,23 +1730,23 @@ type GetCafeteriaResponse struct { Cafeteria []*Cafeteria `protobuf:"bytes,1,rep,name=cafeteria,proto3" json:"cafeteria,omitempty"` } -func (x *GetCafeteriaResponse) Reset() { - *x = GetCafeteriaResponse{} +func (x *GetCafeteriaReply) Reset() { + *x = GetCafeteriaReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[27] + mi := &file_CampusService_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetCafeteriaResponse) String() string { +func (x *GetCafeteriaReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetCafeteriaResponse) ProtoMessage() {} +func (*GetCafeteriaReply) ProtoMessage() {} -func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[27] +func (x *GetCafeteriaReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1874,12 +1757,12 @@ func (x *GetCafeteriaResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetCafeteriaResponse.ProtoReflect.Descriptor instead. -func (*GetCafeteriaResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{27} +// Deprecated: Use GetCafeteriaReply.ProtoReflect.Descriptor instead. +func (*GetCafeteriaReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{26} } -func (x *GetCafeteriaResponse) GetCafeteria() []*Cafeteria { +func (x *GetCafeteriaReply) GetCafeteria() []*Cafeteria { if x != nil { return x.Cafeteria } @@ -1891,7 +1774,7 @@ type Cafeteria struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` Longitude float64 `protobuf:"fixed64,3,opt,name=longitude,proto3" json:"longitude,omitempty"` Latitude float64 `protobuf:"fixed64,4,opt,name=latitude,proto3" json:"latitude,omitempty"` @@ -1900,7 +1783,7 @@ type Cafeteria struct { func (x *Cafeteria) Reset() { *x = Cafeteria{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[28] + mi := &file_CampusService_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1913,7 +1796,7 @@ func (x *Cafeteria) String() string { func (*Cafeteria) ProtoMessage() {} func (x *Cafeteria) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[28] + mi := &file_CampusService_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1926,12 +1809,12 @@ func (x *Cafeteria) ProtoReflect() protoreflect.Message { // Deprecated: Use Cafeteria.ProtoReflect.Descriptor instead. func (*Cafeteria) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{28} + return file_CampusService_proto_rawDescGZIP(), []int{27} } -func (x *Cafeteria) GetName() string { +func (x *Cafeteria) GetId() string { if x != nil { - return x.Name + return x.Id } return "" } @@ -1957,31 +1840,34 @@ func (x *Cafeteria) GetLatitude() float64 { return 0 } -type GetResponsiblePersonResponse struct { +type GetDishesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ResponsiblePerson []*ResponsiblePersonElement `protobuf:"bytes,1,rep,name=responsiblePerson,proto3" json:"responsiblePerson,omitempty"` + CafeteriaId string `protobuf:"bytes,1,opt,name=cafeteriaId,proto3" json:"cafeteriaId,omitempty"` + Year int32 `protobuf:"varint,2,opt,name=year,proto3" json:"year,omitempty"` + Month int32 `protobuf:"varint,3,opt,name=month,proto3" json:"month,omitempty"` + Day int32 `protobuf:"varint,4,opt,name=day,proto3" json:"day,omitempty"` } -func (x *GetResponsiblePersonResponse) Reset() { - *x = GetResponsiblePersonResponse{} +func (x *GetDishesRequest) Reset() { + *x = GetDishesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[29] + mi := &file_CampusService_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetResponsiblePersonResponse) String() string { +func (x *GetDishesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetResponsiblePersonResponse) ProtoMessage() {} +func (*GetDishesRequest) ProtoMessage() {} -func (x *GetResponsiblePersonResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[29] +func (x *GetDishesRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1992,47 +1878,64 @@ func (x *GetResponsiblePersonResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetResponsiblePersonResponse.ProtoReflect.Descriptor instead. -func (*GetResponsiblePersonResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{29} +// Deprecated: Use GetDishesRequest.ProtoReflect.Descriptor instead. +func (*GetDishesRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{28} } -func (x *GetResponsiblePersonResponse) GetResponsiblePerson() []*ResponsiblePersonElement { +func (x *GetDishesRequest) GetCafeteriaId() string { if x != nil { - return x.ResponsiblePerson + return x.CafeteriaId } - return nil + return "" } -type ResponsiblePersonElement struct { +func (x *GetDishesRequest) GetYear() int32 { + if x != nil { + return x.Year + } + return 0 +} + +func (x *GetDishesRequest) GetMonth() int32 { + if x != nil { + return x.Month + } + return 0 +} + +func (x *GetDishesRequest) GetDay() int32 { + if x != nil { + return x.Day + } + return 0 +} + +type GetDishesReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Telephone string `protobuf:"bytes,2,opt,name=telephone,proto3" json:"telephone,omitempty"` - Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` - Faculty string `protobuf:"bytes,4,opt,name=faculty,proto3" json:"faculty,omitempty"` - TumID string `protobuf:"bytes,5,opt,name=tumID,proto3" json:"tumID,omitempty"` + Dish []string `protobuf:"bytes,1,rep,name=dish,proto3" json:"dish,omitempty"` } -func (x *ResponsiblePersonElement) Reset() { - *x = ResponsiblePersonElement{} +func (x *GetDishesReply) Reset() { + *x = GetDishesReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[30] + mi := &file_CampusService_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ResponsiblePersonElement) String() string { +func (x *GetDishesReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResponsiblePersonElement) ProtoMessage() {} +func (*GetDishesReply) ProtoMessage() {} -func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[30] +func (x *GetDishesReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2043,71 +1946,43 @@ func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResponsiblePersonElement.ProtoReflect.Descriptor instead. -func (*ResponsiblePersonElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{30} -} - -func (x *ResponsiblePersonElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ResponsiblePersonElement) GetTelephone() string { - if x != nil { - return x.Telephone - } - return "" -} - -func (x *ResponsiblePersonElement) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *ResponsiblePersonElement) GetFaculty() string { - if x != nil { - return x.Faculty - } - return "" +// Deprecated: Use GetDishesReply.ProtoReflect.Descriptor instead. +func (*GetDishesReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{29} } -func (x *ResponsiblePersonElement) GetTumID() string { +func (x *GetDishesReply) GetDish() []string { if x != nil { - return x.TumID + return x.Dish } - return "" + return nil } -type GetBuilding2GpsResponse struct { +type GetResponsiblePersonReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Building2Gps []*Building2GpsElement `protobuf:"bytes,1,rep,name=building2Gps,proto3" json:"building2Gps,omitempty"` + ResponsiblePerson []*ResponsiblePersonElement `protobuf:"bytes,1,rep,name=responsiblePerson,proto3" json:"responsiblePerson,omitempty"` } -func (x *GetBuilding2GpsResponse) Reset() { - *x = GetBuilding2GpsResponse{} +func (x *GetResponsiblePersonReply) Reset() { + *x = GetResponsiblePersonReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[31] + mi := &file_CampusService_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetBuilding2GpsResponse) String() string { +func (x *GetResponsiblePersonReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetBuilding2GpsResponse) ProtoMessage() {} +func (*GetResponsiblePersonReply) ProtoMessage() {} -func (x *GetBuilding2GpsResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[31] +func (x *GetResponsiblePersonReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2118,30 +1993,107 @@ func (x *GetBuilding2GpsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetBuilding2GpsResponse.ProtoReflect.Descriptor instead. -func (*GetBuilding2GpsResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{31} +// Deprecated: Use GetResponsiblePersonReply.ProtoReflect.Descriptor instead. +func (*GetResponsiblePersonReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{30} } -func (x *GetBuilding2GpsResponse) GetBuilding2Gps() []*Building2GpsElement { +func (x *GetResponsiblePersonReply) GetResponsiblePerson() []*ResponsiblePersonElement { if x != nil { - return x.Building2Gps + return x.ResponsiblePerson } return nil } -type Building2GpsElement struct { +type ResponsiblePersonElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Latitude string `protobuf:"bytes,2,opt,name=latitude,proto3" json:"latitude,omitempty"` - Longitude string `protobuf:"bytes,3,opt,name=longitude,proto3" json:"longitude,omitempty"` -} - -func (x *Building2GpsElement) Reset() { - *x = Building2GpsElement{} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Telephone string `protobuf:"bytes,2,opt,name=telephone,proto3" json:"telephone,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + Faculty string `protobuf:"bytes,4,opt,name=faculty,proto3" json:"faculty,omitempty"` + TumID string `protobuf:"bytes,5,opt,name=tumID,proto3" json:"tumID,omitempty"` +} + +func (x *ResponsiblePersonElement) Reset() { + *x = ResponsiblePersonElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResponsiblePersonElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResponsiblePersonElement) ProtoMessage() {} + +func (x *ResponsiblePersonElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResponsiblePersonElement.ProtoReflect.Descriptor instead. +func (*ResponsiblePersonElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{31} +} + +func (x *ResponsiblePersonElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResponsiblePersonElement) GetTelephone() string { + if x != nil { + return x.Telephone + } + return "" +} + +func (x *ResponsiblePersonElement) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *ResponsiblePersonElement) GetFaculty() string { + if x != nil { + return x.Faculty + } + return "" +} + +func (x *ResponsiblePersonElement) GetTumID() string { + if x != nil { + return x.TumID + } + return "" +} + +type GetBuilding2GpsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Building2Gps []*Building2GpsElement `protobuf:"bytes,1,rep,name=building2Gps,proto3" json:"building2Gps,omitempty"` +} + +func (x *GetBuilding2GpsReply) Reset() { + *x = GetBuilding2GpsReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2149,6 +2101,55 @@ func (x *Building2GpsElement) Reset() { } } +func (x *GetBuilding2GpsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBuilding2GpsReply) ProtoMessage() {} + +func (x *GetBuilding2GpsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBuilding2GpsReply.ProtoReflect.Descriptor instead. +func (*GetBuilding2GpsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{32} +} + +func (x *GetBuilding2GpsReply) GetBuilding2Gps() []*Building2GpsElement { + if x != nil { + return x.Building2Gps + } + return nil +} + +type Building2GpsElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Latitude string `protobuf:"bytes,2,opt,name=latitude,proto3" json:"latitude,omitempty"` + Longitude string `protobuf:"bytes,3,opt,name=longitude,proto3" json:"longitude,omitempty"` +} + +func (x *Building2GpsElement) Reset() { + *x = Building2GpsElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + func (x *Building2GpsElement) String() string { return protoimpl.X.MessageStringOf(x) } @@ -2156,7 +2157,7 @@ func (x *Building2GpsElement) String() string { func (*Building2GpsElement) ProtoMessage() {} func (x *Building2GpsElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[32] + mi := &file_CampusService_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2169,7 +2170,7 @@ func (x *Building2GpsElement) ProtoReflect() protoreflect.Message { // Deprecated: Use Building2GpsElement.ProtoReflect.Descriptor instead. func (*Building2GpsElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{32} + return file_CampusService_proto_rawDescGZIP(), []int{33} } func (x *Building2GpsElement) GetId() string { @@ -2193,7 +2194,7 @@ func (x *Building2GpsElement) GetLongitude() string { return "" } -type GetAreaFacilitiesByBuildingNrResponse struct { +type GetAreaFacilitiesByBuildingNrReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2201,23 +2202,23 @@ type GetAreaFacilitiesByBuildingNrResponse struct { AreaFacilitiesByBuildingNr []*RoomInformationElement `protobuf:"bytes,1,rep,name=areaFacilitiesByBuildingNr,proto3" json:"areaFacilitiesByBuildingNr,omitempty"` } -func (x *GetAreaFacilitiesByBuildingNrResponse) Reset() { - *x = GetAreaFacilitiesByBuildingNrResponse{} +func (x *GetAreaFacilitiesByBuildingNrReply) Reset() { + *x = GetAreaFacilitiesByBuildingNrReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[33] + mi := &file_CampusService_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetAreaFacilitiesByBuildingNrResponse) String() string { +func (x *GetAreaFacilitiesByBuildingNrReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAreaFacilitiesByBuildingNrResponse) ProtoMessage() {} +func (*GetAreaFacilitiesByBuildingNrReply) ProtoMessage() {} -func (x *GetAreaFacilitiesByBuildingNrResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[33] +func (x *GetAreaFacilitiesByBuildingNrReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2228,12 +2229,12 @@ func (x *GetAreaFacilitiesByBuildingNrResponse) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use GetAreaFacilitiesByBuildingNrResponse.ProtoReflect.Descriptor instead. -func (*GetAreaFacilitiesByBuildingNrResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{33} +// Deprecated: Use GetAreaFacilitiesByBuildingNrReply.ProtoReflect.Descriptor instead. +func (*GetAreaFacilitiesByBuildingNrReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{34} } -func (x *GetAreaFacilitiesByBuildingNrResponse) GetAreaFacilitiesByBuildingNr() []*RoomInformationElement { +func (x *GetAreaFacilitiesByBuildingNrReply) GetAreaFacilitiesByBuildingNr() []*RoomInformationElement { if x != nil { return x.AreaFacilitiesByBuildingNr } @@ -2251,7 +2252,7 @@ type GetAreaFacilitiesByBuildingNrRequest struct { func (x *GetAreaFacilitiesByBuildingNrRequest) Reset() { *x = GetAreaFacilitiesByBuildingNrRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[34] + mi := &file_CampusService_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2264,7 +2265,7 @@ func (x *GetAreaFacilitiesByBuildingNrRequest) String() string { func (*GetAreaFacilitiesByBuildingNrRequest) ProtoMessage() {} func (x *GetAreaFacilitiesByBuildingNrRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[34] + mi := &file_CampusService_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2277,7 +2278,7 @@ func (x *GetAreaFacilitiesByBuildingNrRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetAreaFacilitiesByBuildingNrRequest.ProtoReflect.Descriptor instead. func (*GetAreaFacilitiesByBuildingNrRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{34} + return file_CampusService_proto_rawDescGZIP(), []int{35} } func (x *GetAreaFacilitiesByBuildingNrRequest) GetBuildingNr() string { @@ -2287,7 +2288,7 @@ func (x *GetAreaFacilitiesByBuildingNrRequest) GetBuildingNr() string { return "" } -type GetListOfToiletsResponse struct { +type GetListOfToiletsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2295,23 +2296,23 @@ type GetListOfToiletsResponse struct { ListOfToilets []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfToilets,proto3" json:"listOfToilets,omitempty"` } -func (x *GetListOfToiletsResponse) Reset() { - *x = GetListOfToiletsResponse{} +func (x *GetListOfToiletsReply) Reset() { + *x = GetListOfToiletsReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[35] + mi := &file_CampusService_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetListOfToiletsResponse) String() string { +func (x *GetListOfToiletsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetListOfToiletsResponse) ProtoMessage() {} +func (*GetListOfToiletsReply) ProtoMessage() {} -func (x *GetListOfToiletsResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[35] +func (x *GetListOfToiletsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2322,12 +2323,12 @@ func (x *GetListOfToiletsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetListOfToiletsResponse.ProtoReflect.Descriptor instead. -func (*GetListOfToiletsResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{35} +// Deprecated: Use GetListOfToiletsReply.ProtoReflect.Descriptor instead. +func (*GetListOfToiletsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{36} } -func (x *GetListOfToiletsResponse) GetListOfToilets() []*RoomInformationElement { +func (x *GetListOfToiletsReply) GetListOfToilets() []*RoomInformationElement { if x != nil { return x.ListOfToilets } @@ -2339,7 +2340,7 @@ type RoomInformationElement struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RoomId int32 `protobuf:"varint,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` RoomCode string `protobuf:"bytes,2,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` BuildingNr string `protobuf:"bytes,3,opt,name=building_nr,json=buildingNr,proto3" json:"building_nr,omitempty"` ArchId string `protobuf:"bytes,4,opt,name=arch_id,json=archId,proto3" json:"arch_id,omitempty"` @@ -2353,7 +2354,7 @@ type RoomInformationElement struct { func (x *RoomInformationElement) Reset() { *x = RoomInformationElement{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[36] + mi := &file_CampusService_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2366,7 +2367,7 @@ func (x *RoomInformationElement) String() string { func (*RoomInformationElement) ProtoMessage() {} func (x *RoomInformationElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[36] + mi := &file_CampusService_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2379,7 +2380,7 @@ func (x *RoomInformationElement) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomInformationElement.ProtoReflect.Descriptor instead. func (*RoomInformationElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{36} + return file_CampusService_proto_rawDescGZIP(), []int{37} } func (x *RoomInformationElement) GetRoomId() int32 { @@ -2445,7 +2446,7 @@ func (x *RoomInformationElement) GetName() string { return "" } -type GetListOfElevatorsResponse struct { +type GetListOfElevatorsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2453,23 +2454,23 @@ type GetListOfElevatorsResponse struct { ListOfElevators []*RoomInformationElement `protobuf:"bytes,1,rep,name=listOfElevators,proto3" json:"listOfElevators,omitempty"` } -func (x *GetListOfElevatorsResponse) Reset() { - *x = GetListOfElevatorsResponse{} +func (x *GetListOfElevatorsReply) Reset() { + *x = GetListOfElevatorsReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[37] + mi := &file_CampusService_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetListOfElevatorsResponse) String() string { +func (x *GetListOfElevatorsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetListOfElevatorsResponse) ProtoMessage() {} +func (*GetListOfElevatorsReply) ProtoMessage() {} -func (x *GetListOfElevatorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[37] +func (x *GetListOfElevatorsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2480,19 +2481,19 @@ func (x *GetListOfElevatorsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetListOfElevatorsResponse.ProtoReflect.Descriptor instead. -func (*GetListOfElevatorsResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{37} +// Deprecated: Use GetListOfElevatorsReply.ProtoReflect.Descriptor instead. +func (*GetListOfElevatorsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{38} } -func (x *GetListOfElevatorsResponse) GetListOfElevators() []*RoomInformationElement { +func (x *GetListOfElevatorsReply) GetListOfElevators() []*RoomInformationElement { if x != nil { return x.ListOfElevators } return nil } -type GetMoreInformationResponse struct { +type GetMoreInformationReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2500,23 +2501,23 @@ type GetMoreInformationResponse struct { Information []*MoreInformationElement `protobuf:"bytes,1,rep,name=information,proto3" json:"information,omitempty"` } -func (x *GetMoreInformationResponse) Reset() { - *x = GetMoreInformationResponse{} +func (x *GetMoreInformationReply) Reset() { + *x = GetMoreInformationReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[38] + mi := &file_CampusService_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetMoreInformationResponse) String() string { +func (x *GetMoreInformationReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetMoreInformationResponse) ProtoMessage() {} +func (*GetMoreInformationReply) ProtoMessage() {} -func (x *GetMoreInformationResponse) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[38] +func (x *GetMoreInformationReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2527,12 +2528,12 @@ func (x *GetMoreInformationResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMoreInformationResponse.ProtoReflect.Descriptor instead. -func (*GetMoreInformationResponse) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{38} +// Deprecated: Use GetMoreInformationReply.ProtoReflect.Descriptor instead. +func (*GetMoreInformationReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{39} } -func (x *GetMoreInformationResponse) GetInformation() []*MoreInformationElement { +func (x *GetMoreInformationReply) GetInformation() []*MoreInformationElement { if x != nil { return x.Information } @@ -2552,7 +2553,7 @@ type MoreInformationElement struct { func (x *MoreInformationElement) Reset() { *x = MoreInformationElement{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[39] + mi := &file_CampusService_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2565,7 +2566,7 @@ func (x *MoreInformationElement) String() string { func (*MoreInformationElement) ProtoMessage() {} func (x *MoreInformationElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[39] + mi := &file_CampusService_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2578,7 +2579,7 @@ func (x *MoreInformationElement) ProtoReflect() protoreflect.Message { // Deprecated: Use MoreInformationElement.ProtoReflect.Descriptor instead. func (*MoreInformationElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{39} + return file_CampusService_proto_rawDescGZIP(), []int{40} } func (x *MoreInformationElement) GetTitle() string { @@ -2602,35 +2603,31 @@ func (x *MoreInformationElement) GetUrl() string { return "" } -type GetRoomScheduleReply_RoomScheduleEvent struct { +type GetOpeningTimesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` - End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - EventId int32 `protobuf:"varint,4,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` - CourseCode string `protobuf:"bytes,5,opt,name=course_code,json=courseCode,proto3" json:"course_code,omitempty"` + Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"` } -func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { - *x = GetRoomScheduleReply_RoomScheduleEvent{} +func (x *GetOpeningTimesRequest) Reset() { + *x = GetOpeningTimesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[40] + mi := &file_CampusService_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { +func (x *GetOpeningTimesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} +func (*GetOpeningTimesRequest) ProtoMessage() {} -func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[40] +func (x *GetOpeningTimesRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2641,75 +2638,100 @@ func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use GetRoomScheduleReply_RoomScheduleEvent.ProtoReflect.Descriptor instead. -func (*GetRoomScheduleReply_RoomScheduleEvent) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{1, 0} +// Deprecated: Use GetOpeningTimesRequest.ProtoReflect.Descriptor instead. +func (*GetOpeningTimesRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{41} } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetStart() *timestamppb.Timestamp { +func (x *GetOpeningTimesRequest) GetLanguage() string { if x != nil { - return x.Start + return x.Language } - return nil + return "" } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEnd() *timestamppb.Timestamp { - if x != nil { - return x.End - } - return nil +type GetOpeningTimesReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Facilities []*OpeningTimesMsgElement `protobuf:"bytes,1,rep,name=facilities,proto3" json:"facilities,omitempty"` } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetTitle() string { - if x != nil { - return x.Title +func (x *GetOpeningTimesReply) Reset() { + *x = GetOpeningTimesReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEventId() int32 { - if x != nil { - return x.EventId +func (x *GetOpeningTimesReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOpeningTimesReply) ProtoMessage() {} + +func (x *GetOpeningTimesReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *GetRoomScheduleReply_RoomScheduleEvent) GetCourseCode() string { +// Deprecated: Use GetOpeningTimesReply.ProtoReflect.Descriptor instead. +func (*GetOpeningTimesReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{42} +} + +func (x *GetOpeningTimesReply) GetFacilities() []*OpeningTimesMsgElement { if x != nil { - return x.CourseCode + return x.Facilities } - return "" + return nil } -type GetRoomMapsReply_Map struct { +type OpeningTimesMsgElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Scale int64 `protobuf:"varint,3,opt,name=scale,proto3" json:"scale,omitempty"` - Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` - Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` -} - -func (x *GetRoomMapsReply_Map) Reset() { - *x = GetRoomMapsReply_Map{} + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` + Room string `protobuf:"bytes,5,opt,name=room,proto3" json:"room,omitempty"` + TransportStation string `protobuf:"bytes,6,opt,name=transport_station,json=transportStation,proto3" json:"transport_station,omitempty"` + OpeningHours string `protobuf:"bytes,7,opt,name=opening_hours,json=openingHours,proto3" json:"opening_hours,omitempty"` + Infos string `protobuf:"bytes,8,opt,name=infos,proto3" json:"infos,omitempty"` + Url string `protobuf:"bytes,9,opt,name=url,proto3" json:"url,omitempty"` + Language string `protobuf:"bytes,10,opt,name=language,proto3" json:"language,omitempty"` + ReferenceId int32 `protobuf:"varint,11,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` +} + +func (x *OpeningTimesMsgElement) Reset() { + *x = OpeningTimesMsgElement{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[41] + mi := &file_CampusService_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetRoomMapsReply_Map) String() string { +func (x *OpeningTimesMsgElement) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRoomMapsReply_Map) ProtoMessage() {} +func (*OpeningTimesMsgElement) ProtoMessage() {} -func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[41] +func (x *OpeningTimesMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2720,789 +2742,5620 @@ func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetRoomMapsReply_Map.ProtoReflect.Descriptor instead. -func (*GetRoomMapsReply_Map) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{5, 0} +// Deprecated: Use OpeningTimesMsgElement.ProtoReflect.Descriptor instead. +func (*OpeningTimesMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{43} } -func (x *GetRoomMapsReply_Map) GetMapId() int64 { +func (x *OpeningTimesMsgElement) GetId() int32 { if x != nil { - return x.MapId + return x.Id } return 0 } -func (x *GetRoomMapsReply_Map) GetDescription() string { +func (x *OpeningTimesMsgElement) GetCategory() string { if x != nil { - return x.Description + return x.Category } return "" } -func (x *GetRoomMapsReply_Map) GetScale() int64 { +func (x *OpeningTimesMsgElement) GetName() string { if x != nil { - return x.Scale + return x.Name + } + return "" +} + +func (x *OpeningTimesMsgElement) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *OpeningTimesMsgElement) GetRoom() string { + if x != nil { + return x.Room + } + return "" +} + +func (x *OpeningTimesMsgElement) GetTransportStation() string { + if x != nil { + return x.TransportStation + } + return "" +} + +func (x *OpeningTimesMsgElement) GetOpeningHours() string { + if x != nil { + return x.OpeningHours + } + return "" +} + +func (x *OpeningTimesMsgElement) GetInfos() string { + if x != nil { + return x.Infos + } + return "" +} + +func (x *OpeningTimesMsgElement) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *OpeningTimesMsgElement) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *OpeningTimesMsgElement) GetReferenceId() int32 { + if x != nil { + return x.ReferenceId } return 0 } -func (x *GetRoomMapsReply_Map) GetWidth() int64 { +type GetUpdateNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *GetUpdateNoteRequest) Reset() { + *x = GetUpdateNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUpdateNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUpdateNoteRequest) ProtoMessage() {} + +func (x *GetUpdateNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUpdateNoteRequest.ProtoReflect.Descriptor instead. +func (*GetUpdateNoteRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{44} +} + +func (x *GetUpdateNoteRequest) GetVersion() int32 { if x != nil { - return x.Width + return x.Version } return 0 } -func (x *GetRoomMapsReply_Map) GetHeight() int64 { +type GetUpdateNoteReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *GetUpdateNoteReply) Reset() { + *x = GetUpdateNoteReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUpdateNoteReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUpdateNoteReply) ProtoMessage() {} + +func (x *GetUpdateNoteReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUpdateNoteReply.ProtoReflect.Descriptor instead. +func (*GetUpdateNoteReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{45} +} + +func (x *GetUpdateNoteReply) GetMessage() string { if x != nil { - return x.Height + return x.Message + } + return "" +} + +type GetStudyRoomListReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rooms []*StudyRoomMsgElement `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` +} + +func (x *GetStudyRoomListReply) Reset() { + *x = GetStudyRoomListReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStudyRoomListReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStudyRoomListReply) ProtoMessage() {} + +func (x *GetStudyRoomListReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStudyRoomListReply.ProtoReflect.Descriptor instead. +func (*GetStudyRoomListReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{46} +} + +func (x *GetStudyRoomListReply) GetRooms() []*StudyRoomMsgElement { + if x != nil { + return x.Rooms + } + return nil +} + +type StudyRoomMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` + Rooms []*StudyRoom `protobuf:"bytes,4,rep,name=rooms,proto3" json:"rooms,omitempty"` +} + +func (x *StudyRoomMsgElement) Reset() { + *x = StudyRoomMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudyRoomMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudyRoomMsgElement) ProtoMessage() {} + +func (x *StudyRoomMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StudyRoomMsgElement.ProtoReflect.Descriptor instead. +func (*StudyRoomMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{47} +} + +func (x *StudyRoomMsgElement) GetId() int32 { + if x != nil { + return x.Id } return 0 } -type GetLocationsReply_Location struct { +func (x *StudyRoomMsgElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *StudyRoomMsgElement) GetDetails() string { + if x != nil { + return x.Details + } + return "" +} + +func (x *StudyRoomMsgElement) GetRooms() []*StudyRoom { + if x != nil { + return x.Rooms + } + return nil +} + +type StudyRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Lon string `protobuf:"bytes,3,opt,name=lon,proto3" json:"lon,omitempty"` - Lat string `protobuf:"bytes,4,opt,name=lat,proto3" json:"lat,omitempty"` - Radius string `protobuf:"bytes,5,opt,name=radius,proto3" json:"radius,omitempty"` + GroupId int32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + RoomId int32 `protobuf:"varint,2,opt,name=roomId,proto3" json:"roomId,omitempty"` + RoomCode string `protobuf:"bytes,3,opt,name=room_code,json=roomCode,proto3" json:"room_code,omitempty"` + RoomName string `protobuf:"bytes,4,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` + BuildingName string `protobuf:"bytes,5,opt,name=building_name,json=buildingName,proto3" json:"building_name,omitempty"` } -func (x *GetLocationsReply_Location) Reset() { - *x = GetLocationsReply_Location{} +func (x *StudyRoom) Reset() { + *x = StudyRoom{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[42] + mi := &file_CampusService_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetLocationsReply_Location) String() string { +func (x *StudyRoom) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetLocationsReply_Location) ProtoMessage() {} +func (*StudyRoom) ProtoMessage() {} -func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[42] +func (x *StudyRoom) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLocationsReply_Location.ProtoReflect.Descriptor instead. -func (*GetLocationsReply_Location) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{7, 0} -} - -func (x *GetLocationsReply_Location) GetLocation() string { - if x != nil { - return x.Location - } - return "" -} - -func (x *GetLocationsReply_Location) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *GetLocationsReply_Location) GetLon() string { - if x != nil { - return x.Lon - } - return "" -} - -func (x *GetLocationsReply_Location) GetLat() string { - if x != nil { - return x.Lat - } - return "" -} - -func (x *GetLocationsReply_Location) GetRadius() string { - if x != nil { - return x.Radius - } - return "" -} - -var File_CampusService_proto protoreflect.FileDescriptor - -var file_CampusService_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, - 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0xc5, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, - 0x75, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x34, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, - 0x64, 0x22, 0x78, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, - 0x75, 0x74, 0x6d, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x75, 0x74, 0x6d, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x6d, 0x5f, 0x65, - 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x75, 0x74, - 0x6d, 0x45, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x74, 0x6d, 0x5f, - 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, - 0x75, 0x74, 0x6d, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x1a, 0x82, - 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x22, 0x31, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x09, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x76, 0x0a, 0x08, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x64, - 0x69, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, - 0x33, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, - 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x17, 0x0a, - 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x6e, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, - 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, - 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, - 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3c, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, - 0x4e, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, - 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, - 0xd4, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xbf, 0x01, 0x0a, 0x11, 0x4d, 0x65, - 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x17, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, - 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, - 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, - 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, - 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0xb7, 0x02, 0x0a, - 0x12, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, - 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, - 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, - 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0a, - 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, - 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x12, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, - 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x0a, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x61, 0x67, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, - 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x56, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x4e, 0x65, - 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x4e, 0x65, - 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6d, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, - 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, - 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, - 0x76, 0x69, 0x65, 0x77, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x33, 0x0a, 0x11, 0x54, 0x61, - 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, - 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x44, 0x45, 0x12, - 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x45, 0x4e, 0x22, - 0x49, 0x0a, 0x0f, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x44, 0x45, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x45, 0x4e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x35, 0x0a, 0x09, 0x54, 0x61, - 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x67, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x44, 0x45, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x44, 0x45, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x4e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x45, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, - 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, - 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, - 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, - 0x69, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, - 0x0a, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x52, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0x73, 0x0a, 0x09, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, - 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x22, 0x6b, 0x0a, 0x1c, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, - 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x22, 0x92, - 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x75, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x75, - 0x6d, 0x49, 0x44, 0x22, 0x57, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, - 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, - 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x13, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x84, 0x01, - 0x0a, 0x25, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, - 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, - 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, - 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x47, 0x0a, 0x24, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, - 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x5d, 0x0a, - 0x18, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x6c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x6c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, - 0x16, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x17, - 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x1a, 0x67, - 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x22, 0x5b, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, - 0x0a, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, - 0x16, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x32, 0xfb, 0x11, 0x0a, 0x06, - 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, - 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, - 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, - 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, - 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, - 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, - 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, - 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, - 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, - 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, - 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x23, 0x22, 0x1e, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x67, 0x65, - 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x6c, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, - 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x86, 0x01, - 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x2f, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x72, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, - 0x77, 0x4d, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x28, 0x22, 0x23, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x61, - 0x6c, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6c, 0x54, 0x61, - 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, - 0x61, 0x6c, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, - 0x12, 0x22, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x74, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, - 0x12, 0x28, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x70, 0x0a, 0x14, 0x67, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, - 0x72, 0x65, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6d, 0x0a, 0x0f, - 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, - 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, - 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, - 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x1d, - 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, - 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, - 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, - 0x12, 0x6d, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, - 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, - 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, - 0x73, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, - 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, - 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x12, 0x73, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, - 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, - 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, - 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, - 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, - 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} - -var ( - file_CampusService_proto_rawDescOnce sync.Once - file_CampusService_proto_rawDescData = file_CampusService_proto_rawDesc -) - -func file_CampusService_proto_rawDescGZIP() []byte { - file_CampusService_proto_rawDescOnce.Do(func() { - file_CampusService_proto_rawDescData = protoimpl.X.CompressGZIP(file_CampusService_proto_rawDescData) - }) - return file_CampusService_proto_rawDescData -} - -var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 43) -var file_CampusService_proto_goTypes = []interface{}{ - (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest - (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply - (*GetRoomCoordinatesRequest)(nil), // 2: api.GetRoomCoordinatesRequest - (*GetRoomCoordinatesReply)(nil), // 3: api.GetRoomCoordinatesReply - (*GetRoomMapsRequest)(nil), // 4: api.GetRoomMapsRequest - (*GetRoomMapsReply)(nil), // 5: api.GetRoomMapsReply - (*GetLocationsRequest)(nil), // 6: api.GetLocationsRequest - (*GetLocationsReply)(nil), // 7: api.GetLocationsReply - (*SearchRoomsRequest)(nil), // 8: api.SearchRoomsRequest - (*SearchRoomsReply)(nil), // 9: api.SearchRoomsReply - (*Room)(nil), // 10: api.Room - (*NewsSourceArray)(nil), // 11: api.NewsSourceArray - (*NewsSource)(nil), // 12: api.NewsSource - (*GetTopNewsReply)(nil), // 13: api.GetTopNewsReply - (*CafeteriaRatingRequest)(nil), // 14: api.CafeteriaRatingRequest - (*MealRatingRequest)(nil), // 15: api.MealRatingRequest - (*CafeteriaRatingResponse)(nil), // 16: api.CafeteriaRatingResponse - (*MealRatingResponse)(nil), // 17: api.MealRatingResponse - (*CafeteriaRating)(nil), // 18: api.CafeteriaRating - (*MealRating)(nil), // 19: api.MealRating - (*NewCafeteriaRatingRequest)(nil), // 20: api.NewCafeteriaRatingRequest - (*NewMealRatingRequest)(nil), // 21: api.NewMealRatingRequest - (*GetRatingTagsReply)(nil), // 22: api.GetRatingTagsReply - (*TagRatingOverview)(nil), // 23: api.TagRatingOverview - (*TagRatingResult)(nil), // 24: api.TagRatingResult - (*TagRating)(nil), // 25: api.TagRating - (*TagRatingsResult)(nil), // 26: api.TagRatingsResult - (*GetCafeteriaResponse)(nil), // 27: api.GetCafeteriaResponse - (*Cafeteria)(nil), // 28: api.Cafeteria - (*GetResponsiblePersonResponse)(nil), // 29: api.getResponsiblePersonResponse - (*ResponsiblePersonElement)(nil), // 30: api.ResponsiblePersonElement - (*GetBuilding2GpsResponse)(nil), // 31: api.getBuilding2GpsResponse - (*Building2GpsElement)(nil), // 32: api.Building2GpsElement - (*GetAreaFacilitiesByBuildingNrResponse)(nil), // 33: api.getAreaFacilitiesByBuildingNrResponse - (*GetAreaFacilitiesByBuildingNrRequest)(nil), // 34: api.getAreaFacilitiesByBuildingNrRequest - (*GetListOfToiletsResponse)(nil), // 35: api.getListOfToiletsResponse - (*RoomInformationElement)(nil), // 36: api.RoomInformationElement - (*GetListOfElevatorsResponse)(nil), // 37: api.getListOfElevatorsResponse - (*GetMoreInformationResponse)(nil), // 38: api.getMoreInformationResponse - (*MoreInformationElement)(nil), // 39: api.MoreInformationElement - (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 40: api.GetRoomScheduleReply.RoomScheduleEvent - (*GetRoomMapsReply_Map)(nil), // 41: api.GetRoomMapsReply.Map - (*GetLocationsReply_Location)(nil), // 42: api.GetLocationsReply.Location - (*timestamppb.Timestamp)(nil), // 43: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 44: google.protobuf.Empty -} -var file_CampusService_proto_depIdxs = []int32{ - 43, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp - 43, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp - 40, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent - 41, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map - 42, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location - 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room - 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource - 43, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp - 43, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp - 43, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp - 43, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp - 43, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp - 43, // 12: api.MealRatingRequest.from:type_name -> google.protobuf.Timestamp - 43, // 13: api.MealRatingRequest.to:type_name -> google.protobuf.Timestamp - 18, // 14: api.CafeteriaRatingResponse.rating:type_name -> api.CafeteriaRating - 26, // 15: api.CafeteriaRatingResponse.ratingTags:type_name -> api.TagRatingsResult - 19, // 16: api.MealRatingResponse.rating:type_name -> api.MealRating - 26, // 17: api.MealRatingResponse.ratingTags:type_name -> api.TagRatingsResult - 26, // 18: api.MealRatingResponse.nameTags:type_name -> api.TagRatingsResult - 24, // 19: api.CafeteriaRating.tagRating:type_name -> api.TagRatingResult - 43, // 20: api.CafeteriaRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 24, // 21: api.MealRating.tagRating:type_name -> api.TagRatingResult - 43, // 22: api.MealRating.cafeteriaVisitedAt:type_name -> google.protobuf.Timestamp - 25, // 23: api.NewCafeteriaRatingRequest.tags:type_name -> api.TagRating - 25, // 24: api.NewMealRatingRequest.tags:type_name -> api.TagRating - 23, // 25: api.GetRatingTagsReply.tags:type_name -> api.TagRatingOverview - 28, // 26: api.GetCafeteriaResponse.cafeteria:type_name -> api.Cafeteria - 30, // 27: api.getResponsiblePersonResponse.responsiblePerson:type_name -> api.ResponsiblePersonElement - 32, // 28: api.getBuilding2GpsResponse.building2Gps:type_name -> api.Building2GpsElement - 36, // 29: api.getAreaFacilitiesByBuildingNrResponse.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement - 36, // 30: api.getListOfToiletsResponse.listOfToilets:type_name -> api.RoomInformationElement - 36, // 31: api.getListOfElevatorsResponse.listOfElevators:type_name -> api.RoomInformationElement - 39, // 32: api.getMoreInformationResponse.information:type_name -> api.MoreInformationElement - 43, // 33: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp - 43, // 34: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp - 44, // 35: api.Campus.GetTopNews:input_type -> google.protobuf.Empty - 44, // 36: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty - 8, // 37: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest - 6, // 38: api.Campus.GetLocations:input_type -> api.GetLocationsRequest - 4, // 39: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest - 2, // 40: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest - 0, // 41: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest - 14, // 42: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest - 15, // 43: api.Campus.GetMealRatings:input_type -> api.MealRatingRequest - 20, // 44: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest - 21, // 45: api.Campus.NewMealRating:input_type -> api.NewMealRatingRequest - 44, // 46: api.Campus.GetAvailableMealTags:input_type -> google.protobuf.Empty - 44, // 47: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty - 44, // 48: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty - 44, // 49: api.Campus.getResponsiblePerson:input_type -> google.protobuf.Empty - 44, // 50: api.Campus.getBuilding2Gps:input_type -> google.protobuf.Empty - 34, // 51: api.Campus.getAreaFacilitiesByBuildingNr:input_type -> api.getAreaFacilitiesByBuildingNrRequest - 44, // 52: api.Campus.getListOfToilets:input_type -> google.protobuf.Empty - 44, // 53: api.Campus.getListOfElevators:input_type -> google.protobuf.Empty - 44, // 54: api.Campus.getMoreInformation:input_type -> google.protobuf.Empty - 13, // 55: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 56: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 57: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 58: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 59: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 60: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 61: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 62: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingResponse - 17, // 63: api.Campus.GetMealRatings:output_type -> api.MealRatingResponse - 44, // 64: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 44, // 65: api.Campus.NewMealRating:output_type -> google.protobuf.Empty - 22, // 66: api.Campus.GetAvailableMealTags:output_type -> api.GetRatingTagsReply - 22, // 67: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 27, // 68: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaResponse - 29, // 69: api.Campus.getResponsiblePerson:output_type -> api.getResponsiblePersonResponse - 31, // 70: api.Campus.getBuilding2Gps:output_type -> api.getBuilding2GpsResponse - 33, // 71: api.Campus.getAreaFacilitiesByBuildingNr:output_type -> api.getAreaFacilitiesByBuildingNrResponse - 35, // 72: api.Campus.getListOfToilets:output_type -> api.getListOfToiletsResponse - 37, // 73: api.Campus.getListOfElevators:output_type -> api.getListOfElevatorsResponse - 38, // 74: api.Campus.getMoreInformation:output_type -> api.getMoreInformationResponse - 55, // [55:75] is the sub-list for method output_type - 35, // [35:55] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name -} - -func init() { file_CampusService_proto_init() } -func file_CampusService_proto_init() { - if File_CampusService_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_CampusService_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleRequest); i { + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StudyRoom.ProtoReflect.Descriptor instead. +func (*StudyRoom) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{48} +} + +func (x *StudyRoom) GetGroupId() int32 { + if x != nil { + return x.GroupId + } + return 0 +} + +func (x *StudyRoom) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *StudyRoom) GetRoomCode() string { + if x != nil { + return x.RoomCode + } + return "" +} + +func (x *StudyRoom) GetRoomName() string { + if x != nil { + return x.RoomName + } + return "" +} + +func (x *StudyRoom) GetBuildingName() string { + if x != nil { + return x.BuildingName + } + return "" +} + +type GetEventListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // optional parameter, will return all events if no id is specified + EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` +} + +func (x *GetEventListRequest) Reset() { + *x = GetEventListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventListRequest) ProtoMessage() {} + +func (x *GetEventListRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventListRequest.ProtoReflect.Descriptor instead. +func (*GetEventListRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{49} +} + +func (x *GetEventListRequest) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +type GetEventListReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Events []*EventListMsgElement `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` +} + +func (x *GetEventListReply) Reset() { + *x = GetEventListReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventListReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventListReply) ProtoMessage() {} + +func (x *GetEventListReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventListReply.ProtoReflect.Descriptor instead. +func (*GetEventListReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{50} +} + +func (x *GetEventListReply) GetEvents() []*EventListMsgElement { + if x != nil { + return x.Events + } + return nil +} + +type EventListMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Event int32 `protobuf:"varint,3,opt,name=event,proto3" json:"event,omitempty"` + News int32 `protobuf:"varint,4,opt,name=news,proto3" json:"news,omitempty"` + Kino int32 `protobuf:"varint,5,opt,name=kino,proto3" json:"kino,omitempty"` + File int32 `protobuf:"varint,6,opt,name=file,proto3" json:"file,omitempty"` + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` + Locality string `protobuf:"bytes,9,opt,name=locality,proto3" json:"locality,omitempty"` + Link string `protobuf:"bytes,10,opt,name=link,proto3" json:"link,omitempty"` + Start *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=start,proto3" json:"start,omitempty"` + End *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=end,proto3" json:"end,omitempty"` + TicketGroup int32 `protobuf:"varint,13,opt,name=ticket_group,json=ticketGroup,proto3" json:"ticket_group,omitempty"` +} + +func (x *EventListMsgElement) Reset() { + *x = EventListMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventListMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventListMsgElement) ProtoMessage() {} + +func (x *EventListMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventListMsgElement.ProtoReflect.Descriptor instead. +func (*EventListMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{51} +} + +func (x *EventListMsgElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EventListMsgElement) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *EventListMsgElement) GetEvent() int32 { + if x != nil { + return x.Event + } + return 0 +} + +func (x *EventListMsgElement) GetNews() int32 { + if x != nil { + return x.News + } + return 0 +} + +func (x *EventListMsgElement) GetKino() int32 { + if x != nil { + return x.Kino + } + return 0 +} + +func (x *EventListMsgElement) GetFile() int32 { + if x != nil { + return x.File + } + return 0 +} + +func (x *EventListMsgElement) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *EventListMsgElement) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *EventListMsgElement) GetLocality() string { + if x != nil { + return x.Locality + } + return "" +} + +func (x *EventListMsgElement) GetLink() string { + if x != nil { + return x.Link + } + return "" +} + +func (x *EventListMsgElement) GetStart() *timestamppb.Timestamp { + if x != nil { + return x.Start + } + return nil +} + +func (x *EventListMsgElement) GetEnd() *timestamppb.Timestamp { + if x != nil { + return x.End + } + return nil +} + +func (x *EventListMsgElement) GetTicketGroup() int32 { + if x != nil { + return x.TicketGroup + } + return 0 +} + +type PostEventTicketMyReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MyTickets []*EventTicketMyMsgElement `protobuf:"bytes,1,rep,name=myTickets,proto3" json:"myTickets,omitempty"` +} + +func (x *PostEventTicketMyReply) Reset() { + *x = PostEventTicketMyReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostEventTicketMyReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostEventTicketMyReply) ProtoMessage() {} + +func (x *PostEventTicketMyReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostEventTicketMyReply.ProtoReflect.Descriptor instead. +func (*PostEventTicketMyReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{52} +} + +func (x *PostEventTicketMyReply) GetMyTickets() []*EventTicketMyMsgElement { + if x != nil { + return x.MyTickets + } + return nil +} + +type EventTicketMyMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketHistory int32 `protobuf:"varint,1,opt,name=ticket_history,json=ticketHistory,proto3" json:"ticket_history,omitempty"` + TicketType int32 `protobuf:"varint,2,opt,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"` + Redemption *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=redemption,proto3" json:"redemption,omitempty"` + Code string `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"` + Event int32 `protobuf:"varint,5,opt,name=event,proto3" json:"event,omitempty"` +} + +func (x *EventTicketMyMsgElement) Reset() { + *x = EventTicketMyMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventTicketMyMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventTicketMyMsgElement) ProtoMessage() {} + +func (x *EventTicketMyMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventTicketMyMsgElement.ProtoReflect.Descriptor instead. +func (*EventTicketMyMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{53} +} + +func (x *EventTicketMyMsgElement) GetTicketHistory() int32 { + if x != nil { + return x.TicketHistory + } + return 0 +} + +func (x *EventTicketMyMsgElement) GetTicketType() int32 { + if x != nil { + return x.TicketType + } + return 0 +} + +func (x *EventTicketMyMsgElement) GetRedemption() *timestamppb.Timestamp { + if x != nil { + return x.Redemption + } + return nil +} + +func (x *EventTicketMyMsgElement) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *EventTicketMyMsgElement) GetEvent() int32 { + if x != nil { + return x.Event + } + return 0 +} + +type PostEventTicketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *PostEventTicketRequest) Reset() { + *x = PostEventTicketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostEventTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostEventTicketRequest) ProtoMessage() {} + +func (x *PostEventTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostEventTicketRequest.ProtoReflect.Descriptor instead. +func (*PostEventTicketRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{54} +} + +func (x *PostEventTicketRequest) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +type GetEventTicketTypeReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventTickets []*EventTicketTypeMsgElement `protobuf:"bytes,1,rep,name=eventTickets,proto3" json:"eventTickets,omitempty"` +} + +func (x *GetEventTicketTypeReply) Reset() { + *x = GetEventTicketTypeReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventTicketTypeReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventTicketTypeReply) ProtoMessage() {} + +func (x *GetEventTicketTypeReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventTicketTypeReply.ProtoReflect.Descriptor instead. +func (*GetEventTicketTypeReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{55} +} + +func (x *GetEventTicketTypeReply) GetEventTickets() []*EventTicketTypeMsgElement { + if x != nil { + return x.EventTickets + } + return nil +} + +type EventTicketTypeMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketType int32 `protobuf:"varint,1,opt,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"` + Event int32 `protobuf:"varint,2,opt,name=event,proto3" json:"event,omitempty"` + TicketPayment int32 `protobuf:"varint,3,opt,name=ticket_payment,json=ticketPayment,proto3" json:"ticket_payment,omitempty"` + Price int32 `protobuf:"varint,4,opt,name=price,proto3" json:"price,omitempty"` + Contingent int32 `protobuf:"varint,5,opt,name=contingent,proto3" json:"contingent,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + Payment *EventTicketPaymentMsg `protobuf:"bytes,7,opt,name=payment,proto3" json:"payment,omitempty"` + Sold int32 `protobuf:"varint,8,opt,name=sold,proto3" json:"sold,omitempty"` +} + +func (x *EventTicketTypeMsgElement) Reset() { + *x = EventTicketTypeMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventTicketTypeMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventTicketTypeMsgElement) ProtoMessage() {} + +func (x *EventTicketTypeMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventTicketTypeMsgElement.ProtoReflect.Descriptor instead. +func (*EventTicketTypeMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{56} +} + +func (x *EventTicketTypeMsgElement) GetTicketType() int32 { + if x != nil { + return x.TicketType + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetEvent() int32 { + if x != nil { + return x.Event + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetTicketPayment() int32 { + if x != nil { + return x.TicketPayment + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetPrice() int32 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetContingent() int32 { + if x != nil { + return x.Contingent + } + return 0 +} + +func (x *EventTicketTypeMsgElement) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *EventTicketTypeMsgElement) GetPayment() *EventTicketPaymentMsg { + if x != nil { + return x.Payment + } + return nil +} + +func (x *EventTicketTypeMsgElement) GetSold() int32 { + if x != nil { + return x.Sold + } + return 0 +} + +type EventTicketPaymentMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StripePublishableKey string `protobuf:"bytes,1,opt,name=stripe_publishable_key,json=stripePublishableKey,proto3" json:"stripe_publishable_key,omitempty"` + Terms string `protobuf:"bytes,2,opt,name=terms,proto3" json:"terms,omitempty"` + MinTickets int32 `protobuf:"varint,3,opt,name=minTickets,proto3" json:"minTickets,omitempty"` + MaxTickets int32 `protobuf:"varint,4,opt,name=maxTickets,proto3" json:"maxTickets,omitempty"` +} + +func (x *EventTicketPaymentMsg) Reset() { + *x = EventTicketPaymentMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventTicketPaymentMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventTicketPaymentMsg) ProtoMessage() {} + +func (x *EventTicketPaymentMsg) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventTicketPaymentMsg.ProtoReflect.Descriptor instead. +func (*EventTicketPaymentMsg) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{57} +} + +func (x *EventTicketPaymentMsg) GetStripePublishableKey() string { + if x != nil { + return x.StripePublishableKey + } + return "" +} + +func (x *EventTicketPaymentMsg) GetTerms() string { + if x != nil { + return x.Terms + } + return "" +} + +func (x *EventTicketPaymentMsg) GetMinTickets() int32 { + if x != nil { + return x.MinTickets + } + return 0 +} + +func (x *EventTicketPaymentMsg) GetMaxTickets() int32 { + if x != nil { + return x.MaxTickets + } + return 0 +} + +type PostEventTicketReserveMultipleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketTypes []int32 `protobuf:"varint,1,rep,packed,name=ticketTypes,proto3" json:"ticketTypes,omitempty"` + Amounts []int32 `protobuf:"varint,2,rep,packed,name=amounts,proto3" json:"amounts,omitempty"` +} + +func (x *PostEventTicketReserveMultipleRequest) Reset() { + *x = PostEventTicketReserveMultipleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostEventTicketReserveMultipleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostEventTicketReserveMultipleRequest) ProtoMessage() {} + +func (x *PostEventTicketReserveMultipleRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostEventTicketReserveMultipleRequest.ProtoReflect.Descriptor instead. +func (*PostEventTicketReserveMultipleRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{58} +} + +func (x *PostEventTicketReserveMultipleRequest) GetTicketTypes() []int32 { + if x != nil { + return x.TicketTypes + } + return nil +} + +func (x *PostEventTicketReserveMultipleRequest) GetAmounts() []int32 { + if x != nil { + return x.Amounts + } + return nil +} + +type PostEventTicketReserveMultipleReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tickets []*EventTicketReserveMultipleMsgElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` +} + +func (x *PostEventTicketReserveMultipleReply) Reset() { + *x = PostEventTicketReserveMultipleReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostEventTicketReserveMultipleReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostEventTicketReserveMultipleReply) ProtoMessage() {} + +func (x *PostEventTicketReserveMultipleReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostEventTicketReserveMultipleReply.ProtoReflect.Descriptor instead. +func (*PostEventTicketReserveMultipleReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{59} +} + +func (x *PostEventTicketReserveMultipleReply) GetTickets() []*EventTicketReserveMultipleMsgElement { + if x != nil { + return x.Tickets + } + return nil +} + +type EventTicketReserveMultipleMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketIds int32 `protobuf:"varint,1,opt,name=ticket_ids,json=ticketIds,proto3" json:"ticket_ids,omitempty"` +} + +func (x *EventTicketReserveMultipleMsgElement) Reset() { + *x = EventTicketReserveMultipleMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventTicketReserveMultipleMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventTicketReserveMultipleMsgElement) ProtoMessage() {} + +func (x *EventTicketReserveMultipleMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EventTicketReserveMultipleMsgElement.ProtoReflect.Descriptor instead. +func (*EventTicketReserveMultipleMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{60} +} + +func (x *EventTicketReserveMultipleMsgElement) GetTicketIds() int32 { + if x != nil { + return x.TicketIds + } + return 0 +} + +type GetKinoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LastId int32 `protobuf:"varint,1,opt,name=lastId,proto3" json:"lastId,omitempty"` +} + +func (x *GetKinoRequest) Reset() { + *x = GetKinoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetKinoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetKinoRequest) ProtoMessage() {} + +func (x *GetKinoRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetKinoRequest.ProtoReflect.Descriptor instead. +func (*GetKinoRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{61} +} + +func (x *GetKinoRequest) GetLastId() int32 { + if x != nil { + return x.LastId + } + return 0 +} + +type GetKinoReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kinos []*KinoMsgElement `protobuf:"bytes,1,rep,name=kinos,proto3" json:"kinos,omitempty"` +} + +func (x *GetKinoReply) Reset() { + *x = GetKinoReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetKinoReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetKinoReply) ProtoMessage() {} + +func (x *GetKinoReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetKinoReply.ProtoReflect.Descriptor instead. +func (*GetKinoReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{62} +} + +func (x *GetKinoReply) GetKinos() []*KinoMsgElement { + if x != nil { + return x.Kinos + } + return nil +} + +type KinoMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Kino int32 `protobuf:"varint,3,opt,name=kino,proto3" json:"kino,omitempty"` + Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"` + Created *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"` + Title string `protobuf:"bytes,6,opt,name=title,proto3" json:"title,omitempty"` + Year string `protobuf:"bytes,7,opt,name=year,proto3" json:"year,omitempty"` + Runtime string `protobuf:"bytes,8,opt,name=runtime,proto3" json:"runtime,omitempty"` + Genre string `protobuf:"bytes,9,opt,name=genre,proto3" json:"genre,omitempty"` + Director string `protobuf:"bytes,10,opt,name=director,proto3" json:"director,omitempty"` + Actors string `protobuf:"bytes,11,opt,name=actors,proto3" json:"actors,omitempty"` + Rating string `protobuf:"bytes,12,opt,name=rating,proto3" json:"rating,omitempty"` + Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` + Cover int32 `protobuf:"varint,14,opt,name=cover,proto3" json:"cover,omitempty"` + Trailer string `protobuf:"bytes,15,opt,name=trailer,proto3" json:"trailer,omitempty"` + Link string `protobuf:"bytes,16,opt,name=link,proto3" json:"link,omitempty"` +} + +func (x *KinoMsgElement) Reset() { + *x = KinoMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KinoMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KinoMsgElement) ProtoMessage() {} + +func (x *KinoMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KinoMsgElement.ProtoReflect.Descriptor instead. +func (*KinoMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{63} +} + +func (x *KinoMsgElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *KinoMsgElement) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *KinoMsgElement) GetKino() int32 { + if x != nil { + return x.Kino + } + return 0 +} + +func (x *KinoMsgElement) GetDate() *timestamppb.Timestamp { + if x != nil { + return x.Date + } + return nil +} + +func (x *KinoMsgElement) GetCreated() *timestamppb.Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *KinoMsgElement) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *KinoMsgElement) GetYear() string { + if x != nil { + return x.Year + } + return "" +} + +func (x *KinoMsgElement) GetRuntime() string { + if x != nil { + return x.Runtime + } + return "" +} + +func (x *KinoMsgElement) GetGenre() string { + if x != nil { + return x.Genre + } + return "" +} + +func (x *KinoMsgElement) GetDirector() string { + if x != nil { + return x.Director + } + return "" +} + +func (x *KinoMsgElement) GetActors() string { + if x != nil { + return x.Actors + } + return "" +} + +func (x *KinoMsgElement) GetRating() string { + if x != nil { + return x.Rating + } + return "" +} + +func (x *KinoMsgElement) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *KinoMsgElement) GetCover() int32 { + if x != nil { + return x.Cover + } + return 0 +} + +func (x *KinoMsgElement) GetTrailer() string { + if x != nil { + return x.Trailer + } + return "" +} + +func (x *KinoMsgElement) GetLink() string { + if x != nil { + return x.Link + } + return "" +} + +type PostFeedbackRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + EmailId string `protobuf:"bytes,3,opt,name=emailId,proto3" json:"emailId,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + ImageCount int32 `protobuf:"varint,5,opt,name=image_count,json=imageCount,proto3" json:"image_count,omitempty"` + Latitude float64 `protobuf:"fixed64,6,opt,name=latitude,proto3" json:"latitude,omitempty"` + Longitude float64 `protobuf:"fixed64,7,opt,name=longitude,proto3" json:"longitude,omitempty"` + OsVersion string `protobuf:"bytes,8,opt,name=osVersion,proto3" json:"osVersion,omitempty"` + AppVersion string `protobuf:"bytes,9,opt,name=appVersion,proto3" json:"appVersion,omitempty"` +} + +func (x *PostFeedbackRequest) Reset() { + *x = PostFeedbackRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostFeedbackRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostFeedbackRequest) ProtoMessage() {} + +func (x *PostFeedbackRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostFeedbackRequest.ProtoReflect.Descriptor instead. +func (*PostFeedbackRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{64} +} + +func (x *PostFeedbackRequest) GetTopic() string { + if x != nil { + return x.Topic + } + return "" +} + +func (x *PostFeedbackRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *PostFeedbackRequest) GetEmailId() string { + if x != nil { + return x.EmailId + } + return "" +} + +func (x *PostFeedbackRequest) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *PostFeedbackRequest) GetImageCount() int32 { + if x != nil { + return x.ImageCount + } + return 0 +} + +func (x *PostFeedbackRequest) GetLatitude() float64 { + if x != nil { + return x.Latitude + } + return 0 +} + +func (x *PostFeedbackRequest) GetLongitude() float64 { + if x != nil { + return x.Longitude + } + return 0 +} + +func (x *PostFeedbackRequest) GetOsVersion() string { + if x != nil { + return x.OsVersion + } + return "" +} + +func (x *PostFeedbackRequest) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +type PostFeedbackReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *PostFeedbackReply) Reset() { + *x = PostFeedbackReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostFeedbackReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostFeedbackReply) ProtoMessage() {} + +func (x *PostFeedbackReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostFeedbackReply.ProtoReflect.Descriptor instead. +func (*PostFeedbackReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{65} +} + +func (x *PostFeedbackReply) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type PostFeedbackIDImageNrRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo wo kommt das eigentliche file her? +} + +func (x *PostFeedbackIDImageNrRequest) Reset() { + *x = PostFeedbackIDImageNrRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostFeedbackIDImageNrRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostFeedbackIDImageNrRequest) ProtoMessage() {} + +func (x *PostFeedbackIDImageNrRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostFeedbackIDImageNrRequest.ProtoReflect.Descriptor instead. +func (*PostFeedbackIDImageNrRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{66} +} + +func (x *PostFeedbackIDImageNrRequest) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *PostFeedbackIDImageNrRequest) GetImageNr() int32 { + if x != nil { + return x.ImageNr + } + return 0 +} + +type GetMembersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` +} + +func (x *GetMembersRequest) Reset() { + *x = GetMembersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMembersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMembersRequest) ProtoMessage() {} + +func (x *GetMembersRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMembersRequest.ProtoReflect.Descriptor instead. +func (*GetMembersRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{67} +} + +func (x *GetMembersRequest) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +type GetMembersReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + MemberId int32 `protobuf:"varint,3,opt,name=memberId,proto3" json:"memberId,omitempty"` +} + +func (x *GetMembersReply) Reset() { + *x = GetMembersReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMembersReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMembersReply) ProtoMessage() {} + +func (x *GetMembersReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMembersReply.ProtoReflect.Descriptor instead. +func (*GetMembersReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{68} +} + +func (x *GetMembersReply) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +func (x *GetMembersReply) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetMembersReply) GetMemberId() int32 { + if x != nil { + return x.MemberId + } + return 0 +} + +type PostChatRoomsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` +} + +func (x *PostChatRoomsReply) Reset() { + *x = PostChatRoomsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostChatRoomsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostChatRoomsReply) ProtoMessage() {} + +func (x *PostChatRoomsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostChatRoomsReply.ProtoReflect.Descriptor instead. +func (*PostChatRoomsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{69} +} + +func (x *PostChatRoomsReply) GetRooms() []*ChatRoomsMsgElement { + if x != nil { + return x.Rooms + } + return nil +} + +type ChatRoomsMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Semester string `protobuf:"bytes,3,opt,name=semester,proto3" json:"semester,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + Members int32 `protobuf:"varint,5,opt,name=members,proto3" json:"members,omitempty"` +} + +func (x *ChatRoomsMsgElement) Reset() { + *x = ChatRoomsMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatRoomsMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatRoomsMsgElement) ProtoMessage() {} + +func (x *ChatRoomsMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatRoomsMsgElement.ProtoReflect.Descriptor instead. +func (*ChatRoomsMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{70} +} + +func (x *ChatRoomsMsgElement) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ChatRoomsMsgElement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ChatRoomsMsgElement) GetSemester() string { + if x != nil { + return x.Semester + } + return "" +} + +func (x *ChatRoomsMsgElement) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ChatRoomsMsgElement) GetMembers() int32 { + if x != nil { + return x.Members + } + return 0 +} + +type GetChatRoomsRoomIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` +} + +func (x *GetChatRoomsRoomIdRequest) Reset() { + *x = GetChatRoomsRoomIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetChatRoomsRoomIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChatRoomsRoomIdRequest) ProtoMessage() {} + +func (x *GetChatRoomsRoomIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetChatRoomsRoomIdRequest.ProtoReflect.Descriptor instead. +func (*GetChatRoomsRoomIdRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{71} +} + +func (x *GetChatRoomsRoomIdRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +type PostChatRoomsRoomIdLeaveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` +} + +func (x *PostChatRoomsRoomIdLeaveRequest) Reset() { + *x = PostChatRoomsRoomIdLeaveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostChatRoomsRoomIdLeaveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostChatRoomsRoomIdLeaveRequest) ProtoMessage() {} + +func (x *PostChatRoomsRoomIdLeaveRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostChatRoomsRoomIdLeaveRequest.ProtoReflect.Descriptor instead. +func (*PostChatRoomsRoomIdLeaveRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{72} +} + +func (x *PostChatRoomsRoomIdLeaveRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +type PostChatRoomsRoomIdAddRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` + MemberId int32 `protobuf:"varint,2,opt,name=memberId,proto3" json:"memberId,omitempty"` +} + +func (x *PostChatRoomsRoomIdAddRequest) Reset() { + *x = PostChatRoomsRoomIdAddRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostChatRoomsRoomIdAddRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostChatRoomsRoomIdAddRequest) ProtoMessage() {} + +func (x *PostChatRoomsRoomIdAddRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostChatRoomsRoomIdAddRequest.ProtoReflect.Descriptor instead. +func (*PostChatRoomsRoomIdAddRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{73} +} + +func (x *PostChatRoomsRoomIdAddRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *PostChatRoomsRoomIdAddRequest) GetMemberId() int32 { + if x != nil { + return x.MemberId + } + return 0 +} + +type PutChatRoomsSendRoomIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` +} + +func (x *PutChatRoomsSendRoomIdRequest) Reset() { + *x = PutChatRoomsSendRoomIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PutChatRoomsSendRoomIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PutChatRoomsSendRoomIdRequest) ProtoMessage() {} + +func (x *PutChatRoomsSendRoomIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PutChatRoomsSendRoomIdRequest.ProtoReflect.Descriptor instead. +func (*PutChatRoomsSendRoomIdRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{74} +} + +func (x *PutChatRoomsSendRoomIdRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +type PutChatRoomsUpdateMessageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` + MessageId int32 `protobuf:"varint,2,opt,name=messageId,proto3" json:"messageId,omitempty"` +} + +func (x *PutChatRoomsUpdateMessageRequest) Reset() { + *x = PutChatRoomsUpdateMessageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PutChatRoomsUpdateMessageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PutChatRoomsUpdateMessageRequest) ProtoMessage() {} + +func (x *PutChatRoomsUpdateMessageRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PutChatRoomsUpdateMessageRequest.ProtoReflect.Descriptor instead. +func (*PutChatRoomsUpdateMessageRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{75} +} + +func (x *PutChatRoomsUpdateMessageRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *PutChatRoomsUpdateMessageRequest) GetMessageId() int32 { + if x != nil { + return x.MessageId + } + return 0 +} + +type ChatMessageModelMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Messages []*ChatMessageModelMsgElement `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` +} + +func (x *ChatMessageModelMsg) Reset() { + *x = ChatMessageModelMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatMessageModelMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatMessageModelMsg) ProtoMessage() {} + +func (x *ChatMessageModelMsg) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatMessageModelMsg.ProtoReflect.Descriptor instead. +func (*ChatMessageModelMsg) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{76} +} + +func (x *ChatMessageModelMsg) GetMessages() []*ChatMessageModelMsgElement { + if x != nil { + return x.Messages + } + return nil +} + +type ChatMessageModelMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Previous int32 `protobuf:"varint,2,opt,name=previous,proto3" json:"previous,omitempty"` + Room int32 `protobuf:"varint,3,opt,name=room,proto3" json:"room,omitempty"` + Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Signature string `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"` + MemberId int32 `protobuf:"varint,7,opt,name=memberId,proto3" json:"memberId,omitempty"` + SendingStatus int32 `protobuf:"varint,8,opt,name=sendingStatus,proto3" json:"sendingStatus,omitempty"` +} + +func (x *ChatMessageModelMsgElement) Reset() { + *x = ChatMessageModelMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatMessageModelMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatMessageModelMsgElement) ProtoMessage() {} + +func (x *ChatMessageModelMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatMessageModelMsgElement.ProtoReflect.Descriptor instead. +func (*ChatMessageModelMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{77} +} + +func (x *ChatMessageModelMsgElement) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ChatMessageModelMsgElement) GetPrevious() int32 { + if x != nil { + return x.Previous + } + return 0 +} + +func (x *ChatMessageModelMsgElement) GetRoom() int32 { + if x != nil { + return x.Room + } + return 0 +} + +func (x *ChatMessageModelMsgElement) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +func (x *ChatMessageModelMsgElement) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *ChatMessageModelMsgElement) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *ChatMessageModelMsgElement) GetMemberId() int32 { + if x != nil { + return x.MemberId + } + return 0 +} + +func (x *ChatMessageModelMsgElement) GetSendingStatus() int32 { + if x != nil { + return x.SendingStatus + } + return 0 +} + +type PostChatRoomsGetMessagesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` + PageId int32 `protobuf:"varint,2,opt,name=pageId,proto3" json:"pageId,omitempty"` +} + +func (x *PostChatRoomsGetMessagesRequest) Reset() { + *x = PostChatRoomsGetMessagesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostChatRoomsGetMessagesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostChatRoomsGetMessagesRequest) ProtoMessage() {} + +func (x *PostChatRoomsGetMessagesRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostChatRoomsGetMessagesRequest.ProtoReflect.Descriptor instead. +func (*PostChatRoomsGetMessagesRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{78} +} + +func (x *PostChatRoomsGetMessagesRequest) GetRoomId() int32 { + if x != nil { + return x.RoomId + } + return 0 +} + +func (x *PostChatRoomsGetMessagesRequest) GetPageId() int32 { + if x != nil { + return x.PageId + } + return 0 +} + +type ChatMemberMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Members []*ChatMemberMsgElement `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` +} + +func (x *ChatMemberMsg) Reset() { + *x = ChatMemberMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatMemberMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatMemberMsg) ProtoMessage() {} + +func (x *ChatMemberMsg) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatMemberMsg.ProtoReflect.Descriptor instead. +func (*ChatMemberMsg) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{79} +} + +func (x *ChatMemberMsg) GetMembers() []*ChatMemberMsgElement { + if x != nil { + return x.Members + } + return nil +} + +type ChatMemberMsgElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + LrzId string `protobuf:"bytes,2,opt,name=lrzId,proto3" json:"lrzId,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=displayName,proto3" json:"displayName,omitempty"` + Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *ChatMemberMsgElement) Reset() { + *x = ChatMemberMsgElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatMemberMsgElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatMemberMsgElement) ProtoMessage() {} + +func (x *ChatMemberMsgElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatMemberMsgElement.ProtoReflect.Descriptor instead. +func (*ChatMemberMsgElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{80} +} + +func (x *ChatMemberMsgElement) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ChatMemberMsgElement) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +func (x *ChatMemberMsgElement) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ChatMemberMsgElement) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +type GetChatMemberRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` +} + +func (x *GetChatMemberRequest) Reset() { + *x = GetChatMemberRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetChatMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChatMemberRequest) ProtoMessage() {} + +func (x *GetChatMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetChatMemberRequest.ProtoReflect.Descriptor instead. +func (*GetChatMemberRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{81} +} + +func (x *GetChatMemberRequest) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +type SearchMemberByNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *SearchMemberByNameRequest) Reset() { + *x = SearchMemberByNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchMemberByNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchMemberByNameRequest) ProtoMessage() {} + +func (x *SearchMemberByNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchMemberByNameRequest.ProtoReflect.Descriptor instead. +func (*SearchMemberByNameRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{82} +} + +func (x *SearchMemberByNameRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type GetMemberRoomsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MemberId int32 `protobuf:"varint,1,opt,name=memberId,proto3" json:"memberId,omitempty"` +} + +func (x *GetMemberRoomsRequest) Reset() { + *x = GetMemberRoomsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMemberRoomsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMemberRoomsRequest) ProtoMessage() {} + +func (x *GetMemberRoomsRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMemberRoomsRequest.ProtoReflect.Descriptor instead. +func (*GetMemberRoomsRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{83} +} + +func (x *GetMemberRoomsRequest) GetMemberId() int32 { + if x != nil { + return x.MemberId + } + return 0 +} + +type GetMemberRoomsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChatRooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=chatRooms,proto3" json:"chatRooms,omitempty"` +} + +func (x *GetMemberRoomsReply) Reset() { + *x = GetMemberRoomsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMemberRoomsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMemberRoomsReply) ProtoMessage() {} + +func (x *GetMemberRoomsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMemberRoomsReply.ProtoReflect.Descriptor instead. +func (*GetMemberRoomsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{84} +} + +func (x *GetMemberRoomsReply) GetChatRooms() []*ChatRoomsMsgElement { + if x != nil { + return x.ChatRooms + } + return nil +} + +type PurchaseTicketStripeReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tickets []*TicketMessageElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` +} + +func (x *PurchaseTicketStripeReply) Reset() { + *x = PurchaseTicketStripeReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurchaseTicketStripeReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseTicketStripeReply) ProtoMessage() {} + +func (x *PurchaseTicketStripeReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseTicketStripeReply.ProtoReflect.Descriptor instead. +func (*PurchaseTicketStripeReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{85} +} + +func (x *PurchaseTicketStripeReply) GetTickets() []*TicketMessageElement { + if x != nil { + return x.Tickets + } + return nil +} + +type TicketMessageElement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + EventId int32 `protobuf:"varint,2,opt,name=eventId,proto3" json:"eventId,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + TicketTypeId int32 `protobuf:"varint,4,opt,name=ticketTypeId,proto3" json:"ticketTypeId,omitempty"` + Redemption *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=redemption,proto3" json:"redemption,omitempty"` +} + +func (x *TicketMessageElement) Reset() { + *x = TicketMessageElement{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TicketMessageElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketMessageElement) ProtoMessage() {} + +func (x *TicketMessageElement) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TicketMessageElement.ProtoReflect.Descriptor instead. +func (*TicketMessageElement) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{86} +} + +func (x *TicketMessageElement) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *TicketMessageElement) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +func (x *TicketMessageElement) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *TicketMessageElement) GetTicketTypeId() int32 { + if x != nil { + return x.TicketTypeId + } + return 0 +} + +func (x *TicketMessageElement) GetRedemption() *timestamppb.Timestamp { + if x != nil { + return x.Redemption + } + return nil +} + +type RetrieveEphemeralKeyReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RetrieveEphemeralKeyReply) Reset() { + *x = RetrieveEphemeralKeyReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetrieveEphemeralKeyReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveEphemeralKeyReply) ProtoMessage() {} + +func (x *RetrieveEphemeralKeyReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetrieveEphemeralKeyReply.ProtoReflect.Descriptor instead. +func (*RetrieveEphemeralKeyReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{87} +} + +type GetEventTicketStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` +} + +func (x *GetEventTicketStatusRequest) Reset() { + *x = GetEventTicketStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventTicketStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventTicketStatusRequest) ProtoMessage() {} + +func (x *GetEventTicketStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventTicketStatusRequest.ProtoReflect.Descriptor instead. +func (*GetEventTicketStatusRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{88} +} + +func (x *GetEventTicketStatusRequest) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +type GetEventTicketStatusReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status []*TicketStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"` +} + +func (x *GetEventTicketStatusReply) Reset() { + *x = GetEventTicketStatusReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEventTicketStatusReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEventTicketStatusReply) ProtoMessage() {} + +func (x *GetEventTicketStatusReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEventTicketStatusReply.ProtoReflect.Descriptor instead. +func (*GetEventTicketStatusReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{89} +} + +func (x *GetEventTicketStatusReply) GetStatus() []*TicketStatus { + if x != nil { + return x.Status + } + return nil +} + +type TicketStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TicketType int32 `protobuf:"varint,1,opt,name=ticketType,proto3" json:"ticketType,omitempty"` + Contingent int32 `protobuf:"varint,2,opt,name=contingent,proto3" json:"contingent,omitempty"` + Sold int32 `protobuf:"varint,3,opt,name=sold,proto3" json:"sold,omitempty"` +} + +func (x *TicketStatus) Reset() { + *x = TicketStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TicketStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketStatus) ProtoMessage() {} + +func (x *TicketStatus) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TicketStatus.ProtoReflect.Descriptor instead. +func (*TicketStatus) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{90} +} + +func (x *TicketStatus) GetTicketType() int32 { + if x != nil { + return x.TicketType + } + return 0 +} + +func (x *TicketStatus) GetContingent() int32 { + if x != nil { + return x.Contingent + } + return 0 +} + +func (x *TicketStatus) GetSold() int32 { + if x != nil { + return x.Sold + } + return 0 +} + +type TUMCabeStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *TUMCabeStatus) Reset() { + *x = TUMCabeStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TUMCabeStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TUMCabeStatus) ProtoMessage() {} + +func (x *TUMCabeStatus) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TUMCabeStatus.ProtoReflect.Descriptor instead. +func (*TUMCabeStatus) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{91} +} + +func (x *TUMCabeStatus) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type GetUploadStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` +} + +func (x *GetUploadStatusRequest) Reset() { + *x = GetUploadStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUploadStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUploadStatusRequest) ProtoMessage() {} + +func (x *GetUploadStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[92] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUploadStatusRequest.ProtoReflect.Descriptor instead. +func (*GetUploadStatusRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{92} +} + +func (x *GetUploadStatusRequest) GetLrzId() string { + if x != nil { + return x.LrzId + } + return "" +} + +type GetUploadStatusReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FcmToken string `protobuf:"bytes,1,opt,name=fcm_token,json=fcmToken,proto3" json:"fcm_token,omitempty"` + PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + StudentId bool `protobuf:"varint,3,opt,name=student_id,json=studentId,proto3" json:"student_id,omitempty"` + EmployeeId bool `protobuf:"varint,4,opt,name=employee_id,json=employeeId,proto3" json:"employee_id,omitempty"` + ExternalId bool `protobuf:"varint,5,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` +} + +func (x *GetUploadStatusReply) Reset() { + *x = GetUploadStatusReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUploadStatusReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUploadStatusReply) ProtoMessage() {} + +func (x *GetUploadStatusReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[93] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUploadStatusReply.ProtoReflect.Descriptor instead. +func (*GetUploadStatusReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{93} +} + +func (x *GetUploadStatusReply) GetFcmToken() string { + if x != nil { + return x.FcmToken + } + return "" +} + +func (x *GetUploadStatusReply) GetPublicKey() string { + if x != nil { + return x.PublicKey + } + return "" +} + +func (x *GetUploadStatusReply) GetStudentId() bool { + if x != nil { + return x.StudentId + } + return false +} + +func (x *GetUploadStatusReply) GetEmployeeId() bool { + if x != nil { + return x.EmployeeId + } + return false +} + +func (x *GetUploadStatusReply) GetExternalId() bool { + if x != nil { + return x.ExternalId + } + return false +} + +type GetNotificationsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotificationId int32 `protobuf:"varint,1,opt,name=notificationId,proto3" json:"notificationId,omitempty"` + Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *GetNotificationsReply) Reset() { + *x = GetNotificationsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotificationsReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotificationsReply) ProtoMessage() {} + +func (x *GetNotificationsReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[94] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNotificationsReply.ProtoReflect.Descriptor instead. +func (*GetNotificationsReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{94} +} + +func (x *GetNotificationsReply) GetNotificationId() int32 { + if x != nil { + return x.NotificationId + } + return 0 +} + +func (x *GetNotificationsReply) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *GetNotificationsReply) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetNotificationsReply) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *GetNotificationsReply) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +type NotificationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotificationId int32 `protobuf:"varint,1,opt,name=notificationId,proto3" json:"notificationId,omitempty"` +} + +func (x *NotificationsRequest) Reset() { + *x = NotificationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationsRequest) ProtoMessage() {} + +func (x *NotificationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[95] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotificationsRequest.ProtoReflect.Descriptor instead. +func (*NotificationsRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{95} +} + +func (x *NotificationsRequest) GetNotificationId() int32 { + if x != nil { + return x.NotificationId + } + return 0 +} + +type GetNotificationsConfirmReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *GetNotificationsConfirmReply) Reset() { + *x = GetNotificationsConfirmReply{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotificationsConfirmReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotificationsConfirmReply) ProtoMessage() {} + +func (x *GetNotificationsConfirmReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[96] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNotificationsConfirmReply.ProtoReflect.Descriptor instead. +func (*GetNotificationsConfirmReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{96} +} + +func (x *GetNotificationsConfirmReply) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type GetRoomScheduleReply_RoomScheduleEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + EventId int32 `protobuf:"varint,4,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` + CourseCode string `protobuf:"bytes,5,opt,name=course_code,json=courseCode,proto3" json:"course_code,omitempty"` +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { + *x = GetRoomScheduleReply_RoomScheduleEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[97] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoomScheduleReply_RoomScheduleEvent.ProtoReflect.Descriptor instead. +func (*GetRoomScheduleReply_RoomScheduleEvent) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetStart() *timestamppb.Timestamp { + if x != nil { + return x.Start + } + return nil +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEnd() *timestamppb.Timestamp { + if x != nil { + return x.End + } + return nil +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetEventId() int32 { + if x != nil { + return x.EventId + } + return 0 +} + +func (x *GetRoomScheduleReply_RoomScheduleEvent) GetCourseCode() string { + if x != nil { + return x.CourseCode + } + return "" +} + +type GetRoomMapsReply_Map struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Scale int64 `protobuf:"varint,3,opt,name=scale,proto3" json:"scale,omitempty"` + Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` + Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` +} + +func (x *GetRoomMapsReply_Map) Reset() { + *x = GetRoomMapsReply_Map{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRoomMapsReply_Map) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoomMapsReply_Map) ProtoMessage() {} + +func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[98] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoomMapsReply_Map.ProtoReflect.Descriptor instead. +func (*GetRoomMapsReply_Map) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *GetRoomMapsReply_Map) GetMapId() int64 { + if x != nil { + return x.MapId + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *GetRoomMapsReply_Map) GetScale() int64 { + if x != nil { + return x.Scale + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetWidth() int64 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *GetRoomMapsReply_Map) GetHeight() int64 { + if x != nil { + return x.Height + } + return 0 +} + +type GetLocationsReply_Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Lon string `protobuf:"bytes,3,opt,name=lon,proto3" json:"lon,omitempty"` + Lat string `protobuf:"bytes,4,opt,name=lat,proto3" json:"lat,omitempty"` + Radius string `protobuf:"bytes,5,opt,name=radius,proto3" json:"radius,omitempty"` +} + +func (x *GetLocationsReply_Location) Reset() { + *x = GetLocationsReply_Location{} + if protoimpl.UnsafeEnabled { + mi := &file_CampusService_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetLocationsReply_Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLocationsReply_Location) ProtoMessage() {} + +func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[99] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLocationsReply_Location.ProtoReflect.Descriptor instead. +func (*GetLocationsReply_Location) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{7, 0} +} + +func (x *GetLocationsReply_Location) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *GetLocationsReply_Location) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetLocationsReply_Location) GetLon() string { + if x != nil { + return x.Lon + } + return "" +} + +func (x *GetLocationsReply_Location) GetLat() string { + if x != nil { + return x.Lat + } + return "" +} + +func (x *GetLocationsReply_Location) GetRadius() string { + if x != nil { + return x.Radius + } + return "" +} + +var File_CampusService_proto protoreflect.FileDescriptor + +var file_CampusService_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, + 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x1a, 0xc5, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, + 0x75, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x34, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, + 0x64, 0x22, 0x78, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, + 0x75, 0x74, 0x6d, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x75, 0x74, 0x6d, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x6d, 0x5f, 0x65, + 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x75, 0x74, + 0x6d, 0x45, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x74, 0x6d, 0x5f, + 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, + 0x75, 0x74, 0x6d, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x2d, 0x0a, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x1a, 0x82, + 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x22, 0x31, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x76, 0x0a, 0x08, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x64, + 0x69, 0x75, 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, + 0x33, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, + 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, + 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, + 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, + 0x70, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x3c, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x4e, + 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0xd4, + 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, + 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, + 0x69, 0x6e, 0x6b, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, + 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, + 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x06, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x61, + 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, 0x74, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x69, + 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6d, 0x61, 0x78, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x0f, 0x44, 0x69, + 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, 0x0a, + 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, + 0x03, 0x61, 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, 0x12, + 0x10, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, 0x74, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x6e, + 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, 0xcb, 0x01, + 0x0a, 0x11, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x4e, + 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x19, + 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x67, 0x52, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x37, 0x0a, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x67, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x0a, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x22, 0x4a, 0x0a, 0x12, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x65, 0x6e, 0x22, 0x39, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x22, 0x43, 0x0a, 0x13, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x4e, 0x65, 0x77, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x6f, 0x0a, 0x0f, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x61, 0x76, 0x67, + 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, + 0x74, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x41, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x63, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x09, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0x6f, 0x0a, 0x09, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x70, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x22, 0x24, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x69, 0x73, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, + 0x73, 0x68, 0x22, 0x68, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x4b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x0a, + 0x18, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x75, 0x6d, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x75, 0x6d, 0x49, + 0x44, 0x22, 0x54, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0c, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, + 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x13, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, + 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, + 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x5b, 0x0a, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x1a, 0x61, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x47, 0x0a, 0x24, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x41, + 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, + 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x16, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x4e, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, + 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, + 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x69, + 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x22, 0x58, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3d, 0x0a, 0x0b, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x16, 0x4d, + 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x34, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, + 0x53, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x66, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4d, 0x73, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x2b, 0x0a, + 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, + 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, + 0x73, 0x22, 0x79, 0x0a, 0x13, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x73, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x75, 0x64, + 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x9d, 0x01, 0x0a, + 0x09, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, + 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x45, 0x0a, + 0x11, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x22, 0xfa, 0x02, 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, + 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6e, 0x65, 0x77, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x30, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x22, 0x54, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x6d, + 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x6d, 0x79, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x68, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x72, + 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x28, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x47, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x14, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x63, + 0x0a, 0x25, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x23, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, + 0x45, 0x0a, 0x24, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, + 0x22, 0x39, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x29, 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, + 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, + 0x13, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, + 0x11, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x1c, 0x50, 0x6f, + 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x4e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x4e, 0x72, 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, + 0x57, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x12, 0x50, 0x6f, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, + 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, + 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x85, + 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, + 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, + 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x33, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1f, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, + 0x49, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x1d, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x1d, 0x50, + 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x52, + 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x20, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x52, + 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, + 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x51, 0x0a, 0x1f, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65, + 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x72, 0x7a, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x19, 0x50, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, + 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x01, + 0x0a, 0x14, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x65, 0x64, 0x65, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x37, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x62, 0x0a, 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x2e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, + 0xb3, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, 0x6d, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x63, 0x6d, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xf4, 0x2e, 0x0a, 0x06, 0x43, 0x61, + 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, + 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, + 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, + 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, + 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, + 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, + 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, + 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, + 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, + 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, + 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, + 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, + 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, + 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, + 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, + 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, 0x65, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, + 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x69, + 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, + 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, + 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x19, 0x2f, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x54, 0x61, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x18, 0x2f, + 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x12, + 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x17, 0x12, 0x0f, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, 0x44, 0x69, + 0x73, 0x68, 0x65, 0x73, 0x62, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, + 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, + 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, + 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, + 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, + 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, 0x12, 0x6a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, + 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, + 0x65, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, + 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, + 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, + 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, + 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x70, + 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, 0x70, 0x65, + 0x6e, 0x69, 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x7d, 0x12, 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x17, 0x12, 0x15, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x2f, 0x7b, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x62, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x12, 0x22, 0x10, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x2f, 0x6d, 0x79, 0x12, 0x64, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, + 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1a, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x22, 0x12, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x9e, 0x01, 0x0a, + 0x1e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, + 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x86, 0x01, + 0x0a, 0x14, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x36, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, + 0x72, 0x69, 0x70, 0x65, 0x2f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x2f, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, + 0x29, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x65, 0x70, + 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x6b, 0x65, 0x79, 0x12, 0x80, 0x01, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x49, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, + 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x53, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, + 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x0b, 0x22, 0x09, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x74, 0x0a, + 0x15, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x72, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x66, 0x65, 0x65, 0x64, + 0x62, 0x61, 0x63, 0x6b, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x4e, 0x72, 0x7d, 0x12, 0x56, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x10, 0x2f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x09, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, + 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x47, + 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x13, 0x2f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x60, 0x0a, + 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, + 0x0e, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, + 0x12, 0x27, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, + 0x58, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x22, 0x0b, 0x2f, 0x63, 0x68, 0x61, 0x74, + 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x6c, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, + 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, + 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x16, 0x12, 0x14, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x12, 0x7e, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x43, + 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x4c, 0x65, + 0x61, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x4c, 0x65, 0x61, + 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x1a, 0x2f, 0x63, 0x68, + 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, + 0x7d, 0x2f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, + 0x64, 0x64, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x23, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, + 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x61, + 0x64, 0x64, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0x84, 0x01, + 0x0a, 0x17, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, + 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, + 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x24, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x1c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, + 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x19, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2a, 0x1a, 0x28, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, + 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x8a, 0x01, 0x0a, + 0x18, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x28, 0x22, 0x26, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x50, 0x6f, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, 0x74, 0x4e, 0x65, + 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, + 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, + 0x1d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x63, + 0x0a, 0x14, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x15, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x0f, 0x22, 0x0d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x63, 0x68, 0x61, 0x74, + 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, + 0x12, 0x6e, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x7d, + 0x12, 0x6e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, + 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, + 0x22, 0x1e, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, + 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, + 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, + 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, + 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, + 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_CampusService_proto_rawDescOnce sync.Once + file_CampusService_proto_rawDescData = file_CampusService_proto_rawDesc +) + +func file_CampusService_proto_rawDescGZIP() []byte { + file_CampusService_proto_rawDescOnce.Do(func() { + file_CampusService_proto_rawDescData = protoimpl.X.CompressGZIP(file_CampusService_proto_rawDescData) + }) + return file_CampusService_proto_rawDescData +} + +var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 100) +var file_CampusService_proto_goTypes = []interface{}{ + (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest + (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply + (*GetRoomCoordinatesRequest)(nil), // 2: api.GetRoomCoordinatesRequest + (*GetRoomCoordinatesReply)(nil), // 3: api.GetRoomCoordinatesReply + (*GetRoomMapsRequest)(nil), // 4: api.GetRoomMapsRequest + (*GetRoomMapsReply)(nil), // 5: api.GetRoomMapsReply + (*GetLocationsRequest)(nil), // 6: api.GetLocationsRequest + (*GetLocationsReply)(nil), // 7: api.GetLocationsReply + (*SearchRoomsRequest)(nil), // 8: api.SearchRoomsRequest + (*SearchRoomsReply)(nil), // 9: api.SearchRoomsReply + (*Room)(nil), // 10: api.Room + (*NewsSourceArray)(nil), // 11: api.NewsSourceArray + (*NewsSource)(nil), // 12: api.NewsSource + (*GetTopNewsReply)(nil), // 13: api.GetTopNewsReply + (*CafeteriaRatingRequest)(nil), // 14: api.CafeteriaRatingRequest + (*DishRatingRequest)(nil), // 15: api.DishRatingRequest + (*CafeteriaRatingReply)(nil), // 16: api.CafeteriaRatingReply + (*DishRatingReply)(nil), // 17: api.DishRatingReply + (*SingleRatingReply)(nil), // 18: api.SingleRatingReply + (*NewCafeteriaRatingRequest)(nil), // 19: api.NewCafeteriaRatingRequest + (*NewDishRatingRequest)(nil), // 20: api.NewDishRatingRequest + (*GetRatingTagsReply)(nil), // 21: api.GetRatingTagsReply + (*RatingTagsOverview)(nil), // 22: api.RatingTagsOverview + (*RatingTag)(nil), // 23: api.RatingTag + (*RatingTagNewRequest)(nil), // 24: api.RatingTagNewRequest + (*RatingTagResult)(nil), // 25: api.RatingTagResult + (*GetCafeteriaReply)(nil), // 26: api.GetCafeteriaReply + (*Cafeteria)(nil), // 27: api.Cafeteria + (*GetDishesRequest)(nil), // 28: api.GetDishesRequest + (*GetDishesReply)(nil), // 29: api.GetDishesReply + (*GetResponsiblePersonReply)(nil), // 30: api.GetResponsiblePersonReply + (*ResponsiblePersonElement)(nil), // 31: api.ResponsiblePersonElement + (*GetBuilding2GpsReply)(nil), // 32: api.GetBuilding2GpsReply + (*Building2GpsElement)(nil), // 33: api.Building2GpsElement + (*GetAreaFacilitiesByBuildingNrReply)(nil), // 34: api.GetAreaFacilitiesByBuildingNrReply + (*GetAreaFacilitiesByBuildingNrRequest)(nil), // 35: api.GetAreaFacilitiesByBuildingNrRequest + (*GetListOfToiletsReply)(nil), // 36: api.GetListOfToiletsReply + (*RoomInformationElement)(nil), // 37: api.RoomInformationElement + (*GetListOfElevatorsReply)(nil), // 38: api.GetListOfElevatorsReply + (*GetMoreInformationReply)(nil), // 39: api.GetMoreInformationReply + (*MoreInformationElement)(nil), // 40: api.MoreInformationElement + (*GetOpeningTimesRequest)(nil), // 41: api.GetOpeningTimesRequest + (*GetOpeningTimesReply)(nil), // 42: api.GetOpeningTimesReply + (*OpeningTimesMsgElement)(nil), // 43: api.OpeningTimesMsgElement + (*GetUpdateNoteRequest)(nil), // 44: api.GetUpdateNoteRequest + (*GetUpdateNoteReply)(nil), // 45: api.GetUpdateNoteReply + (*GetStudyRoomListReply)(nil), // 46: api.GetStudyRoomListReply + (*StudyRoomMsgElement)(nil), // 47: api.StudyRoomMsgElement + (*StudyRoom)(nil), // 48: api.StudyRoom + (*GetEventListRequest)(nil), // 49: api.GetEventListRequest + (*GetEventListReply)(nil), // 50: api.GetEventListReply + (*EventListMsgElement)(nil), // 51: api.EventListMsgElement + (*PostEventTicketMyReply)(nil), // 52: api.PostEventTicketMyReply + (*EventTicketMyMsgElement)(nil), // 53: api.EventTicketMyMsgElement + (*PostEventTicketRequest)(nil), // 54: api.PostEventTicketRequest + (*GetEventTicketTypeReply)(nil), // 55: api.GetEventTicketTypeReply + (*EventTicketTypeMsgElement)(nil), // 56: api.EventTicketTypeMsgElement + (*EventTicketPaymentMsg)(nil), // 57: api.EventTicketPaymentMsg + (*PostEventTicketReserveMultipleRequest)(nil), // 58: api.PostEventTicketReserveMultipleRequest + (*PostEventTicketReserveMultipleReply)(nil), // 59: api.PostEventTicketReserveMultipleReply + (*EventTicketReserveMultipleMsgElement)(nil), // 60: api.EventTicketReserveMultipleMsgElement + (*GetKinoRequest)(nil), // 61: api.GetKinoRequest + (*GetKinoReply)(nil), // 62: api.GetKinoReply + (*KinoMsgElement)(nil), // 63: api.KinoMsgElement + (*PostFeedbackRequest)(nil), // 64: api.PostFeedbackRequest + (*PostFeedbackReply)(nil), // 65: api.PostFeedbackReply + (*PostFeedbackIDImageNrRequest)(nil), // 66: api.PostFeedbackIDImageNrRequest + (*GetMembersRequest)(nil), // 67: api.GetMembersRequest + (*GetMembersReply)(nil), // 68: api.GetMembersReply + (*PostChatRoomsReply)(nil), // 69: api.PostChatRoomsReply + (*ChatRoomsMsgElement)(nil), // 70: api.ChatRoomsMsgElement + (*GetChatRoomsRoomIdRequest)(nil), // 71: api.GetChatRoomsRoomIdRequest + (*PostChatRoomsRoomIdLeaveRequest)(nil), // 72: api.PostChatRoomsRoomIdLeaveRequest + (*PostChatRoomsRoomIdAddRequest)(nil), // 73: api.PostChatRoomsRoomIdAddRequest + (*PutChatRoomsSendRoomIdRequest)(nil), // 74: api.PutChatRoomsSendRoomIdRequest + (*PutChatRoomsUpdateMessageRequest)(nil), // 75: api.PutChatRoomsUpdateMessageRequest + (*ChatMessageModelMsg)(nil), // 76: api.ChatMessageModelMsg + (*ChatMessageModelMsgElement)(nil), // 77: api.ChatMessageModelMsgElement + (*PostChatRoomsGetMessagesRequest)(nil), // 78: api.PostChatRoomsGetMessagesRequest + (*ChatMemberMsg)(nil), // 79: api.ChatMemberMsg + (*ChatMemberMsgElement)(nil), // 80: api.ChatMemberMsgElement + (*GetChatMemberRequest)(nil), // 81: api.GetChatMemberRequest + (*SearchMemberByNameRequest)(nil), // 82: api.SearchMemberByNameRequest + (*GetMemberRoomsRequest)(nil), // 83: api.GetMemberRoomsRequest + (*GetMemberRoomsReply)(nil), // 84: api.GetMemberRoomsReply + (*PurchaseTicketStripeReply)(nil), // 85: api.PurchaseTicketStripeReply + (*TicketMessageElement)(nil), // 86: api.TicketMessageElement + (*RetrieveEphemeralKeyReply)(nil), // 87: api.RetrieveEphemeralKeyReply + (*GetEventTicketStatusRequest)(nil), // 88: api.GetEventTicketStatusRequest + (*GetEventTicketStatusReply)(nil), // 89: api.GetEventTicketStatusReply + (*TicketStatus)(nil), // 90: api.TicketStatus + (*TUMCabeStatus)(nil), // 91: api.TUMCabeStatus + (*GetUploadStatusRequest)(nil), // 92: api.GetUploadStatusRequest + (*GetUploadStatusReply)(nil), // 93: api.GetUploadStatusReply + (*GetNotificationsReply)(nil), // 94: api.GetNotificationsReply + (*NotificationsRequest)(nil), // 95: api.NotificationsRequest + (*GetNotificationsConfirmReply)(nil), // 96: api.GetNotificationsConfirmReply + (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 97: api.GetRoomScheduleReply.RoomScheduleEvent + (*GetRoomMapsReply_Map)(nil), // 98: api.GetRoomMapsReply.Map + (*GetLocationsReply_Location)(nil), // 99: api.GetLocationsReply.Location + (*timestamppb.Timestamp)(nil), // 100: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 101: google.protobuf.Empty +} +var file_CampusService_proto_depIdxs = []int32{ + 100, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp + 100, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp + 97, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent + 98, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map + 99, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location + 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room + 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource + 100, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp + 100, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp + 100, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp + 100, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp + 100, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp + 100, // 12: api.DishRatingRequest.from:type_name -> google.protobuf.Timestamp + 100, // 13: api.DishRatingRequest.to:type_name -> google.protobuf.Timestamp + 18, // 14: api.CafeteriaRatingReply.rating:type_name -> api.SingleRatingReply + 25, // 15: api.CafeteriaRatingReply.ratingTags:type_name -> api.RatingTagResult + 18, // 16: api.DishRatingReply.rating:type_name -> api.SingleRatingReply + 25, // 17: api.DishRatingReply.ratingTags:type_name -> api.RatingTagResult + 25, // 18: api.DishRatingReply.nameTags:type_name -> api.RatingTagResult + 24, // 19: api.SingleRatingReply.ratingTags:type_name -> api.RatingTagNewRequest + 100, // 20: api.SingleRatingReply.visited:type_name -> google.protobuf.Timestamp + 23, // 21: api.NewCafeteriaRatingRequest.ratingTags:type_name -> api.RatingTag + 23, // 22: api.NewDishRatingRequest.ratingTags:type_name -> api.RatingTag + 22, // 23: api.GetRatingTagsReply.ratingTags:type_name -> api.RatingTagsOverview + 27, // 24: api.GetCafeteriaReply.cafeteria:type_name -> api.Cafeteria + 31, // 25: api.GetResponsiblePersonReply.responsiblePerson:type_name -> api.ResponsiblePersonElement + 33, // 26: api.GetBuilding2GpsReply.building2Gps:type_name -> api.Building2GpsElement + 37, // 27: api.GetAreaFacilitiesByBuildingNrReply.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement + 37, // 28: api.GetListOfToiletsReply.listOfToilets:type_name -> api.RoomInformationElement + 37, // 29: api.GetListOfElevatorsReply.listOfElevators:type_name -> api.RoomInformationElement + 40, // 30: api.GetMoreInformationReply.information:type_name -> api.MoreInformationElement + 43, // 31: api.GetOpeningTimesReply.facilities:type_name -> api.OpeningTimesMsgElement + 47, // 32: api.GetStudyRoomListReply.rooms:type_name -> api.StudyRoomMsgElement + 48, // 33: api.StudyRoomMsgElement.rooms:type_name -> api.StudyRoom + 51, // 34: api.GetEventListReply.events:type_name -> api.EventListMsgElement + 100, // 35: api.EventListMsgElement.start:type_name -> google.protobuf.Timestamp + 100, // 36: api.EventListMsgElement.end:type_name -> google.protobuf.Timestamp + 53, // 37: api.PostEventTicketMyReply.myTickets:type_name -> api.EventTicketMyMsgElement + 100, // 38: api.EventTicketMyMsgElement.redemption:type_name -> google.protobuf.Timestamp + 56, // 39: api.GetEventTicketTypeReply.eventTickets:type_name -> api.EventTicketTypeMsgElement + 57, // 40: api.EventTicketTypeMsgElement.payment:type_name -> api.EventTicketPaymentMsg + 60, // 41: api.PostEventTicketReserveMultipleReply.tickets:type_name -> api.EventTicketReserveMultipleMsgElement + 63, // 42: api.GetKinoReply.kinos:type_name -> api.KinoMsgElement + 100, // 43: api.KinoMsgElement.date:type_name -> google.protobuf.Timestamp + 100, // 44: api.KinoMsgElement.created:type_name -> google.protobuf.Timestamp + 70, // 45: api.PostChatRoomsReply.rooms:type_name -> api.ChatRoomsMsgElement + 77, // 46: api.ChatMessageModelMsg.messages:type_name -> api.ChatMessageModelMsgElement + 100, // 47: api.ChatMessageModelMsgElement.timestamp:type_name -> google.protobuf.Timestamp + 80, // 48: api.ChatMemberMsg.members:type_name -> api.ChatMemberMsgElement + 70, // 49: api.GetMemberRoomsReply.chatRooms:type_name -> api.ChatRoomsMsgElement + 86, // 50: api.PurchaseTicketStripeReply.tickets:type_name -> api.TicketMessageElement + 100, // 51: api.TicketMessageElement.redemption:type_name -> google.protobuf.Timestamp + 90, // 52: api.GetEventTicketStatusReply.status:type_name -> api.TicketStatus + 100, // 53: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp + 100, // 54: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp + 101, // 55: api.Campus.GetTopNews:input_type -> google.protobuf.Empty + 101, // 56: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty + 8, // 57: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest + 6, // 58: api.Campus.GetLocations:input_type -> api.GetLocationsRequest + 4, // 59: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest + 2, // 60: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest + 0, // 61: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest + 14, // 62: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest + 15, // 63: api.Campus.GetDishRatings:input_type -> api.DishRatingRequest + 19, // 64: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest + 20, // 65: api.Campus.NewDishRating:input_type -> api.NewDishRatingRequest + 101, // 66: api.Campus.GetAvailableDishTags:input_type -> google.protobuf.Empty + 101, // 67: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty + 101, // 68: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty + 28, // 69: api.Campus.GetDishes:input_type -> api.GetDishesRequest + 101, // 70: api.Campus.GetResponsiblePerson:input_type -> google.protobuf.Empty + 101, // 71: api.Campus.GetBuilding2Gps:input_type -> google.protobuf.Empty + 35, // 72: api.Campus.GetAreaFacilitiesByBuildingNr:input_type -> api.GetAreaFacilitiesByBuildingNrRequest + 101, // 73: api.Campus.GetListOfToilets:input_type -> google.protobuf.Empty + 101, // 74: api.Campus.GetListOfElevators:input_type -> google.protobuf.Empty + 101, // 75: api.Campus.GetMoreInformation:input_type -> google.protobuf.Empty + 41, // 76: api.Campus.GetOpeningTimes:input_type -> api.GetOpeningTimesRequest + 44, // 77: api.Campus.GetUpdateNote:input_type -> api.GetUpdateNoteRequest + 101, // 78: api.Campus.GetStudyRoomList:input_type -> google.protobuf.Empty + 49, // 79: api.Campus.GetEventList:input_type -> api.GetEventListRequest + 101, // 80: api.Campus.PostEventTicketMy:input_type -> google.protobuf.Empty + 54, // 81: api.Campus.PostEventTicket:input_type -> api.PostEventTicketRequest + 54, // 82: api.Campus.GetEventTicketType:input_type -> api.PostEventTicketRequest + 58, // 83: api.Campus.PostEventTicketReserveMultiple:input_type -> api.PostEventTicketReserveMultipleRequest + 101, // 84: api.Campus.PurchaseTicketStripe:input_type -> google.protobuf.Empty + 101, // 85: api.Campus.RetrieveEphemeralKey:input_type -> google.protobuf.Empty + 88, // 86: api.Campus.GetEventTicketStatus:input_type -> api.GetEventTicketStatusRequest + 61, // 87: api.Campus.GetKino:input_type -> api.GetKinoRequest + 64, // 88: api.Campus.PostFeedback:input_type -> api.PostFeedbackRequest + 66, // 89: api.Campus.PostFeedbackIDImageNr:input_type -> api.PostFeedbackIDImageNrRequest + 101, // 90: api.Campus.RegisterDevice:input_type -> google.protobuf.Empty + 101, // 91: api.Campus.VerifyKey:input_type -> google.protobuf.Empty + 101, // 92: api.Campus.DeviceUploadGcmToken:input_type -> google.protobuf.Empty + 92, // 93: api.Campus.GetUploadStatus:input_type -> api.GetUploadStatusRequest + 95, // 94: api.Campus.GetNotification:input_type -> api.NotificationsRequest + 95, // 95: api.Campus.GetNotificationConfirm:input_type -> api.NotificationsRequest + 67, // 96: api.Campus.GetMembers:input_type -> api.GetMembersRequest + 101, // 97: api.Campus.PostChatRooms:input_type -> google.protobuf.Empty + 71, // 98: api.Campus.GetChatRoomsRoomId:input_type -> api.GetChatRoomsRoomIdRequest + 72, // 99: api.Campus.PostChatRoomsRoomIdLeave:input_type -> api.PostChatRoomsRoomIdLeaveRequest + 73, // 100: api.Campus.PostChatRoomsRoomIdAdd:input_type -> api.PostChatRoomsRoomIdAddRequest + 74, // 101: api.Campus.PutChatRoomsSendMessage:input_type -> api.PutChatRoomsSendRoomIdRequest + 75, // 102: api.Campus.PutChatRoomsUpdateMessage:input_type -> api.PutChatRoomsUpdateMessageRequest + 78, // 103: api.Campus.PostChatRoomsGetMessages:input_type -> api.PostChatRoomsGetMessagesRequest + 74, // 104: api.Campus.PostChatRoomsGetNewMessages:input_type -> api.PutChatRoomsSendRoomIdRequest + 80, // 105: api.Campus.PostChatCreateMember:input_type -> api.ChatMemberMsgElement + 81, // 106: api.Campus.GetChatMemberByLrzId:input_type -> api.GetChatMemberRequest + 82, // 107: api.Campus.SearchMemberByName:input_type -> api.SearchMemberByNameRequest + 83, // 108: api.Campus.GetMemberRooms:input_type -> api.GetMemberRoomsRequest + 13, // 109: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 110: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 111: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 112: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 113: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 114: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 115: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 116: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply + 17, // 117: api.Campus.GetDishRatings:output_type -> api.DishRatingReply + 101, // 118: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 101, // 119: api.Campus.NewDishRating:output_type -> google.protobuf.Empty + 21, // 120: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply + 21, // 121: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 26, // 122: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply + 29, // 123: api.Campus.GetDishes:output_type -> api.GetDishesReply + 30, // 124: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply + 32, // 125: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply + 34, // 126: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply + 36, // 127: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply + 38, // 128: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply + 39, // 129: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply + 42, // 130: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply + 45, // 131: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply + 46, // 132: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply + 50, // 133: api.Campus.GetEventList:output_type -> api.GetEventListReply + 52, // 134: api.Campus.PostEventTicketMy:output_type -> api.PostEventTicketMyReply + 51, // 135: api.Campus.PostEventTicket:output_type -> api.EventListMsgElement + 55, // 136: api.Campus.GetEventTicketType:output_type -> api.GetEventTicketTypeReply + 59, // 137: api.Campus.PostEventTicketReserveMultiple:output_type -> api.PostEventTicketReserveMultipleReply + 85, // 138: api.Campus.PurchaseTicketStripe:output_type -> api.PurchaseTicketStripeReply + 87, // 139: api.Campus.RetrieveEphemeralKey:output_type -> api.RetrieveEphemeralKeyReply + 89, // 140: api.Campus.GetEventTicketStatus:output_type -> api.GetEventTicketStatusReply + 62, // 141: api.Campus.GetKino:output_type -> api.GetKinoReply + 65, // 142: api.Campus.PostFeedback:output_type -> api.PostFeedbackReply + 65, // 143: api.Campus.PostFeedbackIDImageNr:output_type -> api.PostFeedbackReply + 91, // 144: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus + 91, // 145: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus + 91, // 146: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus + 93, // 147: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply + 94, // 148: api.Campus.GetNotification:output_type -> api.GetNotificationsReply + 96, // 149: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply + 68, // 150: api.Campus.GetMembers:output_type -> api.GetMembersReply + 69, // 151: api.Campus.PostChatRooms:output_type -> api.PostChatRoomsReply + 70, // 152: api.Campus.GetChatRoomsRoomId:output_type -> api.ChatRoomsMsgElement + 70, // 153: api.Campus.PostChatRoomsRoomIdLeave:output_type -> api.ChatRoomsMsgElement + 70, // 154: api.Campus.PostChatRoomsRoomIdAdd:output_type -> api.ChatRoomsMsgElement + 77, // 155: api.Campus.PutChatRoomsSendMessage:output_type -> api.ChatMessageModelMsgElement + 77, // 156: api.Campus.PutChatRoomsUpdateMessage:output_type -> api.ChatMessageModelMsgElement + 76, // 157: api.Campus.PostChatRoomsGetMessages:output_type -> api.ChatMessageModelMsg + 76, // 158: api.Campus.PostChatRoomsGetNewMessages:output_type -> api.ChatMessageModelMsg + 80, // 159: api.Campus.PostChatCreateMember:output_type -> api.ChatMemberMsgElement + 80, // 160: api.Campus.GetChatMemberByLrzId:output_type -> api.ChatMemberMsgElement + 79, // 161: api.Campus.SearchMemberByName:output_type -> api.ChatMemberMsg + 84, // 162: api.Campus.GetMemberRooms:output_type -> api.GetMemberRoomsReply + 109, // [109:163] is the sub-list for method output_type + 55, // [55:109] is the sub-list for method input_type + 55, // [55:55] is the sub-list for extension type_name + 55, // [55:55] is the sub-list for extension extendee + 0, // [0:55] is the sub-list for field type_name +} + +func init() { file_CampusService_proto_init() } +func file_CampusService_proto_init() { + if File_CampusService_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_CampusService_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomScheduleReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomCoordinatesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomCoordinatesReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRoomMapsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLocationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLocationsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRoomsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRoomsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Room); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewsSourceArray); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewsSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTopNewsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CafeteriaRatingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DishRatingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CafeteriaRatingReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DishRatingReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SingleRatingReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewCafeteriaRatingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewDishRatingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRatingTagsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RatingTagsOverview); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RatingTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RatingTagNewRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RatingTagResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCafeteriaReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Cafeteria); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDishesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDishesReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetResponsiblePersonReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponsiblePersonElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBuilding2GpsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Building2GpsElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAreaFacilitiesByBuildingNrReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAreaFacilitiesByBuildingNrRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetListOfToiletsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RoomInformationElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetListOfElevatorsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMoreInformationReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MoreInformationElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOpeningTimesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOpeningTimesReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpeningTimesMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUpdateNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUpdateNoteReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStudyRoomListReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudyRoomMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudyRoom); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventListReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventListMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostEventTicketMyReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventTicketMyMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostEventTicketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventTicketTypeReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventTicketTypeMsgElement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_CampusService_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventTicketPaymentMsg); i { case 0: return &v.state case 1: @@ -3513,8 +8366,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomScheduleReply); i { + file_CampusService_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostEventTicketReserveMultipleRequest); i { case 0: return &v.state case 1: @@ -3525,8 +8378,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomCoordinatesRequest); i { + file_CampusService_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostEventTicketReserveMultipleReply); i { case 0: return &v.state case 1: @@ -3537,8 +8390,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomCoordinatesReply); i { + file_CampusService_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventTicketReserveMultipleMsgElement); i { case 0: return &v.state case 1: @@ -3549,8 +8402,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsRequest); i { + file_CampusService_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetKinoRequest); i { case 0: return &v.state case 1: @@ -3561,8 +8414,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRoomMapsReply); i { + file_CampusService_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetKinoReply); i { case 0: return &v.state case 1: @@ -3573,8 +8426,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLocationsRequest); i { + file_CampusService_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KinoMsgElement); i { case 0: return &v.state case 1: @@ -3585,8 +8438,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLocationsReply); i { + file_CampusService_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostFeedbackRequest); i { case 0: return &v.state case 1: @@ -3597,8 +8450,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRoomsRequest); i { + file_CampusService_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostFeedbackReply); i { case 0: return &v.state case 1: @@ -3609,8 +8462,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRoomsReply); i { + file_CampusService_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostFeedbackIDImageNrRequest); i { case 0: return &v.state case 1: @@ -3621,8 +8474,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Room); i { + file_CampusService_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMembersRequest); i { case 0: return &v.state case 1: @@ -3633,8 +8486,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsSourceArray); i { + file_CampusService_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMembersReply); i { case 0: return &v.state case 1: @@ -3645,8 +8498,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsSource); i { + file_CampusService_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostChatRoomsReply); i { case 0: return &v.state case 1: @@ -3657,8 +8510,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTopNewsReply); i { + file_CampusService_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatRoomsMsgElement); i { case 0: return &v.state case 1: @@ -3669,8 +8522,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRatingRequest); i { + file_CampusService_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChatRoomsRoomIdRequest); i { case 0: return &v.state case 1: @@ -3681,8 +8534,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRatingRequest); i { + file_CampusService_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostChatRoomsRoomIdLeaveRequest); i { case 0: return &v.state case 1: @@ -3693,8 +8546,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRatingResponse); i { + file_CampusService_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostChatRoomsRoomIdAddRequest); i { case 0: return &v.state case 1: @@ -3705,8 +8558,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRatingResponse); i { + file_CampusService_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PutChatRoomsSendRoomIdRequest); i { case 0: return &v.state case 1: @@ -3717,8 +8570,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CafeteriaRating); i { + file_CampusService_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PutChatRoomsUpdateMessageRequest); i { case 0: return &v.state case 1: @@ -3729,8 +8582,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MealRating); i { + file_CampusService_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatMessageModelMsg); i { case 0: return &v.state case 1: @@ -3741,8 +8594,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewCafeteriaRatingRequest); i { + file_CampusService_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatMessageModelMsgElement); i { case 0: return &v.state case 1: @@ -3753,8 +8606,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewMealRatingRequest); i { + file_CampusService_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostChatRoomsGetMessagesRequest); i { case 0: return &v.state case 1: @@ -3765,8 +8618,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRatingTagsReply); i { + file_CampusService_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatMemberMsg); i { case 0: return &v.state case 1: @@ -3777,8 +8630,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRatingOverview); i { + file_CampusService_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatMemberMsgElement); i { case 0: return &v.state case 1: @@ -3789,8 +8642,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRatingResult); i { + file_CampusService_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetChatMemberRequest); i { case 0: return &v.state case 1: @@ -3801,8 +8654,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRating); i { + file_CampusService_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchMemberByNameRequest); i { case 0: return &v.state case 1: @@ -3813,8 +8666,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagRatingsResult); i { + file_CampusService_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMemberRoomsRequest); i { case 0: return &v.state case 1: @@ -3825,8 +8678,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCafeteriaResponse); i { + file_CampusService_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMemberRoomsReply); i { case 0: return &v.state case 1: @@ -3837,8 +8690,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Cafeteria); i { + file_CampusService_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurchaseTicketStripeReply); i { case 0: return &v.state case 1: @@ -3849,8 +8702,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResponsiblePersonResponse); i { + file_CampusService_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TicketMessageElement); i { case 0: return &v.state case 1: @@ -3861,8 +8714,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResponsiblePersonElement); i { + file_CampusService_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RetrieveEphemeralKeyReply); i { case 0: return &v.state case 1: @@ -3873,8 +8726,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBuilding2GpsResponse); i { + file_CampusService_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventTicketStatusRequest); i { case 0: return &v.state case 1: @@ -3885,8 +8738,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Building2GpsElement); i { + file_CampusService_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEventTicketStatusReply); i { case 0: return &v.state case 1: @@ -3897,8 +8750,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAreaFacilitiesByBuildingNrResponse); i { + file_CampusService_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TicketStatus); i { case 0: return &v.state case 1: @@ -3909,8 +8762,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAreaFacilitiesByBuildingNrRequest); i { + file_CampusService_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TUMCabeStatus); i { case 0: return &v.state case 1: @@ -3921,8 +8774,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetListOfToiletsResponse); i { + file_CampusService_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUploadStatusRequest); i { case 0: return &v.state case 1: @@ -3933,8 +8786,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoomInformationElement); i { + file_CampusService_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUploadStatusReply); i { case 0: return &v.state case 1: @@ -3945,8 +8798,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetListOfElevatorsResponse); i { + file_CampusService_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotificationsReply); i { case 0: return &v.state case 1: @@ -3957,8 +8810,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMoreInformationResponse); i { + file_CampusService_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotificationsRequest); i { case 0: return &v.state case 1: @@ -3969,8 +8822,8 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MoreInformationElement); i { + file_CampusService_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotificationsConfirmReply); i { case 0: return &v.state case 1: @@ -3981,7 +8834,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { case 0: return &v.state @@ -3993,7 +8846,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomMapsReply_Map); i { case 0: return &v.state @@ -4005,7 +8858,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLocationsReply_Location); i { case 0: return &v.state @@ -4024,7 +8877,7 @@ func file_CampusService_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_CampusService_proto_rawDesc, NumEnums: 0, - NumMessages: 43, + NumMessages: 100, NumExtensions: 0, NumServices: 1, }, diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index 97930bf3..82ded897 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -290,8 +290,8 @@ func local_request_Campus_GetCafeteriaRatings_0(ctx context.Context, marshaler r } -func request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq MealRatingsRequest +func request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DishRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -302,13 +302,13 @@ func request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Mars return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.GetMealRatings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetDishRatings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq MealRatingsRequest +func local_request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DishRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -319,7 +319,7 @@ func local_request_Campus_GetMealRatings_0(ctx context.Context, marshaler runtim return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.GetMealRatings(ctx, &protoReq) + msg, err := server.GetDishRatings(ctx, &protoReq) return msg, metadata, err } @@ -358,8 +358,8 @@ func local_request_Campus_NewCafeteriaRating_0(ctx context.Context, marshaler ru } -func request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewMealRatingRequest +func request_Campus_NewDishRating_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NewDishRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -370,13 +370,13 @@ func request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marsh return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.NewMealRating(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.NewDishRating(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq NewMealRatingRequest +func local_request_Campus_NewDishRating_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NewDishRatingRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -387,25 +387,25 @@ func local_request_Campus_NewMealRating_0(ctx context.Context, marshaler runtime return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.NewMealRating(ctx, &protoReq) + msg, err := server.NewDishRating(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetAvailableMealTags_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_GetAvailableDishTags_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := client.GetAvailableMealTags(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetAvailableDishTags(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetAvailableMealTags_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_GetAvailableDishTags_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := server.GetAvailableMealTags(ctx, &protoReq) + msg, err := server.GetAvailableDishTags(ctx, &protoReq) return msg, metadata, err } @@ -446,6 +446,42 @@ func local_request_Campus_GetCafeterias_0(ctx context.Context, marshaler runtime } +var ( + filter_Campus_GetDishes_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_GetDishes_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDishesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetDishes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDishes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetDishes_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDishesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetDishes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDishes(ctx, &protoReq) + return msg, metadata, err + +} + func request_Campus_GetResponsiblePerson_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata @@ -502,1020 +538,4010 @@ func request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshal } -func local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetAreaFacilitiesByBuildingNrRequest - var metadata runtime.ServerMetadata +func local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAreaFacilitiesByBuildingNrRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetAreaFacilitiesByBuildingNr(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetListOfToilets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetListOfToilets(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetListOfElevators(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetListOfElevators(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetMoreInformation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetMoreInformation(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetOpeningTimes_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOpeningTimesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["language"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "language") + } + + protoReq.Language, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "language", err) + } + + msg, err := client.GetOpeningTimes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetOpeningTimes_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOpeningTimesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["language"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "language") + } + + protoReq.Language, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "language", err) + } + + msg, err := server.GetOpeningTimes(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetUpdateNote_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUpdateNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "version") + } + + protoReq.Version, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "version", err) + } + + msg, err := client.GetUpdateNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetUpdateNote_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUpdateNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["version"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "version") + } + + protoReq.Version, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "version", err) + } + + msg, err := server.GetUpdateNote(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetStudyRoomList_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.GetStudyRoomList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetStudyRoomList_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.GetStudyRoomList(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_GetEventList_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_GetEventList_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEventListRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetEventList_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetEventList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetEventList_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEventListRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetEventList_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetEventList(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostEventTicketMy_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.PostEventTicketMy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostEventTicketMy_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.PostEventTicketMy(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.PostEventTicket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.PostEventTicket(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.GetEventTicketType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.GetEventTicketType(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_PostEventTicketReserveMultiple_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_PostEventTicketReserveMultiple_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketReserveMultipleRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostEventTicketReserveMultiple_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PostEventTicketReserveMultiple(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostEventTicketReserveMultiple_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostEventTicketReserveMultipleRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostEventTicketReserveMultiple_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PostEventTicketReserveMultiple(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.PurchaseTicketStripe(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.PurchaseTicketStripe(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_RetrieveEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.RetrieveEphemeralKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_RetrieveEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.RetrieveEphemeralKey(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEventTicketStatusRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["eventId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "eventId") + } + + protoReq.EventId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) + } + + msg, err := client.GetEventTicketStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEventTicketStatusRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["eventId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "eventId") + } + + protoReq.EventId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) + } + + msg, err := server.GetEventTicketStatus(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetKinoRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lastId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastId") + } + + protoReq.LastId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastId", err) + } + + msg, err := client.GetKino(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetKinoRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lastId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lastId") + } + + protoReq.LastId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lastId", err) + } + + msg, err := server.GetKino(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_PostFeedback_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_PostFeedback_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostFeedbackRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostFeedback_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PostFeedback(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostFeedback_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostFeedbackRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostFeedback_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PostFeedback(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostFeedbackIDImageNrRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["imageNr"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "imageNr") + } + + protoReq.ImageNr, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) + } + + msg, err := client.PostFeedbackIDImageNr(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostFeedbackIDImageNrRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + val, ok = pathParams["imageNr"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "imageNr") + } + + protoReq.ImageNr, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) + } + + msg, err := server.PostFeedbackIDImageNr(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_RegisterDevice_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.RegisterDevice(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_RegisterDevice_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.RegisterDevice(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_VerifyKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.VerifyKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_VerifyKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.VerifyKey(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_DeviceUploadGcmToken_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := client.DeviceUploadGcmToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_DeviceUploadGcmToken_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + msg, err := server.DeviceUploadGcmToken(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetUploadStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUploadStatusRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := client.GetUploadStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetUploadStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetUploadStatusRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := server.GetUploadStatus(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_GetNotification_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_GetNotification_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NotificationsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetNotification_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetNotification(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetNotification_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NotificationsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetNotification_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetNotification(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetNotificationConfirm_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NotificationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["notificationId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "notificationId") + } + + protoReq.NotificationId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "notificationId", err) + } + + msg, err := client.GetNotificationConfirm(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetNotificationConfirm_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq NotificationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["notificationId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "notificationId") + } + + protoReq.NotificationId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "notificationId", err) + } + + msg, err := server.GetNotificationConfirm(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetMembers_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMembersRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := client.GetMembers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetMembers_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMembersRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := server.GetMembers(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PostChatRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq emptypb.Empty + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PostChatRooms(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatRoomsRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := client.GetChatRoomsRoomId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatRoomsRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := server.GetChatRoomsRoomId(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsRoomIdLeaveRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := client.PostChatRoomsRoomIdLeave(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsRoomIdLeaveRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := server.PostChatRoomsRoomIdLeave(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsRoomIdAddRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["memberId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") + } + + protoReq.MemberId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) + } + + msg, err := client.PostChatRoomsRoomIdAdd(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsRoomIdAddRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["memberId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") + } + + protoReq.MemberId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) + } + + msg, err := server.PostChatRoomsRoomIdAdd(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsSendRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := client.PutChatRoomsSendMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsSendRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := server.PutChatRoomsSendMessage(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsUpdateMessageRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["messageId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "messageId") + } + + protoReq.MessageId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) + } + + msg, err := client.PutChatRoomsUpdateMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsUpdateMessageRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["messageId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "messageId") + } + + protoReq.MessageId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) + } + + msg, err := server.PutChatRoomsUpdateMessage(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsGetMessagesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["pageId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pageId") + } + + protoReq.PageId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) + } + + msg, err := client.PostChatRoomsGetMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PostChatRoomsGetMessagesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + val, ok = pathParams["pageId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pageId") + } + + protoReq.PageId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) + } + + msg, err := server.PostChatRoomsGetMessages(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_PostChatRoomsGetNewMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsSendRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := client.PostChatRoomsGetNewMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatRoomsGetNewMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PutChatRoomsSendRoomIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["roomId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") + } + + protoReq.RoomId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) + } + + msg, err := server.PostChatRoomsGetNewMessages(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Campus_PostChatCreateMember_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Campus_PostChatCreateMember_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChatMemberMsgElement + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostChatCreateMember_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PostChatCreateMember(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_PostChatCreateMember_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ChatMemberMsgElement + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostChatCreateMember_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PostChatCreateMember(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetChatMemberByLrzId_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatMemberRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := client.GetChatMemberByLrzId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetChatMemberByLrzId_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetChatMemberRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["lrzId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") + } + + protoReq.LrzId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) + } + + msg, err := server.GetChatMemberByLrzId(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_SearchMemberByName_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchMemberByNameRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["query"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query") + } + + protoReq.Query, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query", err) + } + + msg, err := client.SearchMemberByName(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_SearchMemberByName_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchMemberByNameRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["query"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query") + } + + protoReq.Query, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query", err) + } + + msg, err := server.SearchMemberByName(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Campus_GetMemberRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMemberRoomsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["memberId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") + } + + protoReq.MemberId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) + } + + msg, err := client.GetMemberRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Campus_GetMemberRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMemberRoomsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["memberId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") + } + + protoReq.MemberId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) + } + + msg, err := server.GetMemberRooms(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". +// UnaryRPC :call CampusServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCampusHandlerFromEndpoint instead. +func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CampusServer) error { + + mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetTopNews_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetNewsSources_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_SearchRooms_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetLocations_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteria/rating/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetDishRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishRatings", runtime.WithHTTPPathPattern("/dish/rating/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetDishRatings_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetDishRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteria/rating/new")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_NewDishRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewDishRating", runtime.WithHTTPPathPattern("/dish/rating/new")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_NewDishRating_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_NewDishRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAvailableDishTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableDishTags", runtime.WithHTTPPathPattern("/dish/rating/allTags")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetAvailableDishTags_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAvailableDishTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableDishTags_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteria/rating/allTags")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableCafeteriaTags_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteria/allCafeterias")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetCafeterias_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetDishes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishes", runtime.WithHTTPPathPattern("/dish/allDishes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetDishes_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetDishes_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetDishes_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetOpeningTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetOpeningTimes", runtime.WithHTTPPathPattern("/openingtimes/{language}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetOpeningTimes_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetOpeningTimes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetUpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUpdateNote", runtime.WithHTTPPathPattern("/updatenote/{version}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetUpdateNote_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetUpdateNote_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetStudyRoomList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetStudyRoomList_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetStudyRoomList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetEventList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventList", runtime.WithHTTPPathPattern("/event/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetEventList_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetEventList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostEventTicketMy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicketMy", runtime.WithHTTPPathPattern("/event/ticket/my")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostEventTicketMy_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostEventTicketMy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostEventTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostEventTicket_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostEventTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetEventTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetEventTicketType_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetEventTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostEventTicketReserveMultiple_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicketReserveMultiple", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostEventTicketReserveMultiple_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostEventTicketReserveMultiple_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_RetrieveEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RetrieveEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_RetrieveEphemeralKey_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_RetrieveEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetEventTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetEventTicketStatus_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetEventTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetKino", runtime.WithHTTPPathPattern("/kino/{lastId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetKino_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetKino_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostFeedback", runtime.WithHTTPPathPattern("/feedback")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostFeedback_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostFeedbackIDImageNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostFeedbackIDImageNr", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostFeedbackIDImageNr_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostFeedbackIDImageNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_RegisterDevice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RegisterDevice", runtime.WithHTTPPathPattern("/device/register")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_RegisterDevice_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_RegisterDevice_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_VerifyKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/VerifyKey", runtime.WithHTTPPathPattern("/device/verifyKey")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_VerifyKey_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_VerifyKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_DeviceUploadGcmToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/DeviceUploadGcmToken", runtime.WithHTTPPathPattern("/device/addGcmToken")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_DeviceUploadGcmToken_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_DeviceUploadGcmToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetUploadStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUploadStatus", runtime.WithHTTPPathPattern("/device/uploaded/{lrzId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetUploadStatus_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetUploadStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetNotification_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetNotificationConfirm_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotificationConfirm", runtime.WithHTTPPathPattern("/notifications/confirm/{notificationId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetNotificationConfirm_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetNotificationConfirm_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMembers", runtime.WithHTTPPathPattern("/members/{lrzId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetMembers_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRooms_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetChatRoomsRoomId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatRoomsRoomId", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetChatRoomsRoomId_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetChatRoomsRoomId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdLeave_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdLeave", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRoomsRoomIdLeave_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdAdd", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRoomsRoomIdAdd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_Campus_PutChatRoomsSendMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PutChatRoomsSendMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PutChatRoomsSendMessage_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PutChatRoomsSendMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_Campus_PutChatRoomsUpdateMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PutChatRoomsUpdateMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PutChatRoomsUpdateMessage_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PutChatRoomsUpdateMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRoomsGetMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRoomsGetMessages_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRoomsGetMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatRoomsGetNewMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetNewMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatRoomsGetNewMessages_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatRoomsGetNewMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_PostChatCreateMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatCreateMember", runtime.WithHTTPPathPattern("/chat/members")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_PostChatCreateMember_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_PostChatCreateMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetChatMemberByLrzId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatMemberByLrzId", runtime.WithHTTPPathPattern("/chat/members/{lrzId}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetChatMemberByLrzId_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetChatMemberByLrzId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_SearchMemberByName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchMemberByName", runtime.WithHTTPPathPattern("/chat/members/search/{query}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_SearchMemberByName_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_SearchMemberByName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetMemberRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMemberRooms", runtime.WithHTTPPathPattern("/chat/members/{memberId}/rooms")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Campus_GetMemberRooms_0(ctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetMemberRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterCampusHandlerFromEndpoint is same as RegisterCampusHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterCampusHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterCampusHandler(ctx, mux, conn) +} + +// RegisterCampusHandler registers the http handlers for service Campus to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterCampusHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterCampusHandlerClient(ctx, mux, NewCampusClient(conn)) +} + +// RegisterCampusHandlerClient registers the http handlers for service Campus +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CampusClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CampusClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "CampusClient" to call the correct interceptors. +func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CampusClient) error { + + mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetTopNews_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetNewsSources_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_SearchRooms_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetLocations_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetAreaFacilitiesByBuildingNr_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } + }) - msg, err := server.GetAreaFacilitiesByBuildingNr(ctx, &protoReq) - return msg, metadata, err + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteria/rating/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -func request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := client.GetListOfToilets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + mux.Handle("POST", pattern_Campus_GetDishRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetDishRatings", runtime.WithHTTPPathPattern("/dish/rating/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetDishRatings_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetDishRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -func local_request_Campus_GetListOfToilets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := server.GetListOfToilets(ctx, &protoReq) - return msg, metadata, err + mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteria/rating/new")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -func request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := client.GetListOfElevators(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + mux.Handle("POST", pattern_Campus_NewDishRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewDishRating", runtime.WithHTTPPathPattern("/dish/rating/new")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_NewDishRating_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_NewDishRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -func local_request_Campus_GetListOfElevators_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := server.GetListOfElevators(ctx, &protoReq) - return msg, metadata, err + mux.Handle("GET", pattern_Campus_GetAvailableDishTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableDishTags", runtime.WithHTTPPathPattern("/dish/rating/allTags")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetAvailableDishTags_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetAvailableDishTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableDishTags_0{resp}, mux.GetForwardResponseOptions()...) -func request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := client.GetMoreInformation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err + mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteria/rating/allTags")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableCafeteriaTags_0{resp}, mux.GetForwardResponseOptions()...) -func local_request_Campus_GetMoreInformation_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata + }) - msg, err := server.GetMoreInformation(ctx, &protoReq) - return msg, metadata, err + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteria/allCafeterias")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Campus_GetCafeterias_0(ctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetCafeterias_0{resp}, mux.GetForwardResponseOptions()...) -// RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". -// UnaryRPC :call CampusServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCampusHandlerFromEndpoint instead. -func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CampusServer) error { + }) - mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetDishes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetDishes", runtime.WithHTTPPathPattern("/dish/allDishes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetTopNews_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetDishes_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetDishes_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetDishes_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetNewsSources_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_SearchRooms_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetLocations_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetOpeningTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetOpeningTimes", runtime.WithHTTPPathPattern("/openingtimes/{language}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetOpeningTimes_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetOpeningTimes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMealRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetUpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMealRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetUpdateNote", runtime.WithHTTPPathPattern("/updatenote/{version}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetMealRatings_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetUpdateNote_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMealRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetUpdateNote_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetStudyRoomList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/newCafeteriaRating")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetStudyRoomList_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetStudyRoomList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_NewMealRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetEventList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewMealRating", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/newMealRating")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventList", runtime.WithHTTPPathPattern("/event/list")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_NewMealRating_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetEventList_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_NewMealRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEventList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAvailableMealTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostEventTicketMy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableMealTags", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/allTags")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicketMy", runtime.WithHTTPPathPattern("/event/ticket/my")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetAvailableMealTags_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PostEventTicketMy_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAvailableMealTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostEventTicketMy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostEventTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allTags")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PostEventTicket_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostEventTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetEventTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allCafeterias")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetEventTicketType_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEventTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostEventTicketReserveMultiple_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicketReserveMultiple", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PostEventTicketReserveMultiple_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostEventTicketReserveMultiple_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_RetrieveEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/RetrieveEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_RetrieveEphemeralKey_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_RetrieveEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetEventTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetEventTicketStatus_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEventTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetKino", runtime.WithHTTPPathPattern("/kino/{lastId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_GetKino_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetKino_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostFeedback", runtime.WithHTTPPathPattern("/feedback")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + resp, md, err := request_Campus_PostFeedback_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - return nil -} - -// RegisterCampusHandlerFromEndpoint is same as RegisterCampusHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterCampusHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterCampusHandler(ctx, mux, conn) -} - -// RegisterCampusHandler registers the http handlers for service Campus to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterCampusHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterCampusHandlerClient(ctx, mux, NewCampusClient(conn)) -} - -// RegisterCampusHandlerClient registers the http handlers for service Campus -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CampusClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CampusClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "CampusClient" to call the correct interceptors. -func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CampusClient) error { - - mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostFeedbackIDImageNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostFeedbackIDImageNr", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetTopNews_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostFeedbackIDImageNr_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostFeedbackIDImageNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_RegisterDevice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/RegisterDevice", runtime.WithHTTPPathPattern("/device/register")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetNewsSources_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_RegisterDevice_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_RegisterDevice_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_VerifyKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/VerifyKey", runtime.WithHTTPPathPattern("/device/verifyKey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_SearchRooms_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_VerifyKey_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_VerifyKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_DeviceUploadGcmToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/DeviceUploadGcmToken", runtime.WithHTTPPathPattern("/device/addGcmToken")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetLocations_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_DeviceUploadGcmToken_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_DeviceUploadGcmToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetUploadStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetUploadStatus", runtime.WithHTTPPathPattern("/device/uploaded/{lrzId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetUploadStatus_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetUploadStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetNotification_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNotificationConfirm_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNotificationConfirm", runtime.WithHTTPPathPattern("/notifications/confirm/{notificationId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetNotificationConfirm_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetNotificationConfirm_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMembers", runtime.WithHTTPPathPattern("/members/{lrzId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetMembers_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMealRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMealRatings", runtime.WithHTTPPathPattern("/cafeteriaRating/dish/get")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetMealRatings_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRooms_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMealRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetChatRoomsRoomId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/newCafeteriaRating")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatRoomsRoomId", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetChatRoomsRoomId_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatRoomsRoomId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_NewMealRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdLeave_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/NewMealRating", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/newMealRating")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdLeave", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_NewMealRating_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRoomsRoomIdLeave_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_NewMealRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRoomsRoomIdLeave_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAvailableMealTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableMealTags", runtime.WithHTTPPathPattern("/cafeteriaRating/meal/allTags")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdAdd", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetAvailableMealTags_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRoomsRoomIdAdd_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAvailableMealTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRoomsRoomIdAdd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Campus_PutChatRoomsSendMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allTags")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PutChatRoomsSendMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PutChatRoomsSendMessage_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PutChatRoomsSendMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PUT", pattern_Campus_PutChatRoomsUpdateMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteriaRating/cafeteria/allCafeterias")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PutChatRoomsUpdateMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetCafeterias_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PutChatRoomsUpdateMessage_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PutChatRoomsUpdateMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRoomsGetMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRoomsGetMessages_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRoomsGetMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatRoomsGetNewMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetNewMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatRoomsGetNewMessages_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatRoomsGetNewMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PostChatCreateMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatCreateMember", runtime.WithHTTPPathPattern("/chat/members")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_PostChatCreateMember_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PostChatCreateMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetChatMemberByLrzId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatMemberByLrzId", runtime.WithHTTPPathPattern("/chat/members/{lrzId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetChatMemberByLrzId_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetChatMemberByLrzId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_SearchMemberByName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchMemberByName", runtime.WithHTTPPathPattern("/chat/members/search/{query}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_SearchMemberByName_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SearchMemberByName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMemberRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMemberRooms", runtime.WithHTTPPathPattern("/chat/members/{memberId}/rooms")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetMemberRooms_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMemberRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1567,6 +4593,42 @@ func (m response_Campus_GetRoomSchedule_0) XXX_ResponseBody() interface{} { return response.Events } +type response_Campus_GetAvailableDishTags_0 struct { + proto.Message +} + +func (m response_Campus_GetAvailableDishTags_0) XXX_ResponseBody() interface{} { + response := m.Message.(*GetRatingTagsReply) + return response.RatingTags +} + +type response_Campus_GetAvailableCafeteriaTags_0 struct { + proto.Message +} + +func (m response_Campus_GetAvailableCafeteriaTags_0) XXX_ResponseBody() interface{} { + response := m.Message.(*GetRatingTagsReply) + return response.RatingTags +} + +type response_Campus_GetCafeterias_0 struct { + proto.Message +} + +func (m response_Campus_GetCafeterias_0) XXX_ResponseBody() interface{} { + response := m.Message.(*GetCafeteriaReply) + return response.Cafeteria +} + +type response_Campus_GetDishes_0 struct { + proto.Message +} + +func (m response_Campus_GetDishes_0) XXX_ResponseBody() interface{} { + response := m.Message.(*GetDishesReply) + return response.Dish +} + var ( pattern_Campus_GetTopNews_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"news", "top"}, "")) @@ -1582,19 +4644,21 @@ var ( pattern_Campus_GetRoomSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"roomfinder", "room", "scheduleById"}, "")) - pattern_Campus_GetCafeteriaRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "get"}, "")) + pattern_Campus_GetCafeteriaRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "get"}, "")) - pattern_Campus_GetMealRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "dish", "get"}, "")) + pattern_Campus_GetDishRatings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "get"}, "")) - pattern_Campus_NewCafeteriaRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "newCafeteriaRating"}, "")) + pattern_Campus_NewCafeteriaRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "new"}, "")) - pattern_Campus_NewMealRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "meal", "newMealRating"}, "")) + pattern_Campus_NewDishRating_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "new"}, "")) - pattern_Campus_GetAvailableMealTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "meal", "allTags"}, "")) + pattern_Campus_GetAvailableDishTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"dish", "rating", "allTags"}, "")) - pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allTags"}, "")) + pattern_Campus_GetAvailableCafeteriaTags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteria", "rating", "allTags"}, "")) - pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cafeteriaRating", "cafeteria", "allCafeterias"}, "")) + pattern_Campus_GetCafeterias_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"cafeteria", "allCafeterias"}, "")) + + pattern_Campus_GetDishes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"dish", "allDishes"}, "")) pattern_Campus_GetResponsiblePerson_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "contacts"}, "")) @@ -1607,6 +4671,72 @@ var ( pattern_Campus_GetListOfElevators_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfElevators"}, "")) pattern_Campus_GetMoreInformation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "moreInformation"}, "")) + + pattern_Campus_GetOpeningTimes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"openingtimes", "language"}, "")) + + pattern_Campus_GetUpdateNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"updatenote", "version"}, "")) + + pattern_Campus_GetStudyRoomList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"studyroom", "list"}, "")) + + pattern_Campus_GetEventList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"event", "list"}, "")) + + pattern_Campus_PostEventTicketMy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"event", "ticket", "my"}, "")) + + pattern_Campus_PostEventTicket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"event", "ticket", "id"}, "")) + + pattern_Campus_GetEventTicketType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "type", "id"}, "")) + + pattern_Campus_PostEventTicketReserveMultiple_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"event", "ticket", "reserve", "multiple"}, "")) + + pattern_Campus_PurchaseTicketStripe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"event", "ticket", "payment", "stripe", "purchase", "multiple"}, "")) + + pattern_Campus_RetrieveEphemeralKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"event", "ticket", "payment", "stripe", "ephemeralkey"}, "")) + + pattern_Campus_GetEventTicketStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "status", "eventId"}, "")) + + pattern_Campus_GetKino_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"kino", "lastId"}, "")) + + pattern_Campus_PostFeedback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"feedback"}, "")) + + pattern_Campus_PostFeedbackIDImageNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"feedback", "id", "imageNr"}, "")) + + pattern_Campus_RegisterDevice_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "register"}, "")) + + pattern_Campus_VerifyKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "verifyKey"}, "")) + + pattern_Campus_DeviceUploadGcmToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "addGcmToken"}, "")) + + pattern_Campus_GetUploadStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"device", "uploaded", "lrzId"}, "")) + + pattern_Campus_GetNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"notifications"}, "")) + + pattern_Campus_GetNotificationConfirm_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"notifications", "confirm", "notificationId"}, "")) + + pattern_Campus_GetMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "lrzId"}, "")) + + pattern_Campus_PostChatRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "rooms"}, "")) + + pattern_Campus_GetChatRoomsRoomId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "rooms", "roomId"}, "")) + + pattern_Campus_PostChatRoomsRoomIdLeave_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "leave"}, "")) + + pattern_Campus_PostChatRoomsRoomIdAdd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "add", "memberId"}, "")) + + pattern_Campus_PutChatRoomsSendMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "message"}, "")) + + pattern_Campus_PutChatRoomsUpdateMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "message", "messageId"}, "")) + + pattern_Campus_PostChatRoomsGetMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "messages", "pageId"}, "")) + + pattern_Campus_PostChatRoomsGetNewMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "messages"}, "")) + + pattern_Campus_PostChatCreateMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "members"}, "")) + + pattern_Campus_GetChatMemberByLrzId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "members", "lrzId"}, "")) + + pattern_Campus_SearchMemberByName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"chat", "members", "search", "query"}, "")) + + pattern_Campus_GetMemberRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "members", "memberId", "rooms"}, "")) ) var ( @@ -1626,18 +4756,20 @@ var ( forward_Campus_GetCafeteriaRatings_0 = runtime.ForwardResponseMessage - forward_Campus_GetMealRatings_0 = runtime.ForwardResponseMessage + forward_Campus_GetDishRatings_0 = runtime.ForwardResponseMessage forward_Campus_NewCafeteriaRating_0 = runtime.ForwardResponseMessage - forward_Campus_NewMealRating_0 = runtime.ForwardResponseMessage + forward_Campus_NewDishRating_0 = runtime.ForwardResponseMessage - forward_Campus_GetAvailableMealTags_0 = runtime.ForwardResponseMessage + forward_Campus_GetAvailableDishTags_0 = runtime.ForwardResponseMessage forward_Campus_GetAvailableCafeteriaTags_0 = runtime.ForwardResponseMessage forward_Campus_GetCafeterias_0 = runtime.ForwardResponseMessage + forward_Campus_GetDishes_0 = runtime.ForwardResponseMessage + forward_Campus_GetResponsiblePerson_0 = runtime.ForwardResponseMessage forward_Campus_GetBuilding2Gps_0 = runtime.ForwardResponseMessage @@ -1649,4 +4781,70 @@ var ( forward_Campus_GetListOfElevators_0 = runtime.ForwardResponseMessage forward_Campus_GetMoreInformation_0 = runtime.ForwardResponseMessage + + forward_Campus_GetOpeningTimes_0 = runtime.ForwardResponseMessage + + forward_Campus_GetUpdateNote_0 = runtime.ForwardResponseMessage + + forward_Campus_GetStudyRoomList_0 = runtime.ForwardResponseMessage + + forward_Campus_GetEventList_0 = runtime.ForwardResponseMessage + + forward_Campus_PostEventTicketMy_0 = runtime.ForwardResponseMessage + + forward_Campus_PostEventTicket_0 = runtime.ForwardResponseMessage + + forward_Campus_GetEventTicketType_0 = runtime.ForwardResponseMessage + + forward_Campus_PostEventTicketReserveMultiple_0 = runtime.ForwardResponseMessage + + forward_Campus_PurchaseTicketStripe_0 = runtime.ForwardResponseMessage + + forward_Campus_RetrieveEphemeralKey_0 = runtime.ForwardResponseMessage + + forward_Campus_GetEventTicketStatus_0 = runtime.ForwardResponseMessage + + forward_Campus_GetKino_0 = runtime.ForwardResponseMessage + + forward_Campus_PostFeedback_0 = runtime.ForwardResponseMessage + + forward_Campus_PostFeedbackIDImageNr_0 = runtime.ForwardResponseMessage + + forward_Campus_RegisterDevice_0 = runtime.ForwardResponseMessage + + forward_Campus_VerifyKey_0 = runtime.ForwardResponseMessage + + forward_Campus_DeviceUploadGcmToken_0 = runtime.ForwardResponseMessage + + forward_Campus_GetUploadStatus_0 = runtime.ForwardResponseMessage + + forward_Campus_GetNotification_0 = runtime.ForwardResponseMessage + + forward_Campus_GetNotificationConfirm_0 = runtime.ForwardResponseMessage + + forward_Campus_GetMembers_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRooms_0 = runtime.ForwardResponseMessage + + forward_Campus_GetChatRoomsRoomId_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRoomsRoomIdLeave_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRoomsRoomIdAdd_0 = runtime.ForwardResponseMessage + + forward_Campus_PutChatRoomsSendMessage_0 = runtime.ForwardResponseMessage + + forward_Campus_PutChatRoomsUpdateMessage_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRoomsGetMessages_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatRoomsGetNewMessages_0 = runtime.ForwardResponseMessage + + forward_Campus_PostChatCreateMember_0 = runtime.ForwardResponseMessage + + forward_Campus_GetChatMemberByLrzId_0 = runtime.ForwardResponseMessage + + forward_Campus_SearchMemberByName_0 = runtime.ForwardResponseMessage + + forward_Campus_GetMemberRooms_0 = runtime.ForwardResponseMessage ) diff --git a/api/CampusService.proto b/api/CampusService.proto index 23637ac2..6935c99a 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -67,17 +67,17 @@ service Campus { // This endpoint retrieves Cafeteria Ratings from the Backend. - rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingResponse) { + rpc GetCafeteriaRatings (CafeteriaRatingRequest) returns (CafeteriaRatingReply) { option (google.api.http) = { - post: "/cafeteriaRating/cafeteria/get" + post: "/cafeteria/rating/get", body: "*", }; } - rpc GetMealRatings (MealRatingRequest) returns (MealRatingResponse) { + rpc GetDishRatings (DishRatingRequest) returns (DishRatingReply) { option (google.api.http) = { - post: "/cafeteriaRating/dish/get" + post: "/dish/rating/get", body: "*", }; } @@ -86,73 +86,288 @@ service Campus { rpc NewCafeteriaRating (NewCafeteriaRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { - post: "/cafeteriaRating/cafeteria/newCafeteriaRating" + post: "/cafeteria/rating/new", body: "*", }; } - rpc NewMealRating (NewMealRatingRequest) returns (google.protobuf.Empty) { + rpc NewDishRating (NewDishRatingRequest) returns (google.protobuf.Empty) { option (google.api.http) = { - post: "/cafeteriaRating/meal/newMealRating" + post: "/dish/rating/new", body: "*", }; } - rpc GetAvailableMealTags (google.protobuf.Empty) returns (GetRatingTagsReply) { + rpc GetAvailableDishTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { - get: "/cafeteriaRating/meal/allTags", + get: "/dish/rating/allTags", + response_body: "ratingTags" }; } rpc GetAvailableCafeteriaTags (google.protobuf.Empty) returns (GetRatingTagsReply) { option (google.api.http) = { - get: "/cafeteriaRating/cafeteria/allTags", + get: "/cafeteria/rating/allTags", + response_body: "ratingTags" }; } - rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaResponse) { + rpc GetCafeterias (google.protobuf.Empty) returns (GetCafeteriaReply) { option (google.api.http) = { - get: "/cafeteriaRating/cafeteria/allCafeterias", + get: "/cafeteria/allCafeterias", + response_body: "cafeteria" }; } + rpc GetDishes (GetDishesRequest) returns (GetDishesReply) { + option (google.api.http) = { + get: "/dish/allDishes", + response_body: "dish" + }; + } - rpc getResponsiblePerson (google.protobuf.Empty) returns (getResponsiblePersonResponse) { + + rpc GetResponsiblePerson (google.protobuf.Empty) returns (GetResponsiblePersonReply) { option (google.api.http) = { get: "/barrierfree/contacts", }; } - rpc getBuilding2Gps (google.protobuf.Empty) returns (getBuilding2GpsResponse) { + rpc GetBuilding2Gps (google.protobuf.Empty) returns (GetBuilding2GpsReply) { option (google.api.http) = { get: "/barrierfree/getBuilding2Gps", }; } - rpc getAreaFacilitiesByBuildingNr (getAreaFacilitiesByBuildingNrRequest) returns (getAreaFacilitiesByBuildingNrResponse) { + rpc GetAreaFacilitiesByBuildingNr (GetAreaFacilitiesByBuildingNrRequest) returns (GetAreaFacilitiesByBuildingNrReply) { option (google.api.http) = { get: "/barrierfree/nerby", }; } - rpc getListOfToilets (google.protobuf.Empty) returns (getListOfToiletsResponse) { + rpc GetListOfToilets (google.protobuf.Empty) returns (GetListOfToiletsReply) { option (google.api.http) = { get: "/barrierfree/listOfToilets", }; } - rpc getListOfElevators (google.protobuf.Empty) returns (getListOfElevatorsResponse) { + rpc GetListOfElevators (google.protobuf.Empty) returns (GetListOfElevatorsReply) { option (google.api.http) = { get: "/barrierfree/listOfElevators", }; } - rpc getMoreInformation (google.protobuf.Empty) returns (getMoreInformationResponse) { + rpc GetMoreInformation (google.protobuf.Empty) returns (GetMoreInformationReply) { option (google.api.http) = { get: "/barrierfree/moreInformation", }; } + + + rpc GetOpeningTimes (GetOpeningTimesRequest) returns (GetOpeningTimesReply) { + option (google.api.http) = { + get: "/openingtimes/{language}", + }; + } + + + rpc GetUpdateNote (GetUpdateNoteRequest) returns (GetUpdateNoteReply) { + option (google.api.http) = { + get: "/updatenote/{version}", + }; + } + + + rpc GetStudyRoomList (google.protobuf.Empty) returns (GetStudyRoomListReply) { + option (google.api.http) = { + get: "/studyroom/list", + }; + } + + rpc GetEventList(GetEventListRequest) returns (GetEventListReply) { + option (google.api.http) = { + get: "/event/list", + }; + } + + // todo check again + rpc PostEventTicketMy(google.protobuf.Empty) returns (PostEventTicketMyReply) { + option (google.api.http) = { + post: "/event/ticket/my", + }; + } + + rpc PostEventTicket(PostEventTicketRequest) returns (EventListMsgElement) { + option (google.api.http) = { + post: "/event/ticket/{id}", + }; + } + + rpc GetEventTicketType(PostEventTicketRequest) returns (GetEventTicketTypeReply) { + option (google.api.http) = { + get: "/event/ticket/type/{id}", + }; + } + + rpc PostEventTicketReserveMultiple(PostEventTicketReserveMultipleRequest) returns (PostEventTicketReserveMultipleReply) { + option (google.api.http) = { + post: "/event/ticket/reserve/multiple", + }; + } + + rpc PurchaseTicketStripe(google.protobuf.Empty) returns (PurchaseTicketStripeReply) { + option (google.api.http) = { + post: "/event/ticket/payment/stripe/purchase/multiple", + }; + } + + rpc RetrieveEphemeralKey(google.protobuf.Empty) returns (RetrieveEphemeralKeyReply) { + option (google.api.http) = { + post: "/event/ticket/payment/stripe/ephemeralkey", + }; + } + + rpc GetEventTicketStatus(GetEventTicketStatusRequest) returns (GetEventTicketStatusReply) { + option (google.api.http) = { + get: "/event/ticket/status/{eventId}", + }; + } + + rpc GetKino(GetKinoRequest) returns (GetKinoReply) { + option (google.api.http) = { + get: "/kino/{lastId}", + }; + } + + rpc PostFeedback(PostFeedbackRequest) returns (PostFeedbackReply) { + option (google.api.http) = { + post: "/feedback", + }; + } + + rpc PostFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackReply) { + option (google.api.http) = { + post: "/feedback/{id}/{imageNr}", + }; + } + + + rpc RegisterDevice(google.protobuf.Empty) returns (TUMCabeStatus) { + option (google.api.http) = { + post: "/device/register", + }; + } + + rpc VerifyKey(google.protobuf.Empty) returns (TUMCabeStatus) { + option (google.api.http) = { + get: "/device/verifyKey", + }; + } + + rpc DeviceUploadGcmToken(google.protobuf.Empty) returns (TUMCabeStatus) { + option (google.api.http) = { + post: "/device/addGcmToken", + }; + } + + rpc GetUploadStatus(GetUploadStatusRequest) returns (GetUploadStatusReply) { + option (google.api.http) = { + get: "/device/uploaded/{lrzId}", + }; + } + + + rpc GetNotification(NotificationsRequest) returns (GetNotificationsReply) { + option (google.api.http) = { + get: "/notifications", + }; + } + + rpc GetNotificationConfirm(NotificationsRequest) returns (GetNotificationsConfirmReply) { + option (google.api.http) = { + get: "/notifications/confirm/{notificationId}", + }; + } + + rpc GetMembers(GetMembersRequest) returns (GetMembersReply) { + option (google.api.http) = { + get: "/members/{lrzId}", + }; + } + + rpc PostChatRooms(google.protobuf.Empty) returns (PostChatRoomsReply) { + option (google.api.http) = { + post: "/chat/rooms", + body: "*" + }; + } + + rpc GetChatRoomsRoomId(GetChatRoomsRoomIdRequest) returns (ChatRoomsMsgElement) { + option (google.api.http) = { + get: "/chat/rooms/{roomId}", + }; + } + + rpc PostChatRoomsRoomIdLeave(PostChatRoomsRoomIdLeaveRequest) returns (ChatRoomsMsgElement) { + option (google.api.http) = { + post: "/chat/rooms/{roomId}/leave", + }; + } + rpc PostChatRoomsRoomIdAdd(PostChatRoomsRoomIdAddRequest) returns (ChatRoomsMsgElement) { + option (google.api.http) = { + post: "/chat/rooms/{roomId}/add/{memberId}", + }; + } + + rpc PutChatRoomsSendMessage(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsgElement) { + option (google.api.http) = { + put: "/chat/rooms/{roomId}/message", + }; + } + + rpc PutChatRoomsUpdateMessage(PutChatRoomsUpdateMessageRequest) returns (ChatMessageModelMsgElement) { + option (google.api.http) = { + put: "/chat/rooms/{roomId}/message/{messageId}", + }; + } + + rpc PostChatRoomsGetMessages(PostChatRoomsGetMessagesRequest) returns (ChatMessageModelMsg) {//get messageModel returnen + option (google.api.http) = { + post: "/chat/rooms/{roomId}/messages/{pageId}", + }; + } + + rpc PostChatRoomsGetNewMessages(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsg) { + option (google.api.http) = { + post: "/chat/rooms/{roomId}/messages", + }; + } + + + rpc PostChatCreateMember(ChatMemberMsgElement) returns (ChatMemberMsgElement) { + option (google.api.http) = { + post: "/chat/members", + }; + } + + rpc GetChatMemberByLrzId(GetChatMemberRequest) returns (ChatMemberMsgElement) { + option (google.api.http) = { + get: "/chat/members/{lrzId}", + }; + } + + rpc SearchMemberByName(SearchMemberByNameRequest) returns (ChatMemberMsg) { + option (google.api.http) = { + get: "/chat/members/search/{query}", + }; + } + + rpc GetMemberRooms(GetMemberRoomsRequest) returns (GetMemberRoomsReply) { + option (google.api.http) = { + post: "/chat/members/{memberId}/rooms", + }; + } } message GetRoomScheduleRequest { @@ -221,7 +436,7 @@ message SearchRoomsReply { } message Room { - int32 room_id = 1; + int32 roomId = 1; string room_code = 2; string building_nr = 3; string arch_id = 4; @@ -253,8 +468,8 @@ message GetTopNewsReply { message CafeteriaRatingRequest { - // cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme) - string cafeteriaName = 1; + // cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") + string cafeteriaId = 1; // Optional Parameter to define an interval for the ratings (Lower bound) google.protobuf.Timestamp from = 2; // Optional Parameter to define an interval for the ratings (Upper bound) @@ -263,11 +478,11 @@ message CafeteriaRatingRequest { int32 limit = 4; } -message MealRatingRequest { - // Mandatory Name of the cafeteria (EAT-API naming scheme) - string cafeteriaName = 1; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string meal = 2; +message DishRatingRequest { + // Mandatory Name of the cafeteria (EAT-API naming scheme "MENSA_GARCHING") + string cafeteriaId = 1; + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + string dish = 2; // Optional Parameter to define an interval for the ratings (Lower bound) google.protobuf.Timestamp from = 3; // Optional Parameter to define an interval for the ratings (Upper bound) @@ -276,130 +491,125 @@ message MealRatingRequest { int32 limit = 5; } -message CafeteriaRatingResponse { - repeated CafeteriaRating rating = 1; - double averagePoints = 2; - double standardDeviation = 3; - int32 minPoints = 4; - int32 maxPoints = 5; - repeated TagRatingsResult ratingTags = 6; +message CafeteriaRatingReply { + repeated SingleRatingReply rating = 1; + double avg = 2; + double std = 3; + int32 min = 4; + int32 max = 5; + repeated RatingTagResult ratingTags = 6; } -message MealRatingResponse { - repeated MealRating rating = 1; - double averagePoints = 2; - double standardDeviation = 3; - int32 minPoints = 4; - int32 maxPoints = 5; - repeated TagRatingsResult ratingTags = 6; - repeated TagRatingsResult nameTags = 7; +message DishRatingReply { + repeated SingleRatingReply rating = 1; + double avg = 2; + double std = 3; + int32 min = 4; + int32 max = 5; + repeated RatingTagResult ratingTags = 6; + repeated RatingTagResult nameTags = 7; } - - -message CafeteriaRating{ - // number in the range 1-5 - int32 points = 1; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string cafeteriaName = 2; - // Optional JPEG image in Base64 - bytes image = 3; - // Optional comment (max 256 chars) - string comment = 4; - repeated TagRatingResult tagRating = 5; - google.protobuf.Timestamp cafeteriaVisitedAt = 6; -} - -message MealRating{ +message SingleRatingReply{ // number in the range 1-5 int32 points = 1; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string cafeteriaName = 2; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string meal = 3; // Optional JPEG image in Base64 - bytes image = 4; + bytes image = 2; // Optional comment (max 256 chars) - string comment = 5; - repeated TagRatingResult tagRating = 6; - google.protobuf.Timestamp cafeteriaVisitedAt = 7; + string comment = 3; + repeated RatingTagNewRequest ratingTags = 4; + google.protobuf.Timestamp visited = 5; } message NewCafeteriaRatingRequest{ // number in the range 1-5 int32 points = 1; - string cafeteriaName = 2; + string cafeteriaId = 2; bytes image = 3; // Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags - repeated TagRating tags = 4; + repeated RatingTag ratingTags = 4; // Optional comment (max 256 chars) string comment = 6; } -message NewMealRatingRequest{ +message NewDishRatingRequest{ // number in the range 1-5 int32 points = 1; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string cafeteriaName = 2; - // Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa - string meal = 3; + // Mandatory Name of the dish (EAT-API naming scheme "MENSA_GARCHING") Must be available int the given mensa + string cafeteriaId = 2; + // Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa + string dish = 3; // Optional JPEG image in Base64 bytes image = 4; - // Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags - repeated TagRating tags = 5; + // Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags + repeated RatingTag ratingTags = 5; // Optional comment (max 256 chars) string comment = 7; } message GetRatingTagsReply{ - repeated TagRatingOverview tags = 1; + repeated RatingTagsOverview ratingTags = 1; } -message TagRatingOverview { - string DE = 1; - string EN = 2; +message RatingTagsOverview { + int32 tagId = 1; + string de = 2; + string en = 3; } -message TagRatingResult { - string DE = 1; - string EN = 2; - int32 points = 3; +message RatingTag { + int32 tagId = 1; + double points = 2; } -message TagRating { - string tag = 1; - double points = 2; +message RatingTagNewRequest { + int32 tagId = 1; + int32 points = 2; } -message TagRatingsResult { - string DE = 1; - string EN = 2; - double averagePoints = 3; - double standardDeviation = 4; - int32 minPoints = 5; - int32 maxPoints = 6; +message RatingTagResult { + int32 tagId = 1; + double avg = 2; + double std = 3; + int32 min = 4; + int32 max = 5; } -message GetCafeteriaResponse{ +message GetCafeteriaReply{ repeated Cafeteria cafeteria = 1; } message Cafeteria{ - string name = 1; + string id = 1; string address = 2; double longitude = 3; double latitude = 4; } +message GetDishesRequest{ + string cafeteriaId = 1; + int32 year = 2; + int32 month = 3; + int32 day = 4; +} -message getResponsiblePersonResponse { +message GetDishesReply{ + repeated string dish = 1; +} + + + + + + +message GetResponsiblePersonReply { repeated ResponsiblePersonElement responsiblePerson = 1; } @@ -412,33 +622,33 @@ message ResponsiblePersonElement{ } -message getBuilding2GpsResponse { +message GetBuilding2GpsReply { repeated Building2GpsElement building2Gps = 1; } message Building2GpsElement{ - string id=1; - string latitude=2; - string longitude=3; + string id = 1; + string latitude = 2; + string longitude = 3; } -message getAreaFacilitiesByBuildingNrResponse { +message GetAreaFacilitiesByBuildingNrReply { repeated RoomInformationElement areaFacilitiesByBuildingNr = 1; } -message getAreaFacilitiesByBuildingNrRequest { +message GetAreaFacilitiesByBuildingNrRequest { string building_nr = 1; } -message getListOfToiletsResponse { +message GetListOfToiletsReply { repeated RoomInformationElement listOfToilets = 1; } message RoomInformationElement{ - int32 room_id = 1; + int32 roomId = 1; string room_code = 2; string building_nr = 3; string arch_id = 4; @@ -449,13 +659,13 @@ message RoomInformationElement{ string name = 9; } -message getListOfElevatorsResponse { +message GetListOfElevatorsReply { repeated RoomInformationElement listOfElevators = 1; } -message getMoreInformationResponse { +message GetMoreInformationReply { repeated MoreInformationElement information = 1; } @@ -466,4 +676,345 @@ message MoreInformationElement{ } +message GetOpeningTimesRequest{ + string language = 1; +} + + + +message GetOpeningTimesReply{ + repeated OpeningTimesMsgElement facilities = 1; + +} + +message OpeningTimesMsgElement{ + int32 id = 1; + string category = 2; + string name = 3; + string address = 4; + string room = 5; + string transport_station = 6; + string opening_hours = 7; + string infos = 8; + string url = 9; + string language = 10; + int32 reference_id = 11; +} + +message GetUpdateNoteRequest{ + int32 version = 1; +} + +message GetUpdateNoteReply{ + string message = 1; +} + +message GetStudyRoomListReply{ + repeated StudyRoomMsgElement rooms = 1; + +} +message StudyRoomMsgElement{ + int32 id = 1; + string name = 2; + string details = 3; + repeated StudyRoom rooms = 4; +} + +message StudyRoom{ + int32 group_id = 1; + int32 roomId = 2; + string room_code = 3; + string room_name = 4; + string building_name = 5; +} + +message GetEventListRequest{ + // optional parameter, will return all events if no id is specified + int32 eventId = 1; +} + +message GetEventListReply{ + repeated EventListMsgElement events = 1; +} + +message EventListMsgElement{ + string name = 1; + string path = 2; + int32 event = 3; + int32 news = 4; + int32 kino = 5; + int32 file = 6; + string title = 7; + string description = 8; + string locality = 9; + string link = 10; + google.protobuf.Timestamp start = 11; + google.protobuf.Timestamp end = 12; + int32 ticket_group = 13; +} + + +message PostEventTicketMyReply{ + repeated EventTicketMyMsgElement myTickets = 1; +} + +message EventTicketMyMsgElement{ + int32 ticket_history = 1; + int32 ticket_type = 2; + google.protobuf.Timestamp redemption = 3; + string code = 4; + int32 event = 5; +} + +message PostEventTicketRequest { + int32 id = 1; +} + +message GetEventTicketTypeReply{ + repeated EventTicketTypeMsgElement eventTickets = 1; + +} +message EventTicketTypeMsgElement{ + int32 ticket_type = 1; + int32 event = 2; + int32 ticket_payment = 3; + int32 price = 4; + int32 contingent = 5; + string description = 6; + EventTicketPaymentMsg payment = 7; + int32 sold = 8; +} + +message EventTicketPaymentMsg{ + string stripe_publishable_key = 1; + string terms = 2; + int32 minTickets = 3; + int32 maxTickets = 4; +} + +message PostEventTicketReserveMultipleRequest{ + repeated int32 ticketTypes = 1; + repeated int32 amounts = 2; +} + +message PostEventTicketReserveMultipleReply{ + repeated EventTicketReserveMultipleMsgElement tickets = 1; +} + +message EventTicketReserveMultipleMsgElement{ + int32 ticket_ids = 1; +} + +message GetKinoRequest{ + int32 lastId = 1; +} + +message GetKinoReply{ + repeated KinoMsgElement kinos = 1; +} + +message KinoMsgElement{ + string name = 1; + string path = 2; + int32 kino = 3; + google.protobuf.Timestamp date = 4; + google.protobuf.Timestamp created = 5; + string title = 6; + string year = 7; + string runtime = 8; + string genre = 9; + string director = 10; + string actors = 11; + string rating = 12; + string description = 13; + int32 cover = 14; + string trailer = 15; + string link = 16; +} + +message PostFeedbackRequest{ + string topic = 1; + string email = 2; + string emailId = 3; + string message = 4; + int32 image_count = 5; + double latitude = 6; + double longitude = 7; + string osVersion = 8; + string appVersion = 9; +} + +message PostFeedbackReply{ + string status = 1; +} + +message PostFeedbackIDImageNrRequest{ + int32 id = 1; + int32 imageNr = 2; + //todo wo kommt das eigentliche file her? +} + + +message GetMembersRequest{ + string lrzId = 1; +} + +message GetMembersReply{ + string lrzId = 1; + string name = 2; + int32 memberId = 3; +} + + + +message PostChatRoomsReply{ + repeated ChatRoomsMsgElement rooms = 1; +} + +message ChatRoomsMsgElement{ + int32 id = 1; + string name = 2; + string semester = 3; + string title = 4; + int32 members = 5; +} + +message GetChatRoomsRoomIdRequest{ + int32 roomId = 1; +} + + +message PostChatRoomsRoomIdLeaveRequest{ + int32 roomId = 1; +} + +message PostChatRoomsRoomIdAddRequest{ + int32 roomId = 1; + int32 memberId = 2; +} + +message PutChatRoomsSendRoomIdRequest{ + int32 roomId = 1; +} + +message PutChatRoomsUpdateMessageRequest{ + int32 roomId = 1; + int32 messageId = 2; +} + + +message ChatMessageModelMsg{ + repeated ChatMessageModelMsgElement messages = 1; +} + +message ChatMessageModelMsgElement{ + int32 id = 1; + int32 previous = 2; + int32 room = 3; + string text = 4; + google.protobuf.Timestamp timestamp = 5; + string signature = 6; + int32 memberId = 7; + int32 sendingStatus = 8; +} + +message PostChatRoomsGetMessagesRequest{ + int32 roomId = 1; + int32 pageId = 2; +} + +message ChatMemberMsg{ + repeated ChatMemberMsgElement members = 1; +} + +message ChatMemberMsgElement{ + int32 id = 1; + string lrzId = 2; + string displayName = 3; + string signature = 4; +} + + +message GetChatMemberRequest{ + string lrzId = 1; +} + + +message SearchMemberByNameRequest{ + string query = 1; +} + +message GetMemberRoomsRequest{ + int32 memberId = 1; +} + +message GetMemberRoomsReply{ + repeated ChatRoomsMsgElement chatRooms = 1; +} + + +message PurchaseTicketStripeReply{ + repeated TicketMessageElement tickets = 1; +} + +message TicketMessageElement{ + int32 id = 1; + int32 eventId = 2; + string code = 3; + int32 ticketTypeId = 4; + google.protobuf.Timestamp redemption = 5; +} + + +message RetrieveEphemeralKeyReply{ + //todo How does this look? +} + + +message GetEventTicketStatusRequest{ + int32 eventId = 1; +} + + +message GetEventTicketStatusReply{ + repeated TicketStatus status = 1; +} + +message TicketStatus{ + int32 ticketType = 1; + int32 contingent = 2; + int32 sold = 3; +} + +message TUMCabeStatus{ + string status = 1; +} + +message GetUploadStatusRequest{ + string lrzId = 1; +} + +message GetUploadStatusReply{ + string fcm_token = 1; + string public_key = 2; + bool student_id = 3; + bool employee_id = 4; + bool external_id = 5; +} + +message GetNotificationsReply{ + int32 notificationId=1; + int32 type=2; + string title=3; + string description=4; + string signature=5; +} + + +message NotificationsRequest{ + int32 notificationId=1; +} +message GetNotificationsConfirmReply{ + string status=1; +} \ No newline at end of file diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index 926c090c..3ced2246 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -31,19 +31,55 @@ type CampusClient interface { GetRoomMaps(ctx context.Context, in *GetRoomMapsRequest, opts ...grpc.CallOption) (*GetRoomMapsReply, error) GetRoomCoordinates(ctx context.Context, in *GetRoomCoordinatesRequest, opts ...grpc.CallOption) (*GetRoomCoordinatesReply, error) GetRoomSchedule(ctx context.Context, in *GetRoomScheduleRequest, opts ...grpc.CallOption) (*GetRoomScheduleReply, error) - GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingResponse, error) - GetMealRatings(ctx context.Context, in *MealRatingsRequest, opts ...grpc.CallOption) (*MealRatingsResponse, error) + // This endpoint retrieves Cafeteria Ratings from the Backend. + GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingReply, error) + GetDishRatings(ctx context.Context, in *DishRatingRequest, opts ...grpc.CallOption) (*DishRatingReply, error) NewCafeteriaRating(ctx context.Context, in *NewCafeteriaRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - NewMealRating(ctx context.Context, in *NewMealRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) + NewDishRating(ctx context.Context, in *NewDishRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + GetAvailableDishTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) - GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) - GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonResponse, error) - GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsResponse, error) - GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrResponse, error) - GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsResponse, error) - GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsResponse, error) - GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationResponse, error) + GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaReply, error) + GetDishes(ctx context.Context, in *GetDishesRequest, opts ...grpc.CallOption) (*GetDishesReply, error) + GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonReply, error) + GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsReply, error) + GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrReply, error) + GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsReply, error) + GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsReply, error) + GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationReply, error) + GetOpeningTimes(ctx context.Context, in *GetOpeningTimesRequest, opts ...grpc.CallOption) (*GetOpeningTimesReply, error) + GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) + GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) + GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) + // todo check again + PostEventTicketMy(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostEventTicketMyReply, error) + PostEventTicket(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) + GetEventTicketType(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) + PostEventTicketReserveMultiple(ctx context.Context, in *PostEventTicketReserveMultipleRequest, opts ...grpc.CallOption) (*PostEventTicketReserveMultipleReply, error) + PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) + RetrieveEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RetrieveEphemeralKeyReply, error) + GetEventTicketStatus(ctx context.Context, in *GetEventTicketStatusRequest, opts ...grpc.CallOption) (*GetEventTicketStatusReply, error) + GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) + PostFeedback(ctx context.Context, in *PostFeedbackRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) + PostFeedbackIDImageNr(ctx context.Context, in *PostFeedbackIDImageNrRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) + RegisterDevice(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) + VerifyKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) + DeviceUploadGcmToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) + GetUploadStatus(ctx context.Context, in *GetUploadStatusRequest, opts ...grpc.CallOption) (*GetUploadStatusReply, error) + GetNotification(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsReply, error) + GetNotificationConfirm(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsConfirmReply, error) + GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersReply, error) + PostChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostChatRoomsReply, error) + GetChatRoomsRoomId(ctx context.Context, in *GetChatRoomsRoomIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + PostChatRoomsRoomIdLeave(ctx context.Context, in *PostChatRoomsRoomIdLeaveRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + PostChatRoomsRoomIdAdd(ctx context.Context, in *PostChatRoomsRoomIdAddRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) + PutChatRoomsSendMessage(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) + PutChatRoomsUpdateMessage(ctx context.Context, in *PutChatRoomsUpdateMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) + PostChatRoomsGetMessages(ctx context.Context, in *PostChatRoomsGetMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) + PostChatRoomsGetNewMessages(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) + PostChatCreateMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) + GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) + SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) + GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) } type campusClient struct { @@ -117,8 +153,8 @@ func (c *campusClient) GetRoomSchedule(ctx context.Context, in *GetRoomScheduleR return out, nil } -func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingResponse, error) { - out := new(CafeteriaRatingResponse) +func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRatingRequest, opts ...grpc.CallOption) (*CafeteriaRatingReply, error) { + out := new(CafeteriaRatingReply) err := c.cc.Invoke(ctx, "/api.Campus/GetCafeteriaRatings", in, out, opts...) if err != nil { return nil, err @@ -126,9 +162,9 @@ func (c *campusClient) GetCafeteriaRatings(ctx context.Context, in *CafeteriaRat return out, nil } -func (c *campusClient) GetMealRatings(ctx context.Context, in *MealRatingsRequest, opts ...grpc.CallOption) (*MealRatingsResponse, error) { - out := new(MealRatingsResponse) - err := c.cc.Invoke(ctx, "/api.Campus/GetMealRatings", in, out, opts...) +func (c *campusClient) GetDishRatings(ctx context.Context, in *DishRatingRequest, opts ...grpc.CallOption) (*DishRatingReply, error) { + out := new(DishRatingReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetDishRatings", in, out, opts...) if err != nil { return nil, err } @@ -144,18 +180,18 @@ func (c *campusClient) NewCafeteriaRating(ctx context.Context, in *NewCafeteriaR return out, nil } -func (c *campusClient) NewMealRating(ctx context.Context, in *NewMealRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *campusClient) NewDishRating(ctx context.Context, in *NewDishRatingRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/api.Campus/NewMealRating", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/NewDishRating", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetAvailableMealTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) { +func (c *campusClient) GetAvailableDishTags(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRatingTagsReply, error) { out := new(GetRatingTagsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetAvailableMealTags", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetAvailableDishTags", in, out, opts...) if err != nil { return nil, err } @@ -171,8 +207,8 @@ func (c *campusClient) GetAvailableCafeteriaTags(ctx context.Context, in *emptyp return out, nil } -func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaResponse, error) { - out := new(GetCafeteriaResponse) +func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetCafeteriaReply, error) { + out := new(GetCafeteriaReply) err := c.cc.Invoke(ctx, "/api.Campus/GetCafeterias", in, out, opts...) if err != nil { return nil, err @@ -180,54 +216,360 @@ func (c *campusClient) GetCafeterias(ctx context.Context, in *emptypb.Empty, opt return out, nil } -func (c *campusClient) GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonResponse, error) { - out := new(GetResponsiblePersonResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getResponsiblePerson", in, out, opts...) +func (c *campusClient) GetDishes(ctx context.Context, in *GetDishesRequest, opts ...grpc.CallOption) (*GetDishesReply, error) { + out := new(GetDishesReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetDishes", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsResponse, error) { - out := new(GetBuilding2GpsResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getBuilding2Gps", in, out, opts...) +func (c *campusClient) GetResponsiblePerson(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetResponsiblePersonReply, error) { + out := new(GetResponsiblePersonReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetResponsiblePerson", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrResponse, error) { - out := new(GetAreaFacilitiesByBuildingNrResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getAreaFacilitiesByBuildingNr", in, out, opts...) +func (c *campusClient) GetBuilding2Gps(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetBuilding2GpsReply, error) { + out := new(GetBuilding2GpsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetBuilding2Gps", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsResponse, error) { - out := new(GetListOfToiletsResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getListOfToilets", in, out, opts...) +func (c *campusClient) GetAreaFacilitiesByBuildingNr(ctx context.Context, in *GetAreaFacilitiesByBuildingNrRequest, opts ...grpc.CallOption) (*GetAreaFacilitiesByBuildingNrReply, error) { + out := new(GetAreaFacilitiesByBuildingNrReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetAreaFacilitiesByBuildingNr", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsResponse, error) { - out := new(GetListOfElevatorsResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getListOfElevators", in, out, opts...) +func (c *campusClient) GetListOfToilets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfToiletsReply, error) { + out := new(GetListOfToiletsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetListOfToilets", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationResponse, error) { - out := new(GetMoreInformationResponse) - err := c.cc.Invoke(ctx, "/api.Campus/getMoreInformation", in, out, opts...) +func (c *campusClient) GetListOfElevators(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetListOfElevatorsReply, error) { + out := new(GetListOfElevatorsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetListOfElevators", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetMoreInformation(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetMoreInformationReply, error) { + out := new(GetMoreInformationReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetMoreInformation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetOpeningTimes(ctx context.Context, in *GetOpeningTimesRequest, opts ...grpc.CallOption) (*GetOpeningTimesReply, error) { + out := new(GetOpeningTimesReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetOpeningTimes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) { + out := new(GetUpdateNoteReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetUpdateNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) { + out := new(GetStudyRoomListReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetStudyRoomList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) { + out := new(GetEventListReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetEventList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostEventTicketMy(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostEventTicketMyReply, error) { + out := new(PostEventTicketMyReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicketMy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostEventTicket(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) { + out := new(EventListMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetEventTicketType(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) { + out := new(GetEventTicketTypeReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetEventTicketType", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostEventTicketReserveMultiple(ctx context.Context, in *PostEventTicketReserveMultipleRequest, opts ...grpc.CallOption) (*PostEventTicketReserveMultipleReply, error) { + out := new(PostEventTicketReserveMultipleReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicketReserveMultiple", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) { + out := new(PurchaseTicketStripeReply) + err := c.cc.Invoke(ctx, "/api.Campus/PurchaseTicketStripe", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) RetrieveEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RetrieveEphemeralKeyReply, error) { + out := new(RetrieveEphemeralKeyReply) + err := c.cc.Invoke(ctx, "/api.Campus/RetrieveEphemeralKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetEventTicketStatus(ctx context.Context, in *GetEventTicketStatusRequest, opts ...grpc.CallOption) (*GetEventTicketStatusReply, error) { + out := new(GetEventTicketStatusReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetEventTicketStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) { + out := new(GetKinoReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetKino", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostFeedback(ctx context.Context, in *PostFeedbackRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) { + out := new(PostFeedbackReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostFeedback", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostFeedbackIDImageNr(ctx context.Context, in *PostFeedbackIDImageNrRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) { + out := new(PostFeedbackReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostFeedbackIDImageNr", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) RegisterDevice(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { + out := new(TUMCabeStatus) + err := c.cc.Invoke(ctx, "/api.Campus/RegisterDevice", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) VerifyKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { + out := new(TUMCabeStatus) + err := c.cc.Invoke(ctx, "/api.Campus/VerifyKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) DeviceUploadGcmToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) { + out := new(TUMCabeStatus) + err := c.cc.Invoke(ctx, "/api.Campus/DeviceUploadGcmToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetUploadStatus(ctx context.Context, in *GetUploadStatusRequest, opts ...grpc.CallOption) (*GetUploadStatusReply, error) { + out := new(GetUploadStatusReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetUploadStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetNotification(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsReply, error) { + out := new(GetNotificationsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetNotification", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetNotificationConfirm(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsConfirmReply, error) { + out := new(GetNotificationsConfirmReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetNotificationConfirm", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersReply, error) { + out := new(GetMembersReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetMembers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostChatRoomsReply, error) { + out := new(PostChatRoomsReply) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRooms", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetChatRoomsRoomId(ctx context.Context, in *GetChatRoomsRoomIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { + out := new(ChatRoomsMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/GetChatRoomsRoomId", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRoomsRoomIdLeave(ctx context.Context, in *PostChatRoomsRoomIdLeaveRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { + out := new(ChatRoomsMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsRoomIdLeave", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRoomsRoomIdAdd(ctx context.Context, in *PostChatRoomsRoomIdAddRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { + out := new(ChatRoomsMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsRoomIdAdd", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PutChatRoomsSendMessage(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { + out := new(ChatMessageModelMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PutChatRoomsSendMessage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PutChatRoomsUpdateMessage(ctx context.Context, in *PutChatRoomsUpdateMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { + out := new(ChatMessageModelMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PutChatRoomsUpdateMessage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRoomsGetMessages(ctx context.Context, in *PostChatRoomsGetMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { + out := new(ChatMessageModelMsg) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsGetMessages", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatRoomsGetNewMessages(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { + out := new(ChatMessageModelMsg) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsGetNewMessages", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) PostChatCreateMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { + out := new(ChatMemberMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/PostChatCreateMember", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { + out := new(ChatMemberMsgElement) + err := c.cc.Invoke(ctx, "/api.Campus/GetChatMemberByLrzId", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) { + out := new(ChatMemberMsg) + err := c.cc.Invoke(ctx, "/api.Campus/SearchMemberByName", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *campusClient) GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) { + out := new(GetMemberRoomsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetMemberRooms", in, out, opts...) if err != nil { return nil, err } @@ -246,19 +588,55 @@ type CampusServer interface { GetRoomMaps(context.Context, *GetRoomMapsRequest) (*GetRoomMapsReply, error) GetRoomCoordinates(context.Context, *GetRoomCoordinatesRequest) (*GetRoomCoordinatesReply, error) GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) - GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) - GetMealRatings(context.Context, *MealRatingsRequest) (*MealRatingsResponse, error) + // This endpoint retrieves Cafeteria Ratings from the Backend. + GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingReply, error) + GetDishRatings(context.Context, *DishRatingRequest) (*DishRatingReply, error) NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) - NewMealRating(context.Context, *NewMealRatingRequest) (*emptypb.Empty, error) - GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) + NewDishRating(context.Context, *NewDishRatingRequest) (*emptypb.Empty, error) + GetAvailableDishTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) - GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) - GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonResponse, error) - GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsResponse, error) - GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrResponse, error) - GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsResponse, error) - GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsResponse, error) - GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationResponse, error) + GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaReply, error) + GetDishes(context.Context, *GetDishesRequest) (*GetDishesReply, error) + GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonReply, error) + GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsReply, error) + GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrReply, error) + GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsReply, error) + GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsReply, error) + GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationReply, error) + GetOpeningTimes(context.Context, *GetOpeningTimesRequest) (*GetOpeningTimesReply, error) + GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) + GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) + GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) + // todo check again + PostEventTicketMy(context.Context, *emptypb.Empty) (*PostEventTicketMyReply, error) + PostEventTicket(context.Context, *PostEventTicketRequest) (*EventListMsgElement, error) + GetEventTicketType(context.Context, *PostEventTicketRequest) (*GetEventTicketTypeReply, error) + PostEventTicketReserveMultiple(context.Context, *PostEventTicketReserveMultipleRequest) (*PostEventTicketReserveMultipleReply, error) + PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) + RetrieveEphemeralKey(context.Context, *emptypb.Empty) (*RetrieveEphemeralKeyReply, error) + GetEventTicketStatus(context.Context, *GetEventTicketStatusRequest) (*GetEventTicketStatusReply, error) + GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) + PostFeedback(context.Context, *PostFeedbackRequest) (*PostFeedbackReply, error) + PostFeedbackIDImageNr(context.Context, *PostFeedbackIDImageNrRequest) (*PostFeedbackReply, error) + RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) + VerifyKey(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) + DeviceUploadGcmToken(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) + GetUploadStatus(context.Context, *GetUploadStatusRequest) (*GetUploadStatusReply, error) + GetNotification(context.Context, *NotificationsRequest) (*GetNotificationsReply, error) + GetNotificationConfirm(context.Context, *NotificationsRequest) (*GetNotificationsConfirmReply, error) + GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) + PostChatRooms(context.Context, *emptypb.Empty) (*PostChatRoomsReply, error) + GetChatRoomsRoomId(context.Context, *GetChatRoomsRoomIdRequest) (*ChatRoomsMsgElement, error) + PostChatRoomsRoomIdLeave(context.Context, *PostChatRoomsRoomIdLeaveRequest) (*ChatRoomsMsgElement, error) + PostChatRoomsRoomIdAdd(context.Context, *PostChatRoomsRoomIdAddRequest) (*ChatRoomsMsgElement, error) + PutChatRoomsSendMessage(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsgElement, error) + PutChatRoomsUpdateMessage(context.Context, *PutChatRoomsUpdateMessageRequest) (*ChatMessageModelMsgElement, error) + PostChatRoomsGetMessages(context.Context, *PostChatRoomsGetMessagesRequest) (*ChatMessageModelMsg, error) + PostChatRoomsGetNewMessages(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsg, error) + PostChatCreateMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) + GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) + SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) + GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) mustEmbedUnimplementedCampusServer() } @@ -287,45 +665,147 @@ func (UnimplementedCampusServer) GetRoomCoordinates(context.Context, *GetRoomCoo func (UnimplementedCampusServer) GetRoomSchedule(context.Context, *GetRoomScheduleRequest) (*GetRoomScheduleReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRoomSchedule not implemented") } -func (UnimplementedCampusServer) GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) { +func (UnimplementedCampusServer) GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCafeteriaRatings not implemented") } -func (UnimplementedCampusServer) GetMealRatings(context.Context, *MealRatingsRequest) (*MealRatingsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMealRatings not implemented") +func (UnimplementedCampusServer) GetDishRatings(context.Context, *DishRatingRequest) (*DishRatingReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDishRatings not implemented") } func (UnimplementedCampusServer) NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method NewCafeteriaRating not implemented") } -func (UnimplementedCampusServer) NewMealRating(context.Context, *NewMealRatingRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method NewMealRating not implemented") +func (UnimplementedCampusServer) NewDishRating(context.Context, *NewDishRatingRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method NewDishRating not implemented") } -func (UnimplementedCampusServer) GetAvailableMealTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAvailableMealTags not implemented") +func (UnimplementedCampusServer) GetAvailableDishTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAvailableDishTags not implemented") } func (UnimplementedCampusServer) GetAvailableCafeteriaTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAvailableCafeteriaTags not implemented") } -func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaResponse, error) { +func (UnimplementedCampusServer) GetCafeterias(context.Context, *emptypb.Empty) (*GetCafeteriaReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCafeterias not implemented") } -func (UnimplementedCampusServer) GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonResponse, error) { +func (UnimplementedCampusServer) GetDishes(context.Context, *GetDishesRequest) (*GetDishesReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDishes not implemented") +} +func (UnimplementedCampusServer) GetResponsiblePerson(context.Context, *emptypb.Empty) (*GetResponsiblePersonReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetResponsiblePerson not implemented") } -func (UnimplementedCampusServer) GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsResponse, error) { +func (UnimplementedCampusServer) GetBuilding2Gps(context.Context, *emptypb.Empty) (*GetBuilding2GpsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetBuilding2Gps not implemented") } -func (UnimplementedCampusServer) GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrResponse, error) { +func (UnimplementedCampusServer) GetAreaFacilitiesByBuildingNr(context.Context, *GetAreaFacilitiesByBuildingNrRequest) (*GetAreaFacilitiesByBuildingNrReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAreaFacilitiesByBuildingNr not implemented") } -func (UnimplementedCampusServer) GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsResponse, error) { +func (UnimplementedCampusServer) GetListOfToilets(context.Context, *emptypb.Empty) (*GetListOfToiletsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetListOfToilets not implemented") } -func (UnimplementedCampusServer) GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsResponse, error) { +func (UnimplementedCampusServer) GetListOfElevators(context.Context, *emptypb.Empty) (*GetListOfElevatorsReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetListOfElevators not implemented") } -func (UnimplementedCampusServer) GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationResponse, error) { +func (UnimplementedCampusServer) GetMoreInformation(context.Context, *emptypb.Empty) (*GetMoreInformationReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMoreInformation not implemented") } +func (UnimplementedCampusServer) GetOpeningTimes(context.Context, *GetOpeningTimesRequest) (*GetOpeningTimesReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetOpeningTimes not implemented") +} +func (UnimplementedCampusServer) GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUpdateNote not implemented") +} +func (UnimplementedCampusServer) GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetStudyRoomList not implemented") +} +func (UnimplementedCampusServer) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEventList not implemented") +} +func (UnimplementedCampusServer) PostEventTicketMy(context.Context, *emptypb.Empty) (*PostEventTicketMyReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostEventTicketMy not implemented") +} +func (UnimplementedCampusServer) PostEventTicket(context.Context, *PostEventTicketRequest) (*EventListMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostEventTicket not implemented") +} +func (UnimplementedCampusServer) GetEventTicketType(context.Context, *PostEventTicketRequest) (*GetEventTicketTypeReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEventTicketType not implemented") +} +func (UnimplementedCampusServer) PostEventTicketReserveMultiple(context.Context, *PostEventTicketReserveMultipleRequest) (*PostEventTicketReserveMultipleReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostEventTicketReserveMultiple not implemented") +} +func (UnimplementedCampusServer) PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurchaseTicketStripe not implemented") +} +func (UnimplementedCampusServer) RetrieveEphemeralKey(context.Context, *emptypb.Empty) (*RetrieveEphemeralKeyReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method RetrieveEphemeralKey not implemented") +} +func (UnimplementedCampusServer) GetEventTicketStatus(context.Context, *GetEventTicketStatusRequest) (*GetEventTicketStatusReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEventTicketStatus not implemented") +} +func (UnimplementedCampusServer) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetKino not implemented") +} +func (UnimplementedCampusServer) PostFeedback(context.Context, *PostFeedbackRequest) (*PostFeedbackReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostFeedback not implemented") +} +func (UnimplementedCampusServer) PostFeedbackIDImageNr(context.Context, *PostFeedbackIDImageNrRequest) (*PostFeedbackReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostFeedbackIDImageNr not implemented") +} +func (UnimplementedCampusServer) RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method RegisterDevice not implemented") +} +func (UnimplementedCampusServer) VerifyKey(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method VerifyKey not implemented") +} +func (UnimplementedCampusServer) DeviceUploadGcmToken(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeviceUploadGcmToken not implemented") +} +func (UnimplementedCampusServer) GetUploadStatus(context.Context, *GetUploadStatusRequest) (*GetUploadStatusReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUploadStatus not implemented") +} +func (UnimplementedCampusServer) GetNotification(context.Context, *NotificationsRequest) (*GetNotificationsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotification not implemented") +} +func (UnimplementedCampusServer) GetNotificationConfirm(context.Context, *NotificationsRequest) (*GetNotificationsConfirmReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotificationConfirm not implemented") +} +func (UnimplementedCampusServer) GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMembers not implemented") +} +func (UnimplementedCampusServer) PostChatRooms(context.Context, *emptypb.Empty) (*PostChatRoomsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRooms not implemented") +} +func (UnimplementedCampusServer) GetChatRoomsRoomId(context.Context, *GetChatRoomsRoomIdRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChatRoomsRoomId not implemented") +} +func (UnimplementedCampusServer) PostChatRoomsRoomIdLeave(context.Context, *PostChatRoomsRoomIdLeaveRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsRoomIdLeave not implemented") +} +func (UnimplementedCampusServer) PostChatRoomsRoomIdAdd(context.Context, *PostChatRoomsRoomIdAddRequest) (*ChatRoomsMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsRoomIdAdd not implemented") +} +func (UnimplementedCampusServer) PutChatRoomsSendMessage(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PutChatRoomsSendMessage not implemented") +} +func (UnimplementedCampusServer) PutChatRoomsUpdateMessage(context.Context, *PutChatRoomsUpdateMessageRequest) (*ChatMessageModelMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PutChatRoomsUpdateMessage not implemented") +} +func (UnimplementedCampusServer) PostChatRoomsGetMessages(context.Context, *PostChatRoomsGetMessagesRequest) (*ChatMessageModelMsg, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsGetMessages not implemented") +} +func (UnimplementedCampusServer) PostChatRoomsGetNewMessages(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsg, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsGetNewMessages not implemented") +} +func (UnimplementedCampusServer) PostChatCreateMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostChatCreateMember not implemented") +} +func (UnimplementedCampusServer) GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChatMemberByLrzId not implemented") +} +func (UnimplementedCampusServer) SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchMemberByName not implemented") +} +func (UnimplementedCampusServer) GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMemberRooms not implemented") +} func (UnimplementedCampusServer) mustEmbedUnimplementedCampusServer() {} // UnsafeCampusServer may be embedded to opt out of forward compatibility for this service. @@ -483,20 +963,20 @@ func _Campus_GetCafeteriaRatings_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } -func _Campus_GetMealRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MealRatingsRequest) +func _Campus_GetDishRatings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DishRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetMealRatings(ctx, in) + return srv.(CampusServer).GetDishRatings(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetMealRatings", + FullMethod: "/api.Campus/GetDishRatings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMealRatings(ctx, req.(*MealRatingsRequest)) + return srv.(CampusServer).GetDishRatings(ctx, req.(*DishRatingRequest)) } return interceptor(ctx, in, info, handler) } @@ -519,38 +999,38 @@ func _Campus_NewCafeteriaRating_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -func _Campus_NewMealRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewMealRatingRequest) +func _Campus_NewDishRating_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NewDishRatingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).NewMealRating(ctx, in) + return srv.(CampusServer).NewDishRating(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/NewMealRating", + FullMethod: "/api.Campus/NewDishRating", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).NewMealRating(ctx, req.(*NewMealRatingRequest)) + return srv.(CampusServer).NewDishRating(ctx, req.(*NewDishRatingRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetAvailableMealTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _Campus_GetAvailableDishTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetAvailableMealTags(ctx, in) + return srv.(CampusServer).GetAvailableDishTags(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetAvailableMealTags", + FullMethod: "/api.Campus/GetAvailableDishTags", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetAvailableMealTags(ctx, req.(*emptypb.Empty)) + return srv.(CampusServer).GetAvailableDishTags(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } @@ -591,6 +1071,24 @@ func _Campus_GetCafeterias_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Campus_GetDishes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDishesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetDishes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetDishes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetDishes(ctx, req.(*GetDishesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Campus_GetResponsiblePerson_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { @@ -601,7 +1099,7 @@ func _Campus_GetResponsiblePerson_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getResponsiblePerson", + FullMethod: "/api.Campus/GetResponsiblePerson", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetResponsiblePerson(ctx, req.(*emptypb.Empty)) @@ -619,7 +1117,7 @@ func _Campus_GetBuilding2Gps_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getBuilding2Gps", + FullMethod: "/api.Campus/GetBuilding2Gps", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetBuilding2Gps(ctx, req.(*emptypb.Empty)) @@ -637,7 +1135,7 @@ func _Campus_GetAreaFacilitiesByBuildingNr_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getAreaFacilitiesByBuildingNr", + FullMethod: "/api.Campus/GetAreaFacilitiesByBuildingNr", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetAreaFacilitiesByBuildingNr(ctx, req.(*GetAreaFacilitiesByBuildingNrRequest)) @@ -655,7 +1153,7 @@ func _Campus_GetListOfToilets_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getListOfToilets", + FullMethod: "/api.Campus/GetListOfToilets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetListOfToilets(ctx, req.(*emptypb.Empty)) @@ -673,7 +1171,7 @@ func _Campus_GetListOfElevators_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getListOfElevators", + FullMethod: "/api.Campus/GetListOfElevators", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetListOfElevators(ctx, req.(*emptypb.Empty)) @@ -691,7 +1189,7 @@ func _Campus_GetMoreInformation_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/getMoreInformation", + FullMethod: "/api.Campus/GetMoreInformation", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CampusServer).GetMoreInformation(ctx, req.(*emptypb.Empty)) @@ -699,11 +1197,605 @@ func _Campus_GetMoreInformation_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -// Campus_ServiceDesc is the grpc.ServiceDesc for Campus service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Campus_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "api.Campus", +func _Campus_GetOpeningTimes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetOpeningTimesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetOpeningTimes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetOpeningTimes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetOpeningTimes(ctx, req.(*GetOpeningTimesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetUpdateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUpdateNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetUpdateNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetUpdateNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetUpdateNote(ctx, req.(*GetUpdateNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetStudyRoomList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetStudyRoomList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetStudyRoomList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetStudyRoomList(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetEventList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEventListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetEventList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetEventList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetEventList(ctx, req.(*GetEventListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostEventTicketMy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostEventTicketMy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostEventTicketMy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostEventTicketMy(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostEventTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostEventTicketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostEventTicket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostEventTicket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostEventTicket(ctx, req.(*PostEventTicketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetEventTicketType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostEventTicketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetEventTicketType(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetEventTicketType", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetEventTicketType(ctx, req.(*PostEventTicketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostEventTicketReserveMultiple_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostEventTicketReserveMultipleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostEventTicketReserveMultiple(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostEventTicketReserveMultiple", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostEventTicketReserveMultiple(ctx, req.(*PostEventTicketReserveMultipleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PurchaseTicketStripe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PurchaseTicketStripe(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PurchaseTicketStripe", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PurchaseTicketStripe(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_RetrieveEphemeralKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).RetrieveEphemeralKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/RetrieveEphemeralKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).RetrieveEphemeralKey(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetEventTicketStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEventTicketStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetEventTicketStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetEventTicketStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetEventTicketStatus(ctx, req.(*GetEventTicketStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetKino_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetKinoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetKino(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetKino", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetKino(ctx, req.(*GetKinoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostFeedback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostFeedbackRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostFeedback(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostFeedback", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostFeedback(ctx, req.(*PostFeedbackRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostFeedbackIDImageNr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostFeedbackIDImageNrRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostFeedbackIDImageNr(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostFeedbackIDImageNr", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostFeedbackIDImageNr(ctx, req.(*PostFeedbackIDImageNrRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_RegisterDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).RegisterDevice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/RegisterDevice", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).RegisterDevice(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_VerifyKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).VerifyKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/VerifyKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).VerifyKey(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_DeviceUploadGcmToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).DeviceUploadGcmToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/DeviceUploadGcmToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).DeviceUploadGcmToken(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetUploadStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUploadStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetUploadStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetUploadStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetUploadStatus(ctx, req.(*GetUploadStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NotificationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetNotification(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetNotification", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetNotification(ctx, req.(*NotificationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetNotificationConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NotificationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetNotificationConfirm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetNotificationConfirm", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetNotificationConfirm(ctx, req.(*NotificationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMembersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetMembers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetMembers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetMembers(ctx, req.(*GetMembersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRooms(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRooms", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRooms(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetChatRoomsRoomId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChatRoomsRoomIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetChatRoomsRoomId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetChatRoomsRoomId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetChatRoomsRoomId(ctx, req.(*GetChatRoomsRoomIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRoomsRoomIdLeave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostChatRoomsRoomIdLeaveRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRoomsRoomIdLeave(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRoomsRoomIdLeave", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRoomsRoomIdLeave(ctx, req.(*PostChatRoomsRoomIdLeaveRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRoomsRoomIdAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostChatRoomsRoomIdAddRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRoomsRoomIdAdd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRoomsRoomIdAdd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRoomsRoomIdAdd(ctx, req.(*PostChatRoomsRoomIdAddRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PutChatRoomsSendMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PutChatRoomsSendRoomIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PutChatRoomsSendMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PutChatRoomsSendMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PutChatRoomsSendMessage(ctx, req.(*PutChatRoomsSendRoomIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PutChatRoomsUpdateMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PutChatRoomsUpdateMessageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PutChatRoomsUpdateMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PutChatRoomsUpdateMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PutChatRoomsUpdateMessage(ctx, req.(*PutChatRoomsUpdateMessageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRoomsGetMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostChatRoomsGetMessagesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRoomsGetMessages(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRoomsGetMessages", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRoomsGetMessages(ctx, req.(*PostChatRoomsGetMessagesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatRoomsGetNewMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PutChatRoomsSendRoomIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatRoomsGetNewMessages(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatRoomsGetNewMessages", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatRoomsGetNewMessages(ctx, req.(*PutChatRoomsSendRoomIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_PostChatCreateMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChatMemberMsgElement) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).PostChatCreateMember(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/PostChatCreateMember", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).PostChatCreateMember(ctx, req.(*ChatMemberMsgElement)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetChatMemberByLrzId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChatMemberRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetChatMemberByLrzId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetChatMemberByLrzId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetChatMemberByLrzId(ctx, req.(*GetChatMemberRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_SearchMemberByName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchMemberByNameRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).SearchMemberByName(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/SearchMemberByName", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).SearchMemberByName(ctx, req.(*SearchMemberByNameRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Campus_GetMemberRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMemberRoomsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServer).GetMemberRooms(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.Campus/GetMemberRooms", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServer).GetMemberRooms(ctx, req.(*GetMemberRoomsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Campus_ServiceDesc is the grpc.ServiceDesc for Campus service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Campus_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "api.Campus", HandlerType: (*CampusServer)(nil), Methods: []grpc.MethodDesc{ { @@ -739,20 +1831,20 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetCafeteriaRatings_Handler, }, { - MethodName: "GetMealRatings", - Handler: _Campus_GetMealRatings_Handler, + MethodName: "GetDishRatings", + Handler: _Campus_GetDishRatings_Handler, }, { MethodName: "NewCafeteriaRating", Handler: _Campus_NewCafeteriaRating_Handler, }, { - MethodName: "NewMealRating", - Handler: _Campus_NewMealRating_Handler, + MethodName: "NewDishRating", + Handler: _Campus_NewDishRating_Handler, }, { - MethodName: "GetAvailableMealTags", - Handler: _Campus_GetAvailableMealTags_Handler, + MethodName: "GetAvailableDishTags", + Handler: _Campus_GetAvailableDishTags_Handler, }, { MethodName: "GetAvailableCafeteriaTags", @@ -763,29 +1855,165 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetCafeterias_Handler, }, { - MethodName: "getResponsiblePerson", + MethodName: "GetDishes", + Handler: _Campus_GetDishes_Handler, + }, + { + MethodName: "GetResponsiblePerson", Handler: _Campus_GetResponsiblePerson_Handler, }, { - MethodName: "getBuilding2Gps", + MethodName: "GetBuilding2Gps", Handler: _Campus_GetBuilding2Gps_Handler, }, { - MethodName: "getAreaFacilitiesByBuildingNr", + MethodName: "GetAreaFacilitiesByBuildingNr", Handler: _Campus_GetAreaFacilitiesByBuildingNr_Handler, }, { - MethodName: "getListOfToilets", + MethodName: "GetListOfToilets", Handler: _Campus_GetListOfToilets_Handler, }, { - MethodName: "getListOfElevators", + MethodName: "GetListOfElevators", Handler: _Campus_GetListOfElevators_Handler, }, { - MethodName: "getMoreInformation", + MethodName: "GetMoreInformation", Handler: _Campus_GetMoreInformation_Handler, }, + { + MethodName: "GetOpeningTimes", + Handler: _Campus_GetOpeningTimes_Handler, + }, + { + MethodName: "GetUpdateNote", + Handler: _Campus_GetUpdateNote_Handler, + }, + { + MethodName: "GetStudyRoomList", + Handler: _Campus_GetStudyRoomList_Handler, + }, + { + MethodName: "GetEventList", + Handler: _Campus_GetEventList_Handler, + }, + { + MethodName: "PostEventTicketMy", + Handler: _Campus_PostEventTicketMy_Handler, + }, + { + MethodName: "PostEventTicket", + Handler: _Campus_PostEventTicket_Handler, + }, + { + MethodName: "GetEventTicketType", + Handler: _Campus_GetEventTicketType_Handler, + }, + { + MethodName: "PostEventTicketReserveMultiple", + Handler: _Campus_PostEventTicketReserveMultiple_Handler, + }, + { + MethodName: "PurchaseTicketStripe", + Handler: _Campus_PurchaseTicketStripe_Handler, + }, + { + MethodName: "RetrieveEphemeralKey", + Handler: _Campus_RetrieveEphemeralKey_Handler, + }, + { + MethodName: "GetEventTicketStatus", + Handler: _Campus_GetEventTicketStatus_Handler, + }, + { + MethodName: "GetKino", + Handler: _Campus_GetKino_Handler, + }, + { + MethodName: "PostFeedback", + Handler: _Campus_PostFeedback_Handler, + }, + { + MethodName: "PostFeedbackIDImageNr", + Handler: _Campus_PostFeedbackIDImageNr_Handler, + }, + { + MethodName: "RegisterDevice", + Handler: _Campus_RegisterDevice_Handler, + }, + { + MethodName: "VerifyKey", + Handler: _Campus_VerifyKey_Handler, + }, + { + MethodName: "DeviceUploadGcmToken", + Handler: _Campus_DeviceUploadGcmToken_Handler, + }, + { + MethodName: "GetUploadStatus", + Handler: _Campus_GetUploadStatus_Handler, + }, + { + MethodName: "GetNotification", + Handler: _Campus_GetNotification_Handler, + }, + { + MethodName: "GetNotificationConfirm", + Handler: _Campus_GetNotificationConfirm_Handler, + }, + { + MethodName: "GetMembers", + Handler: _Campus_GetMembers_Handler, + }, + { + MethodName: "PostChatRooms", + Handler: _Campus_PostChatRooms_Handler, + }, + { + MethodName: "GetChatRoomsRoomId", + Handler: _Campus_GetChatRoomsRoomId_Handler, + }, + { + MethodName: "PostChatRoomsRoomIdLeave", + Handler: _Campus_PostChatRoomsRoomIdLeave_Handler, + }, + { + MethodName: "PostChatRoomsRoomIdAdd", + Handler: _Campus_PostChatRoomsRoomIdAdd_Handler, + }, + { + MethodName: "PutChatRoomsSendMessage", + Handler: _Campus_PutChatRoomsSendMessage_Handler, + }, + { + MethodName: "PutChatRoomsUpdateMessage", + Handler: _Campus_PutChatRoomsUpdateMessage_Handler, + }, + { + MethodName: "PostChatRoomsGetMessages", + Handler: _Campus_PostChatRoomsGetMessages_Handler, + }, + { + MethodName: "PostChatRoomsGetNewMessages", + Handler: _Campus_PostChatRoomsGetNewMessages_Handler, + }, + { + MethodName: "PostChatCreateMember", + Handler: _Campus_PostChatCreateMember_Handler, + }, + { + MethodName: "GetChatMemberByLrzId", + Handler: _Campus_GetChatMemberByLrzId_Handler, + }, + { + MethodName: "SearchMemberByName", + Handler: _Campus_SearchMemberByName_Handler, + }, + { + MethodName: "GetMemberRooms", + Handler: _Campus_GetMemberRooms_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "CampusService.proto", diff --git a/api/buf.lock b/api/buf.lock index 432e5196..29dd62d0 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: bab7e2fd165a45d2a08d4f2fd277c224 + commit: 264612d2aca446faab191b46c53e00e2 diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index 966a46a2..5003762b 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -1,5 +1,4 @@ { -"basePath": "/v1", "swagger": "2.0", "info": { "title": "CampusService.proto", @@ -19,12 +18,12 @@ "paths": { "/barrierfree/contacts": { "get": { - "operationId": "Campus_getResponsiblePerson", + "operationId": "Campus_GetResponsiblePerson", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetResponsiblePersonResponse" + "$ref": "#/definitions/apiGetResponsiblePersonReply" } }, "default": { @@ -41,12 +40,12 @@ }, "/barrierfree/getBuilding2Gps": { "get": { - "operationId": "Campus_getBuilding2Gps", + "operationId": "Campus_GetBuilding2Gps", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetBuilding2GpsResponse" + "$ref": "#/definitions/apiGetBuilding2GpsReply" } }, "default": { @@ -63,12 +62,12 @@ }, "/barrierfree/listOfElevators": { "get": { - "operationId": "Campus_getListOfElevators", + "operationId": "Campus_GetListOfElevators", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetListOfElevatorsResponse" + "$ref": "#/definitions/apiGetListOfElevatorsReply" } }, "default": { @@ -85,12 +84,12 @@ }, "/barrierfree/listOfToilets": { "get": { - "operationId": "Campus_getListOfToilets", + "operationId": "Campus_GetListOfToilets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetListOfToiletsResponse" + "$ref": "#/definitions/apiGetListOfToiletsReply" } }, "default": { @@ -107,12 +106,12 @@ }, "/barrierfree/moreInformation": { "get": { - "operationId": "Campus_getMoreInformation", + "operationId": "Campus_GetMoreInformation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetMoreInformationResponse" + "$ref": "#/definitions/apiGetMoreInformationReply" } }, "default": { @@ -129,12 +128,12 @@ }, "/barrierfree/nerby": { "get": { - "operationId": "Campus_getAreaFacilitiesByBuildingNr", + "operationId": "Campus_GetAreaFacilitiesByBuildingNr", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetAreaFacilitiesByBuildingNrResponse" + "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" } }, "default": { @@ -157,14 +156,17 @@ ] } }, - "/cafeteriaRating/cafeteria/allCafeterias": { + "/cafeteria/allCafeterias": { "get": { "operationId": "Campus_GetCafeterias", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetCafeteriaResponse" + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } }, "default": { @@ -179,14 +181,17 @@ ] } }, - "/cafeteriaRating/cafeteria/allTags": { + "/cafeteria/rating/allTags": { "get": { "operationId": "Campus_GetAvailableCafeteriaTags", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetRatingTagsReply" + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } } }, "default": { @@ -201,7 +206,7 @@ ] } }, - "/cafeteriaRating/cafeteria/get": { + "/cafeteria/rating/get": { "post": { "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", "operationId": "Campus_GetCafeteriaRatings", @@ -209,7 +214,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiCafeteriaRatingResponse" + "$ref": "#/definitions/apiCafeteriaRatingReply" } }, "default": { @@ -234,7 +239,7 @@ ] } }, - "/cafeteriaRating/cafeteria/newCafeteriaRating": { + "/cafeteria/rating/new": { "post": { "operationId": "Campus_NewCafeteriaRating", "responses": { @@ -266,14 +271,14 @@ ] } }, - "/cafeteriaRating/dish/get": { + "/chat/members": { "post": { - "operationId": "Campus_GetMealRatings", + "operationId": "Campus_PostChatCreateMember", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiMealRatingResponse" + "$ref": "#/definitions/apiChatMemberMsgElement" } }, "default": { @@ -285,27 +290,74 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, + "name": "id", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "lrzId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "displayName", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "signature", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/chat/members/search/{query}": { + "get": { + "operationId": "Campus_SearchMemberByName", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiChatMemberMsg" + } + }, + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/apiMealRatingRequest" + "$ref": "#/definitions/rpcStatus" } } + }, + "parameters": [ + { + "name": "query", + "in": "path", + "required": true, + "type": "string" + } ], "tags": [ "Campus" ] } }, - "/cafeteriaRating/meal/allTags": { + "/chat/members/{lrzId}": { "get": { - "operationId": "Campus_GetAvailableMealTags", + "operationId": "Campus_GetChatMemberByLrzId", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRatingTagsReply" + "$ref": "#/definitions/apiChatMemberMsgElement" } }, "default": { @@ -315,19 +367,58 @@ } } }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ "Campus" ] } }, - "/cafeteriaRating/meal/newMealRating": { + "/chat/members/{memberId}/rooms": { "post": { - "operationId": "Campus_NewMealRating", + "operationId": "Campus_GetMemberRooms", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/apiGetMemberRoomsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "memberId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/chat/rooms": { + "post": { + "operationId": "Campus_PostChatRooms", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostChatRoomsReply" } }, "default": { @@ -343,7 +434,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiNewMealRatingRequest" + "properties": {} } } ], @@ -352,18 +443,14 @@ ] } }, - "/locations/{location}": { + "/chat/rooms/{roomId}": { "get": { - "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", - "operationId": "Campus_GetLocations", + "operationId": "Campus_GetChatRoomsRoomId", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiGetLocationsReplyLocation" - } + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -375,10 +462,11 @@ }, "parameters": [ { - "name": "location", + "name": "roomId", "in": "path", "required": true, - "type": "string" + "type": "integer", + "format": "int32" } ], "tags": [ @@ -386,17 +474,14 @@ ] } }, - "/news/sources": { - "get": { - "operationId": "Campus_GetNewsSources", + "/chat/rooms/{roomId}/add/{memberId}": { + "post": { + "operationId": "Campus_PostChatRoomsRoomIdAdd", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiNewsSource" - } + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -406,19 +491,35 @@ } } }, + "parameters": [ + { + "name": "roomId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "memberId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], "tags": [ "Campus" ] } }, - "/news/top": { - "get": { - "operationId": "Campus_GetTopNews", + "/chat/rooms/{roomId}/leave": { + "post": { + "operationId": "Campus_PostChatRoomsRoomIdLeave", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetTopNewsReply" + "$ref": "#/definitions/apiChatRoomsMsgElement" } }, "default": { @@ -428,22 +529,28 @@ } } }, + "parameters": [ + { + "name": "roomId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], "tags": [ "Campus" ] } }, - "/roomfinder/maps": { - "post": { - "operationId": "Campus_GetRoomMaps", + "/chat/rooms/{roomId}/message": { + "put": { + "operationId": "Campus_PutChatRoomsSendMessage", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomMapsReplyMap" - } + "$ref": "#/definitions/apiChatMessageModelMsgElement" } }, "default": { @@ -455,12 +562,11 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomMapsRequest" - } + "type": "integer", + "format": "int32" } ], "tags": [ @@ -468,14 +574,14 @@ ] } }, - "/roomfinder/room/coordinates": { - "post": { - "operationId": "Campus_GetRoomCoordinates", + "/chat/rooms/{roomId}/message/{messageId}": { + "put": { + "operationId": "Campus_PutChatRoomsUpdateMessage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesReply" + "$ref": "#/definitions/apiChatMessageModelMsgElement" } }, "default": { @@ -487,12 +593,18 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesRequest" - } + "type": "integer", + "format": "int32" + }, + { + "name": "messageId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" } ], "tags": [ @@ -500,17 +612,14 @@ ] } }, - "/roomfinder/room/scheduleById": { + "/chat/rooms/{roomId}/messages": { "post": { - "operationId": "Campus_GetRoomSchedule", + "operationId": "Campus_PostChatRoomsGetNewMessages", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" - } + "$ref": "#/definitions/apiChatMessageModelMsg" } }, "default": { @@ -522,12 +631,11 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiGetRoomScheduleRequest" - } + "type": "integer", + "format": "int32" } ], "tags": [ @@ -535,17 +643,14 @@ ] } }, - "/roomfinder/room/search": { + "/chat/rooms/{roomId}/messages/{pageId}": { "post": { - "operationId": "Campus_SearchRooms", + "operationId": "Campus_PostChatRoomsGetMessages", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoom" - } + "$ref": "#/definitions/apiChatMessageModelMsg" } }, "default": { @@ -557,198 +662,1592 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "roomId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/apiSearchRoomsRequest" - } + "type": "integer", + "format": "int32" + }, + { + "name": "pageId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" } ], "tags": [ "Campus" ] } - } - }, - "definitions": { - "GetRoomMapsReplyMap": { - "type": "object", - "properties": { - "mapId": { - "type": "string", - "format": "int64" - }, - "description": { - "type": "string" - }, - "scale": { - "type": "string", - "format": "int64" - }, - "width": { - "type": "string", - "format": "int64" - }, - "height": { - "type": "string", - "format": "int64" - } - } }, - "GetRoomScheduleReplyRoomScheduleEvent": { - "type": "object", - "properties": { - "start": { - "type": "string", - "format": "date-time" - }, - "end": { - "type": "string", - "format": "date-time" - }, - "title": { - "type": "string" - }, - "eventId": { - "type": "integer", - "format": "int32" + "/device/addGcmToken": { + "post": { + "operationId": "Campus_DeviceUploadGcmToken", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } }, - "courseCode": { - "type": "string" - } + "tags": [ + "Campus" + ] } }, - "apiBuilding2GpsElement": { - "type": "object", - "properties": { + "/device/register": { + "post": { + "operationId": "Campus_RegisterDevice", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/device/uploaded/{lrzId}": { + "get": { + "operationId": "Campus_GetUploadStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetUploadStatusReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/device/verifyKey": { + "get": { + "operationId": "Campus_VerifyKey", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/dish/allDishes": { + "get": { + "operationId": "Campus_GetDishes", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "cafeteriaId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "year", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "month", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "day", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/allTags": { + "get": { + "operationId": "Campus_GetAvailableDishTags", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/get": { + "post": { + "operationId": "Campus_GetDishRatings", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiDishRatingReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiDishRatingRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/dish/rating/new": { + "post": { + "operationId": "Campus_NewDishRating", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "properties": {} + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiNewDishRatingRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/list": { + "get": { + "operationId": "Campus_GetEventList", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventListReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "eventId", + "description": "optional parameter, will return all events if no id is specified", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/my": { + "post": { + "summary": "todo check again", + "operationId": "Campus_PostEventTicketMy", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostEventTicketMyReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/payment/stripe/ephemeralkey": { + "post": { + "operationId": "Campus_RetrieveEphemeralKey", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiRetrieveEphemeralKeyReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/payment/stripe/purchase/multiple": { + "post": { + "operationId": "Campus_PurchaseTicketStripe", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPurchaseTicketStripeReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/reserve/multiple": { + "post": { + "operationId": "Campus_PostEventTicketReserveMultiple", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostEventTicketReserveMultipleReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "ticketTypes", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "collectionFormat": "multi" + }, + { + "name": "amounts", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/status/{eventId}": { + "get": { + "operationId": "Campus_GetEventTicketStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventTicketStatusReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "eventId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/type/{id}": { + "get": { + "operationId": "Campus_GetEventTicketType", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventTicketTypeReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/{id}": { + "post": { + "operationId": "Campus_PostEventTicket", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiEventListMsgElement" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/feedback": { + "post": { + "operationId": "Campus_PostFeedback", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostFeedbackReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "topic", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "email", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "emailId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "message", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "imageCount", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "latitude", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "longitude", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "osVersion", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "appVersion", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/feedback/{id}/{imageNr}": { + "post": { + "operationId": "Campus_PostFeedbackIDImageNr", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiPostFeedbackReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "imageNr", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/kino/{lastId}": { + "get": { + "operationId": "Campus_GetKino", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetKinoReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lastId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/locations/{location}": { + "get": { + "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", + "operationId": "Campus_GetLocations", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiGetLocationsReplyLocation" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/members/{lrzId}": { + "get": { + "operationId": "Campus_GetMembers", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetMembersReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/news/sources": { + "get": { + "operationId": "Campus_GetNewsSources", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiNewsSource" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/news/top": { + "get": { + "operationId": "Campus_GetTopNews", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetTopNewsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/notifications": { + "get": { + "operationId": "Campus_GetNotification", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetNotificationsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "notificationId", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/notifications/confirm/{notificationId}": { + "get": { + "operationId": "Campus_GetNotificationConfirm", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetNotificationsConfirmReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "notificationId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/openingtimes/{language}": { + "get": { + "operationId": "Campus_GetOpeningTimes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetOpeningTimesReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "language", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/maps": { + "post": { + "operationId": "Campus_GetRoomMaps", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomMapsReplyMap" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomMapsRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/coordinates": { + "post": { + "operationId": "Campus_GetRoomCoordinates", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/scheduleById": { + "post": { + "operationId": "Campus_GetRoomSchedule", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomScheduleRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/search": { + "post": { + "operationId": "Campus_SearchRooms", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoom" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiSearchRoomsRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/studyroom/list": { + "get": { + "operationId": "Campus_GetStudyRoomList", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetStudyRoomListReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/updatenote/{version}": { + "get": { + "operationId": "Campus_GetUpdateNote", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetUpdateNoteReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "version", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + } + }, + "definitions": { + "GetRoomMapsReplyMap": { + "type": "object", + "properties": { + "mapId": { + "type": "string", + "format": "int64" + }, + "description": { + "type": "string" + }, + "scale": { + "type": "string", + "format": "int64" + }, + "width": { + "type": "string", + "format": "int64" + }, + "height": { + "type": "string", + "format": "int64" + } + } + }, + "GetRoomScheduleReplyRoomScheduleEvent": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" + }, + "title": { + "type": "string" + }, + "eventId": { + "type": "integer", + "format": "int32" + }, + "courseCode": { + "type": "string" + } + } + }, + "apiBuilding2GpsElement": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "latitude": { + "type": "string" + }, + "longitude": { + "type": "string" + } + } + }, + "apiCafeteria": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "address": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { + "type": "number", + "format": "double" + } + } + }, + "apiCafeteriaRatingReply": { + "type": "object", + "properties": { + "rating": { + "type": "array", + "items": { + "$ref": "#/definitions/apiSingleRatingReply" + } + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + } + } + }, + "apiCafeteriaRatingRequest": { + "type": "object", + "properties": { + "cafeteriaId": { + "type": "string", + "title": "cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + } + } + }, + "apiChatMemberMsg": { + "type": "object", + "properties": { + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatMemberMsgElement" + } + } + } + }, + "apiChatMemberMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "lrzId": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "signature": { + "type": "string" + } + } + }, + "apiChatMessageModelMsg": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatMessageModelMsgElement" + } + } + } + }, + "apiChatMessageModelMsgElement": { + "type": "object", + "properties": { "id": { + "type": "integer", + "format": "int32" + }, + "previous": { + "type": "integer", + "format": "int32" + }, + "room": { + "type": "integer", + "format": "int32" + }, + "text": { "type": "string" }, - "latitude": { + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { "type": "string" }, - "longitude": { + "memberId": { + "type": "integer", + "format": "int32" + }, + "sendingStatus": { + "type": "integer", + "format": "int32" + } + } + }, + "apiChatRoomsMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "semester": { + "type": "string" + }, + "title": { + "type": "string" + }, + "members": { + "type": "integer", + "format": "int32" + } + } + }, + "apiDishRatingReply": { + "type": "object", + "properties": { + "rating": { + "type": "array", + "items": { + "$ref": "#/definitions/apiSingleRatingReply" + } + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + }, + "nameTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + } + } + }, + "apiDishRatingRequest": { + "type": "object", + "properties": { + "cafeteriaId": { + "type": "string", + "title": "Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" + }, + "dish": { + "type": "string", + "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + } + } + }, + "apiEventListMsgElement": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "event": { + "type": "integer", + "format": "int32" + }, + "news": { + "type": "integer", + "format": "int32" + }, + "kino": { + "type": "integer", + "format": "int32" + }, + "file": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "locality": { + "type": "string" + }, + "link": { + "type": "string" + }, + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" + }, + "ticketGroup": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketMyMsgElement": { + "type": "object", + "properties": { + "ticketHistory": { + "type": "integer", + "format": "int32" + }, + "ticketType": { + "type": "integer", + "format": "int32" + }, + "redemption": { + "type": "string", + "format": "date-time" + }, + "code": { + "type": "string" + }, + "event": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketPaymentMsg": { + "type": "object", + "properties": { + "stripePublishableKey": { + "type": "string" + }, + "terms": { + "type": "string" + }, + "minTickets": { + "type": "integer", + "format": "int32" + }, + "maxTickets": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketReserveMultipleMsgElement": { + "type": "object", + "properties": { + "ticketIds": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketTypeMsgElement": { + "type": "object", + "properties": { + "ticketType": { + "type": "integer", + "format": "int32" + }, + "event": { + "type": "integer", + "format": "int32" + }, + "ticketPayment": { + "type": "integer", + "format": "int32" + }, + "price": { + "type": "integer", + "format": "int32" + }, + "contingent": { + "type": "integer", + "format": "int32" + }, + "description": { "type": "string" + }, + "payment": { + "$ref": "#/definitions/apiEventTicketPaymentMsg" + }, + "sold": { + "type": "integer", + "format": "int32" + } + } + }, + "apiGetAreaFacilitiesByBuildingNrReply": { + "type": "object", + "properties": { + "areaFacilitiesByBuildingNr": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apiGetBuilding2GpsReply": { + "type": "object", + "properties": { + "building2Gps": { + "type": "array", + "items": { + "$ref": "#/definitions/apiBuilding2GpsElement" + } + } + } + }, + "apiGetCafeteriaReply": { + "type": "object", + "properties": { + "cafeteria": { + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } + } + } + }, + "apiGetDishesReply": { + "type": "object", + "properties": { + "dish": { + "type": "array", + "items": { + "type": "string" + } } } }, - "apiCafeteria": { + "apiGetEventListReply": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "address": { - "type": "string" - }, - "longitude": { - "type": "number", - "format": "double" - }, - "latitude": { - "type": "number", - "format": "double" + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventListMsgElement" + } } } }, - "apiCafeteriaRating": { + "apiGetEventTicketStatusReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" - }, - "tagRating": { + "status": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingResult" + "$ref": "#/definitions/apiTicketStatus" } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" } } }, - "apiCafeteriaRatingRequest": { + "apiGetEventTicketTypeReply": { "type": "object", "properties": { - "cafeteriaName": { - "type": "string", - "title": "cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme)" - }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" - }, - "to": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" - }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "eventTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketTypeMsgElement" + } } } }, - "apiCafeteriaRatingResponse": { + "apiGetKinoReply": { "type": "object", "properties": { - "rating": { + "kinos": { "type": "array", "items": { - "$ref": "#/definitions/apiCafeteriaRating" + "$ref": "#/definitions/apiKinoMsgElement" } - }, - "averagePoints": { - "type": "number", - "format": "double" - }, - "standardDeviation": { - "type": "number", - "format": "double" - }, - "minPoints": { - "type": "integer", - "format": "int32" - }, - "maxPoints": { - "type": "integer", - "format": "int32" - }, - "ratingTags": { + } + } + }, + "apiGetListOfElevatorsReply": { + "type": "object", + "properties": { + "listOfElevators": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingsResult" + "$ref": "#/definitions/apiRoomInformationElement" } } } }, - "apiGetCafeteriaResponse": { + "apiGetListOfToiletsReply": { "type": "object", "properties": { - "cafeteria": { + "listOfToilets": { "type": "array", "items": { - "$ref": "#/definitions/apiCafeteria" + "$ref": "#/definitions/apiRoomInformationElement" } } } @@ -784,13 +2283,102 @@ } } }, + "apiGetMemberRoomsReply": { + "type": "object", + "properties": { + "chatRooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatRoomsMsgElement" + } + } + } + }, + "apiGetMembersReply": { + "type": "object", + "properties": { + "lrzId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "memberId": { + "type": "integer", + "format": "int32" + } + } + }, + "apiGetMoreInformationReply": { + "type": "object", + "properties": { + "information": { + "type": "array", + "items": { + "$ref": "#/definitions/apiMoreInformationElement" + } + } + } + }, + "apiGetNotificationsConfirmReply": { + "type": "object", + "properties": { + "status": { + "type": "string" + } + } + }, + "apiGetNotificationsReply": { + "type": "object", + "properties": { + "notificationId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "signature": { + "type": "string" + } + } + }, + "apiGetOpeningTimesReply": { + "type": "object", + "properties": { + "facilities": { + "type": "array", + "items": { + "$ref": "#/definitions/apiOpeningTimesMsgElement" + } + } + } + }, "apiGetRatingTagsReply": { "type": "object", "properties": { - "tags": { + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } + } + } + }, + "apiGetResponsiblePersonReply": { + "type": "object", + "properties": { + "responsiblePerson": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingOverview" + "$ref": "#/definitions/apiResponsiblePersonElement" } } } @@ -866,6 +2454,17 @@ } } }, + "apiGetStudyRoomListReply": { + "type": "object", + "properties": { + "rooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiStudyRoomMsgElement" + } + } + } + }, "apiGetTopNewsReply": { "type": "object", "properties": { @@ -889,107 +2488,88 @@ } } }, - "apiMealRating": { + "apiGetUpdateNoteReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "meal": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" - }, - "tagRating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingResult" - } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" + "message": { + "type": "string" } } }, - "apiMealRatingRequest": { + "apiGetUploadStatusReply": { "type": "object", "properties": { - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the cafeteria (EAT-API naming scheme)" + "fcmToken": { + "type": "string" }, - "meal": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "publicKey": { + "type": "string" }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + "studentId": { + "type": "boolean" }, - "to": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + "employeeId": { + "type": "boolean" }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "externalId": { + "type": "boolean" } } }, - "apiMealRatingResponse": { + "apiKinoMsgElement": { "type": "object", "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMealRating" - } - }, - "averagePoints": { - "type": "number", - "format": "double" + "name": { + "type": "string" }, - "standardDeviation": { - "type": "number", - "format": "double" + "path": { + "type": "string" }, - "minPoints": { + "kino": { "type": "integer", "format": "int32" }, - "maxPoints": { + "date": { + "type": "string", + "format": "date-time" + }, + "created": { + "type": "string", + "format": "date-time" + }, + "title": { + "type": "string" + }, + "year": { + "type": "string" + }, + "runtime": { + "type": "string" + }, + "genre": { + "type": "string" + }, + "director": { + "type": "string" + }, + "actors": { + "type": "string" + }, + "rating": { + "type": "string" + }, + "description": { + "type": "string" + }, + "cover": { "type": "integer", "format": "int32" }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingsResult" - } + "trailer": { + "type": "string" }, - "nameTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingsResult" - } + "link": { + "type": "string" } } }, @@ -1015,17 +2595,17 @@ "format": "int32", "title": "number in the range 1-5" }, - "cafeteriaName": { + "cafeteriaId": { "type": "string" }, "image": { "type": "string", "format": "byte" }, - "tags": { + "ratingTags": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiRatingTag" }, "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" }, @@ -1035,7 +2615,7 @@ } } }, - "apiNewMealRatingRequest": { + "apiNewDishRatingRequest": { "type": "object", "properties": { "points": { @@ -1043,25 +2623,25 @@ "format": "int32", "title": "number in the range 1-5" }, - "cafeteriaName": { + "cafeteriaId": { "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "title": "Mandatory Name of the dish (EAT-API naming scheme \"MENSA_GARCHING\") Must be available int the given mensa" }, - "meal": { + "dish": { "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", "format": "byte", "title": "Optional JPEG image in Base64" }, - "tags": { + "ratingTags": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiRatingTag" }, - "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags" + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags" }, "comment": { "type": "string", @@ -1094,6 +2674,164 @@ } } }, + "apiOpeningTimesMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "category": { + "type": "string" + }, + "name": { + "type": "string" + }, + "address": { + "type": "string" + }, + "room": { + "type": "string" + }, + "transportStation": { + "type": "string" + }, + "openingHours": { + "type": "string" + }, + "infos": { + "type": "string" + }, + "url": { + "type": "string" + }, + "language": { + "type": "string" + }, + "referenceId": { + "type": "integer", + "format": "int32" + } + } + }, + "apiPostChatRoomsReply": { + "type": "object", + "properties": { + "rooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiChatRoomsMsgElement" + } + } + } + }, + "apiPostEventTicketMyReply": { + "type": "object", + "properties": { + "myTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketMyMsgElement" + } + } + } + }, + "apiPostEventTicketReserveMultipleReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" + } + } + } + }, + "apiPostFeedbackReply": { + "type": "object", + "properties": { + "status": { + "type": "string" + } + } + }, + "apiPurchaseTicketStripeReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTicketMessageElement" + } + } + } + }, + "apiRatingTag": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "points": { + "type": "number", + "format": "double" + } + } + }, + "apiRatingTagNewRequest": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "points": { + "type": "integer", + "format": "int32" + } + } + }, + "apiRatingTagResult": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + } + } + }, + "apiRatingTagsOverview": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "de": { + "type": "string" + }, + "en": { + "type": "string" + } + } + }, "apiResponsiblePersonElement": { "type": "object", "properties": { @@ -1114,6 +2852,9 @@ } } }, + "apiRetrieveEphemeralKeyReply": { + "type": "object" + }, "apiRoom": { "type": "object", "properties": { @@ -1199,134 +2940,124 @@ } } }, - "apiTagRating": { + "apiSingleRatingReply": { "type": "object", "properties": { - "tag": { - "type": "string" - }, "points": { - "type": "number", - "format": "double" - } - } - }, - "apiTagRatingOverview": { - "type": "object", - "properties": { - "DE": { - "type": "string" + "type": "integer", + "format": "int32", + "title": "number in the range 1-5" }, - "EN": { - "type": "string" + "image": { + "type": "string", + "format": "byte", + "title": "Optional JPEG image in Base64" + }, + "comment": { + "type": "string", + "title": "Optional comment (max 256 chars)" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagNewRequest" + } + }, + "visited": { + "type": "string", + "format": "date-time" } } }, - "apiTagRatingResult": { + "apiStudyRoom": { "type": "object", "properties": { - "DE": { + "groupId": { + "type": "integer", + "format": "int32" + }, + "roomId": { + "type": "integer", + "format": "int32" + }, + "roomCode": { "type": "string" }, - "EN": { + "roomName": { "type": "string" }, - "points": { - "type": "integer", - "format": "int32" + "buildingName": { + "type": "string" } } }, - "apiTagRatingsResult": { + "apiStudyRoomMsgElement": { "type": "object", "properties": { - "DE": { - "type": "string" + "id": { + "type": "integer", + "format": "int32" }, - "EN": { + "name": { "type": "string" }, - "averagePoints": { - "type": "number", - "format": "double" - }, - "standardDeviation": { - "type": "number", - "format": "double" - }, - "minPoints": { - "type": "integer", - "format": "int32" + "details": { + "type": "string" }, - "maxPoints": { - "type": "integer", - "format": "int32" - } - } - }, - "apigetAreaFacilitiesByBuildingNrResponse": { - "type": "object", - "properties": { - "areaFacilitiesByBuildingNr": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apigetBuilding2GpsResponse": { - "type": "object", - "properties": { - "building2Gps": { - "type": "array", - "items": { - "$ref": "#/definitions/apiBuilding2GpsElement" - } - } - } - }, - "apigetListOfElevatorsResponse": { - "type": "object", - "properties": { - "listOfElevators": { + "rooms": { "type": "array", "items": { - "$ref": "#/definitions/apiRoomInformationElement" + "$ref": "#/definitions/apiStudyRoom" } } } }, - "apigetListOfToiletsResponse": { + "apiTUMCabeStatus": { "type": "object", "properties": { - "listOfToilets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } + "status": { + "type": "string" } } }, - "apigetMoreInformationResponse": { + "apiTicketMessageElement": { "type": "object", "properties": { - "information": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMoreInformationElement" - } + "id": { + "type": "integer", + "format": "int32" + }, + "eventId": { + "type": "integer", + "format": "int32" + }, + "code": { + "type": "string" + }, + "ticketTypeId": { + "type": "integer", + "format": "int32" + }, + "redemption": { + "type": "string", + "format": "date-time" } } }, - "apigetResponsiblePersonResponse": { + "apiTicketStatus": { "type": "object", "properties": { - "responsiblePerson": { - "type": "array", - "items": { - "$ref": "#/definitions/apiResponsiblePersonElement" - } + "ticketType": { + "type": "integer", + "format": "int32" + }, + "contingent": { + "type": "integer", + "format": "int32" + }, + "sold": { + "type": "integer", + "format": "int32" } } }, diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index 966a46a2..c85156c2 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -1,4 +1,6 @@ { +"basePath": "/v1", +"basePath": "/v1", "basePath": "/v1", "swagger": "2.0", "info": { From f2d4d31ed487b18ec2dd346b4961dbd76e3beaea Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Wed, 27 Jul 2022 22:31:12 +0200 Subject: [PATCH 20/24] removed chat endpoints --- api/CampusService.proto | 201 +++++----------------------------------- 1 file changed, 21 insertions(+), 180 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 6935c99a..118c509c 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -191,26 +191,25 @@ service Campus { }; } - // todo check again - rpc PostEventTicketMy(google.protobuf.Empty) returns (PostEventTicketMyReply) { + rpc GetPurchasedTickets(google.protobuf.Empty) returns (GetPurchasedTicketsReply) { option (google.api.http) = { post: "/event/ticket/my", }; } - rpc PostEventTicket(PostEventTicketRequest) returns (EventListMsgElement) { + rpc GetMyTicket(GetTicketRequest) returns (EventListMsgElement) { option (google.api.http) = { post: "/event/ticket/{id}", }; } - rpc GetEventTicketType(PostEventTicketRequest) returns (GetEventTicketTypeReply) { + rpc GetTicketType(GetTicketRequest) returns (GetEventTicketTypeReply) { option (google.api.http) = { get: "/event/ticket/type/{id}", }; } - rpc PostEventTicketReserveMultiple(PostEventTicketReserveMultipleRequest) returns (PostEventTicketReserveMultipleReply) { + rpc ReserveMultipleTickets(ReserveMultipleTicketsRequest) returns (ReserveMultipleTicketsReply) { option (google.api.http) = { post: "/event/ticket/reserve/multiple", }; @@ -222,13 +221,13 @@ service Campus { }; } - rpc RetrieveEphemeralKey(google.protobuf.Empty) returns (RetrieveEphemeralKeyReply) { + rpc GetEphemeralKey(google.protobuf.Empty) returns (GetEphemeralKeyReply) { option (google.api.http) = { post: "/event/ticket/payment/stripe/ephemeralkey", }; } - rpc GetEventTicketStatus(GetEventTicketStatusRequest) returns (GetEventTicketStatusReply) { + rpc GetTicketStatus(GetTicketStatusRequest) returns (GetTicketStatusReply) { option (google.api.http) = { get: "/event/ticket/status/{eventId}", }; @@ -240,13 +239,13 @@ service Campus { }; } - rpc PostFeedback(PostFeedbackRequest) returns (PostFeedbackReply) { + rpc SendFeedback(SendFeedbackRequest) returns (SendFeedbackImageReply) { option (google.api.http) = { post: "/feedback", }; } - rpc PostFeedbackIDImageNr(PostFeedbackIDImageNrRequest) returns (PostFeedbackReply) { + rpc SendFeedbackImage(SendFeedbackImageRequest) returns (SendFeedbackImageReply) { option (google.api.http) = { post: "/feedback/{id}/{imageNr}", }; @@ -295,79 +294,6 @@ service Campus { get: "/members/{lrzId}", }; } - - rpc PostChatRooms(google.protobuf.Empty) returns (PostChatRoomsReply) { - option (google.api.http) = { - post: "/chat/rooms", - body: "*" - }; - } - - rpc GetChatRoomsRoomId(GetChatRoomsRoomIdRequest) returns (ChatRoomsMsgElement) { - option (google.api.http) = { - get: "/chat/rooms/{roomId}", - }; - } - - rpc PostChatRoomsRoomIdLeave(PostChatRoomsRoomIdLeaveRequest) returns (ChatRoomsMsgElement) { - option (google.api.http) = { - post: "/chat/rooms/{roomId}/leave", - }; - } - rpc PostChatRoomsRoomIdAdd(PostChatRoomsRoomIdAddRequest) returns (ChatRoomsMsgElement) { - option (google.api.http) = { - post: "/chat/rooms/{roomId}/add/{memberId}", - }; - } - - rpc PutChatRoomsSendMessage(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsgElement) { - option (google.api.http) = { - put: "/chat/rooms/{roomId}/message", - }; - } - - rpc PutChatRoomsUpdateMessage(PutChatRoomsUpdateMessageRequest) returns (ChatMessageModelMsgElement) { - option (google.api.http) = { - put: "/chat/rooms/{roomId}/message/{messageId}", - }; - } - - rpc PostChatRoomsGetMessages(PostChatRoomsGetMessagesRequest) returns (ChatMessageModelMsg) {//get messageModel returnen - option (google.api.http) = { - post: "/chat/rooms/{roomId}/messages/{pageId}", - }; - } - - rpc PostChatRoomsGetNewMessages(PutChatRoomsSendRoomIdRequest) returns (ChatMessageModelMsg) { - option (google.api.http) = { - post: "/chat/rooms/{roomId}/messages", - }; - } - - - rpc PostChatCreateMember(ChatMemberMsgElement) returns (ChatMemberMsgElement) { - option (google.api.http) = { - post: "/chat/members", - }; - } - - rpc GetChatMemberByLrzId(GetChatMemberRequest) returns (ChatMemberMsgElement) { - option (google.api.http) = { - get: "/chat/members/{lrzId}", - }; - } - - rpc SearchMemberByName(SearchMemberByNameRequest) returns (ChatMemberMsg) { - option (google.api.http) = { - get: "/chat/members/search/{query}", - }; - } - - rpc GetMemberRooms(GetMemberRoomsRequest) returns (GetMemberRoomsReply) { - option (google.api.http) = { - post: "/chat/members/{memberId}/rooms", - }; - } } message GetRoomScheduleRequest { @@ -474,7 +400,7 @@ message CafeteriaRatingRequest { google.protobuf.Timestamp from = 2; // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 3; - // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" int32 limit = 4; } @@ -487,7 +413,7 @@ message DishRatingRequest { google.protobuf.Timestamp from = 3; // Optional Parameter to define an interval for the ratings (Upper bound) google.protobuf.Timestamp to = 4; - // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" int32 limit = 5; } @@ -754,7 +680,7 @@ message EventListMsgElement{ } -message PostEventTicketMyReply{ +message GetPurchasedTicketsReply{ repeated EventTicketMyMsgElement myTickets = 1; } @@ -766,7 +692,7 @@ message EventTicketMyMsgElement{ int32 event = 5; } -message PostEventTicketRequest { +message GetTicketRequest { int32 id = 1; } @@ -792,12 +718,12 @@ message EventTicketPaymentMsg{ int32 maxTickets = 4; } -message PostEventTicketReserveMultipleRequest{ +message ReserveMultipleTicketsRequest{ repeated int32 ticketTypes = 1; repeated int32 amounts = 2; } -message PostEventTicketReserveMultipleReply{ +message ReserveMultipleTicketsReply{ repeated EventTicketReserveMultipleMsgElement tickets = 1; } @@ -832,7 +758,7 @@ message KinoMsgElement{ string link = 16; } -message PostFeedbackRequest{ +message SendFeedbackRequest{ string topic = 1; string email = 2; string emailId = 3; @@ -844,14 +770,14 @@ message PostFeedbackRequest{ string appVersion = 9; } -message PostFeedbackReply{ +message SendFeedbackImageReply{ string status = 1; } -message PostFeedbackIDImageNrRequest{ +message SendFeedbackImageRequest{ int32 id = 1; int32 imageNr = 2; - //todo wo kommt das eigentliche file her? + //todo where does the file come from? } @@ -867,91 +793,6 @@ message GetMembersReply{ -message PostChatRoomsReply{ - repeated ChatRoomsMsgElement rooms = 1; -} - -message ChatRoomsMsgElement{ - int32 id = 1; - string name = 2; - string semester = 3; - string title = 4; - int32 members = 5; -} - -message GetChatRoomsRoomIdRequest{ - int32 roomId = 1; -} - - -message PostChatRoomsRoomIdLeaveRequest{ - int32 roomId = 1; -} - -message PostChatRoomsRoomIdAddRequest{ - int32 roomId = 1; - int32 memberId = 2; -} - -message PutChatRoomsSendRoomIdRequest{ - int32 roomId = 1; -} - -message PutChatRoomsUpdateMessageRequest{ - int32 roomId = 1; - int32 messageId = 2; -} - - -message ChatMessageModelMsg{ - repeated ChatMessageModelMsgElement messages = 1; -} - -message ChatMessageModelMsgElement{ - int32 id = 1; - int32 previous = 2; - int32 room = 3; - string text = 4; - google.protobuf.Timestamp timestamp = 5; - string signature = 6; - int32 memberId = 7; - int32 sendingStatus = 8; -} - -message PostChatRoomsGetMessagesRequest{ - int32 roomId = 1; - int32 pageId = 2; -} - -message ChatMemberMsg{ - repeated ChatMemberMsgElement members = 1; -} - -message ChatMemberMsgElement{ - int32 id = 1; - string lrzId = 2; - string displayName = 3; - string signature = 4; -} - - -message GetChatMemberRequest{ - string lrzId = 1; -} - - -message SearchMemberByNameRequest{ - string query = 1; -} - -message GetMemberRoomsRequest{ - int32 memberId = 1; -} - -message GetMemberRoomsReply{ - repeated ChatRoomsMsgElement chatRooms = 1; -} - message PurchaseTicketStripeReply{ repeated TicketMessageElement tickets = 1; @@ -966,17 +807,17 @@ message TicketMessageElement{ } -message RetrieveEphemeralKeyReply{ +message GetEphemeralKeyReply{ //todo How does this look? } -message GetEventTicketStatusRequest{ +message GetTicketStatusRequest{ int32 eventId = 1; } -message GetEventTicketStatusReply{ +message GetTicketStatusReply{ repeated TicketStatus status = 1; } From e8ca04ad1b0e86ad21cdbebdd809a18b5564262b Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Wed, 27 Jul 2022 22:32:15 +0200 Subject: [PATCH 21/24] generated stuff --- api/CampusService.pb.go | 2937 +++++------------- api/CampusService.pb.gw.go | 1780 ++--------- api/CampusService_grpc.pb.go | 650 +--- api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 651 +--- server/swagger/swagger.json | 2004 +++++++++--- 6 files changed, 2856 insertions(+), 5168 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index 8dde185a..9afbaf98 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -836,7 +836,7 @@ type CafeteriaRatingRequest struct { From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` // Optional Parameter to define an interval for the ratings (Upper bound) To *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"` - // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } @@ -913,7 +913,7 @@ type DishRatingRequest struct { From *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=from,proto3" json:"from,omitempty"` // Optional Parameter to define an interval for the ratings (Upper bound) To *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"` - // Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request + // Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter "-1" Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` } @@ -3353,7 +3353,7 @@ func (x *EventListMsgElement) GetTicketGroup() int32 { return 0 } -type PostEventTicketMyReply struct { +type GetPurchasedTicketsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3361,8 +3361,8 @@ type PostEventTicketMyReply struct { MyTickets []*EventTicketMyMsgElement `protobuf:"bytes,1,rep,name=myTickets,proto3" json:"myTickets,omitempty"` } -func (x *PostEventTicketMyReply) Reset() { - *x = PostEventTicketMyReply{} +func (x *GetPurchasedTicketsReply) Reset() { + *x = GetPurchasedTicketsReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3370,13 +3370,13 @@ func (x *PostEventTicketMyReply) Reset() { } } -func (x *PostEventTicketMyReply) String() string { +func (x *GetPurchasedTicketsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostEventTicketMyReply) ProtoMessage() {} +func (*GetPurchasedTicketsReply) ProtoMessage() {} -func (x *PostEventTicketMyReply) ProtoReflect() protoreflect.Message { +func (x *GetPurchasedTicketsReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3388,12 +3388,12 @@ func (x *PostEventTicketMyReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostEventTicketMyReply.ProtoReflect.Descriptor instead. -func (*PostEventTicketMyReply) Descriptor() ([]byte, []int) { +// Deprecated: Use GetPurchasedTicketsReply.ProtoReflect.Descriptor instead. +func (*GetPurchasedTicketsReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{52} } -func (x *PostEventTicketMyReply) GetMyTickets() []*EventTicketMyMsgElement { +func (x *GetPurchasedTicketsReply) GetMyTickets() []*EventTicketMyMsgElement { if x != nil { return x.MyTickets } @@ -3479,7 +3479,7 @@ func (x *EventTicketMyMsgElement) GetEvent() int32 { return 0 } -type PostEventTicketRequest struct { +type GetTicketRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3487,8 +3487,8 @@ type PostEventTicketRequest struct { Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *PostEventTicketRequest) Reset() { - *x = PostEventTicketRequest{} +func (x *GetTicketRequest) Reset() { + *x = GetTicketRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3496,13 +3496,13 @@ func (x *PostEventTicketRequest) Reset() { } } -func (x *PostEventTicketRequest) String() string { +func (x *GetTicketRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostEventTicketRequest) ProtoMessage() {} +func (*GetTicketRequest) ProtoMessage() {} -func (x *PostEventTicketRequest) ProtoReflect() protoreflect.Message { +func (x *GetTicketRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3514,12 +3514,12 @@ func (x *PostEventTicketRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostEventTicketRequest.ProtoReflect.Descriptor instead. -func (*PostEventTicketRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetTicketRequest.ProtoReflect.Descriptor instead. +func (*GetTicketRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{54} } -func (x *PostEventTicketRequest) GetId() int32 { +func (x *GetTicketRequest) GetId() int32 { if x != nil { return x.Id } @@ -3747,7 +3747,7 @@ func (x *EventTicketPaymentMsg) GetMaxTickets() int32 { return 0 } -type PostEventTicketReserveMultipleRequest struct { +type ReserveMultipleTicketsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3756,8 +3756,8 @@ type PostEventTicketReserveMultipleRequest struct { Amounts []int32 `protobuf:"varint,2,rep,packed,name=amounts,proto3" json:"amounts,omitempty"` } -func (x *PostEventTicketReserveMultipleRequest) Reset() { - *x = PostEventTicketReserveMultipleRequest{} +func (x *ReserveMultipleTicketsRequest) Reset() { + *x = ReserveMultipleTicketsRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3765,13 +3765,13 @@ func (x *PostEventTicketReserveMultipleRequest) Reset() { } } -func (x *PostEventTicketReserveMultipleRequest) String() string { +func (x *ReserveMultipleTicketsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostEventTicketReserveMultipleRequest) ProtoMessage() {} +func (*ReserveMultipleTicketsRequest) ProtoMessage() {} -func (x *PostEventTicketReserveMultipleRequest) ProtoReflect() protoreflect.Message { +func (x *ReserveMultipleTicketsRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3783,26 +3783,26 @@ func (x *PostEventTicketReserveMultipleRequest) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use PostEventTicketReserveMultipleRequest.ProtoReflect.Descriptor instead. -func (*PostEventTicketReserveMultipleRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ReserveMultipleTicketsRequest.ProtoReflect.Descriptor instead. +func (*ReserveMultipleTicketsRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{58} } -func (x *PostEventTicketReserveMultipleRequest) GetTicketTypes() []int32 { +func (x *ReserveMultipleTicketsRequest) GetTicketTypes() []int32 { if x != nil { return x.TicketTypes } return nil } -func (x *PostEventTicketReserveMultipleRequest) GetAmounts() []int32 { +func (x *ReserveMultipleTicketsRequest) GetAmounts() []int32 { if x != nil { return x.Amounts } return nil } -type PostEventTicketReserveMultipleReply struct { +type ReserveMultipleTicketsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3810,8 +3810,8 @@ type PostEventTicketReserveMultipleReply struct { Tickets []*EventTicketReserveMultipleMsgElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` } -func (x *PostEventTicketReserveMultipleReply) Reset() { - *x = PostEventTicketReserveMultipleReply{} +func (x *ReserveMultipleTicketsReply) Reset() { + *x = ReserveMultipleTicketsReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3819,13 +3819,13 @@ func (x *PostEventTicketReserveMultipleReply) Reset() { } } -func (x *PostEventTicketReserveMultipleReply) String() string { +func (x *ReserveMultipleTicketsReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostEventTicketReserveMultipleReply) ProtoMessage() {} +func (*ReserveMultipleTicketsReply) ProtoMessage() {} -func (x *PostEventTicketReserveMultipleReply) ProtoReflect() protoreflect.Message { +func (x *ReserveMultipleTicketsReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3837,12 +3837,12 @@ func (x *PostEventTicketReserveMultipleReply) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use PostEventTicketReserveMultipleReply.ProtoReflect.Descriptor instead. -func (*PostEventTicketReserveMultipleReply) Descriptor() ([]byte, []int) { +// Deprecated: Use ReserveMultipleTicketsReply.ProtoReflect.Descriptor instead. +func (*ReserveMultipleTicketsReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{59} } -func (x *PostEventTicketReserveMultipleReply) GetTickets() []*EventTicketReserveMultipleMsgElement { +func (x *ReserveMultipleTicketsReply) GetTickets() []*EventTicketReserveMultipleMsgElement { if x != nil { return x.Tickets } @@ -4157,7 +4157,7 @@ func (x *KinoMsgElement) GetLink() string { return "" } -type PostFeedbackRequest struct { +type SendFeedbackRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4173,8 +4173,8 @@ type PostFeedbackRequest struct { AppVersion string `protobuf:"bytes,9,opt,name=appVersion,proto3" json:"appVersion,omitempty"` } -func (x *PostFeedbackRequest) Reset() { - *x = PostFeedbackRequest{} +func (x *SendFeedbackRequest) Reset() { + *x = SendFeedbackRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4182,13 +4182,13 @@ func (x *PostFeedbackRequest) Reset() { } } -func (x *PostFeedbackRequest) String() string { +func (x *SendFeedbackRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostFeedbackRequest) ProtoMessage() {} +func (*SendFeedbackRequest) ProtoMessage() {} -func (x *PostFeedbackRequest) ProtoReflect() protoreflect.Message { +func (x *SendFeedbackRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4200,75 +4200,75 @@ func (x *PostFeedbackRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostFeedbackRequest.ProtoReflect.Descriptor instead. -func (*PostFeedbackRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SendFeedbackRequest.ProtoReflect.Descriptor instead. +func (*SendFeedbackRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{64} } -func (x *PostFeedbackRequest) GetTopic() string { +func (x *SendFeedbackRequest) GetTopic() string { if x != nil { return x.Topic } return "" } -func (x *PostFeedbackRequest) GetEmail() string { +func (x *SendFeedbackRequest) GetEmail() string { if x != nil { return x.Email } return "" } -func (x *PostFeedbackRequest) GetEmailId() string { +func (x *SendFeedbackRequest) GetEmailId() string { if x != nil { return x.EmailId } return "" } -func (x *PostFeedbackRequest) GetMessage() string { +func (x *SendFeedbackRequest) GetMessage() string { if x != nil { return x.Message } return "" } -func (x *PostFeedbackRequest) GetImageCount() int32 { +func (x *SendFeedbackRequest) GetImageCount() int32 { if x != nil { return x.ImageCount } return 0 } -func (x *PostFeedbackRequest) GetLatitude() float64 { +func (x *SendFeedbackRequest) GetLatitude() float64 { if x != nil { return x.Latitude } return 0 } -func (x *PostFeedbackRequest) GetLongitude() float64 { +func (x *SendFeedbackRequest) GetLongitude() float64 { if x != nil { return x.Longitude } return 0 } -func (x *PostFeedbackRequest) GetOsVersion() string { +func (x *SendFeedbackRequest) GetOsVersion() string { if x != nil { return x.OsVersion } return "" } -func (x *PostFeedbackRequest) GetAppVersion() string { +func (x *SendFeedbackRequest) GetAppVersion() string { if x != nil { return x.AppVersion } return "" } -type PostFeedbackReply struct { +type SendFeedbackImageReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -4276,8 +4276,8 @@ type PostFeedbackReply struct { Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` } -func (x *PostFeedbackReply) Reset() { - *x = PostFeedbackReply{} +func (x *SendFeedbackImageReply) Reset() { + *x = SendFeedbackImageReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4285,13 +4285,13 @@ func (x *PostFeedbackReply) Reset() { } } -func (x *PostFeedbackReply) String() string { +func (x *SendFeedbackImageReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostFeedbackReply) ProtoMessage() {} +func (*SendFeedbackImageReply) ProtoMessage() {} -func (x *PostFeedbackReply) ProtoReflect() protoreflect.Message { +func (x *SendFeedbackImageReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4303,29 +4303,29 @@ func (x *PostFeedbackReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostFeedbackReply.ProtoReflect.Descriptor instead. -func (*PostFeedbackReply) Descriptor() ([]byte, []int) { +// Deprecated: Use SendFeedbackImageReply.ProtoReflect.Descriptor instead. +func (*SendFeedbackImageReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{65} } -func (x *PostFeedbackReply) GetStatus() string { +func (x *SendFeedbackImageReply) GetStatus() string { if x != nil { return x.Status } return "" } -type PostFeedbackIDImageNrRequest struct { +type SendFeedbackImageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo wo kommt das eigentliche file her? + ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo where does the file come from? } -func (x *PostFeedbackIDImageNrRequest) Reset() { - *x = PostFeedbackIDImageNrRequest{} +func (x *SendFeedbackImageRequest) Reset() { + *x = SendFeedbackImageRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4333,13 +4333,13 @@ func (x *PostFeedbackIDImageNrRequest) Reset() { } } -func (x *PostFeedbackIDImageNrRequest) String() string { +func (x *SendFeedbackImageRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostFeedbackIDImageNrRequest) ProtoMessage() {} +func (*SendFeedbackImageRequest) ProtoMessage() {} -func (x *PostFeedbackIDImageNrRequest) ProtoReflect() protoreflect.Message { +func (x *SendFeedbackImageRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4351,19 +4351,19 @@ func (x *PostFeedbackIDImageNrRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostFeedbackIDImageNrRequest.ProtoReflect.Descriptor instead. -func (*PostFeedbackIDImageNrRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SendFeedbackImageRequest.ProtoReflect.Descriptor instead. +func (*SendFeedbackImageRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{66} } -func (x *PostFeedbackIDImageNrRequest) GetId() int32 { +func (x *SendFeedbackImageRequest) GetId() int32 { if x != nil { return x.Id } return 0 } -func (x *PostFeedbackIDImageNrRequest) GetImageNr() int32 { +func (x *SendFeedbackImageRequest) GetImageNr() int32 { if x != nil { return x.ImageNr } @@ -4480,894 +4480,6 @@ func (x *GetMembersReply) GetMemberId() int32 { return 0 } -type PostChatRoomsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Rooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` -} - -func (x *PostChatRoomsReply) Reset() { - *x = PostChatRoomsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PostChatRoomsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PostChatRoomsReply) ProtoMessage() {} - -func (x *PostChatRoomsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PostChatRoomsReply.ProtoReflect.Descriptor instead. -func (*PostChatRoomsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{69} -} - -func (x *PostChatRoomsReply) GetRooms() []*ChatRoomsMsgElement { - if x != nil { - return x.Rooms - } - return nil -} - -type ChatRoomsMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Semester string `protobuf:"bytes,3,opt,name=semester,proto3" json:"semester,omitempty"` - Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` - Members int32 `protobuf:"varint,5,opt,name=members,proto3" json:"members,omitempty"` -} - -func (x *ChatRoomsMsgElement) Reset() { - *x = ChatRoomsMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatRoomsMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatRoomsMsgElement) ProtoMessage() {} - -func (x *ChatRoomsMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatRoomsMsgElement.ProtoReflect.Descriptor instead. -func (*ChatRoomsMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{70} -} - -func (x *ChatRoomsMsgElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ChatRoomsMsgElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ChatRoomsMsgElement) GetSemester() string { - if x != nil { - return x.Semester - } - return "" -} - -func (x *ChatRoomsMsgElement) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *ChatRoomsMsgElement) GetMembers() int32 { - if x != nil { - return x.Members - } - return 0 -} - -type GetChatRoomsRoomIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` -} - -func (x *GetChatRoomsRoomIdRequest) Reset() { - *x = GetChatRoomsRoomIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatRoomsRoomIdRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatRoomsRoomIdRequest) ProtoMessage() {} - -func (x *GetChatRoomsRoomIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatRoomsRoomIdRequest.ProtoReflect.Descriptor instead. -func (*GetChatRoomsRoomIdRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{71} -} - -func (x *GetChatRoomsRoomIdRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -type PostChatRoomsRoomIdLeaveRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` -} - -func (x *PostChatRoomsRoomIdLeaveRequest) Reset() { - *x = PostChatRoomsRoomIdLeaveRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PostChatRoomsRoomIdLeaveRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PostChatRoomsRoomIdLeaveRequest) ProtoMessage() {} - -func (x *PostChatRoomsRoomIdLeaveRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PostChatRoomsRoomIdLeaveRequest.ProtoReflect.Descriptor instead. -func (*PostChatRoomsRoomIdLeaveRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{72} -} - -func (x *PostChatRoomsRoomIdLeaveRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -type PostChatRoomsRoomIdAddRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` - MemberId int32 `protobuf:"varint,2,opt,name=memberId,proto3" json:"memberId,omitempty"` -} - -func (x *PostChatRoomsRoomIdAddRequest) Reset() { - *x = PostChatRoomsRoomIdAddRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PostChatRoomsRoomIdAddRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PostChatRoomsRoomIdAddRequest) ProtoMessage() {} - -func (x *PostChatRoomsRoomIdAddRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PostChatRoomsRoomIdAddRequest.ProtoReflect.Descriptor instead. -func (*PostChatRoomsRoomIdAddRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{73} -} - -func (x *PostChatRoomsRoomIdAddRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -func (x *PostChatRoomsRoomIdAddRequest) GetMemberId() int32 { - if x != nil { - return x.MemberId - } - return 0 -} - -type PutChatRoomsSendRoomIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` -} - -func (x *PutChatRoomsSendRoomIdRequest) Reset() { - *x = PutChatRoomsSendRoomIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PutChatRoomsSendRoomIdRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PutChatRoomsSendRoomIdRequest) ProtoMessage() {} - -func (x *PutChatRoomsSendRoomIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PutChatRoomsSendRoomIdRequest.ProtoReflect.Descriptor instead. -func (*PutChatRoomsSendRoomIdRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{74} -} - -func (x *PutChatRoomsSendRoomIdRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -type PutChatRoomsUpdateMessageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` - MessageId int32 `protobuf:"varint,2,opt,name=messageId,proto3" json:"messageId,omitempty"` -} - -func (x *PutChatRoomsUpdateMessageRequest) Reset() { - *x = PutChatRoomsUpdateMessageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PutChatRoomsUpdateMessageRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PutChatRoomsUpdateMessageRequest) ProtoMessage() {} - -func (x *PutChatRoomsUpdateMessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PutChatRoomsUpdateMessageRequest.ProtoReflect.Descriptor instead. -func (*PutChatRoomsUpdateMessageRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{75} -} - -func (x *PutChatRoomsUpdateMessageRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -func (x *PutChatRoomsUpdateMessageRequest) GetMessageId() int32 { - if x != nil { - return x.MessageId - } - return 0 -} - -type ChatMessageModelMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Messages []*ChatMessageModelMsgElement `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` -} - -func (x *ChatMessageModelMsg) Reset() { - *x = ChatMessageModelMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatMessageModelMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatMessageModelMsg) ProtoMessage() {} - -func (x *ChatMessageModelMsg) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatMessageModelMsg.ProtoReflect.Descriptor instead. -func (*ChatMessageModelMsg) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{76} -} - -func (x *ChatMessageModelMsg) GetMessages() []*ChatMessageModelMsgElement { - if x != nil { - return x.Messages - } - return nil -} - -type ChatMessageModelMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Previous int32 `protobuf:"varint,2,opt,name=previous,proto3" json:"previous,omitempty"` - Room int32 `protobuf:"varint,3,opt,name=room,proto3" json:"room,omitempty"` - Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"` - Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Signature string `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"` - MemberId int32 `protobuf:"varint,7,opt,name=memberId,proto3" json:"memberId,omitempty"` - SendingStatus int32 `protobuf:"varint,8,opt,name=sendingStatus,proto3" json:"sendingStatus,omitempty"` -} - -func (x *ChatMessageModelMsgElement) Reset() { - *x = ChatMessageModelMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatMessageModelMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatMessageModelMsgElement) ProtoMessage() {} - -func (x *ChatMessageModelMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatMessageModelMsgElement.ProtoReflect.Descriptor instead. -func (*ChatMessageModelMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{77} -} - -func (x *ChatMessageModelMsgElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ChatMessageModelMsgElement) GetPrevious() int32 { - if x != nil { - return x.Previous - } - return 0 -} - -func (x *ChatMessageModelMsgElement) GetRoom() int32 { - if x != nil { - return x.Room - } - return 0 -} - -func (x *ChatMessageModelMsgElement) GetText() string { - if x != nil { - return x.Text - } - return "" -} - -func (x *ChatMessageModelMsgElement) GetTimestamp() *timestamppb.Timestamp { - if x != nil { - return x.Timestamp - } - return nil -} - -func (x *ChatMessageModelMsgElement) GetSignature() string { - if x != nil { - return x.Signature - } - return "" -} - -func (x *ChatMessageModelMsgElement) GetMemberId() int32 { - if x != nil { - return x.MemberId - } - return 0 -} - -func (x *ChatMessageModelMsgElement) GetSendingStatus() int32 { - if x != nil { - return x.SendingStatus - } - return 0 -} - -type PostChatRoomsGetMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RoomId int32 `protobuf:"varint,1,opt,name=roomId,proto3" json:"roomId,omitempty"` - PageId int32 `protobuf:"varint,2,opt,name=pageId,proto3" json:"pageId,omitempty"` -} - -func (x *PostChatRoomsGetMessagesRequest) Reset() { - *x = PostChatRoomsGetMessagesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PostChatRoomsGetMessagesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PostChatRoomsGetMessagesRequest) ProtoMessage() {} - -func (x *PostChatRoomsGetMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PostChatRoomsGetMessagesRequest.ProtoReflect.Descriptor instead. -func (*PostChatRoomsGetMessagesRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{78} -} - -func (x *PostChatRoomsGetMessagesRequest) GetRoomId() int32 { - if x != nil { - return x.RoomId - } - return 0 -} - -func (x *PostChatRoomsGetMessagesRequest) GetPageId() int32 { - if x != nil { - return x.PageId - } - return 0 -} - -type ChatMemberMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Members []*ChatMemberMsgElement `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"` -} - -func (x *ChatMemberMsg) Reset() { - *x = ChatMemberMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatMemberMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatMemberMsg) ProtoMessage() {} - -func (x *ChatMemberMsg) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatMemberMsg.ProtoReflect.Descriptor instead. -func (*ChatMemberMsg) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{79} -} - -func (x *ChatMemberMsg) GetMembers() []*ChatMemberMsgElement { - if x != nil { - return x.Members - } - return nil -} - -type ChatMemberMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - LrzId string `protobuf:"bytes,2,opt,name=lrzId,proto3" json:"lrzId,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=displayName,proto3" json:"displayName,omitempty"` - Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` -} - -func (x *ChatMemberMsgElement) Reset() { - *x = ChatMemberMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatMemberMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatMemberMsgElement) ProtoMessage() {} - -func (x *ChatMemberMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatMemberMsgElement.ProtoReflect.Descriptor instead. -func (*ChatMemberMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{80} -} - -func (x *ChatMemberMsgElement) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ChatMemberMsgElement) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" -} - -func (x *ChatMemberMsgElement) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *ChatMemberMsgElement) GetSignature() string { - if x != nil { - return x.Signature - } - return "" -} - -type GetChatMemberRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` -} - -func (x *GetChatMemberRequest) Reset() { - *x = GetChatMemberRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatMemberRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatMemberRequest) ProtoMessage() {} - -func (x *GetChatMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatMemberRequest.ProtoReflect.Descriptor instead. -func (*GetChatMemberRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{81} -} - -func (x *GetChatMemberRequest) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" -} - -type SearchMemberByNameRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` -} - -func (x *SearchMemberByNameRequest) Reset() { - *x = SearchMemberByNameRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SearchMemberByNameRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SearchMemberByNameRequest) ProtoMessage() {} - -func (x *SearchMemberByNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SearchMemberByNameRequest.ProtoReflect.Descriptor instead. -func (*SearchMemberByNameRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{82} -} - -func (x *SearchMemberByNameRequest) GetQuery() string { - if x != nil { - return x.Query - } - return "" -} - -type GetMemberRoomsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MemberId int32 `protobuf:"varint,1,opt,name=memberId,proto3" json:"memberId,omitempty"` -} - -func (x *GetMemberRoomsRequest) Reset() { - *x = GetMemberRoomsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMemberRoomsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMemberRoomsRequest) ProtoMessage() {} - -func (x *GetMemberRoomsRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMemberRoomsRequest.ProtoReflect.Descriptor instead. -func (*GetMemberRoomsRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{83} -} - -func (x *GetMemberRoomsRequest) GetMemberId() int32 { - if x != nil { - return x.MemberId - } - return 0 -} - -type GetMemberRoomsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChatRooms []*ChatRoomsMsgElement `protobuf:"bytes,1,rep,name=chatRooms,proto3" json:"chatRooms,omitempty"` -} - -func (x *GetMemberRoomsReply) Reset() { - *x = GetMemberRoomsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMemberRoomsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMemberRoomsReply) ProtoMessage() {} - -func (x *GetMemberRoomsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMemberRoomsReply.ProtoReflect.Descriptor instead. -func (*GetMemberRoomsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{84} -} - -func (x *GetMemberRoomsReply) GetChatRooms() []*ChatRoomsMsgElement { - if x != nil { - return x.ChatRooms - } - return nil -} - type PurchaseTicketStripeReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5379,7 +4491,7 @@ type PurchaseTicketStripeReply struct { func (x *PurchaseTicketStripeReply) Reset() { *x = PurchaseTicketStripeReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[85] + mi := &file_CampusService_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5392,7 +4504,7 @@ func (x *PurchaseTicketStripeReply) String() string { func (*PurchaseTicketStripeReply) ProtoMessage() {} func (x *PurchaseTicketStripeReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[85] + mi := &file_CampusService_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5405,7 +4517,7 @@ func (x *PurchaseTicketStripeReply) ProtoReflect() protoreflect.Message { // Deprecated: Use PurchaseTicketStripeReply.ProtoReflect.Descriptor instead. func (*PurchaseTicketStripeReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{85} + return file_CampusService_proto_rawDescGZIP(), []int{69} } func (x *PurchaseTicketStripeReply) GetTickets() []*TicketMessageElement { @@ -5430,7 +4542,7 @@ type TicketMessageElement struct { func (x *TicketMessageElement) Reset() { *x = TicketMessageElement{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[86] + mi := &file_CampusService_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5443,7 +4555,7 @@ func (x *TicketMessageElement) String() string { func (*TicketMessageElement) ProtoMessage() {} func (x *TicketMessageElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[86] + mi := &file_CampusService_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5456,7 +4568,7 @@ func (x *TicketMessageElement) ProtoReflect() protoreflect.Message { // Deprecated: Use TicketMessageElement.ProtoReflect.Descriptor instead. func (*TicketMessageElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{86} + return file_CampusService_proto_rawDescGZIP(), []int{70} } func (x *TicketMessageElement) GetId() int32 { @@ -5494,29 +4606,29 @@ func (x *TicketMessageElement) GetRedemption() *timestamppb.Timestamp { return nil } -type RetrieveEphemeralKeyReply struct { +type GetEphemeralKeyReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *RetrieveEphemeralKeyReply) Reset() { - *x = RetrieveEphemeralKeyReply{} +func (x *GetEphemeralKeyReply) Reset() { + *x = GetEphemeralKeyReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[87] + mi := &file_CampusService_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RetrieveEphemeralKeyReply) String() string { +func (x *GetEphemeralKeyReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RetrieveEphemeralKeyReply) ProtoMessage() {} +func (*GetEphemeralKeyReply) ProtoMessage() {} -func (x *RetrieveEphemeralKeyReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[87] +func (x *GetEphemeralKeyReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5527,12 +4639,12 @@ func (x *RetrieveEphemeralKeyReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RetrieveEphemeralKeyReply.ProtoReflect.Descriptor instead. -func (*RetrieveEphemeralKeyReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{87} +// Deprecated: Use GetEphemeralKeyReply.ProtoReflect.Descriptor instead. +func (*GetEphemeralKeyReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{71} } -type GetEventTicketStatusRequest struct { +type GetTicketStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5540,23 +4652,23 @@ type GetEventTicketStatusRequest struct { EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` } -func (x *GetEventTicketStatusRequest) Reset() { - *x = GetEventTicketStatusRequest{} +func (x *GetTicketStatusRequest) Reset() { + *x = GetTicketStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[88] + mi := &file_CampusService_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetEventTicketStatusRequest) String() string { +func (x *GetTicketStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetEventTicketStatusRequest) ProtoMessage() {} +func (*GetTicketStatusRequest) ProtoMessage() {} -func (x *GetEventTicketStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[88] +func (x *GetTicketStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5567,19 +4679,19 @@ func (x *GetEventTicketStatusRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetEventTicketStatusRequest.ProtoReflect.Descriptor instead. -func (*GetEventTicketStatusRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{88} +// Deprecated: Use GetTicketStatusRequest.ProtoReflect.Descriptor instead. +func (*GetTicketStatusRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{72} } -func (x *GetEventTicketStatusRequest) GetEventId() int32 { +func (x *GetTicketStatusRequest) GetEventId() int32 { if x != nil { return x.EventId } return 0 } -type GetEventTicketStatusReply struct { +type GetTicketStatusReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5587,23 +4699,23 @@ type GetEventTicketStatusReply struct { Status []*TicketStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"` } -func (x *GetEventTicketStatusReply) Reset() { - *x = GetEventTicketStatusReply{} +func (x *GetTicketStatusReply) Reset() { + *x = GetTicketStatusReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[89] + mi := &file_CampusService_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetEventTicketStatusReply) String() string { +func (x *GetTicketStatusReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetEventTicketStatusReply) ProtoMessage() {} +func (*GetTicketStatusReply) ProtoMessage() {} -func (x *GetEventTicketStatusReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[89] +func (x *GetTicketStatusReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5614,12 +4726,12 @@ func (x *GetEventTicketStatusReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetEventTicketStatusReply.ProtoReflect.Descriptor instead. -func (*GetEventTicketStatusReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{89} +// Deprecated: Use GetTicketStatusReply.ProtoReflect.Descriptor instead. +func (*GetTicketStatusReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{73} } -func (x *GetEventTicketStatusReply) GetStatus() []*TicketStatus { +func (x *GetTicketStatusReply) GetStatus() []*TicketStatus { if x != nil { return x.Status } @@ -5639,7 +4751,7 @@ type TicketStatus struct { func (x *TicketStatus) Reset() { *x = TicketStatus{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[90] + mi := &file_CampusService_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5652,7 +4764,7 @@ func (x *TicketStatus) String() string { func (*TicketStatus) ProtoMessage() {} func (x *TicketStatus) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[90] + mi := &file_CampusService_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5665,7 +4777,7 @@ func (x *TicketStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use TicketStatus.ProtoReflect.Descriptor instead. func (*TicketStatus) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{90} + return file_CampusService_proto_rawDescGZIP(), []int{74} } func (x *TicketStatus) GetTicketType() int32 { @@ -5700,7 +4812,7 @@ type TUMCabeStatus struct { func (x *TUMCabeStatus) Reset() { *x = TUMCabeStatus{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[91] + mi := &file_CampusService_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5713,7 +4825,7 @@ func (x *TUMCabeStatus) String() string { func (*TUMCabeStatus) ProtoMessage() {} func (x *TUMCabeStatus) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[91] + mi := &file_CampusService_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5726,7 +4838,7 @@ func (x *TUMCabeStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use TUMCabeStatus.ProtoReflect.Descriptor instead. func (*TUMCabeStatus) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{91} + return file_CampusService_proto_rawDescGZIP(), []int{75} } func (x *TUMCabeStatus) GetStatus() string { @@ -5747,7 +4859,7 @@ type GetUploadStatusRequest struct { func (x *GetUploadStatusRequest) Reset() { *x = GetUploadStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[92] + mi := &file_CampusService_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5760,7 +4872,7 @@ func (x *GetUploadStatusRequest) String() string { func (*GetUploadStatusRequest) ProtoMessage() {} func (x *GetUploadStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[92] + mi := &file_CampusService_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5773,7 +4885,7 @@ func (x *GetUploadStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUploadStatusRequest.ProtoReflect.Descriptor instead. func (*GetUploadStatusRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{92} + return file_CampusService_proto_rawDescGZIP(), []int{76} } func (x *GetUploadStatusRequest) GetLrzId() string { @@ -5798,7 +4910,7 @@ type GetUploadStatusReply struct { func (x *GetUploadStatusReply) Reset() { *x = GetUploadStatusReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[93] + mi := &file_CampusService_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5811,7 +4923,7 @@ func (x *GetUploadStatusReply) String() string { func (*GetUploadStatusReply) ProtoMessage() {} func (x *GetUploadStatusReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[93] + mi := &file_CampusService_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5824,7 +4936,7 @@ func (x *GetUploadStatusReply) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUploadStatusReply.ProtoReflect.Descriptor instead. func (*GetUploadStatusReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{93} + return file_CampusService_proto_rawDescGZIP(), []int{77} } func (x *GetUploadStatusReply) GetFcmToken() string { @@ -5877,7 +4989,7 @@ type GetNotificationsReply struct { func (x *GetNotificationsReply) Reset() { *x = GetNotificationsReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[94] + mi := &file_CampusService_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5890,7 +5002,7 @@ func (x *GetNotificationsReply) String() string { func (*GetNotificationsReply) ProtoMessage() {} func (x *GetNotificationsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[94] + mi := &file_CampusService_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5903,7 +5015,7 @@ func (x *GetNotificationsReply) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotificationsReply.ProtoReflect.Descriptor instead. func (*GetNotificationsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{94} + return file_CampusService_proto_rawDescGZIP(), []int{78} } func (x *GetNotificationsReply) GetNotificationId() int32 { @@ -5952,7 +5064,7 @@ type NotificationsRequest struct { func (x *NotificationsRequest) Reset() { *x = NotificationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[95] + mi := &file_CampusService_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5965,7 +5077,7 @@ func (x *NotificationsRequest) String() string { func (*NotificationsRequest) ProtoMessage() {} func (x *NotificationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[95] + mi := &file_CampusService_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5978,7 +5090,7 @@ func (x *NotificationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationsRequest.ProtoReflect.Descriptor instead. func (*NotificationsRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{95} + return file_CampusService_proto_rawDescGZIP(), []int{79} } func (x *NotificationsRequest) GetNotificationId() int32 { @@ -5999,7 +5111,7 @@ type GetNotificationsConfirmReply struct { func (x *GetNotificationsConfirmReply) Reset() { *x = GetNotificationsConfirmReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[96] + mi := &file_CampusService_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6012,7 +5124,7 @@ func (x *GetNotificationsConfirmReply) String() string { func (*GetNotificationsConfirmReply) ProtoMessage() {} func (x *GetNotificationsConfirmReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[96] + mi := &file_CampusService_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6025,7 +5137,7 @@ func (x *GetNotificationsConfirmReply) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotificationsConfirmReply.ProtoReflect.Descriptor instead. func (*GetNotificationsConfirmReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{96} + return file_CampusService_proto_rawDescGZIP(), []int{80} } func (x *GetNotificationsConfirmReply) GetStatus() string { @@ -6050,7 +5162,7 @@ type GetRoomScheduleReply_RoomScheduleEvent struct { func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { *x = GetRoomScheduleReply_RoomScheduleEvent{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[97] + mi := &file_CampusService_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6063,7 +5175,7 @@ func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[97] + mi := &file_CampusService_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6129,7 +5241,7 @@ type GetRoomMapsReply_Map struct { func (x *GetRoomMapsReply_Map) Reset() { *x = GetRoomMapsReply_Map{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[98] + mi := &file_CampusService_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6142,7 +5254,7 @@ func (x *GetRoomMapsReply_Map) String() string { func (*GetRoomMapsReply_Map) ProtoMessage() {} func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[98] + mi := &file_CampusService_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6208,7 +5320,7 @@ type GetLocationsReply_Location struct { func (x *GetLocationsReply_Location) Reset() { *x = GetLocationsReply_Location{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[99] + mi := &file_CampusService_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6221,7 +5333,7 @@ func (x *GetLocationsReply_Location) String() string { func (*GetLocationsReply_Location) ProtoMessage() {} func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[99] + mi := &file_CampusService_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6696,684 +5808,498 @@ var file_CampusService_proto_rawDesc = []byte{ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0x54, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x6d, - 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x6d, 0x79, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x68, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x72, - 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, - 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x22, 0x28, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x45, + 0x70, 0x22, 0x56, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, + 0x09, 0x6d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, + 0x6d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, + 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, + 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, - 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, - 0x73, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x14, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x63, - 0x0a, 0x25, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x23, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, - 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, - 0x45, 0x0a, 0x24, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, - 0x22, 0x39, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x12, 0x29, 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, - 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, - 0x13, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, - 0x11, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x1c, 0x50, 0x6f, - 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x4e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x4e, 0x72, 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, - 0x57, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x12, 0x50, 0x6f, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2e, - 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x85, - 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, - 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, - 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x33, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x1f, 0x50, - 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, - 0x49, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x1d, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x1d, 0x50, - 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x52, - 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x20, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x52, - 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, - 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, - 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6f, - 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x51, 0x0a, 0x1f, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, - 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65, - 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x73, 0x6f, 0x6c, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x34, + 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, + 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, + 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, + 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x1d, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x62, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x24, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x0c, + 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x05, + 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, 0x4b, 0x69, 0x6e, 0x6f, + 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, + 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, + 0x61, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, + 0x69, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x6e, + 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, + 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x16, 0x53, 0x65, 0x6e, + 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x53, + 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x4e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, + 0x72, 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x19, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, + 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x14, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, - 0x72, 0x7a, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x50, 0x0a, 0x19, 0x50, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, - 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x01, - 0x0a, 0x14, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x65, 0x64, 0x65, - 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x37, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, + 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x32, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x19, 0x47, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x62, 0x0a, 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x2e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, - 0xb3, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, 0x6d, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x63, 0x6d, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x22, 0x3e, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x36, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xf4, 0x2e, 0x0a, 0x06, 0x43, 0x61, - 0x6d, 0x70, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, - 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, - 0x74, 0x6f, 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, - 0x77, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, - 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, - 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, - 0x61, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, - 0x22, 0x10, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, - 0x70, 0x73, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, - 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, - 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, - 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, - 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, - 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, - 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, - 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, - 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, - 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, - 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, - 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, 0x65, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, - 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x69, - 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x62, 0x0a, + 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x6c, + 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2e, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x49, 0x64, 0x12, + 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, + 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x3e, 0x0a, 0x14, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x1c, + 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x32, 0x81, 0x23, 0x0a, 0x06, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, + 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, + 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, + 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, + 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, + 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, + 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, + 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, + 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, + 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, + 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, + 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x6e, + 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x5f, + 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, + 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x64, 0x69, 0x73, + 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, 0x3a, 0x01, 0x2a, 0x12, + 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, + 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, + 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, + 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, + 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, - 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, - 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x19, 0x2f, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x18, 0x2f, - 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, - 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x12, - 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x17, 0x12, 0x0f, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, 0x44, 0x69, - 0x73, 0x68, 0x65, 0x73, 0x62, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x17, 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, - 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, - 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, - 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, - 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, - 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, + 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, + 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x18, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x56, 0x0a, + 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, + 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x0f, + 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x62, + 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, + 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, + 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, + 0x2f, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, + 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x4e, 0x72, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, - 0x65, 0x2f, 0x6e, 0x65, 0x72, 0x62, 0x79, 0x12, 0x6a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, - 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, - 0x65, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, - 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, - 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, - 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, - 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x70, - 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, 0x70, 0x65, - 0x6e, 0x69, 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x7d, 0x12, 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x17, 0x12, 0x15, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x2f, 0x7b, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, - 0x12, 0x62, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x12, 0x22, 0x10, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x2f, 0x6d, 0x79, 0x12, 0x64, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, - 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1a, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x22, 0x12, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, + 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, + 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, + 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x72, + 0x62, 0x79, 0x12, 0x6a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, + 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, + 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, + 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x70, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, + 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, + 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, + 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, + 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x7d, 0x12, + 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x7d, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, + 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, + 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, + 0x6c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, + 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x12, 0x22, 0x10, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x2f, 0x6d, 0x79, 0x12, 0x5a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x22, 0x12, 0x2f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, + 0x65, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x9e, 0x01, 0x0a, - 0x1e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, - 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x86, 0x01, - 0x0a, 0x14, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x36, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x2f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x2f, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, - 0x29, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x65, 0x70, - 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x6b, 0x65, 0x79, 0x12, 0x80, 0x01, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x49, 0x0a, - 0x07, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, - 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x53, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, - 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, - 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x0b, 0x22, 0x09, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x74, 0x0a, - 0x15, 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x72, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, - 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x44, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x66, 0x65, 0x65, 0x64, - 0x62, 0x61, 0x63, 0x6b, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x4e, 0x72, 0x7d, 0x12, 0x56, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x10, 0x2f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x09, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x74, 0x79, 0x70, + 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, + 0x1e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, + 0x86, 0x01, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, - 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x47, - 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x13, 0x2f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x60, 0x0a, - 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, - 0x0e, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, - 0x12, 0x27, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x0a, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, - 0x58, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, + 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x2f, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x77, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x45, + 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, + 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x31, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x29, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, + 0x72, 0x69, 0x70, 0x65, 0x2f, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x6b, 0x65, + 0x79, 0x12, 0x71, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, + 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x7d, 0x12, 0x49, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, + 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, + 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, + 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, + 0x58, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, + 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x22, 0x09, + 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x6e, + 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, + 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2f, 0x7b, 0x69, + 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x72, 0x7d, 0x12, 0x56, 0x0a, 0x0e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, + 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x12, 0x22, 0x10, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x09, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, + 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x19, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x22, 0x0b, 0x2f, 0x63, 0x68, 0x61, 0x74, - 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x6c, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, - 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, - 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x16, 0x12, 0x14, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x12, 0x7e, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x4c, 0x65, - 0x61, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x4c, 0x65, 0x61, - 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x1a, 0x2f, 0x63, 0x68, - 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, - 0x7d, 0x2f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x16, 0x50, 0x6f, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, - 0x64, 0x64, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x23, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, - 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x61, - 0x64, 0x64, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0x84, 0x01, - 0x0a, 0x17, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, - 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x24, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x1c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, - 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x19, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2a, 0x1a, 0x28, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, - 0x7b, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x8a, 0x01, 0x0a, - 0x18, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x28, 0x22, 0x26, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x7d, 0x12, 0x82, 0x01, 0x0a, 0x1b, 0x50, 0x6f, - 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x47, 0x65, 0x74, 0x4e, 0x65, - 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x75, 0x74, 0x43, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, - 0x1d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x2f, 0x7b, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x63, - 0x0a, 0x14, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x15, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0f, 0x22, 0x0d, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x12, 0x6b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x63, 0x68, 0x61, 0x74, - 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, - 0x12, 0x6e, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x7b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x7d, - 0x12, 0x6e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, - 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, - 0x22, 0x1e, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, - 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, - 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, - 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, - 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, - 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, + 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x1b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x15, 0x22, 0x13, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x64, + 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2f, 0x7b, + 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x60, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, + 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, + 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, + 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, + 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7388,7 +6314,7 @@ func file_CampusService_proto_rawDescGZIP() []byte { return file_CampusService_proto_rawDescData } -var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 100) +var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 84) var file_CampusService_proto_goTypes = []interface{}{ (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply @@ -7442,226 +6368,181 @@ var file_CampusService_proto_goTypes = []interface{}{ (*GetEventListRequest)(nil), // 49: api.GetEventListRequest (*GetEventListReply)(nil), // 50: api.GetEventListReply (*EventListMsgElement)(nil), // 51: api.EventListMsgElement - (*PostEventTicketMyReply)(nil), // 52: api.PostEventTicketMyReply + (*GetPurchasedTicketsReply)(nil), // 52: api.GetPurchasedTicketsReply (*EventTicketMyMsgElement)(nil), // 53: api.EventTicketMyMsgElement - (*PostEventTicketRequest)(nil), // 54: api.PostEventTicketRequest + (*GetTicketRequest)(nil), // 54: api.GetTicketRequest (*GetEventTicketTypeReply)(nil), // 55: api.GetEventTicketTypeReply (*EventTicketTypeMsgElement)(nil), // 56: api.EventTicketTypeMsgElement (*EventTicketPaymentMsg)(nil), // 57: api.EventTicketPaymentMsg - (*PostEventTicketReserveMultipleRequest)(nil), // 58: api.PostEventTicketReserveMultipleRequest - (*PostEventTicketReserveMultipleReply)(nil), // 59: api.PostEventTicketReserveMultipleReply + (*ReserveMultipleTicketsRequest)(nil), // 58: api.ReserveMultipleTicketsRequest + (*ReserveMultipleTicketsReply)(nil), // 59: api.ReserveMultipleTicketsReply (*EventTicketReserveMultipleMsgElement)(nil), // 60: api.EventTicketReserveMultipleMsgElement (*GetKinoRequest)(nil), // 61: api.GetKinoRequest (*GetKinoReply)(nil), // 62: api.GetKinoReply (*KinoMsgElement)(nil), // 63: api.KinoMsgElement - (*PostFeedbackRequest)(nil), // 64: api.PostFeedbackRequest - (*PostFeedbackReply)(nil), // 65: api.PostFeedbackReply - (*PostFeedbackIDImageNrRequest)(nil), // 66: api.PostFeedbackIDImageNrRequest + (*SendFeedbackRequest)(nil), // 64: api.SendFeedbackRequest + (*SendFeedbackImageReply)(nil), // 65: api.SendFeedbackImageReply + (*SendFeedbackImageRequest)(nil), // 66: api.SendFeedbackImageRequest (*GetMembersRequest)(nil), // 67: api.GetMembersRequest (*GetMembersReply)(nil), // 68: api.GetMembersReply - (*PostChatRoomsReply)(nil), // 69: api.PostChatRoomsReply - (*ChatRoomsMsgElement)(nil), // 70: api.ChatRoomsMsgElement - (*GetChatRoomsRoomIdRequest)(nil), // 71: api.GetChatRoomsRoomIdRequest - (*PostChatRoomsRoomIdLeaveRequest)(nil), // 72: api.PostChatRoomsRoomIdLeaveRequest - (*PostChatRoomsRoomIdAddRequest)(nil), // 73: api.PostChatRoomsRoomIdAddRequest - (*PutChatRoomsSendRoomIdRequest)(nil), // 74: api.PutChatRoomsSendRoomIdRequest - (*PutChatRoomsUpdateMessageRequest)(nil), // 75: api.PutChatRoomsUpdateMessageRequest - (*ChatMessageModelMsg)(nil), // 76: api.ChatMessageModelMsg - (*ChatMessageModelMsgElement)(nil), // 77: api.ChatMessageModelMsgElement - (*PostChatRoomsGetMessagesRequest)(nil), // 78: api.PostChatRoomsGetMessagesRequest - (*ChatMemberMsg)(nil), // 79: api.ChatMemberMsg - (*ChatMemberMsgElement)(nil), // 80: api.ChatMemberMsgElement - (*GetChatMemberRequest)(nil), // 81: api.GetChatMemberRequest - (*SearchMemberByNameRequest)(nil), // 82: api.SearchMemberByNameRequest - (*GetMemberRoomsRequest)(nil), // 83: api.GetMemberRoomsRequest - (*GetMemberRoomsReply)(nil), // 84: api.GetMemberRoomsReply - (*PurchaseTicketStripeReply)(nil), // 85: api.PurchaseTicketStripeReply - (*TicketMessageElement)(nil), // 86: api.TicketMessageElement - (*RetrieveEphemeralKeyReply)(nil), // 87: api.RetrieveEphemeralKeyReply - (*GetEventTicketStatusRequest)(nil), // 88: api.GetEventTicketStatusRequest - (*GetEventTicketStatusReply)(nil), // 89: api.GetEventTicketStatusReply - (*TicketStatus)(nil), // 90: api.TicketStatus - (*TUMCabeStatus)(nil), // 91: api.TUMCabeStatus - (*GetUploadStatusRequest)(nil), // 92: api.GetUploadStatusRequest - (*GetUploadStatusReply)(nil), // 93: api.GetUploadStatusReply - (*GetNotificationsReply)(nil), // 94: api.GetNotificationsReply - (*NotificationsRequest)(nil), // 95: api.NotificationsRequest - (*GetNotificationsConfirmReply)(nil), // 96: api.GetNotificationsConfirmReply - (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 97: api.GetRoomScheduleReply.RoomScheduleEvent - (*GetRoomMapsReply_Map)(nil), // 98: api.GetRoomMapsReply.Map - (*GetLocationsReply_Location)(nil), // 99: api.GetLocationsReply.Location - (*timestamppb.Timestamp)(nil), // 100: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 101: google.protobuf.Empty + (*PurchaseTicketStripeReply)(nil), // 69: api.PurchaseTicketStripeReply + (*TicketMessageElement)(nil), // 70: api.TicketMessageElement + (*GetEphemeralKeyReply)(nil), // 71: api.GetEphemeralKeyReply + (*GetTicketStatusRequest)(nil), // 72: api.GetTicketStatusRequest + (*GetTicketStatusReply)(nil), // 73: api.GetTicketStatusReply + (*TicketStatus)(nil), // 74: api.TicketStatus + (*TUMCabeStatus)(nil), // 75: api.TUMCabeStatus + (*GetUploadStatusRequest)(nil), // 76: api.GetUploadStatusRequest + (*GetUploadStatusReply)(nil), // 77: api.GetUploadStatusReply + (*GetNotificationsReply)(nil), // 78: api.GetNotificationsReply + (*NotificationsRequest)(nil), // 79: api.NotificationsRequest + (*GetNotificationsConfirmReply)(nil), // 80: api.GetNotificationsConfirmReply + (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 81: api.GetRoomScheduleReply.RoomScheduleEvent + (*GetRoomMapsReply_Map)(nil), // 82: api.GetRoomMapsReply.Map + (*GetLocationsReply_Location)(nil), // 83: api.GetLocationsReply.Location + (*timestamppb.Timestamp)(nil), // 84: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 85: google.protobuf.Empty } var file_CampusService_proto_depIdxs = []int32{ - 100, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp - 100, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp - 97, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent - 98, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map - 99, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location - 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room - 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource - 100, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp - 100, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp - 100, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp - 100, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp - 100, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp - 100, // 12: api.DishRatingRequest.from:type_name -> google.protobuf.Timestamp - 100, // 13: api.DishRatingRequest.to:type_name -> google.protobuf.Timestamp - 18, // 14: api.CafeteriaRatingReply.rating:type_name -> api.SingleRatingReply - 25, // 15: api.CafeteriaRatingReply.ratingTags:type_name -> api.RatingTagResult - 18, // 16: api.DishRatingReply.rating:type_name -> api.SingleRatingReply - 25, // 17: api.DishRatingReply.ratingTags:type_name -> api.RatingTagResult - 25, // 18: api.DishRatingReply.nameTags:type_name -> api.RatingTagResult - 24, // 19: api.SingleRatingReply.ratingTags:type_name -> api.RatingTagNewRequest - 100, // 20: api.SingleRatingReply.visited:type_name -> google.protobuf.Timestamp - 23, // 21: api.NewCafeteriaRatingRequest.ratingTags:type_name -> api.RatingTag - 23, // 22: api.NewDishRatingRequest.ratingTags:type_name -> api.RatingTag - 22, // 23: api.GetRatingTagsReply.ratingTags:type_name -> api.RatingTagsOverview - 27, // 24: api.GetCafeteriaReply.cafeteria:type_name -> api.Cafeteria - 31, // 25: api.GetResponsiblePersonReply.responsiblePerson:type_name -> api.ResponsiblePersonElement - 33, // 26: api.GetBuilding2GpsReply.building2Gps:type_name -> api.Building2GpsElement - 37, // 27: api.GetAreaFacilitiesByBuildingNrReply.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement - 37, // 28: api.GetListOfToiletsReply.listOfToilets:type_name -> api.RoomInformationElement - 37, // 29: api.GetListOfElevatorsReply.listOfElevators:type_name -> api.RoomInformationElement - 40, // 30: api.GetMoreInformationReply.information:type_name -> api.MoreInformationElement - 43, // 31: api.GetOpeningTimesReply.facilities:type_name -> api.OpeningTimesMsgElement - 47, // 32: api.GetStudyRoomListReply.rooms:type_name -> api.StudyRoomMsgElement - 48, // 33: api.StudyRoomMsgElement.rooms:type_name -> api.StudyRoom - 51, // 34: api.GetEventListReply.events:type_name -> api.EventListMsgElement - 100, // 35: api.EventListMsgElement.start:type_name -> google.protobuf.Timestamp - 100, // 36: api.EventListMsgElement.end:type_name -> google.protobuf.Timestamp - 53, // 37: api.PostEventTicketMyReply.myTickets:type_name -> api.EventTicketMyMsgElement - 100, // 38: api.EventTicketMyMsgElement.redemption:type_name -> google.protobuf.Timestamp - 56, // 39: api.GetEventTicketTypeReply.eventTickets:type_name -> api.EventTicketTypeMsgElement - 57, // 40: api.EventTicketTypeMsgElement.payment:type_name -> api.EventTicketPaymentMsg - 60, // 41: api.PostEventTicketReserveMultipleReply.tickets:type_name -> api.EventTicketReserveMultipleMsgElement - 63, // 42: api.GetKinoReply.kinos:type_name -> api.KinoMsgElement - 100, // 43: api.KinoMsgElement.date:type_name -> google.protobuf.Timestamp - 100, // 44: api.KinoMsgElement.created:type_name -> google.protobuf.Timestamp - 70, // 45: api.PostChatRoomsReply.rooms:type_name -> api.ChatRoomsMsgElement - 77, // 46: api.ChatMessageModelMsg.messages:type_name -> api.ChatMessageModelMsgElement - 100, // 47: api.ChatMessageModelMsgElement.timestamp:type_name -> google.protobuf.Timestamp - 80, // 48: api.ChatMemberMsg.members:type_name -> api.ChatMemberMsgElement - 70, // 49: api.GetMemberRoomsReply.chatRooms:type_name -> api.ChatRoomsMsgElement - 86, // 50: api.PurchaseTicketStripeReply.tickets:type_name -> api.TicketMessageElement - 100, // 51: api.TicketMessageElement.redemption:type_name -> google.protobuf.Timestamp - 90, // 52: api.GetEventTicketStatusReply.status:type_name -> api.TicketStatus - 100, // 53: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp - 100, // 54: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp - 101, // 55: api.Campus.GetTopNews:input_type -> google.protobuf.Empty - 101, // 56: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty - 8, // 57: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest - 6, // 58: api.Campus.GetLocations:input_type -> api.GetLocationsRequest - 4, // 59: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest - 2, // 60: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest - 0, // 61: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest - 14, // 62: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest - 15, // 63: api.Campus.GetDishRatings:input_type -> api.DishRatingRequest - 19, // 64: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest - 20, // 65: api.Campus.NewDishRating:input_type -> api.NewDishRatingRequest - 101, // 66: api.Campus.GetAvailableDishTags:input_type -> google.protobuf.Empty - 101, // 67: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty - 101, // 68: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty - 28, // 69: api.Campus.GetDishes:input_type -> api.GetDishesRequest - 101, // 70: api.Campus.GetResponsiblePerson:input_type -> google.protobuf.Empty - 101, // 71: api.Campus.GetBuilding2Gps:input_type -> google.protobuf.Empty - 35, // 72: api.Campus.GetAreaFacilitiesByBuildingNr:input_type -> api.GetAreaFacilitiesByBuildingNrRequest - 101, // 73: api.Campus.GetListOfToilets:input_type -> google.protobuf.Empty - 101, // 74: api.Campus.GetListOfElevators:input_type -> google.protobuf.Empty - 101, // 75: api.Campus.GetMoreInformation:input_type -> google.protobuf.Empty - 41, // 76: api.Campus.GetOpeningTimes:input_type -> api.GetOpeningTimesRequest - 44, // 77: api.Campus.GetUpdateNote:input_type -> api.GetUpdateNoteRequest - 101, // 78: api.Campus.GetStudyRoomList:input_type -> google.protobuf.Empty - 49, // 79: api.Campus.GetEventList:input_type -> api.GetEventListRequest - 101, // 80: api.Campus.PostEventTicketMy:input_type -> google.protobuf.Empty - 54, // 81: api.Campus.PostEventTicket:input_type -> api.PostEventTicketRequest - 54, // 82: api.Campus.GetEventTicketType:input_type -> api.PostEventTicketRequest - 58, // 83: api.Campus.PostEventTicketReserveMultiple:input_type -> api.PostEventTicketReserveMultipleRequest - 101, // 84: api.Campus.PurchaseTicketStripe:input_type -> google.protobuf.Empty - 101, // 85: api.Campus.RetrieveEphemeralKey:input_type -> google.protobuf.Empty - 88, // 86: api.Campus.GetEventTicketStatus:input_type -> api.GetEventTicketStatusRequest - 61, // 87: api.Campus.GetKino:input_type -> api.GetKinoRequest - 64, // 88: api.Campus.PostFeedback:input_type -> api.PostFeedbackRequest - 66, // 89: api.Campus.PostFeedbackIDImageNr:input_type -> api.PostFeedbackIDImageNrRequest - 101, // 90: api.Campus.RegisterDevice:input_type -> google.protobuf.Empty - 101, // 91: api.Campus.VerifyKey:input_type -> google.protobuf.Empty - 101, // 92: api.Campus.DeviceUploadGcmToken:input_type -> google.protobuf.Empty - 92, // 93: api.Campus.GetUploadStatus:input_type -> api.GetUploadStatusRequest - 95, // 94: api.Campus.GetNotification:input_type -> api.NotificationsRequest - 95, // 95: api.Campus.GetNotificationConfirm:input_type -> api.NotificationsRequest - 67, // 96: api.Campus.GetMembers:input_type -> api.GetMembersRequest - 101, // 97: api.Campus.PostChatRooms:input_type -> google.protobuf.Empty - 71, // 98: api.Campus.GetChatRoomsRoomId:input_type -> api.GetChatRoomsRoomIdRequest - 72, // 99: api.Campus.PostChatRoomsRoomIdLeave:input_type -> api.PostChatRoomsRoomIdLeaveRequest - 73, // 100: api.Campus.PostChatRoomsRoomIdAdd:input_type -> api.PostChatRoomsRoomIdAddRequest - 74, // 101: api.Campus.PutChatRoomsSendMessage:input_type -> api.PutChatRoomsSendRoomIdRequest - 75, // 102: api.Campus.PutChatRoomsUpdateMessage:input_type -> api.PutChatRoomsUpdateMessageRequest - 78, // 103: api.Campus.PostChatRoomsGetMessages:input_type -> api.PostChatRoomsGetMessagesRequest - 74, // 104: api.Campus.PostChatRoomsGetNewMessages:input_type -> api.PutChatRoomsSendRoomIdRequest - 80, // 105: api.Campus.PostChatCreateMember:input_type -> api.ChatMemberMsgElement - 81, // 106: api.Campus.GetChatMemberByLrzId:input_type -> api.GetChatMemberRequest - 82, // 107: api.Campus.SearchMemberByName:input_type -> api.SearchMemberByNameRequest - 83, // 108: api.Campus.GetMemberRooms:input_type -> api.GetMemberRoomsRequest - 13, // 109: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 110: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 111: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 112: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 113: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 114: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 115: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 116: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply - 17, // 117: api.Campus.GetDishRatings:output_type -> api.DishRatingReply - 101, // 118: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 101, // 119: api.Campus.NewDishRating:output_type -> google.protobuf.Empty - 21, // 120: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply - 21, // 121: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 26, // 122: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply - 29, // 123: api.Campus.GetDishes:output_type -> api.GetDishesReply - 30, // 124: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply - 32, // 125: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply - 34, // 126: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply - 36, // 127: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply - 38, // 128: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply - 39, // 129: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply - 42, // 130: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply - 45, // 131: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply - 46, // 132: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply - 50, // 133: api.Campus.GetEventList:output_type -> api.GetEventListReply - 52, // 134: api.Campus.PostEventTicketMy:output_type -> api.PostEventTicketMyReply - 51, // 135: api.Campus.PostEventTicket:output_type -> api.EventListMsgElement - 55, // 136: api.Campus.GetEventTicketType:output_type -> api.GetEventTicketTypeReply - 59, // 137: api.Campus.PostEventTicketReserveMultiple:output_type -> api.PostEventTicketReserveMultipleReply - 85, // 138: api.Campus.PurchaseTicketStripe:output_type -> api.PurchaseTicketStripeReply - 87, // 139: api.Campus.RetrieveEphemeralKey:output_type -> api.RetrieveEphemeralKeyReply - 89, // 140: api.Campus.GetEventTicketStatus:output_type -> api.GetEventTicketStatusReply - 62, // 141: api.Campus.GetKino:output_type -> api.GetKinoReply - 65, // 142: api.Campus.PostFeedback:output_type -> api.PostFeedbackReply - 65, // 143: api.Campus.PostFeedbackIDImageNr:output_type -> api.PostFeedbackReply - 91, // 144: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus - 91, // 145: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus - 91, // 146: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus - 93, // 147: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply - 94, // 148: api.Campus.GetNotification:output_type -> api.GetNotificationsReply - 96, // 149: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply - 68, // 150: api.Campus.GetMembers:output_type -> api.GetMembersReply - 69, // 151: api.Campus.PostChatRooms:output_type -> api.PostChatRoomsReply - 70, // 152: api.Campus.GetChatRoomsRoomId:output_type -> api.ChatRoomsMsgElement - 70, // 153: api.Campus.PostChatRoomsRoomIdLeave:output_type -> api.ChatRoomsMsgElement - 70, // 154: api.Campus.PostChatRoomsRoomIdAdd:output_type -> api.ChatRoomsMsgElement - 77, // 155: api.Campus.PutChatRoomsSendMessage:output_type -> api.ChatMessageModelMsgElement - 77, // 156: api.Campus.PutChatRoomsUpdateMessage:output_type -> api.ChatMessageModelMsgElement - 76, // 157: api.Campus.PostChatRoomsGetMessages:output_type -> api.ChatMessageModelMsg - 76, // 158: api.Campus.PostChatRoomsGetNewMessages:output_type -> api.ChatMessageModelMsg - 80, // 159: api.Campus.PostChatCreateMember:output_type -> api.ChatMemberMsgElement - 80, // 160: api.Campus.GetChatMemberByLrzId:output_type -> api.ChatMemberMsgElement - 79, // 161: api.Campus.SearchMemberByName:output_type -> api.ChatMemberMsg - 84, // 162: api.Campus.GetMemberRooms:output_type -> api.GetMemberRoomsReply - 109, // [109:163] is the sub-list for method output_type - 55, // [55:109] is the sub-list for method input_type - 55, // [55:55] is the sub-list for extension type_name - 55, // [55:55] is the sub-list for extension extendee - 0, // [0:55] is the sub-list for field type_name + 84, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp + 84, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp + 81, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent + 82, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map + 83, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location + 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room + 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource + 84, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp + 84, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp + 84, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp + 84, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp + 84, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp + 84, // 12: api.DishRatingRequest.from:type_name -> google.protobuf.Timestamp + 84, // 13: api.DishRatingRequest.to:type_name -> google.protobuf.Timestamp + 18, // 14: api.CafeteriaRatingReply.rating:type_name -> api.SingleRatingReply + 25, // 15: api.CafeteriaRatingReply.ratingTags:type_name -> api.RatingTagResult + 18, // 16: api.DishRatingReply.rating:type_name -> api.SingleRatingReply + 25, // 17: api.DishRatingReply.ratingTags:type_name -> api.RatingTagResult + 25, // 18: api.DishRatingReply.nameTags:type_name -> api.RatingTagResult + 24, // 19: api.SingleRatingReply.ratingTags:type_name -> api.RatingTagNewRequest + 84, // 20: api.SingleRatingReply.visited:type_name -> google.protobuf.Timestamp + 23, // 21: api.NewCafeteriaRatingRequest.ratingTags:type_name -> api.RatingTag + 23, // 22: api.NewDishRatingRequest.ratingTags:type_name -> api.RatingTag + 22, // 23: api.GetRatingTagsReply.ratingTags:type_name -> api.RatingTagsOverview + 27, // 24: api.GetCafeteriaReply.cafeteria:type_name -> api.Cafeteria + 31, // 25: api.GetResponsiblePersonReply.responsiblePerson:type_name -> api.ResponsiblePersonElement + 33, // 26: api.GetBuilding2GpsReply.building2Gps:type_name -> api.Building2GpsElement + 37, // 27: api.GetAreaFacilitiesByBuildingNrReply.areaFacilitiesByBuildingNr:type_name -> api.RoomInformationElement + 37, // 28: api.GetListOfToiletsReply.listOfToilets:type_name -> api.RoomInformationElement + 37, // 29: api.GetListOfElevatorsReply.listOfElevators:type_name -> api.RoomInformationElement + 40, // 30: api.GetMoreInformationReply.information:type_name -> api.MoreInformationElement + 43, // 31: api.GetOpeningTimesReply.facilities:type_name -> api.OpeningTimesMsgElement + 47, // 32: api.GetStudyRoomListReply.rooms:type_name -> api.StudyRoomMsgElement + 48, // 33: api.StudyRoomMsgElement.rooms:type_name -> api.StudyRoom + 51, // 34: api.GetEventListReply.events:type_name -> api.EventListMsgElement + 84, // 35: api.EventListMsgElement.start:type_name -> google.protobuf.Timestamp + 84, // 36: api.EventListMsgElement.end:type_name -> google.protobuf.Timestamp + 53, // 37: api.GetPurchasedTicketsReply.myTickets:type_name -> api.EventTicketMyMsgElement + 84, // 38: api.EventTicketMyMsgElement.redemption:type_name -> google.protobuf.Timestamp + 56, // 39: api.GetEventTicketTypeReply.eventTickets:type_name -> api.EventTicketTypeMsgElement + 57, // 40: api.EventTicketTypeMsgElement.payment:type_name -> api.EventTicketPaymentMsg + 60, // 41: api.ReserveMultipleTicketsReply.tickets:type_name -> api.EventTicketReserveMultipleMsgElement + 63, // 42: api.GetKinoReply.kinos:type_name -> api.KinoMsgElement + 84, // 43: api.KinoMsgElement.date:type_name -> google.protobuf.Timestamp + 84, // 44: api.KinoMsgElement.created:type_name -> google.protobuf.Timestamp + 70, // 45: api.PurchaseTicketStripeReply.tickets:type_name -> api.TicketMessageElement + 84, // 46: api.TicketMessageElement.redemption:type_name -> google.protobuf.Timestamp + 74, // 47: api.GetTicketStatusReply.status:type_name -> api.TicketStatus + 84, // 48: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp + 84, // 49: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp + 85, // 50: api.Campus.GetTopNews:input_type -> google.protobuf.Empty + 85, // 51: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty + 8, // 52: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest + 6, // 53: api.Campus.GetLocations:input_type -> api.GetLocationsRequest + 4, // 54: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest + 2, // 55: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest + 0, // 56: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest + 14, // 57: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest + 15, // 58: api.Campus.GetDishRatings:input_type -> api.DishRatingRequest + 19, // 59: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest + 20, // 60: api.Campus.NewDishRating:input_type -> api.NewDishRatingRequest + 85, // 61: api.Campus.GetAvailableDishTags:input_type -> google.protobuf.Empty + 85, // 62: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty + 85, // 63: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty + 28, // 64: api.Campus.GetDishes:input_type -> api.GetDishesRequest + 85, // 65: api.Campus.GetResponsiblePerson:input_type -> google.protobuf.Empty + 85, // 66: api.Campus.GetBuilding2Gps:input_type -> google.protobuf.Empty + 35, // 67: api.Campus.GetAreaFacilitiesByBuildingNr:input_type -> api.GetAreaFacilitiesByBuildingNrRequest + 85, // 68: api.Campus.GetListOfToilets:input_type -> google.protobuf.Empty + 85, // 69: api.Campus.GetListOfElevators:input_type -> google.protobuf.Empty + 85, // 70: api.Campus.GetMoreInformation:input_type -> google.protobuf.Empty + 41, // 71: api.Campus.GetOpeningTimes:input_type -> api.GetOpeningTimesRequest + 44, // 72: api.Campus.GetUpdateNote:input_type -> api.GetUpdateNoteRequest + 85, // 73: api.Campus.GetStudyRoomList:input_type -> google.protobuf.Empty + 49, // 74: api.Campus.GetEventList:input_type -> api.GetEventListRequest + 85, // 75: api.Campus.GetPurchasedTickets:input_type -> google.protobuf.Empty + 54, // 76: api.Campus.GetMyTicket:input_type -> api.GetTicketRequest + 54, // 77: api.Campus.GetTicketType:input_type -> api.GetTicketRequest + 58, // 78: api.Campus.ReserveMultipleTickets:input_type -> api.ReserveMultipleTicketsRequest + 85, // 79: api.Campus.PurchaseTicketStripe:input_type -> google.protobuf.Empty + 85, // 80: api.Campus.GetEphemeralKey:input_type -> google.protobuf.Empty + 72, // 81: api.Campus.GetTicketStatus:input_type -> api.GetTicketStatusRequest + 61, // 82: api.Campus.GetKino:input_type -> api.GetKinoRequest + 64, // 83: api.Campus.SendFeedback:input_type -> api.SendFeedbackRequest + 66, // 84: api.Campus.SendFeedbackImage:input_type -> api.SendFeedbackImageRequest + 85, // 85: api.Campus.RegisterDevice:input_type -> google.protobuf.Empty + 85, // 86: api.Campus.VerifyKey:input_type -> google.protobuf.Empty + 85, // 87: api.Campus.DeviceUploadGcmToken:input_type -> google.protobuf.Empty + 76, // 88: api.Campus.GetUploadStatus:input_type -> api.GetUploadStatusRequest + 79, // 89: api.Campus.GetNotification:input_type -> api.NotificationsRequest + 79, // 90: api.Campus.GetNotificationConfirm:input_type -> api.NotificationsRequest + 67, // 91: api.Campus.GetMembers:input_type -> api.GetMembersRequest + 13, // 92: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 93: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 94: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 95: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 96: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 97: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 98: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 99: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply + 17, // 100: api.Campus.GetDishRatings:output_type -> api.DishRatingReply + 85, // 101: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 85, // 102: api.Campus.NewDishRating:output_type -> google.protobuf.Empty + 21, // 103: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply + 21, // 104: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 26, // 105: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply + 29, // 106: api.Campus.GetDishes:output_type -> api.GetDishesReply + 30, // 107: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply + 32, // 108: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply + 34, // 109: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply + 36, // 110: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply + 38, // 111: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply + 39, // 112: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply + 42, // 113: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply + 45, // 114: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply + 46, // 115: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply + 50, // 116: api.Campus.GetEventList:output_type -> api.GetEventListReply + 52, // 117: api.Campus.GetPurchasedTickets:output_type -> api.GetPurchasedTicketsReply + 51, // 118: api.Campus.GetMyTicket:output_type -> api.EventListMsgElement + 55, // 119: api.Campus.GetTicketType:output_type -> api.GetEventTicketTypeReply + 59, // 120: api.Campus.ReserveMultipleTickets:output_type -> api.ReserveMultipleTicketsReply + 69, // 121: api.Campus.PurchaseTicketStripe:output_type -> api.PurchaseTicketStripeReply + 71, // 122: api.Campus.GetEphemeralKey:output_type -> api.GetEphemeralKeyReply + 73, // 123: api.Campus.GetTicketStatus:output_type -> api.GetTicketStatusReply + 62, // 124: api.Campus.GetKino:output_type -> api.GetKinoReply + 65, // 125: api.Campus.SendFeedback:output_type -> api.SendFeedbackImageReply + 65, // 126: api.Campus.SendFeedbackImage:output_type -> api.SendFeedbackImageReply + 75, // 127: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus + 75, // 128: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus + 75, // 129: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus + 77, // 130: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply + 78, // 131: api.Campus.GetNotification:output_type -> api.GetNotificationsReply + 80, // 132: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply + 68, // 133: api.Campus.GetMembers:output_type -> api.GetMembersReply + 92, // [92:134] is the sub-list for method output_type + 50, // [50:92] is the sub-list for method input_type + 50, // [50:50] is the sub-list for extension type_name + 50, // [50:50] is the sub-list for extension extendee + 0, // [0:50] is the sub-list for field type_name } func init() { file_CampusService_proto_init() } @@ -8295,7 +7176,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostEventTicketMyReply); i { + switch v := v.(*GetPurchasedTicketsReply); i { case 0: return &v.state case 1: @@ -8319,7 +7200,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostEventTicketRequest); i { + switch v := v.(*GetTicketRequest); i { case 0: return &v.state case 1: @@ -8367,7 +7248,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostEventTicketReserveMultipleRequest); i { + switch v := v.(*ReserveMultipleTicketsRequest); i { case 0: return &v.state case 1: @@ -8379,7 +7260,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostEventTicketReserveMultipleReply); i { + switch v := v.(*ReserveMultipleTicketsReply); i { case 0: return &v.state case 1: @@ -8439,7 +7320,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostFeedbackRequest); i { + switch v := v.(*SendFeedbackRequest); i { case 0: return &v.state case 1: @@ -8451,7 +7332,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostFeedbackReply); i { + switch v := v.(*SendFeedbackImageReply); i { case 0: return &v.state case 1: @@ -8463,7 +7344,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostFeedbackIDImageNrRequest); i { + switch v := v.(*SendFeedbackImageRequest); i { case 0: return &v.state case 1: @@ -8499,7 +7380,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostChatRoomsReply); i { + switch v := v.(*PurchaseTicketStripeReply); i { case 0: return &v.state case 1: @@ -8511,7 +7392,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatRoomsMsgElement); i { + switch v := v.(*TicketMessageElement); i { case 0: return &v.state case 1: @@ -8523,7 +7404,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatRoomsRoomIdRequest); i { + switch v := v.(*GetEphemeralKeyReply); i { case 0: return &v.state case 1: @@ -8535,7 +7416,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostChatRoomsRoomIdLeaveRequest); i { + switch v := v.(*GetTicketStatusRequest); i { case 0: return &v.state case 1: @@ -8547,7 +7428,7 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostChatRoomsRoomIdAddRequest); i { + switch v := v.(*GetTicketStatusReply); i { case 0: return &v.state case 1: @@ -8559,198 +7440,6 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PutChatRoomsSendRoomIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PutChatRoomsUpdateMessageRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMessageModelMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMessageModelMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostChatRoomsGetMessagesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMemberMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMemberMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatMemberRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchMemberByNameRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMemberRoomsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMemberRoomsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PurchaseTicketStripeReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TicketMessageElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RetrieveEphemeralKeyReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEventTicketStatusRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEventTicketStatusReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TicketStatus); i { case 0: return &v.state @@ -8762,7 +7451,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TUMCabeStatus); i { case 0: return &v.state @@ -8774,7 +7463,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetUploadStatusRequest); i { case 0: return &v.state @@ -8786,7 +7475,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetUploadStatusReply); i { case 0: return &v.state @@ -8798,7 +7487,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNotificationsReply); i { case 0: return &v.state @@ -8810,7 +7499,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotificationsRequest); i { case 0: return &v.state @@ -8822,7 +7511,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNotificationsConfirmReply); i { case 0: return &v.state @@ -8834,7 +7523,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { case 0: return &v.state @@ -8846,7 +7535,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomMapsReply_Map); i { case 0: return &v.state @@ -8858,7 +7547,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLocationsReply_Location); i { case 0: return &v.state @@ -8877,7 +7566,7 @@ func file_CampusService_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_CampusService_proto_rawDesc, NumEnums: 0, - NumMessages: 100, + NumMessages: 84, NumExtensions: 0, NumServices: 1, }, diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index 82ded897..1f7a1d43 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -766,26 +766,26 @@ func local_request_Campus_GetEventList_0(ctx context.Context, marshaler runtime. } -func request_Campus_PostEventTicketMy_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_GetPurchasedTickets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := client.PostEventTicketMy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetPurchasedTickets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostEventTicketMy_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_GetPurchasedTickets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := server.PostEventTicketMy(ctx, &protoReq) + msg, err := server.GetPurchasedTickets(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketRequest +func request_Campus_GetMyTicket_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketRequest var metadata runtime.ServerMetadata var ( @@ -805,13 +805,13 @@ func request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Mar return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := client.PostEventTicket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetMyTicket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostEventTicket_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketRequest +func local_request_Campus_GetMyTicket_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketRequest var metadata runtime.ServerMetadata var ( @@ -831,13 +831,13 @@ func local_request_Campus_PostEventTicket_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := server.PostEventTicket(ctx, &protoReq) + msg, err := server.GetMyTicket(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketRequest +func request_Campus_GetTicketType_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketRequest var metadata runtime.ServerMetadata var ( @@ -857,13 +857,13 @@ func request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime. return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := client.GetEventTicketType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetTicketType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetEventTicketType_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketRequest +func local_request_Campus_GetTicketType_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketRequest var metadata runtime.ServerMetadata var ( @@ -883,43 +883,43 @@ func local_request_Campus_GetEventTicketType_0(ctx context.Context, marshaler ru return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := server.GetEventTicketType(ctx, &protoReq) + msg, err := server.GetTicketType(ctx, &protoReq) return msg, metadata, err } var ( - filter_Campus_PostEventTicketReserveMultiple_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + filter_Campus_ReserveMultipleTickets_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) -func request_Campus_PostEventTicketReserveMultiple_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketReserveMultipleRequest +func request_Campus_ReserveMultipleTickets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReserveMultipleTicketsRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostEventTicketReserveMultiple_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_ReserveMultipleTickets_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PostEventTicketReserveMultiple(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ReserveMultipleTickets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostEventTicketReserveMultiple_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostEventTicketReserveMultipleRequest +func local_request_Campus_ReserveMultipleTickets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReserveMultipleTicketsRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostEventTicketReserveMultiple_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_ReserveMultipleTickets_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PostEventTicketReserveMultiple(ctx, &protoReq) + msg, err := server.ReserveMultipleTickets(ctx, &protoReq) return msg, metadata, err } @@ -942,26 +942,26 @@ func local_request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler } -func request_Campus_RetrieveEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_Campus_GetEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := client.RetrieveEphemeralKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetEphemeralKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_RetrieveEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_Campus_GetEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq emptypb.Empty var metadata runtime.ServerMetadata - msg, err := server.RetrieveEphemeralKey(ctx, &protoReq) + msg, err := server.GetEphemeralKey(ctx, &protoReq) return msg, metadata, err } -func request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetEventTicketStatusRequest +func request_Campus_GetTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketStatusRequest var metadata runtime.ServerMetadata var ( @@ -981,13 +981,13 @@ func request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtim return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) } - msg, err := client.GetEventTicketStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetTicketStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetEventTicketStatusRequest +func local_request_Campus_GetTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTicketStatusRequest var metadata runtime.ServerMetadata var ( @@ -1007,7 +1007,7 @@ func local_request_Campus_GetEventTicketStatus_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) } - msg, err := server.GetEventTicketStatus(ctx, &protoReq) + msg, err := server.GetTicketStatus(ctx, &protoReq) return msg, metadata, err } @@ -1065,43 +1065,43 @@ func local_request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marsh } var ( - filter_Campus_PostFeedback_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + filter_Campus_SendFeedback_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) -func request_Campus_PostFeedback_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostFeedbackRequest +func request_Campus_SendFeedback_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendFeedbackRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostFeedback_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_SendFeedback_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PostFeedback(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.SendFeedback(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostFeedback_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostFeedbackRequest +func local_request_Campus_SendFeedback_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendFeedbackRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostFeedback_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_SendFeedback_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PostFeedback(ctx, &protoReq) + msg, err := server.SendFeedback(ctx, &protoReq) return msg, metadata, err } -func request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostFeedbackIDImageNrRequest +func request_Campus_SendFeedbackImage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendFeedbackImageRequest var metadata runtime.ServerMetadata var ( @@ -1131,13 +1131,13 @@ func request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) } - msg, err := client.PostFeedbackIDImageNr(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.SendFeedbackImage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostFeedbackIDImageNrRequest +func local_request_Campus_SendFeedbackImage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SendFeedbackImageRequest var metadata runtime.ServerMetadata var ( @@ -1167,7 +1167,7 @@ func local_request_Campus_PostFeedbackIDImageNr_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "imageNr", err) } - msg, err := server.PostFeedbackIDImageNr(ctx, &protoReq) + msg, err := server.SendFeedbackImage(ctx, &protoReq) return msg, metadata, err } @@ -1418,963 +1418,25 @@ func local_request_Campus_GetMembers_0(ctx context.Context, marshaler runtime.Ma } -func request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.PostChatRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PostChatRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.PostChatRooms(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatRoomsRoomIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := client.GetChatRoomsRoomId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetChatRoomsRoomId_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatRoomsRoomIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := server.GetChatRoomsRoomId(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsRoomIdLeaveRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := client.PostChatRoomsRoomIdLeave(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsRoomIdLeaveRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := server.PostChatRoomsRoomIdLeave(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsRoomIdAddRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["memberId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") - } - - protoReq.MemberId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) - } - - msg, err := client.PostChatRoomsRoomIdAdd(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsRoomIdAddRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["memberId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") - } - - protoReq.MemberId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) - } - - msg, err := server.PostChatRoomsRoomIdAdd(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsSendRoomIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := client.PutChatRoomsSendMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PutChatRoomsSendMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsSendRoomIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := server.PutChatRoomsSendMessage(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsUpdateMessageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["messageId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "messageId") - } - - protoReq.MessageId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) - } - - msg, err := client.PutChatRoomsUpdateMessage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PutChatRoomsUpdateMessage_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsUpdateMessageRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["messageId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "messageId") - } - - protoReq.MessageId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "messageId", err) - } - - msg, err := server.PutChatRoomsUpdateMessage(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsGetMessagesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["pageId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pageId") - } - - protoReq.PageId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) - } - - msg, err := client.PostChatRoomsGetMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PostChatRoomsGetMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PostChatRoomsGetMessagesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - val, ok = pathParams["pageId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "pageId") - } - - protoReq.PageId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "pageId", err) - } - - msg, err := server.PostChatRoomsGetMessages(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PostChatRoomsGetNewMessages_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsSendRoomIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := client.PostChatRoomsGetNewMessages(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PostChatRoomsGetNewMessages_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PutChatRoomsSendRoomIdRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["roomId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "roomId") - } - - protoReq.RoomId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "roomId", err) - } - - msg, err := server.PostChatRoomsGetNewMessages(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Campus_PostChatCreateMember_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_PostChatCreateMember_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ChatMemberMsgElement - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostChatCreateMember_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.PostChatCreateMember(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PostChatCreateMember_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ChatMemberMsgElement - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_PostChatCreateMember_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.PostChatCreateMember(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetChatMemberByLrzId_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatMemberRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lrzId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") - } - - protoReq.LrzId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) - } - - msg, err := client.GetChatMemberByLrzId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetChatMemberByLrzId_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetChatMemberRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["lrzId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "lrzId") - } - - protoReq.LrzId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "lrzId", err) - } - - msg, err := server.GetChatMemberByLrzId(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_SearchMemberByName_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SearchMemberByNameRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["query"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query") - } - - protoReq.Query, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query", err) - } - - msg, err := client.SearchMemberByName(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_SearchMemberByName_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SearchMemberByNameRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["query"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query") - } - - protoReq.Query, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query", err) - } - - msg, err := server.SearchMemberByName(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetMemberRooms_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMemberRoomsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["memberId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") - } - - protoReq.MemberId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) - } - - msg, err := client.GetMemberRooms(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetMemberRooms_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetMemberRoomsRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["memberId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "memberId") - } - - protoReq.MemberId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "memberId", err) - } - - msg, err := server.GetMemberRooms(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". -// UnaryRPC :call CampusServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCampusHandlerFromEndpoint instead. -func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CampusServer) error { - - mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetTopNews_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetNewsSources_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_SearchRooms_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetLocations_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteria/rating/get")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetDishRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishRatings", runtime.WithHTTPPathPattern("/dish/rating/get")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetDishRatings_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetDishRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteria/rating/new")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_NewDishRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewDishRating", runtime.WithHTTPPathPattern("/dish/rating/new")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_NewDishRating_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_NewDishRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetAvailableDishTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableDishTags", runtime.WithHTTPPathPattern("/dish/rating/allTags")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetAvailableDishTags_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetAvailableDishTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableDishTags_0{resp}, mux.GetForwardResponseOptions()...) - - }) +// RegisterCampusHandlerServer registers the http handlers for service Campus to "mux". +// UnaryRPC :call CampusServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCampusHandlerFromEndpoint instead. +func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CampusServer) error { - mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTopNews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteria/rating/allTags")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTopNews", runtime.WithHTTPPathPattern("/news/top")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetTopNews_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2382,23 +1444,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableCafeteriaTags_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetTopNews_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNewsSources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteria/allCafeterias")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNewsSources", runtime.WithHTTPPathPattern("/news/sources")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetNewsSources_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2406,23 +1468,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetCafeterias_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_GetNewsSources_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetNewsSources_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetDishes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SearchRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishes", runtime.WithHTTPPathPattern("/dish/allDishes")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchRooms", runtime.WithHTTPPathPattern("/roomfinder/room/search")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetDishes_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_SearchRooms_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2430,23 +1492,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetDishes_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetDishes_0{resp}, mux.GetForwardResponseOptions()...) + forward_Campus_SearchRooms_0(ctx, mux, outboundMarshaler, w, req, response_Campus_SearchRooms_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetLocations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetLocations", runtime.WithHTTPPathPattern("/locations/{location}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetLocations_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2454,23 +1516,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetLocations_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetLocations_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomMaps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomMaps", runtime.WithHTTPPathPattern("/roomfinder/maps")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetRoomMaps_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2478,23 +1540,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomMaps_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomMaps_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomCoordinates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomCoordinates", runtime.WithHTTPPathPattern("/roomfinder/room/coordinates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetRoomCoordinates_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2502,23 +1564,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomCoordinates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetRoomSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetRoomSchedule", runtime.WithHTTPPathPattern("/roomfinder/room/scheduleById")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetRoomSchedule_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2526,23 +1588,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetRoomSchedule_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetRoomSchedule_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetCafeteriaRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeteriaRatings", runtime.WithHTTPPathPattern("/cafeteria/rating/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetCafeteriaRatings_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2550,23 +1612,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetCafeteriaRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetDishRatings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishRatings", runtime.WithHTTPPathPattern("/dish/rating/get")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetDishRatings_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2574,23 +1636,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetDishRatings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetOpeningTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_NewCafeteriaRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetOpeningTimes", runtime.WithHTTPPathPattern("/openingtimes/{language}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewCafeteriaRating", runtime.WithHTTPPathPattern("/cafeteria/rating/new")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetOpeningTimes_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_NewCafeteriaRating_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2598,23 +1660,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetOpeningTimes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_NewCafeteriaRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetUpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_NewDishRating_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUpdateNote", runtime.WithHTTPPathPattern("/updatenote/{version}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/NewDishRating", runtime.WithHTTPPathPattern("/dish/rating/new")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetUpdateNote_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_NewDishRating_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2622,23 +1684,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetUpdateNote_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_NewDishRating_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetStudyRoomList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAvailableDishTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableDishTags", runtime.WithHTTPPathPattern("/dish/rating/allTags")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetStudyRoomList_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetAvailableDishTags_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2646,23 +1708,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetStudyRoomList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetAvailableDishTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableDishTags_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAvailableCafeteriaTags_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventList", runtime.WithHTTPPathPattern("/event/list")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAvailableCafeteriaTags", runtime.WithHTTPPathPattern("/cafeteria/rating/allTags")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetEventList_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetAvailableCafeteriaTags_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2670,23 +1732,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetEventList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetAvailableCafeteriaTags_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetAvailableCafeteriaTags_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicketMy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetCafeterias_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicketMy", runtime.WithHTTPPathPattern("/event/ticket/my")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetCafeterias", runtime.WithHTTPPathPattern("/cafeteria/allCafeterias")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostEventTicketMy_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetCafeterias_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2694,23 +1756,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostEventTicketMy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetCafeterias_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetCafeterias_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetDishes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetDishes", runtime.WithHTTPPathPattern("/dish/allDishes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostEventTicket_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetDishes_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2718,23 +1780,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostEventTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetDishes_0(ctx, mux, outboundMarshaler, w, req, response_Campus_GetDishes_0{resp}, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetResponsiblePerson_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetResponsiblePerson", runtime.WithHTTPPathPattern("/barrierfree/contacts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetEventTicketType_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetResponsiblePerson_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2742,23 +1804,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetEventTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetResponsiblePerson_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicketReserveMultiple_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetBuilding2Gps_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostEventTicketReserveMultiple", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostEventTicketReserveMultiple_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetBuilding2Gps_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2766,23 +1828,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostEventTicketReserveMultiple_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetBuilding2Gps_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetAreaFacilitiesByBuildingNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2790,23 +1852,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetAreaFacilitiesByBuildingNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_RetrieveEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetListOfToilets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RetrieveEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_RetrieveEphemeralKey_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetListOfToilets_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2814,23 +1876,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_RetrieveEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetListOfToilets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetListOfElevators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetEventTicketStatus_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetListOfElevators_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2838,23 +1900,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetEventTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetListOfElevators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetMoreInformation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetKino", runtime.WithHTTPPathPattern("/kino/{lastId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMoreInformation", runtime.WithHTTPPathPattern("/barrierfree/moreInformation")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetKino_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetMoreInformation_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2862,23 +1924,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetKino_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMoreInformation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetOpeningTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostFeedback", runtime.WithHTTPPathPattern("/feedback")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetOpeningTimes", runtime.WithHTTPPathPattern("/openingtimes/{language}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostFeedback_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetOpeningTimes_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2886,23 +1948,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetOpeningTimes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostFeedbackIDImageNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetUpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostFeedbackIDImageNr", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUpdateNote", runtime.WithHTTPPathPattern("/updatenote/{version}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostFeedbackIDImageNr_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetUpdateNote_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2910,23 +1972,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostFeedbackIDImageNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetUpdateNote_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_RegisterDevice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetStudyRoomList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RegisterDevice", runtime.WithHTTPPathPattern("/device/register")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_RegisterDevice_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetStudyRoomList_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2934,23 +1996,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_RegisterDevice_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetStudyRoomList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_VerifyKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetEventList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/VerifyKey", runtime.WithHTTPPathPattern("/device/verifyKey")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEventList", runtime.WithHTTPPathPattern("/event/list")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_VerifyKey_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetEventList_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2958,23 +2020,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_VerifyKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEventList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_DeviceUploadGcmToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetPurchasedTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/DeviceUploadGcmToken", runtime.WithHTTPPathPattern("/device/addGcmToken")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetPurchasedTickets", runtime.WithHTTPPathPattern("/event/ticket/my")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_DeviceUploadGcmToken_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetPurchasedTickets_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -2982,23 +2044,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_DeviceUploadGcmToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetPurchasedTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetUploadStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMyTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUploadStatus", runtime.WithHTTPPathPattern("/device/uploaded/{lrzId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMyTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetUploadStatus_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetMyTicket_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3006,23 +2068,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetUploadStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMyTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetNotification_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetTicketType_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3030,23 +2092,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetNotificationConfirm_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_ReserveMultipleTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotificationConfirm", runtime.WithHTTPPathPattern("/notifications/confirm/{notificationId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/ReserveMultipleTickets", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetNotificationConfirm_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_ReserveMultipleTickets_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3054,23 +2116,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetNotificationConfirm_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_ReserveMultipleTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMembers", runtime.WithHTTPPathPattern("/members/{lrzId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetMembers_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3078,23 +2140,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRooms_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetEphemeralKey_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3102,23 +2164,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetChatRoomsRoomId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatRoomsRoomId", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetChatRoomsRoomId_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetTicketStatus_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3126,23 +2188,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetChatRoomsRoomId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdLeave_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdLeave", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetKino", runtime.WithHTTPPathPattern("/kino/{lastId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRoomsRoomIdLeave_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetKino_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3150,23 +2212,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRoomsRoomIdLeave_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetKino_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SendFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdAdd", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SendFeedback", runtime.WithHTTPPathPattern("/feedback")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRoomsRoomIdAdd_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_SendFeedback_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3174,23 +2236,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRoomsRoomIdAdd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Campus_PutChatRoomsSendMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SendFeedbackImage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PutChatRoomsSendMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SendFeedbackImage", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PutChatRoomsSendMessage_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_SendFeedbackImage_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3198,23 +2260,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PutChatRoomsSendMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendFeedbackImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("PUT", pattern_Campus_PutChatRoomsUpdateMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_RegisterDevice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PutChatRoomsUpdateMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/RegisterDevice", runtime.WithHTTPPathPattern("/device/register")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PutChatRoomsUpdateMessage_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_RegisterDevice_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3222,23 +2284,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PutChatRoomsUpdateMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_RegisterDevice_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsGetMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_VerifyKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/VerifyKey", runtime.WithHTTPPathPattern("/device/verifyKey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRoomsGetMessages_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_VerifyKey_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3246,23 +2308,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRoomsGetMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_VerifyKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatRoomsGetNewMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_DeviceUploadGcmToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetNewMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/DeviceUploadGcmToken", runtime.WithHTTPPathPattern("/device/addGcmToken")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatRoomsGetNewMessages_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_DeviceUploadGcmToken_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3270,23 +2332,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatRoomsGetNewMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_DeviceUploadGcmToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostChatCreateMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetUploadStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PostChatCreateMember", runtime.WithHTTPPathPattern("/chat/members")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetUploadStatus", runtime.WithHTTPPathPattern("/device/uploaded/{lrzId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_PostChatCreateMember_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetUploadStatus_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3294,23 +2356,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_PostChatCreateMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetUploadStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetChatMemberByLrzId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNotification_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetChatMemberByLrzId", runtime.WithHTTPPathPattern("/chat/members/{lrzId}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetChatMemberByLrzId_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetNotification_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3318,23 +2380,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetChatMemberByLrzId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetNotification_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_SearchMemberByName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetNotificationConfirm_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/SearchMemberByName", runtime.WithHTTPPathPattern("/chat/members/search/{query}")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotificationConfirm", runtime.WithHTTPPathPattern("/notifications/confirm/{notificationId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_SearchMemberByName_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetNotificationConfirm_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3342,23 +2404,23 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_SearchMemberByName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetNotificationConfirm_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_GetMemberRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetMembers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMemberRooms", runtime.WithHTTPPathPattern("/chat/members/{memberId}/rooms")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMembers", runtime.WithHTTPPathPattern("/members/{lrzId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Campus_GetMemberRooms_0(ctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Campus_GetMembers_0(ctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3366,7 +2428,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } - forward_Campus_GetMemberRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3936,87 +2998,87 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_PostEventTicketMy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetPurchasedTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicketMy", runtime.WithHTTPPathPattern("/event/ticket/my")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetPurchasedTickets", runtime.WithHTTPPathPattern("/event/ticket/my")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostEventTicketMy_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetPurchasedTickets_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostEventTicketMy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetPurchasedTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetMyTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMyTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostEventTicket_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetMyTicket_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostEventTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetMyTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetEventTicketType_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetTicketType_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetEventTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostEventTicketReserveMultiple_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_ReserveMultipleTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostEventTicketReserveMultiple", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/ReserveMultipleTickets", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostEventTicketReserveMultiple_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_ReserveMultipleTickets_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostEventTicketReserveMultiple_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_ReserveMultipleTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4041,45 +3103,45 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_RetrieveEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_GetEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/RetrieveEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_RetrieveEphemeralKey_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetEphemeralKey_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_RetrieveEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Campus_GetEventTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Campus_GetTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEventTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_GetEventTicketStatus_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_GetTicketStatus_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_GetEventTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_GetTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4104,45 +3166,45 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_PostFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SendFeedback_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostFeedback", runtime.WithHTTPPathPattern("/feedback")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SendFeedback", runtime.WithHTTPPathPattern("/feedback")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostFeedback_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_SendFeedback_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendFeedback_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_Campus_PostFeedbackIDImageNr_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_Campus_SendFeedbackImage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostFeedbackIDImageNr", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SendFeedbackImage", runtime.WithHTTPPathPattern("/feedback/{id}/{imageNr}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Campus_PostFeedbackIDImageNr_0(ctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Campus_SendFeedbackImage_0(ctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Campus_PostFeedbackIDImageNr_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Campus_SendFeedbackImage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4293,258 +3355,6 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_PostChatRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRooms", runtime.WithHTTPPathPattern("/chat/rooms")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PostChatRooms_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PostChatRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetChatRoomsRoomId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatRoomsRoomId", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetChatRoomsRoomId_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetChatRoomsRoomId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdLeave_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdLeave", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/leave")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PostChatRoomsRoomIdLeave_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PostChatRoomsRoomIdLeave_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PostChatRoomsRoomIdAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsRoomIdAdd", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/add/{memberId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PostChatRoomsRoomIdAdd_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PostChatRoomsRoomIdAdd_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Campus_PutChatRoomsSendMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PutChatRoomsSendMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PutChatRoomsSendMessage_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PutChatRoomsSendMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Campus_PutChatRoomsUpdateMessage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PutChatRoomsUpdateMessage", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/message/{messageId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PutChatRoomsUpdateMessage_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PutChatRoomsUpdateMessage_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PostChatRoomsGetMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages/{pageId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PostChatRoomsGetMessages_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PostChatRoomsGetMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PostChatRoomsGetNewMessages_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatRoomsGetNewMessages", runtime.WithHTTPPathPattern("/chat/rooms/{roomId}/messages")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PostChatRoomsGetNewMessages_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PostChatRoomsGetNewMessages_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PostChatCreateMember_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PostChatCreateMember", runtime.WithHTTPPathPattern("/chat/members")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PostChatCreateMember_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PostChatCreateMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetChatMemberByLrzId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetChatMemberByLrzId", runtime.WithHTTPPathPattern("/chat/members/{lrzId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetChatMemberByLrzId_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetChatMemberByLrzId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_SearchMemberByName_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/SearchMemberByName", runtime.WithHTTPPathPattern("/chat/members/search/{query}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_SearchMemberByName_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_SearchMemberByName_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetMemberRooms_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMemberRooms", runtime.WithHTTPPathPattern("/chat/members/{memberId}/rooms")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetMemberRooms_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetMemberRooms_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - return nil } @@ -4680,25 +3490,25 @@ var ( pattern_Campus_GetEventList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"event", "list"}, "")) - pattern_Campus_PostEventTicketMy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"event", "ticket", "my"}, "")) + pattern_Campus_GetPurchasedTickets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"event", "ticket", "my"}, "")) - pattern_Campus_PostEventTicket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"event", "ticket", "id"}, "")) + pattern_Campus_GetMyTicket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"event", "ticket", "id"}, "")) - pattern_Campus_GetEventTicketType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "type", "id"}, "")) + pattern_Campus_GetTicketType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "type", "id"}, "")) - pattern_Campus_PostEventTicketReserveMultiple_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"event", "ticket", "reserve", "multiple"}, "")) + pattern_Campus_ReserveMultipleTickets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"event", "ticket", "reserve", "multiple"}, "")) pattern_Campus_PurchaseTicketStripe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"event", "ticket", "payment", "stripe", "purchase", "multiple"}, "")) - pattern_Campus_RetrieveEphemeralKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"event", "ticket", "payment", "stripe", "ephemeralkey"}, "")) + pattern_Campus_GetEphemeralKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"event", "ticket", "payment", "stripe", "ephemeralkey"}, "")) - pattern_Campus_GetEventTicketStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "status", "eventId"}, "")) + pattern_Campus_GetTicketStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "status", "eventId"}, "")) pattern_Campus_GetKino_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"kino", "lastId"}, "")) - pattern_Campus_PostFeedback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"feedback"}, "")) + pattern_Campus_SendFeedback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"feedback"}, "")) - pattern_Campus_PostFeedbackIDImageNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"feedback", "id", "imageNr"}, "")) + pattern_Campus_SendFeedbackImage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 1, 0, 4, 1, 5, 2}, []string{"feedback", "id", "imageNr"}, "")) pattern_Campus_RegisterDevice_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"device", "register"}, "")) @@ -4713,30 +3523,6 @@ var ( pattern_Campus_GetNotificationConfirm_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"notifications", "confirm", "notificationId"}, "")) pattern_Campus_GetMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"members", "lrzId"}, "")) - - pattern_Campus_PostChatRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "rooms"}, "")) - - pattern_Campus_GetChatRoomsRoomId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "rooms", "roomId"}, "")) - - pattern_Campus_PostChatRoomsRoomIdLeave_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "leave"}, "")) - - pattern_Campus_PostChatRoomsRoomIdAdd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "add", "memberId"}, "")) - - pattern_Campus_PutChatRoomsSendMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "message"}, "")) - - pattern_Campus_PutChatRoomsUpdateMessage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "message", "messageId"}, "")) - - pattern_Campus_PostChatRoomsGetMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"chat", "rooms", "roomId", "messages", "pageId"}, "")) - - pattern_Campus_PostChatRoomsGetNewMessages_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "rooms", "roomId", "messages"}, "")) - - pattern_Campus_PostChatCreateMember_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"chat", "members"}, "")) - - pattern_Campus_GetChatMemberByLrzId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"chat", "members", "lrzId"}, "")) - - pattern_Campus_SearchMemberByName_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"chat", "members", "search", "query"}, "")) - - pattern_Campus_GetMemberRooms_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"chat", "members", "memberId", "rooms"}, "")) ) var ( @@ -4790,25 +3576,25 @@ var ( forward_Campus_GetEventList_0 = runtime.ForwardResponseMessage - forward_Campus_PostEventTicketMy_0 = runtime.ForwardResponseMessage + forward_Campus_GetPurchasedTickets_0 = runtime.ForwardResponseMessage - forward_Campus_PostEventTicket_0 = runtime.ForwardResponseMessage + forward_Campus_GetMyTicket_0 = runtime.ForwardResponseMessage - forward_Campus_GetEventTicketType_0 = runtime.ForwardResponseMessage + forward_Campus_GetTicketType_0 = runtime.ForwardResponseMessage - forward_Campus_PostEventTicketReserveMultiple_0 = runtime.ForwardResponseMessage + forward_Campus_ReserveMultipleTickets_0 = runtime.ForwardResponseMessage forward_Campus_PurchaseTicketStripe_0 = runtime.ForwardResponseMessage - forward_Campus_RetrieveEphemeralKey_0 = runtime.ForwardResponseMessage + forward_Campus_GetEphemeralKey_0 = runtime.ForwardResponseMessage - forward_Campus_GetEventTicketStatus_0 = runtime.ForwardResponseMessage + forward_Campus_GetTicketStatus_0 = runtime.ForwardResponseMessage forward_Campus_GetKino_0 = runtime.ForwardResponseMessage - forward_Campus_PostFeedback_0 = runtime.ForwardResponseMessage + forward_Campus_SendFeedback_0 = runtime.ForwardResponseMessage - forward_Campus_PostFeedbackIDImageNr_0 = runtime.ForwardResponseMessage + forward_Campus_SendFeedbackImage_0 = runtime.ForwardResponseMessage forward_Campus_RegisterDevice_0 = runtime.ForwardResponseMessage @@ -4823,28 +3609,4 @@ var ( forward_Campus_GetNotificationConfirm_0 = runtime.ForwardResponseMessage forward_Campus_GetMembers_0 = runtime.ForwardResponseMessage - - forward_Campus_PostChatRooms_0 = runtime.ForwardResponseMessage - - forward_Campus_GetChatRoomsRoomId_0 = runtime.ForwardResponseMessage - - forward_Campus_PostChatRoomsRoomIdLeave_0 = runtime.ForwardResponseMessage - - forward_Campus_PostChatRoomsRoomIdAdd_0 = runtime.ForwardResponseMessage - - forward_Campus_PutChatRoomsSendMessage_0 = runtime.ForwardResponseMessage - - forward_Campus_PutChatRoomsUpdateMessage_0 = runtime.ForwardResponseMessage - - forward_Campus_PostChatRoomsGetMessages_0 = runtime.ForwardResponseMessage - - forward_Campus_PostChatRoomsGetNewMessages_0 = runtime.ForwardResponseMessage - - forward_Campus_PostChatCreateMember_0 = runtime.ForwardResponseMessage - - forward_Campus_GetChatMemberByLrzId_0 = runtime.ForwardResponseMessage - - forward_Campus_SearchMemberByName_0 = runtime.ForwardResponseMessage - - forward_Campus_GetMemberRooms_0 = runtime.ForwardResponseMessage ) diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index 3ced2246..f1c37401 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -50,17 +50,16 @@ type CampusClient interface { GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) - // todo check again - PostEventTicketMy(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostEventTicketMyReply, error) - PostEventTicket(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) - GetEventTicketType(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) - PostEventTicketReserveMultiple(ctx context.Context, in *PostEventTicketReserveMultipleRequest, opts ...grpc.CallOption) (*PostEventTicketReserveMultipleReply, error) + GetPurchasedTickets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPurchasedTicketsReply, error) + GetMyTicket(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) + GetTicketType(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) + ReserveMultipleTickets(ctx context.Context, in *ReserveMultipleTicketsRequest, opts ...grpc.CallOption) (*ReserveMultipleTicketsReply, error) PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) - RetrieveEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RetrieveEphemeralKeyReply, error) - GetEventTicketStatus(ctx context.Context, in *GetEventTicketStatusRequest, opts ...grpc.CallOption) (*GetEventTicketStatusReply, error) + GetEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetEphemeralKeyReply, error) + GetTicketStatus(ctx context.Context, in *GetTicketStatusRequest, opts ...grpc.CallOption) (*GetTicketStatusReply, error) GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) - PostFeedback(ctx context.Context, in *PostFeedbackRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) - PostFeedbackIDImageNr(ctx context.Context, in *PostFeedbackIDImageNrRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) + SendFeedback(ctx context.Context, in *SendFeedbackRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) + SendFeedbackImage(ctx context.Context, in *SendFeedbackImageRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) RegisterDevice(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) VerifyKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) DeviceUploadGcmToken(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*TUMCabeStatus, error) @@ -68,18 +67,6 @@ type CampusClient interface { GetNotification(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsReply, error) GetNotificationConfirm(ctx context.Context, in *NotificationsRequest, opts ...grpc.CallOption) (*GetNotificationsConfirmReply, error) GetMembers(ctx context.Context, in *GetMembersRequest, opts ...grpc.CallOption) (*GetMembersReply, error) - PostChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostChatRoomsReply, error) - GetChatRoomsRoomId(ctx context.Context, in *GetChatRoomsRoomIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - PostChatRoomsRoomIdLeave(ctx context.Context, in *PostChatRoomsRoomIdLeaveRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - PostChatRoomsRoomIdAdd(ctx context.Context, in *PostChatRoomsRoomIdAddRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) - PutChatRoomsSendMessage(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) - PutChatRoomsUpdateMessage(ctx context.Context, in *PutChatRoomsUpdateMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) - PostChatRoomsGetMessages(ctx context.Context, in *PostChatRoomsGetMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) - PostChatRoomsGetNewMessages(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) - PostChatCreateMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) - GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) - SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) - GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) } type campusClient struct { @@ -315,36 +302,36 @@ func (c *campusClient) GetEventList(ctx context.Context, in *GetEventListRequest return out, nil } -func (c *campusClient) PostEventTicketMy(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostEventTicketMyReply, error) { - out := new(PostEventTicketMyReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicketMy", in, out, opts...) +func (c *campusClient) GetPurchasedTickets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPurchasedTicketsReply, error) { + out := new(GetPurchasedTicketsReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetPurchasedTickets", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostEventTicket(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) { +func (c *campusClient) GetMyTicket(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) { out := new(EventListMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicket", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetMyTicket", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetEventTicketType(ctx context.Context, in *PostEventTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) { +func (c *campusClient) GetTicketType(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) { out := new(GetEventTicketTypeReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetEventTicketType", in, out, opts...) + err := c.cc.Invoke(ctx, "/api.Campus/GetTicketType", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostEventTicketReserveMultiple(ctx context.Context, in *PostEventTicketReserveMultipleRequest, opts ...grpc.CallOption) (*PostEventTicketReserveMultipleReply, error) { - out := new(PostEventTicketReserveMultipleReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostEventTicketReserveMultiple", in, out, opts...) +func (c *campusClient) ReserveMultipleTickets(ctx context.Context, in *ReserveMultipleTicketsRequest, opts ...grpc.CallOption) (*ReserveMultipleTicketsReply, error) { + out := new(ReserveMultipleTicketsReply) + err := c.cc.Invoke(ctx, "/api.Campus/ReserveMultipleTickets", in, out, opts...) if err != nil { return nil, err } @@ -360,18 +347,18 @@ func (c *campusClient) PurchaseTicketStripe(ctx context.Context, in *emptypb.Emp return out, nil } -func (c *campusClient) RetrieveEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RetrieveEphemeralKeyReply, error) { - out := new(RetrieveEphemeralKeyReply) - err := c.cc.Invoke(ctx, "/api.Campus/RetrieveEphemeralKey", in, out, opts...) +func (c *campusClient) GetEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetEphemeralKeyReply, error) { + out := new(GetEphemeralKeyReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetEphemeralKey", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) GetEventTicketStatus(ctx context.Context, in *GetEventTicketStatusRequest, opts ...grpc.CallOption) (*GetEventTicketStatusReply, error) { - out := new(GetEventTicketStatusReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetEventTicketStatus", in, out, opts...) +func (c *campusClient) GetTicketStatus(ctx context.Context, in *GetTicketStatusRequest, opts ...grpc.CallOption) (*GetTicketStatusReply, error) { + out := new(GetTicketStatusReply) + err := c.cc.Invoke(ctx, "/api.Campus/GetTicketStatus", in, out, opts...) if err != nil { return nil, err } @@ -387,18 +374,18 @@ func (c *campusClient) GetKino(ctx context.Context, in *GetKinoRequest, opts ... return out, nil } -func (c *campusClient) PostFeedback(ctx context.Context, in *PostFeedbackRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) { - out := new(PostFeedbackReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostFeedback", in, out, opts...) +func (c *campusClient) SendFeedback(ctx context.Context, in *SendFeedbackRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) { + out := new(SendFeedbackImageReply) + err := c.cc.Invoke(ctx, "/api.Campus/SendFeedback", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *campusClient) PostFeedbackIDImageNr(ctx context.Context, in *PostFeedbackIDImageNrRequest, opts ...grpc.CallOption) (*PostFeedbackReply, error) { - out := new(PostFeedbackReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostFeedbackIDImageNr", in, out, opts...) +func (c *campusClient) SendFeedbackImage(ctx context.Context, in *SendFeedbackImageRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) { + out := new(SendFeedbackImageReply) + err := c.cc.Invoke(ctx, "/api.Campus/SendFeedbackImage", in, out, opts...) if err != nil { return nil, err } @@ -468,114 +455,6 @@ func (c *campusClient) GetMembers(ctx context.Context, in *GetMembersRequest, op return out, nil } -func (c *campusClient) PostChatRooms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PostChatRoomsReply, error) { - out := new(PostChatRoomsReply) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRooms", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetChatRoomsRoomId(ctx context.Context, in *GetChatRoomsRoomIdRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { - out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/GetChatRoomsRoomId", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PostChatRoomsRoomIdLeave(ctx context.Context, in *PostChatRoomsRoomIdLeaveRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { - out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsRoomIdLeave", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PostChatRoomsRoomIdAdd(ctx context.Context, in *PostChatRoomsRoomIdAddRequest, opts ...grpc.CallOption) (*ChatRoomsMsgElement, error) { - out := new(ChatRoomsMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsRoomIdAdd", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PutChatRoomsSendMessage(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { - out := new(ChatMessageModelMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PutChatRoomsSendMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PutChatRoomsUpdateMessage(ctx context.Context, in *PutChatRoomsUpdateMessageRequest, opts ...grpc.CallOption) (*ChatMessageModelMsgElement, error) { - out := new(ChatMessageModelMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PutChatRoomsUpdateMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PostChatRoomsGetMessages(ctx context.Context, in *PostChatRoomsGetMessagesRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { - out := new(ChatMessageModelMsg) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsGetMessages", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PostChatRoomsGetNewMessages(ctx context.Context, in *PutChatRoomsSendRoomIdRequest, opts ...grpc.CallOption) (*ChatMessageModelMsg, error) { - out := new(ChatMessageModelMsg) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatRoomsGetNewMessages", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PostChatCreateMember(ctx context.Context, in *ChatMemberMsgElement, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { - out := new(ChatMemberMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/PostChatCreateMember", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetChatMemberByLrzId(ctx context.Context, in *GetChatMemberRequest, opts ...grpc.CallOption) (*ChatMemberMsgElement, error) { - out := new(ChatMemberMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/GetChatMemberByLrzId", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) SearchMemberByName(ctx context.Context, in *SearchMemberByNameRequest, opts ...grpc.CallOption) (*ChatMemberMsg, error) { - out := new(ChatMemberMsg) - err := c.cc.Invoke(ctx, "/api.Campus/SearchMemberByName", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetMemberRooms(ctx context.Context, in *GetMemberRoomsRequest, opts ...grpc.CallOption) (*GetMemberRoomsReply, error) { - out := new(GetMemberRoomsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetMemberRooms", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - // CampusServer is the server API for Campus service. // All implementations must embed UnimplementedCampusServer // for forward compatibility @@ -607,17 +486,16 @@ type CampusServer interface { GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) - // todo check again - PostEventTicketMy(context.Context, *emptypb.Empty) (*PostEventTicketMyReply, error) - PostEventTicket(context.Context, *PostEventTicketRequest) (*EventListMsgElement, error) - GetEventTicketType(context.Context, *PostEventTicketRequest) (*GetEventTicketTypeReply, error) - PostEventTicketReserveMultiple(context.Context, *PostEventTicketReserveMultipleRequest) (*PostEventTicketReserveMultipleReply, error) + GetPurchasedTickets(context.Context, *emptypb.Empty) (*GetPurchasedTicketsReply, error) + GetMyTicket(context.Context, *GetTicketRequest) (*EventListMsgElement, error) + GetTicketType(context.Context, *GetTicketRequest) (*GetEventTicketTypeReply, error) + ReserveMultipleTickets(context.Context, *ReserveMultipleTicketsRequest) (*ReserveMultipleTicketsReply, error) PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) - RetrieveEphemeralKey(context.Context, *emptypb.Empty) (*RetrieveEphemeralKeyReply, error) - GetEventTicketStatus(context.Context, *GetEventTicketStatusRequest) (*GetEventTicketStatusReply, error) + GetEphemeralKey(context.Context, *emptypb.Empty) (*GetEphemeralKeyReply, error) + GetTicketStatus(context.Context, *GetTicketStatusRequest) (*GetTicketStatusReply, error) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) - PostFeedback(context.Context, *PostFeedbackRequest) (*PostFeedbackReply, error) - PostFeedbackIDImageNr(context.Context, *PostFeedbackIDImageNrRequest) (*PostFeedbackReply, error) + SendFeedback(context.Context, *SendFeedbackRequest) (*SendFeedbackImageReply, error) + SendFeedbackImage(context.Context, *SendFeedbackImageRequest) (*SendFeedbackImageReply, error) RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) VerifyKey(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) DeviceUploadGcmToken(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) @@ -625,18 +503,6 @@ type CampusServer interface { GetNotification(context.Context, *NotificationsRequest) (*GetNotificationsReply, error) GetNotificationConfirm(context.Context, *NotificationsRequest) (*GetNotificationsConfirmReply, error) GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) - PostChatRooms(context.Context, *emptypb.Empty) (*PostChatRoomsReply, error) - GetChatRoomsRoomId(context.Context, *GetChatRoomsRoomIdRequest) (*ChatRoomsMsgElement, error) - PostChatRoomsRoomIdLeave(context.Context, *PostChatRoomsRoomIdLeaveRequest) (*ChatRoomsMsgElement, error) - PostChatRoomsRoomIdAdd(context.Context, *PostChatRoomsRoomIdAddRequest) (*ChatRoomsMsgElement, error) - PutChatRoomsSendMessage(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsgElement, error) - PutChatRoomsUpdateMessage(context.Context, *PutChatRoomsUpdateMessageRequest) (*ChatMessageModelMsgElement, error) - PostChatRoomsGetMessages(context.Context, *PostChatRoomsGetMessagesRequest) (*ChatMessageModelMsg, error) - PostChatRoomsGetNewMessages(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsg, error) - PostChatCreateMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) - GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) - SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) - GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) mustEmbedUnimplementedCampusServer() } @@ -719,35 +585,35 @@ func (UnimplementedCampusServer) GetStudyRoomList(context.Context, *emptypb.Empt func (UnimplementedCampusServer) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetEventList not implemented") } -func (UnimplementedCampusServer) PostEventTicketMy(context.Context, *emptypb.Empty) (*PostEventTicketMyReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostEventTicketMy not implemented") +func (UnimplementedCampusServer) GetPurchasedTickets(context.Context, *emptypb.Empty) (*GetPurchasedTicketsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPurchasedTickets not implemented") } -func (UnimplementedCampusServer) PostEventTicket(context.Context, *PostEventTicketRequest) (*EventListMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostEventTicket not implemented") +func (UnimplementedCampusServer) GetMyTicket(context.Context, *GetTicketRequest) (*EventListMsgElement, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMyTicket not implemented") } -func (UnimplementedCampusServer) GetEventTicketType(context.Context, *PostEventTicketRequest) (*GetEventTicketTypeReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetEventTicketType not implemented") +func (UnimplementedCampusServer) GetTicketType(context.Context, *GetTicketRequest) (*GetEventTicketTypeReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTicketType not implemented") } -func (UnimplementedCampusServer) PostEventTicketReserveMultiple(context.Context, *PostEventTicketReserveMultipleRequest) (*PostEventTicketReserveMultipleReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostEventTicketReserveMultiple not implemented") +func (UnimplementedCampusServer) ReserveMultipleTickets(context.Context, *ReserveMultipleTicketsRequest) (*ReserveMultipleTicketsReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReserveMultipleTickets not implemented") } func (UnimplementedCampusServer) PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) { return nil, status.Errorf(codes.Unimplemented, "method PurchaseTicketStripe not implemented") } -func (UnimplementedCampusServer) RetrieveEphemeralKey(context.Context, *emptypb.Empty) (*RetrieveEphemeralKeyReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method RetrieveEphemeralKey not implemented") +func (UnimplementedCampusServer) GetEphemeralKey(context.Context, *emptypb.Empty) (*GetEphemeralKeyReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEphemeralKey not implemented") } -func (UnimplementedCampusServer) GetEventTicketStatus(context.Context, *GetEventTicketStatusRequest) (*GetEventTicketStatusReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetEventTicketStatus not implemented") +func (UnimplementedCampusServer) GetTicketStatus(context.Context, *GetTicketStatusRequest) (*GetTicketStatusReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTicketStatus not implemented") } func (UnimplementedCampusServer) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetKino not implemented") } -func (UnimplementedCampusServer) PostFeedback(context.Context, *PostFeedbackRequest) (*PostFeedbackReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostFeedback not implemented") +func (UnimplementedCampusServer) SendFeedback(context.Context, *SendFeedbackRequest) (*SendFeedbackImageReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendFeedback not implemented") } -func (UnimplementedCampusServer) PostFeedbackIDImageNr(context.Context, *PostFeedbackIDImageNrRequest) (*PostFeedbackReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostFeedbackIDImageNr not implemented") +func (UnimplementedCampusServer) SendFeedbackImage(context.Context, *SendFeedbackImageRequest) (*SendFeedbackImageReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendFeedbackImage not implemented") } func (UnimplementedCampusServer) RegisterDevice(context.Context, *emptypb.Empty) (*TUMCabeStatus, error) { return nil, status.Errorf(codes.Unimplemented, "method RegisterDevice not implemented") @@ -770,42 +636,6 @@ func (UnimplementedCampusServer) GetNotificationConfirm(context.Context, *Notifi func (UnimplementedCampusServer) GetMembers(context.Context, *GetMembersRequest) (*GetMembersReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMembers not implemented") } -func (UnimplementedCampusServer) PostChatRooms(context.Context, *emptypb.Empty) (*PostChatRoomsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRooms not implemented") -} -func (UnimplementedCampusServer) GetChatRoomsRoomId(context.Context, *GetChatRoomsRoomIdRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatRoomsRoomId not implemented") -} -func (UnimplementedCampusServer) PostChatRoomsRoomIdLeave(context.Context, *PostChatRoomsRoomIdLeaveRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsRoomIdLeave not implemented") -} -func (UnimplementedCampusServer) PostChatRoomsRoomIdAdd(context.Context, *PostChatRoomsRoomIdAddRequest) (*ChatRoomsMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsRoomIdAdd not implemented") -} -func (UnimplementedCampusServer) PutChatRoomsSendMessage(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PutChatRoomsSendMessage not implemented") -} -func (UnimplementedCampusServer) PutChatRoomsUpdateMessage(context.Context, *PutChatRoomsUpdateMessageRequest) (*ChatMessageModelMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PutChatRoomsUpdateMessage not implemented") -} -func (UnimplementedCampusServer) PostChatRoomsGetMessages(context.Context, *PostChatRoomsGetMessagesRequest) (*ChatMessageModelMsg, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsGetMessages not implemented") -} -func (UnimplementedCampusServer) PostChatRoomsGetNewMessages(context.Context, *PutChatRoomsSendRoomIdRequest) (*ChatMessageModelMsg, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatRoomsGetNewMessages not implemented") -} -func (UnimplementedCampusServer) PostChatCreateMember(context.Context, *ChatMemberMsgElement) (*ChatMemberMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostChatCreateMember not implemented") -} -func (UnimplementedCampusServer) GetChatMemberByLrzId(context.Context, *GetChatMemberRequest) (*ChatMemberMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatMemberByLrzId not implemented") -} -func (UnimplementedCampusServer) SearchMemberByName(context.Context, *SearchMemberByNameRequest) (*ChatMemberMsg, error) { - return nil, status.Errorf(codes.Unimplemented, "method SearchMemberByName not implemented") -} -func (UnimplementedCampusServer) GetMemberRooms(context.Context, *GetMemberRoomsRequest) (*GetMemberRoomsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMemberRooms not implemented") -} func (UnimplementedCampusServer) mustEmbedUnimplementedCampusServer() {} // UnsafeCampusServer may be embedded to opt out of forward compatibility for this service. @@ -1269,74 +1099,74 @@ func _Campus_GetEventList_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } -func _Campus_PostEventTicketMy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _Campus_GetPurchasedTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostEventTicketMy(ctx, in) + return srv.(CampusServer).GetPurchasedTickets(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostEventTicketMy", + FullMethod: "/api.Campus/GetPurchasedTickets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostEventTicketMy(ctx, req.(*emptypb.Empty)) + return srv.(CampusServer).GetPurchasedTickets(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostEventTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostEventTicketRequest) +func _Campus_GetMyTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTicketRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostEventTicket(ctx, in) + return srv.(CampusServer).GetMyTicket(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostEventTicket", + FullMethod: "/api.Campus/GetMyTicket", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostEventTicket(ctx, req.(*PostEventTicketRequest)) + return srv.(CampusServer).GetMyTicket(ctx, req.(*GetTicketRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetEventTicketType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostEventTicketRequest) +func _Campus_GetTicketType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTicketRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetEventTicketType(ctx, in) + return srv.(CampusServer).GetTicketType(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetEventTicketType", + FullMethod: "/api.Campus/GetTicketType", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetEventTicketType(ctx, req.(*PostEventTicketRequest)) + return srv.(CampusServer).GetTicketType(ctx, req.(*GetTicketRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostEventTicketReserveMultiple_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostEventTicketReserveMultipleRequest) +func _Campus_ReserveMultipleTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReserveMultipleTicketsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostEventTicketReserveMultiple(ctx, in) + return srv.(CampusServer).ReserveMultipleTickets(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostEventTicketReserveMultiple", + FullMethod: "/api.Campus/ReserveMultipleTickets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostEventTicketReserveMultiple(ctx, req.(*PostEventTicketReserveMultipleRequest)) + return srv.(CampusServer).ReserveMultipleTickets(ctx, req.(*ReserveMultipleTicketsRequest)) } return interceptor(ctx, in, info, handler) } @@ -1359,38 +1189,38 @@ func _Campus_PurchaseTicketStripe_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _Campus_RetrieveEphemeralKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _Campus_GetEphemeralKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).RetrieveEphemeralKey(ctx, in) + return srv.(CampusServer).GetEphemeralKey(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/RetrieveEphemeralKey", + FullMethod: "/api.Campus/GetEphemeralKey", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).RetrieveEphemeralKey(ctx, req.(*emptypb.Empty)) + return srv.(CampusServer).GetEphemeralKey(ctx, req.(*emptypb.Empty)) } return interceptor(ctx, in, info, handler) } -func _Campus_GetEventTicketStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetEventTicketStatusRequest) +func _Campus_GetTicketStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTicketStatusRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).GetEventTicketStatus(ctx, in) + return srv.(CampusServer).GetTicketStatus(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/GetEventTicketStatus", + FullMethod: "/api.Campus/GetTicketStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetEventTicketStatus(ctx, req.(*GetEventTicketStatusRequest)) + return srv.(CampusServer).GetTicketStatus(ctx, req.(*GetTicketStatusRequest)) } return interceptor(ctx, in, info, handler) } @@ -1413,38 +1243,38 @@ func _Campus_GetKino_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } -func _Campus_PostFeedback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostFeedbackRequest) +func _Campus_SendFeedback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendFeedbackRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostFeedback(ctx, in) + return srv.(CampusServer).SendFeedback(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostFeedback", + FullMethod: "/api.Campus/SendFeedback", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostFeedback(ctx, req.(*PostFeedbackRequest)) + return srv.(CampusServer).SendFeedback(ctx, req.(*SendFeedbackRequest)) } return interceptor(ctx, in, info, handler) } -func _Campus_PostFeedbackIDImageNr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostFeedbackIDImageNrRequest) +func _Campus_SendFeedbackImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendFeedbackImageRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(CampusServer).PostFeedbackIDImageNr(ctx, in) + return srv.(CampusServer).SendFeedbackImage(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/api.Campus/PostFeedbackIDImageNr", + FullMethod: "/api.Campus/SendFeedbackImage", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostFeedbackIDImageNr(ctx, req.(*PostFeedbackIDImageNrRequest)) + return srv.(CampusServer).SendFeedbackImage(ctx, req.(*SendFeedbackImageRequest)) } return interceptor(ctx, in, info, handler) } @@ -1575,222 +1405,6 @@ func _Campus_GetMembers_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Campus_PostChatRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PostChatRooms(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PostChatRooms", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRooms(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetChatRoomsRoomId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChatRoomsRoomIdRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetChatRoomsRoomId(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetChatRoomsRoomId", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetChatRoomsRoomId(ctx, req.(*GetChatRoomsRoomIdRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PostChatRoomsRoomIdLeave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostChatRoomsRoomIdLeaveRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PostChatRoomsRoomIdLeave(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PostChatRoomsRoomIdLeave", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRoomsRoomIdLeave(ctx, req.(*PostChatRoomsRoomIdLeaveRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PostChatRoomsRoomIdAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostChatRoomsRoomIdAddRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PostChatRoomsRoomIdAdd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PostChatRoomsRoomIdAdd", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRoomsRoomIdAdd(ctx, req.(*PostChatRoomsRoomIdAddRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PutChatRoomsSendMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PutChatRoomsSendRoomIdRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PutChatRoomsSendMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PutChatRoomsSendMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PutChatRoomsSendMessage(ctx, req.(*PutChatRoomsSendRoomIdRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PutChatRoomsUpdateMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PutChatRoomsUpdateMessageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PutChatRoomsUpdateMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PutChatRoomsUpdateMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PutChatRoomsUpdateMessage(ctx, req.(*PutChatRoomsUpdateMessageRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PostChatRoomsGetMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostChatRoomsGetMessagesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PostChatRoomsGetMessages(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PostChatRoomsGetMessages", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRoomsGetMessages(ctx, req.(*PostChatRoomsGetMessagesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PostChatRoomsGetNewMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PutChatRoomsSendRoomIdRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PostChatRoomsGetNewMessages(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PostChatRoomsGetNewMessages", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatRoomsGetNewMessages(ctx, req.(*PutChatRoomsSendRoomIdRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PostChatCreateMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChatMemberMsgElement) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PostChatCreateMember(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PostChatCreateMember", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PostChatCreateMember(ctx, req.(*ChatMemberMsgElement)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetChatMemberByLrzId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChatMemberRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetChatMemberByLrzId(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetChatMemberByLrzId", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetChatMemberByLrzId(ctx, req.(*GetChatMemberRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_SearchMemberByName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SearchMemberByNameRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).SearchMemberByName(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/SearchMemberByName", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).SearchMemberByName(ctx, req.(*SearchMemberByNameRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetMemberRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMemberRoomsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetMemberRooms(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetMemberRooms", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMemberRooms(ctx, req.(*GetMemberRoomsRequest)) - } - return interceptor(ctx, in, info, handler) -} - // Campus_ServiceDesc is the grpc.ServiceDesc for Campus service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1899,44 +1513,44 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ Handler: _Campus_GetEventList_Handler, }, { - MethodName: "PostEventTicketMy", - Handler: _Campus_PostEventTicketMy_Handler, + MethodName: "GetPurchasedTickets", + Handler: _Campus_GetPurchasedTickets_Handler, }, { - MethodName: "PostEventTicket", - Handler: _Campus_PostEventTicket_Handler, + MethodName: "GetMyTicket", + Handler: _Campus_GetMyTicket_Handler, }, { - MethodName: "GetEventTicketType", - Handler: _Campus_GetEventTicketType_Handler, + MethodName: "GetTicketType", + Handler: _Campus_GetTicketType_Handler, }, { - MethodName: "PostEventTicketReserveMultiple", - Handler: _Campus_PostEventTicketReserveMultiple_Handler, + MethodName: "ReserveMultipleTickets", + Handler: _Campus_ReserveMultipleTickets_Handler, }, { MethodName: "PurchaseTicketStripe", Handler: _Campus_PurchaseTicketStripe_Handler, }, { - MethodName: "RetrieveEphemeralKey", - Handler: _Campus_RetrieveEphemeralKey_Handler, + MethodName: "GetEphemeralKey", + Handler: _Campus_GetEphemeralKey_Handler, }, { - MethodName: "GetEventTicketStatus", - Handler: _Campus_GetEventTicketStatus_Handler, + MethodName: "GetTicketStatus", + Handler: _Campus_GetTicketStatus_Handler, }, { MethodName: "GetKino", Handler: _Campus_GetKino_Handler, }, { - MethodName: "PostFeedback", - Handler: _Campus_PostFeedback_Handler, + MethodName: "SendFeedback", + Handler: _Campus_SendFeedback_Handler, }, { - MethodName: "PostFeedbackIDImageNr", - Handler: _Campus_PostFeedbackIDImageNr_Handler, + MethodName: "SendFeedbackImage", + Handler: _Campus_SendFeedbackImage_Handler, }, { MethodName: "RegisterDevice", @@ -1966,54 +1580,6 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetMembers", Handler: _Campus_GetMembers_Handler, }, - { - MethodName: "PostChatRooms", - Handler: _Campus_PostChatRooms_Handler, - }, - { - MethodName: "GetChatRoomsRoomId", - Handler: _Campus_GetChatRoomsRoomId_Handler, - }, - { - MethodName: "PostChatRoomsRoomIdLeave", - Handler: _Campus_PostChatRoomsRoomIdLeave_Handler, - }, - { - MethodName: "PostChatRoomsRoomIdAdd", - Handler: _Campus_PostChatRoomsRoomIdAdd_Handler, - }, - { - MethodName: "PutChatRoomsSendMessage", - Handler: _Campus_PutChatRoomsSendMessage_Handler, - }, - { - MethodName: "PutChatRoomsUpdateMessage", - Handler: _Campus_PutChatRoomsUpdateMessage_Handler, - }, - { - MethodName: "PostChatRoomsGetMessages", - Handler: _Campus_PostChatRoomsGetMessages_Handler, - }, - { - MethodName: "PostChatRoomsGetNewMessages", - Handler: _Campus_PostChatRoomsGetNewMessages_Handler, - }, - { - MethodName: "PostChatCreateMember", - Handler: _Campus_PostChatCreateMember_Handler, - }, - { - MethodName: "GetChatMemberByLrzId", - Handler: _Campus_GetChatMemberByLrzId_Handler, - }, - { - MethodName: "SearchMemberByName", - Handler: _Campus_SearchMemberByName_Handler, - }, - { - MethodName: "GetMemberRooms", - Handler: _Campus_GetMemberRooms_Handler, - }, }, Streams: []grpc.StreamDesc{}, Metadata: "CampusService.proto", diff --git a/api/buf.lock b/api/buf.lock index 29dd62d0..175a9f2e 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: 264612d2aca446faab191b46c53e00e2 + commit: cac7f97f0d3a4c3d9d2004f475c0553c diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index 5003762b..3ed0b9f0 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -1,4 +1,5 @@ { +"basePath": "/v1", "swagger": "2.0", "info": { "title": "CampusService.proto", @@ -271,416 +272,6 @@ ] } }, - "/chat/members": { - "post": { - "operationId": "Campus_PostChatCreateMember", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMemberMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "lrzId", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "displayName", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "signature", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/members/search/{query}": { - "get": { - "operationId": "Campus_SearchMemberByName", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMemberMsg" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "query", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/members/{lrzId}": { - "get": { - "operationId": "Campus_GetChatMemberByLrzId", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMemberMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "lrzId", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/members/{memberId}/rooms": { - "post": { - "operationId": "Campus_GetMemberRooms", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetMemberRoomsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "memberId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms": { - "post": { - "operationId": "Campus_PostChatRooms", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiPostChatRoomsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "properties": {} - } - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}": { - "get": { - "operationId": "Campus_GetChatRoomsRoomId", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/add/{memberId}": { - "post": { - "operationId": "Campus_PostChatRoomsRoomIdAdd", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "memberId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/leave": { - "post": { - "operationId": "Campus_PostChatRoomsRoomIdLeave", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatRoomsMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/message": { - "put": { - "operationId": "Campus_PutChatRoomsSendMessage", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/message/{messageId}": { - "put": { - "operationId": "Campus_PutChatRoomsUpdateMessage", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "messageId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/messages": { - "post": { - "operationId": "Campus_PostChatRoomsGetNewMessages", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsg" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/chat/rooms/{roomId}/messages/{pageId}": { - "post": { - "operationId": "Campus_PostChatRoomsGetMessages", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiChatMessageModelMsg" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "roomId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - }, - { - "name": "pageId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, "/device/addGcmToken": { "post": { "operationId": "Campus_DeviceUploadGcmToken", @@ -954,13 +545,12 @@ }, "/event/ticket/my": { "post": { - "summary": "todo check again", - "operationId": "Campus_PostEventTicketMy", + "operationId": "Campus_GetPurchasedTickets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostEventTicketMyReply" + "$ref": "#/definitions/apiGetPurchasedTicketsReply" } }, "default": { @@ -977,12 +567,12 @@ }, "/event/ticket/payment/stripe/ephemeralkey": { "post": { - "operationId": "Campus_RetrieveEphemeralKey", + "operationId": "Campus_GetEphemeralKey", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiRetrieveEphemeralKeyReply" + "$ref": "#/definitions/apiGetEphemeralKeyReply" } }, "default": { @@ -1021,12 +611,12 @@ }, "/event/ticket/reserve/multiple": { "post": { - "operationId": "Campus_PostEventTicketReserveMultiple", + "operationId": "Campus_ReserveMultipleTickets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostEventTicketReserveMultipleReply" + "$ref": "#/definitions/apiReserveMultipleTicketsReply" } }, "default": { @@ -1067,12 +657,12 @@ }, "/event/ticket/status/{eventId}": { "get": { - "operationId": "Campus_GetEventTicketStatus", + "operationId": "Campus_GetTicketStatus", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetEventTicketStatusReply" + "$ref": "#/definitions/apiGetTicketStatusReply" } }, "default": { @@ -1098,7 +688,7 @@ }, "/event/ticket/type/{id}": { "get": { - "operationId": "Campus_GetEventTicketType", + "operationId": "Campus_GetTicketType", "responses": { "200": { "description": "A successful response.", @@ -1129,7 +719,7 @@ }, "/event/ticket/{id}": { "post": { - "operationId": "Campus_PostEventTicket", + "operationId": "Campus_GetMyTicket", "responses": { "200": { "description": "A successful response.", @@ -1160,12 +750,12 @@ }, "/feedback": { "post": { - "operationId": "Campus_PostFeedback", + "operationId": "Campus_SendFeedback", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostFeedbackReply" + "$ref": "#/definitions/apiSendFeedbackImageReply" } }, "default": { @@ -1241,12 +831,12 @@ }, "/feedback/{id}/{imageNr}": { "post": { - "operationId": "Campus_PostFeedbackIDImageNr", + "operationId": "Campus_SendFeedbackImage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiPostFeedbackReply" + "$ref": "#/definitions/apiSendFeedbackImageReply" } }, "default": { @@ -1836,104 +1426,7 @@ "limit": { "type": "integer", "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" - } - } - }, - "apiChatMemberMsg": { - "type": "object", - "properties": { - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatMemberMsgElement" - } - } - } - }, - "apiChatMemberMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "lrzId": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "signature": { - "type": "string" - } - } - }, - "apiChatMessageModelMsg": { - "type": "object", - "properties": { - "messages": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatMessageModelMsgElement" - } - } - } - }, - "apiChatMessageModelMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "previous": { - "type": "integer", - "format": "int32" - }, - "room": { - "type": "integer", - "format": "int32" - }, - "text": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string" - }, - "memberId": { - "type": "integer", - "format": "int32" - }, - "sendingStatus": { - "type": "integer", - "format": "int32" - } - } - }, - "apiChatRoomsMsgElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "semester": { - "type": "string" - }, - "title": { - "type": "string" - }, - "members": { - "type": "integer", - "format": "int32" + "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" } } }, @@ -2000,7 +1493,7 @@ "limit": { "type": "integer", "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" } } }, @@ -2186,6 +1679,9 @@ } } }, + "apiGetEphemeralKeyReply": { + "type": "object" + }, "apiGetEventListReply": { "type": "object", "properties": { @@ -2197,17 +1693,6 @@ } } }, - "apiGetEventTicketStatusReply": { - "type": "object", - "properties": { - "status": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTicketStatus" - } - } - } - }, "apiGetEventTicketTypeReply": { "type": "object", "properties": { @@ -2283,17 +1768,6 @@ } } }, - "apiGetMemberRoomsReply": { - "type": "object", - "properties": { - "chatRooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatRoomsMsgElement" - } - } - } - }, "apiGetMembersReply": { "type": "object", "properties": { @@ -2361,6 +1835,17 @@ } } }, + "apiGetPurchasedTicketsReply": { + "type": "object", + "properties": { + "myTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketMyMsgElement" + } + } + } + }, "apiGetRatingTagsReply": { "type": "object", "properties": { @@ -2465,6 +1950,17 @@ } } }, + "apiGetTicketStatusReply": { + "type": "object", + "properties": { + "status": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTicketStatus" + } + } + } + }, "apiGetTopNewsReply": { "type": "object", "properties": { @@ -2714,47 +2210,6 @@ } } }, - "apiPostChatRoomsReply": { - "type": "object", - "properties": { - "rooms": { - "type": "array", - "items": { - "$ref": "#/definitions/apiChatRoomsMsgElement" - } - } - } - }, - "apiPostEventTicketMyReply": { - "type": "object", - "properties": { - "myTickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketMyMsgElement" - } - } - } - }, - "apiPostEventTicketReserveMultipleReply": { - "type": "object", - "properties": { - "tickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" - } - } - } - }, - "apiPostFeedbackReply": { - "type": "object", - "properties": { - "status": { - "type": "string" - } - } - }, "apiPurchaseTicketStripeReply": { "type": "object", "properties": { @@ -2832,6 +2287,17 @@ } } }, + "apiReserveMultipleTicketsReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" + } + } + } + }, "apiResponsiblePersonElement": { "type": "object", "properties": { @@ -2852,9 +2318,6 @@ } } }, - "apiRetrieveEphemeralKeyReply": { - "type": "object" - }, "apiRoom": { "type": "object", "properties": { @@ -2940,6 +2403,14 @@ } } }, + "apiSendFeedbackImageReply": { + "type": "object", + "properties": { + "status": { + "type": "string" + } + } + }, "apiSingleRatingReply": { "type": "object", "properties": { diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index c85156c2..3ed0b9f0 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -1,6 +1,4 @@ { -"basePath": "/v1", -"basePath": "/v1", "basePath": "/v1", "swagger": "2.0", "info": { @@ -21,12 +19,12 @@ "paths": { "/barrierfree/contacts": { "get": { - "operationId": "Campus_getResponsiblePerson", + "operationId": "Campus_GetResponsiblePerson", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetResponsiblePersonResponse" + "$ref": "#/definitions/apiGetResponsiblePersonReply" } }, "default": { @@ -43,12 +41,12 @@ }, "/barrierfree/getBuilding2Gps": { "get": { - "operationId": "Campus_getBuilding2Gps", + "operationId": "Campus_GetBuilding2Gps", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetBuilding2GpsResponse" + "$ref": "#/definitions/apiGetBuilding2GpsReply" } }, "default": { @@ -65,12 +63,12 @@ }, "/barrierfree/listOfElevators": { "get": { - "operationId": "Campus_getListOfElevators", + "operationId": "Campus_GetListOfElevators", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetListOfElevatorsResponse" + "$ref": "#/definitions/apiGetListOfElevatorsReply" } }, "default": { @@ -87,12 +85,12 @@ }, "/barrierfree/listOfToilets": { "get": { - "operationId": "Campus_getListOfToilets", + "operationId": "Campus_GetListOfToilets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetListOfToiletsResponse" + "$ref": "#/definitions/apiGetListOfToiletsReply" } }, "default": { @@ -109,12 +107,12 @@ }, "/barrierfree/moreInformation": { "get": { - "operationId": "Campus_getMoreInformation", + "operationId": "Campus_GetMoreInformation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetMoreInformationResponse" + "$ref": "#/definitions/apiGetMoreInformationReply" } }, "default": { @@ -131,12 +129,12 @@ }, "/barrierfree/nerby": { "get": { - "operationId": "Campus_getAreaFacilitiesByBuildingNr", + "operationId": "Campus_GetAreaFacilitiesByBuildingNr", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apigetAreaFacilitiesByBuildingNrResponse" + "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" } }, "default": { @@ -159,14 +157,17 @@ ] } }, - "/cafeteriaRating/cafeteria/allCafeterias": { + "/cafeteria/allCafeterias": { "get": { "operationId": "Campus_GetCafeterias", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetCafeteriaResponse" + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } }, "default": { @@ -181,14 +182,17 @@ ] } }, - "/cafeteriaRating/cafeteria/allTags": { + "/cafeteria/rating/allTags": { "get": { "operationId": "Campus_GetAvailableCafeteriaTags", "responses": { "200": { - "description": "A successful response.", + "description": "", "schema": { - "$ref": "#/definitions/apiGetRatingTagsReply" + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } } }, "default": { @@ -203,7 +207,7 @@ ] } }, - "/cafeteriaRating/cafeteria/get": { + "/cafeteria/rating/get": { "post": { "summary": "This endpoint retrieves Cafeteria Ratings from the Backend.", "operationId": "Campus_GetCafeteriaRatings", @@ -211,7 +215,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiCafeteriaRatingResponse" + "$ref": "#/definitions/apiCafeteriaRatingReply" } }, "default": { @@ -236,7 +240,7 @@ ] } }, - "/cafeteriaRating/cafeteria/newCafeteriaRating": { + "/cafeteria/rating/new": { "post": { "operationId": "Campus_NewCafeteriaRating", "responses": { @@ -268,14 +272,14 @@ ] } }, - "/cafeteriaRating/dish/get": { + "/device/addGcmToken": { "post": { - "operationId": "Campus_GetMealRatings", + "operationId": "Campus_DeviceUploadGcmToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiMealRatingResponse" + "$ref": "#/definitions/apiTUMCabeStatus" } }, "default": { @@ -285,29 +289,19 @@ } } }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/apiMealRatingRequest" - } - } - ], "tags": [ "Campus" ] } }, - "/cafeteriaRating/meal/allTags": { - "get": { - "operationId": "Campus_GetAvailableMealTags", + "/device/register": { + "post": { + "operationId": "Campus_RegisterDevice", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRatingTagsReply" + "$ref": "#/definitions/apiTUMCabeStatus" } }, "default": { @@ -322,14 +316,14 @@ ] } }, - "/cafeteriaRating/meal/newMealRating": { - "post": { - "operationId": "Campus_NewMealRating", + "/device/uploaded/{lrzId}": { + "get": { + "operationId": "Campus_GetUploadStatus", "responses": { "200": { "description": "A successful response.", "schema": { - "properties": {} + "$ref": "#/definitions/apiGetUploadStatusReply" } }, "default": { @@ -341,30 +335,49 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "lrzId", + "in": "path", "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/device/verifyKey": { + "get": { + "operationId": "Campus_VerifyKey", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiTUMCabeStatus" + } + }, + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/apiNewMealRatingRequest" + "$ref": "#/definitions/rpcStatus" } } - ], + }, "tags": [ "Campus" ] } }, - "/locations/{location}": { + "/dish/allDishes": { "get": { - "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", - "operationId": "Campus_GetLocations", + "operationId": "Campus_GetDishes", "responses": { "200": { "description": "", "schema": { "type": "array", "items": { - "$ref": "#/definitions/apiGetLocationsReplyLocation" + "type": "string" } } }, @@ -377,10 +390,31 @@ }, "parameters": [ { - "name": "location", - "in": "path", - "required": true, + "name": "cafeteriaId", + "in": "query", + "required": false, "type": "string" + }, + { + "name": "year", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "month", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "day", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" } ], "tags": [ @@ -388,16 +422,16 @@ ] } }, - "/news/sources": { + "/dish/rating/allTags": { "get": { - "operationId": "Campus_GetNewsSources", + "operationId": "Campus_GetAvailableDishTags", "responses": { "200": { "description": "", "schema": { "type": "array", "items": { - "$ref": "#/definitions/apiNewsSource" + "$ref": "#/definitions/apiRatingTagsOverview" } } }, @@ -413,14 +447,14 @@ ] } }, - "/news/top": { - "get": { - "operationId": "Campus_GetTopNews", + "/dish/rating/get": { + "post": { + "operationId": "Campus_GetDishRatings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetTopNewsReply" + "$ref": "#/definitions/apiDishRatingReply" } }, "default": { @@ -430,22 +464,29 @@ } } }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiDishRatingRequest" + } + } + ], "tags": [ "Campus" ] } }, - "/roomfinder/maps": { + "/dish/rating/new": { "post": { - "operationId": "Campus_GetRoomMaps", + "operationId": "Campus_NewDishRating", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomMapsReplyMap" - } + "properties": {} } }, "default": { @@ -461,7 +502,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/apiGetRoomMapsRequest" + "$ref": "#/definitions/apiNewDishRatingRequest" } } ], @@ -470,14 +511,14 @@ ] } }, - "/roomfinder/room/coordinates": { - "post": { - "operationId": "Campus_GetRoomCoordinates", + "/event/list": { + "get": { + "operationId": "Campus_GetEventList", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesReply" + "$ref": "#/definitions/apiGetEventListReply" } }, "default": { @@ -489,30 +530,49 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, + "name": "eventId", + "description": "optional parameter, will return all events if no id is specified", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/my": { + "post": { + "operationId": "Campus_GetPurchasedTickets", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRoomCoordinatesRequest" + "$ref": "#/definitions/apiGetPurchasedTicketsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" } } - ], + }, "tags": [ "Campus" ] } }, - "/roomfinder/room/scheduleById": { + "/event/ticket/payment/stripe/ephemeralkey": { "post": { - "operationId": "Campus_GetRoomSchedule", + "operationId": "Campus_GetEphemeralKey", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" - } + "$ref": "#/definitions/apiGetEphemeralKeyReply" } }, "default": { @@ -522,32 +582,41 @@ } } }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/payment/stripe/purchase/multiple": { + "post": { + "operationId": "Campus_PurchaseTicketStripe", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetRoomScheduleRequest" + "$ref": "#/definitions/apiPurchaseTicketStripeReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" } } - ], + }, "tags": [ "Campus" ] } }, - "/roomfinder/room/search": { + "/event/ticket/reserve/multiple": { "post": { - "operationId": "Campus_SearchRooms", + "operationId": "Campus_ReserveMultipleTickets", "responses": { "200": { - "description": "", + "description": "A successful response.", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoom" - } + "$ref": "#/definitions/apiReserveMultipleTicketsReply" } }, "default": { @@ -559,55 +628,705 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, + "name": "ticketTypes", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "collectionFormat": "multi" + }, + { + "name": "amounts", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/event/ticket/status/{eventId}": { + "get": { + "operationId": "Campus_GetTicketStatus", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiSearchRoomsRequest" + "$ref": "#/definitions/apiGetTicketStatusReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" } } + }, + "parameters": [ + { + "name": "eventId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } ], "tags": [ "Campus" ] } - } - }, - "definitions": { - "GetRoomMapsReplyMap": { - "type": "object", - "properties": { - "mapId": { - "type": "string", - "format": "int64" - }, - "description": { - "type": "string" - }, - "scale": { - "type": "string", - "format": "int64" - }, - "width": { - "type": "string", - "format": "int64" + }, + "/event/ticket/type/{id}": { + "get": { + "operationId": "Campus_GetTicketType", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetEventTicketTypeReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } }, - "height": { - "type": "string", - "format": "int64" - } + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] } }, - "GetRoomScheduleReplyRoomScheduleEvent": { - "type": "object", - "properties": { - "start": { - "type": "string", - "format": "date-time" - }, - "end": { - "type": "string", - "format": "date-time" + "/event/ticket/{id}": { + "post": { + "operationId": "Campus_GetMyTicket", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiEventListMsgElement" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/feedback": { + "post": { + "operationId": "Campus_SendFeedback", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiSendFeedbackImageReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "topic", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "email", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "emailId", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "message", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "imageCount", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "latitude", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "longitude", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "osVersion", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "appVersion", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/feedback/{id}/{imageNr}": { + "post": { + "operationId": "Campus_SendFeedbackImage", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiSendFeedbackImageReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "imageNr", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/kino/{lastId}": { + "get": { + "operationId": "Campus_GetKino", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetKinoReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lastId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/locations/{location}": { + "get": { + "summary": "a location is a campus location/building, e.g. \"Garching Forschungszentrum\"", + "operationId": "Campus_GetLocations", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiGetLocationsReplyLocation" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/members/{lrzId}": { + "get": { + "operationId": "Campus_GetMembers", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetMembersReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "lrzId", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/news/sources": { + "get": { + "operationId": "Campus_GetNewsSources", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiNewsSource" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/news/top": { + "get": { + "operationId": "Campus_GetTopNews", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetTopNewsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/notifications": { + "get": { + "operationId": "Campus_GetNotification", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetNotificationsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "notificationId", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/notifications/confirm/{notificationId}": { + "get": { + "operationId": "Campus_GetNotificationConfirm", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetNotificationsConfirmReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "notificationId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/openingtimes/{language}": { + "get": { + "operationId": "Campus_GetOpeningTimes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetOpeningTimesReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "language", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/maps": { + "post": { + "operationId": "Campus_GetRoomMaps", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomMapsReplyMap" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomMapsRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/coordinates": { + "post": { + "operationId": "Campus_GetRoomCoordinates", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomCoordinatesRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/scheduleById": { + "post": { + "operationId": "Campus_GetRoomSchedule", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/GetRoomScheduleReplyRoomScheduleEvent" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiGetRoomScheduleRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/roomfinder/room/search": { + "post": { + "operationId": "Campus_SearchRooms", + "responses": { + "200": { + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoom" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/apiSearchRoomsRequest" + } + } + ], + "tags": [ + "Campus" + ] + } + }, + "/studyroom/list": { + "get": { + "operationId": "Campus_GetStudyRoomList", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetStudyRoomListReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "tags": [ + "Campus" + ] + } + }, + "/updatenote/{version}": { + "get": { + "operationId": "Campus_GetUpdateNote", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/apiGetUpdateNoteReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "version", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Campus" + ] + } + } + }, + "definitions": { + "GetRoomMapsReplyMap": { + "type": "object", + "properties": { + "mapId": { + "type": "string", + "format": "int64" + }, + "description": { + "type": "string" + }, + "scale": { + "type": "string", + "format": "int64" + }, + "width": { + "type": "string", + "format": "int64" + }, + "height": { + "type": "string", + "format": "int64" + } + } + }, + "GetRoomScheduleReplyRoomScheduleEvent": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" }, "title": { "type": "string" @@ -621,136 +1340,399 @@ } } }, - "apiBuilding2GpsElement": { + "apiBuilding2GpsElement": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "latitude": { + "type": "string" + }, + "longitude": { + "type": "string" + } + } + }, + "apiCafeteria": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "address": { + "type": "string" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "latitude": { + "type": "number", + "format": "double" + } + } + }, + "apiCafeteriaRatingReply": { + "type": "object", + "properties": { + "rating": { + "type": "array", + "items": { + "$ref": "#/definitions/apiSingleRatingReply" + } + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + } + } + }, + "apiCafeteriaRatingRequest": { + "type": "object", + "properties": { + "cafeteriaId": { + "type": "string", + "title": "cafeteriaId Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" + } + } + }, + "apiDishRatingReply": { + "type": "object", + "properties": { + "rating": { + "type": "array", + "items": { + "$ref": "#/definitions/apiSingleRatingReply" + } + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + }, + "nameTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagResult" + } + } + } + }, + "apiDishRatingRequest": { + "type": "object", + "properties": { + "cafeteriaId": { + "type": "string", + "title": "Mandatory Name of the cafeteria (EAT-API naming scheme \"MENSA_GARCHING\")" + }, + "dish": { + "type": "string", + "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" + }, + "from": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + }, + "to": { + "type": "string", + "format": "date-time", + "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + }, + "limit": { + "type": "integer", + "format": "int32", + "title": "Optional Parameter defines how many ratings are queried. If all ratings should be queried, enter \"-1\"" + } + } + }, + "apiEventListMsgElement": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "event": { + "type": "integer", + "format": "int32" + }, + "news": { + "type": "integer", + "format": "int32" + }, + "kino": { + "type": "integer", + "format": "int32" + }, + "file": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "locality": { + "type": "string" + }, + "link": { + "type": "string" + }, + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" + }, + "ticketGroup": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketMyMsgElement": { + "type": "object", + "properties": { + "ticketHistory": { + "type": "integer", + "format": "int32" + }, + "ticketType": { + "type": "integer", + "format": "int32" + }, + "redemption": { + "type": "string", + "format": "date-time" + }, + "code": { + "type": "string" + }, + "event": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketPaymentMsg": { + "type": "object", + "properties": { + "stripePublishableKey": { + "type": "string" + }, + "terms": { + "type": "string" + }, + "minTickets": { + "type": "integer", + "format": "int32" + }, + "maxTickets": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketReserveMultipleMsgElement": { + "type": "object", + "properties": { + "ticketIds": { + "type": "integer", + "format": "int32" + } + } + }, + "apiEventTicketTypeMsgElement": { + "type": "object", + "properties": { + "ticketType": { + "type": "integer", + "format": "int32" + }, + "event": { + "type": "integer", + "format": "int32" + }, + "ticketPayment": { + "type": "integer", + "format": "int32" + }, + "price": { + "type": "integer", + "format": "int32" + }, + "contingent": { + "type": "integer", + "format": "int32" + }, + "description": { + "type": "string" + }, + "payment": { + "$ref": "#/definitions/apiEventTicketPaymentMsg" + }, + "sold": { + "type": "integer", + "format": "int32" + } + } + }, + "apiGetAreaFacilitiesByBuildingNrReply": { + "type": "object", + "properties": { + "areaFacilitiesByBuildingNr": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRoomInformationElement" + } + } + } + }, + "apiGetBuilding2GpsReply": { + "type": "object", + "properties": { + "building2Gps": { + "type": "array", + "items": { + "$ref": "#/definitions/apiBuilding2GpsElement" + } + } + } + }, + "apiGetCafeteriaReply": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "latitude": { - "type": "string" - }, - "longitude": { - "type": "string" + "cafeteria": { + "type": "array", + "items": { + "$ref": "#/definitions/apiCafeteria" + } } } }, - "apiCafeteria": { + "apiGetDishesReply": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "address": { - "type": "string" - }, - "longitude": { - "type": "number", - "format": "double" - }, - "latitude": { - "type": "number", - "format": "double" + "dish": { + "type": "array", + "items": { + "type": "string" + } } } }, - "apiCafeteriaRating": { + "apiGetEphemeralKeyReply": { + "type": "object" + }, + "apiGetEventListReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" - }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" - }, - "tagRating": { + "events": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingResult" + "$ref": "#/definitions/apiEventListMsgElement" } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" } } }, - "apiCafeteriaRatingRequest": { + "apiGetEventTicketTypeReply": { "type": "object", "properties": { - "cafeteriaName": { - "type": "string", - "title": "cafeteriaName Mandatory Name of the cafeteria (EAT-API naming scheme)" - }, - "from": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" - }, - "to": { - "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" - }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "eventTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketTypeMsgElement" + } } } }, - "apiCafeteriaRatingResponse": { + "apiGetKinoReply": { "type": "object", "properties": { - "rating": { + "kinos": { "type": "array", "items": { - "$ref": "#/definitions/apiCafeteriaRating" + "$ref": "#/definitions/apiKinoMsgElement" } - }, - "averagePoints": { - "type": "number", - "format": "double" - }, - "standardDeviation": { - "type": "number", - "format": "double" - }, - "minPoints": { - "type": "integer", - "format": "int32" - }, - "maxPoints": { - "type": "integer", - "format": "int32" - }, - "ratingTags": { + } + } + }, + "apiGetListOfElevatorsReply": { + "type": "object", + "properties": { + "listOfElevators": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingsResult" + "$ref": "#/definitions/apiRoomInformationElement" } } } }, - "apiGetCafeteriaResponse": { + "apiGetListOfToiletsReply": { "type": "object", "properties": { - "cafeteria": { + "listOfToilets": { "type": "array", "items": { - "$ref": "#/definitions/apiCafeteria" + "$ref": "#/definitions/apiRoomInformationElement" } } } @@ -786,13 +1768,102 @@ } } }, + "apiGetMembersReply": { + "type": "object", + "properties": { + "lrzId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "memberId": { + "type": "integer", + "format": "int32" + } + } + }, + "apiGetMoreInformationReply": { + "type": "object", + "properties": { + "information": { + "type": "array", + "items": { + "$ref": "#/definitions/apiMoreInformationElement" + } + } + } + }, + "apiGetNotificationsConfirmReply": { + "type": "object", + "properties": { + "status": { + "type": "string" + } + } + }, + "apiGetNotificationsReply": { + "type": "object", + "properties": { + "notificationId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "signature": { + "type": "string" + } + } + }, + "apiGetOpeningTimesReply": { + "type": "object", + "properties": { + "facilities": { + "type": "array", + "items": { + "$ref": "#/definitions/apiOpeningTimesMsgElement" + } + } + } + }, + "apiGetPurchasedTicketsReply": { + "type": "object", + "properties": { + "myTickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketMyMsgElement" + } + } + } + }, "apiGetRatingTagsReply": { "type": "object", "properties": { - "tags": { + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagsOverview" + } + } + } + }, + "apiGetResponsiblePersonReply": { + "type": "object", + "properties": { + "responsiblePerson": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRatingOverview" + "$ref": "#/definitions/apiResponsiblePersonElement" } } } @@ -868,6 +1939,28 @@ } } }, + "apiGetStudyRoomListReply": { + "type": "object", + "properties": { + "rooms": { + "type": "array", + "items": { + "$ref": "#/definitions/apiStudyRoomMsgElement" + } + } + } + }, + "apiGetTicketStatusReply": { + "type": "object", + "properties": { + "status": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTicketStatus" + } + } + } + }, "apiGetTopNewsReply": { "type": "object", "properties": { @@ -891,107 +1984,88 @@ } } }, - "apiMealRating": { + "apiGetUpdateNoteReply": { "type": "object", "properties": { - "points": { - "type": "integer", - "format": "int32", - "title": "number in the range 1-5" - }, - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" - }, - "meal": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "message": { + "type": "string" + } + } + }, + "apiGetUploadStatusReply": { + "type": "object", + "properties": { + "fcmToken": { + "type": "string" }, - "image": { - "type": "string", - "format": "byte", - "title": "Optional JPEG image in Base64" + "publicKey": { + "type": "string" }, - "comment": { - "type": "string", - "title": "Optional comment (max 256 chars)" + "studentId": { + "type": "boolean" }, - "tagRating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingResult" - } + "employeeId": { + "type": "boolean" }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" + "externalId": { + "type": "boolean" } } }, - "apiMealRatingRequest": { + "apiKinoMsgElement": { "type": "object", "properties": { - "cafeteriaName": { - "type": "string", - "title": "Mandatory Name of the cafeteria (EAT-API naming scheme)" + "name": { + "type": "string" }, - "meal": { - "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "path": { + "type": "string" }, - "from": { + "kino": { + "type": "integer", + "format": "int32" + }, + "date": { "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Lower bound)" + "format": "date-time" }, - "to": { + "created": { "type": "string", - "format": "date-time", - "title": "Optional Parameter to define an interval for the ratings (Upper bound)" + "format": "date-time" }, - "limit": { - "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" - } - } - }, - "apiMealRatingResponse": { - "type": "object", - "properties": { - "rating": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMealRating" - } + "title": { + "type": "string" + }, + "year": { + "type": "string" }, - "averagePoints": { - "type": "number", - "format": "double" + "runtime": { + "type": "string" }, - "standardDeviation": { - "type": "number", - "format": "double" + "genre": { + "type": "string" }, - "minPoints": { - "type": "integer", - "format": "int32" + "director": { + "type": "string" + }, + "actors": { + "type": "string" + }, + "rating": { + "type": "string" + }, + "description": { + "type": "string" }, - "maxPoints": { + "cover": { "type": "integer", "format": "int32" }, - "ratingTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingsResult" - } + "trailer": { + "type": "string" }, - "nameTags": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTagRatingsResult" - } + "link": { + "type": "string" } } }, @@ -1017,17 +2091,17 @@ "format": "int32", "title": "number in the range 1-5" }, - "cafeteriaName": { + "cafeteriaId": { "type": "string" }, "image": { "type": "string", "format": "byte" }, - "tags": { + "ratingTags": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiRatingTag" }, "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of cafeteriaRatingTags" }, @@ -1037,7 +2111,7 @@ } } }, - "apiNewMealRatingRequest": { + "apiNewDishRatingRequest": { "type": "object", "properties": { "points": { @@ -1045,25 +2119,25 @@ "format": "int32", "title": "number in the range 1-5" }, - "cafeteriaName": { + "cafeteriaId": { "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "title": "Mandatory Name of the dish (EAT-API naming scheme \"MENSA_GARCHING\") Must be available int the given mensa" }, - "meal": { + "dish": { "type": "string", - "title": "Mandatory Name of the meal (EAT-API naming scheme) Must be available int the given mensa" + "title": "Mandatory Name of the dish (EAT-API naming scheme) Must be available int the given mensa" }, "image": { "type": "string", "format": "byte", "title": "Optional JPEG image in Base64" }, - "tags": { + "ratingTags": { "type": "array", "items": { - "$ref": "#/definitions/apiTagRating" + "$ref": "#/definitions/apiRatingTag" }, - "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of mealRatingTags" + "title": "Optional list of tag ratings add as many tags with a rating (1-5) of the list of dishRatingTags" }, "comment": { "type": "string", @@ -1096,6 +2170,134 @@ } } }, + "apiOpeningTimesMsgElement": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "category": { + "type": "string" + }, + "name": { + "type": "string" + }, + "address": { + "type": "string" + }, + "room": { + "type": "string" + }, + "transportStation": { + "type": "string" + }, + "openingHours": { + "type": "string" + }, + "infos": { + "type": "string" + }, + "url": { + "type": "string" + }, + "language": { + "type": "string" + }, + "referenceId": { + "type": "integer", + "format": "int32" + } + } + }, + "apiPurchaseTicketStripeReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiTicketMessageElement" + } + } + } + }, + "apiRatingTag": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "points": { + "type": "number", + "format": "double" + } + } + }, + "apiRatingTagNewRequest": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "points": { + "type": "integer", + "format": "int32" + } + } + }, + "apiRatingTagResult": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "avg": { + "type": "number", + "format": "double" + }, + "std": { + "type": "number", + "format": "double" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + } + } + }, + "apiRatingTagsOverview": { + "type": "object", + "properties": { + "tagId": { + "type": "integer", + "format": "int32" + }, + "de": { + "type": "string" + }, + "en": { + "type": "string" + } + } + }, + "apiReserveMultipleTicketsReply": { + "type": "object", + "properties": { + "tickets": { + "type": "array", + "items": { + "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" + } + } + } + }, "apiResponsiblePersonElement": { "type": "object", "properties": { @@ -1201,134 +2403,132 @@ } } }, - "apiTagRating": { + "apiSendFeedbackImageReply": { "type": "object", "properties": { - "tag": { + "status": { "type": "string" - }, - "points": { - "type": "number", - "format": "double" } } }, - "apiTagRatingOverview": { + "apiSingleRatingReply": { "type": "object", "properties": { - "DE": { - "type": "string" + "points": { + "type": "integer", + "format": "int32", + "title": "number in the range 1-5" }, - "EN": { - "type": "string" + "image": { + "type": "string", + "format": "byte", + "title": "Optional JPEG image in Base64" + }, + "comment": { + "type": "string", + "title": "Optional comment (max 256 chars)" + }, + "ratingTags": { + "type": "array", + "items": { + "$ref": "#/definitions/apiRatingTagNewRequest" + } + }, + "visited": { + "type": "string", + "format": "date-time" } } }, - "apiTagRatingResult": { + "apiStudyRoom": { "type": "object", "properties": { - "DE": { + "groupId": { + "type": "integer", + "format": "int32" + }, + "roomId": { + "type": "integer", + "format": "int32" + }, + "roomCode": { "type": "string" }, - "EN": { + "roomName": { "type": "string" }, - "points": { - "type": "integer", - "format": "int32" + "buildingName": { + "type": "string" } } }, - "apiTagRatingsResult": { + "apiStudyRoomMsgElement": { "type": "object", "properties": { - "DE": { - "type": "string" + "id": { + "type": "integer", + "format": "int32" }, - "EN": { + "name": { "type": "string" }, - "averagePoints": { - "type": "number", - "format": "double" - }, - "standardDeviation": { - "type": "number", - "format": "double" - }, - "minPoints": { - "type": "integer", - "format": "int32" + "details": { + "type": "string" }, - "maxPoints": { - "type": "integer", - "format": "int32" - } - } - }, - "apigetAreaFacilitiesByBuildingNrResponse": { - "type": "object", - "properties": { - "areaFacilitiesByBuildingNr": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } - } - } - }, - "apigetBuilding2GpsResponse": { - "type": "object", - "properties": { - "building2Gps": { - "type": "array", - "items": { - "$ref": "#/definitions/apiBuilding2GpsElement" - } - } - } - }, - "apigetListOfElevatorsResponse": { - "type": "object", - "properties": { - "listOfElevators": { + "rooms": { "type": "array", "items": { - "$ref": "#/definitions/apiRoomInformationElement" + "$ref": "#/definitions/apiStudyRoom" } } } }, - "apigetListOfToiletsResponse": { + "apiTUMCabeStatus": { "type": "object", "properties": { - "listOfToilets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiRoomInformationElement" - } + "status": { + "type": "string" } } }, - "apigetMoreInformationResponse": { + "apiTicketMessageElement": { "type": "object", "properties": { - "information": { - "type": "array", - "items": { - "$ref": "#/definitions/apiMoreInformationElement" - } + "id": { + "type": "integer", + "format": "int32" + }, + "eventId": { + "type": "integer", + "format": "int32" + }, + "code": { + "type": "string" + }, + "ticketTypeId": { + "type": "integer", + "format": "int32" + }, + "redemption": { + "type": "string", + "format": "date-time" } } }, - "apigetResponsiblePersonResponse": { + "apiTicketStatus": { "type": "object", "properties": { - "responsiblePerson": { - "type": "array", - "items": { - "$ref": "#/definitions/apiResponsiblePersonElement" - } + "ticketType": { + "type": "integer", + "format": "int32" + }, + "contingent": { + "type": "integer", + "format": "int32" + }, + "sold": { + "type": "integer", + "format": "int32" } } }, From d70755ab018e7650d149bb942114cb7bad0b0189 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann <32565407+tobiasjungmann@users.noreply.github.com> Date: Wed, 27 Jul 2022 23:11:15 +0200 Subject: [PATCH 22/24] Apply suggestions from code review Co-authored-by: Joscha Henningsen <44805696+joschahenningsen@users.noreply.github.com> --- api/CampusService.proto | 53 +++++------------------------------------ 1 file changed, 6 insertions(+), 47 deletions(-) diff --git a/api/CampusService.proto b/api/CampusService.proto index 118c509c..a0c53756 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -136,25 +136,25 @@ service Campus { rpc GetBuilding2Gps (google.protobuf.Empty) returns (GetBuilding2GpsReply) { option (google.api.http) = { - get: "/barrierfree/getBuilding2Gps", + get: "/barrierfree/building2Gps", }; } rpc GetAreaFacilitiesByBuildingNr (GetAreaFacilitiesByBuildingNrRequest) returns (GetAreaFacilitiesByBuildingNrReply) { option (google.api.http) = { - get: "/barrierfree/nerby", + get: "/barrierfree/nearby", }; } rpc GetListOfToilets (google.protobuf.Empty) returns (GetListOfToiletsReply) { option (google.api.http) = { - get: "/barrierfree/listOfToilets", + get: "/barrierfree/toilets", }; } rpc GetListOfElevators (google.protobuf.Empty) returns (GetListOfElevatorsReply) { option (google.api.http) = { - get: "/barrierfree/listOfElevators", + get: "/barrierfree/elevators", }; } @@ -181,7 +181,7 @@ service Campus { rpc GetStudyRoomList (google.protobuf.Empty) returns (GetStudyRoomListReply) { option (google.api.http) = { - get: "/studyroom/list", + get: "/studyrooms", }; } @@ -191,47 +191,6 @@ service Campus { }; } - rpc GetPurchasedTickets(google.protobuf.Empty) returns (GetPurchasedTicketsReply) { - option (google.api.http) = { - post: "/event/ticket/my", - }; - } - - rpc GetMyTicket(GetTicketRequest) returns (EventListMsgElement) { - option (google.api.http) = { - post: "/event/ticket/{id}", - }; - } - - rpc GetTicketType(GetTicketRequest) returns (GetEventTicketTypeReply) { - option (google.api.http) = { - get: "/event/ticket/type/{id}", - }; - } - - rpc ReserveMultipleTickets(ReserveMultipleTicketsRequest) returns (ReserveMultipleTicketsReply) { - option (google.api.http) = { - post: "/event/ticket/reserve/multiple", - }; - } - - rpc PurchaseTicketStripe(google.protobuf.Empty) returns (PurchaseTicketStripeReply) { - option (google.api.http) = { - post: "/event/ticket/payment/stripe/purchase/multiple", - }; - } - - rpc GetEphemeralKey(google.protobuf.Empty) returns (GetEphemeralKeyReply) { - option (google.api.http) = { - post: "/event/ticket/payment/stripe/ephemeralkey", - }; - } - - rpc GetTicketStatus(GetTicketStatusRequest) returns (GetTicketStatusReply) { - option (google.api.http) = { - get: "/event/ticket/status/{eventId}", - }; - } rpc GetKino(GetKinoRequest) returns (GetKinoReply) { option (google.api.http) = { @@ -279,7 +238,7 @@ service Campus { rpc GetNotification(NotificationsRequest) returns (GetNotificationsReply) { option (google.api.http) = { - get: "/notifications", + get: "/notifications/{notificationId}", }; } From 6d3b370c5794de0cbfa3a4da072f37c5628b03e2 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Wed, 27 Jul 2022 23:15:02 +0200 Subject: [PATCH 23/24] removed ticket endpoints --- api/CampusService.pb.go | 2658 +++++------------- api/CampusService.pb.gw.go | 665 +---- api/CampusService.proto | 87 - api/CampusService_grpc.pb.go | 252 -- api/gen/openapiv2/CampusService.swagger.json | 457 +-- server/swagger/swagger.json | 457 +-- 6 files changed, 824 insertions(+), 3752 deletions(-) diff --git a/api/CampusService.pb.go b/api/CampusService.pb.go index 9afbaf98..1cb7ada8 100644 --- a/api/CampusService.pb.go +++ b/api/CampusService.pb.go @@ -3353,16 +3353,16 @@ func (x *EventListMsgElement) GetTicketGroup() int32 { return 0 } -type GetPurchasedTicketsReply struct { +type GetKinoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MyTickets []*EventTicketMyMsgElement `protobuf:"bytes,1,rep,name=myTickets,proto3" json:"myTickets,omitempty"` + LastId int32 `protobuf:"varint,1,opt,name=lastId,proto3" json:"lastId,omitempty"` } -func (x *GetPurchasedTicketsReply) Reset() { - *x = GetPurchasedTicketsReply{} +func (x *GetKinoRequest) Reset() { + *x = GetKinoRequest{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3370,13 +3370,13 @@ func (x *GetPurchasedTicketsReply) Reset() { } } -func (x *GetPurchasedTicketsReply) String() string { +func (x *GetKinoRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetPurchasedTicketsReply) ProtoMessage() {} +func (*GetKinoRequest) ProtoMessage() {} -func (x *GetPurchasedTicketsReply) ProtoReflect() protoreflect.Message { +func (x *GetKinoRequest) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3388,32 +3388,28 @@ func (x *GetPurchasedTicketsReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetPurchasedTicketsReply.ProtoReflect.Descriptor instead. -func (*GetPurchasedTicketsReply) Descriptor() ([]byte, []int) { +// Deprecated: Use GetKinoRequest.ProtoReflect.Descriptor instead. +func (*GetKinoRequest) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{52} } -func (x *GetPurchasedTicketsReply) GetMyTickets() []*EventTicketMyMsgElement { +func (x *GetKinoRequest) GetLastId() int32 { if x != nil { - return x.MyTickets + return x.LastId } - return nil + return 0 } -type EventTicketMyMsgElement struct { +type GetKinoReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TicketHistory int32 `protobuf:"varint,1,opt,name=ticket_history,json=ticketHistory,proto3" json:"ticket_history,omitempty"` - TicketType int32 `protobuf:"varint,2,opt,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"` - Redemption *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=redemption,proto3" json:"redemption,omitempty"` - Code string `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty"` - Event int32 `protobuf:"varint,5,opt,name=event,proto3" json:"event,omitempty"` + Kinos []*KinoMsgElement `protobuf:"bytes,1,rep,name=kinos,proto3" json:"kinos,omitempty"` } -func (x *EventTicketMyMsgElement) Reset() { - *x = EventTicketMyMsgElement{} +func (x *GetKinoReply) Reset() { + *x = GetKinoReply{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3421,13 +3417,13 @@ func (x *EventTicketMyMsgElement) Reset() { } } -func (x *EventTicketMyMsgElement) String() string { +func (x *GetKinoReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EventTicketMyMsgElement) ProtoMessage() {} +func (*GetKinoReply) ProtoMessage() {} -func (x *EventTicketMyMsgElement) ProtoReflect() protoreflect.Message { +func (x *GetKinoReply) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3439,56 +3435,43 @@ func (x *EventTicketMyMsgElement) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EventTicketMyMsgElement.ProtoReflect.Descriptor instead. -func (*EventTicketMyMsgElement) Descriptor() ([]byte, []int) { +// Deprecated: Use GetKinoReply.ProtoReflect.Descriptor instead. +func (*GetKinoReply) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{53} } -func (x *EventTicketMyMsgElement) GetTicketHistory() int32 { - if x != nil { - return x.TicketHistory - } - return 0 -} - -func (x *EventTicketMyMsgElement) GetTicketType() int32 { - if x != nil { - return x.TicketType - } - return 0 -} - -func (x *EventTicketMyMsgElement) GetRedemption() *timestamppb.Timestamp { +func (x *GetKinoReply) GetKinos() []*KinoMsgElement { if x != nil { - return x.Redemption + return x.Kinos } return nil } -func (x *EventTicketMyMsgElement) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *EventTicketMyMsgElement) GetEvent() int32 { - if x != nil { - return x.Event - } - return 0 -} - -type GetTicketRequest struct { +type KinoMsgElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Kino int32 `protobuf:"varint,3,opt,name=kino,proto3" json:"kino,omitempty"` + Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"` + Created *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"` + Title string `protobuf:"bytes,6,opt,name=title,proto3" json:"title,omitempty"` + Year string `protobuf:"bytes,7,opt,name=year,proto3" json:"year,omitempty"` + Runtime string `protobuf:"bytes,8,opt,name=runtime,proto3" json:"runtime,omitempty"` + Genre string `protobuf:"bytes,9,opt,name=genre,proto3" json:"genre,omitempty"` + Director string `protobuf:"bytes,10,opt,name=director,proto3" json:"director,omitempty"` + Actors string `protobuf:"bytes,11,opt,name=actors,proto3" json:"actors,omitempty"` + Rating string `protobuf:"bytes,12,opt,name=rating,proto3" json:"rating,omitempty"` + Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` + Cover int32 `protobuf:"varint,14,opt,name=cover,proto3" json:"cover,omitempty"` + Trailer string `protobuf:"bytes,15,opt,name=trailer,proto3" json:"trailer,omitempty"` + Link string `protobuf:"bytes,16,opt,name=link,proto3" json:"link,omitempty"` } -func (x *GetTicketRequest) Reset() { - *x = GetTicketRequest{} +func (x *KinoMsgElement) Reset() { + *x = KinoMsgElement{} if protoimpl.UnsafeEnabled { mi := &file_CampusService_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3496,13 +3479,13 @@ func (x *GetTicketRequest) Reset() { } } -func (x *GetTicketRequest) String() string { +func (x *KinoMsgElement) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetTicketRequest) ProtoMessage() {} +func (*KinoMsgElement) ProtoMessage() {} -func (x *GetTicketRequest) ProtoReflect() protoreflect.Message { +func (x *KinoMsgElement) ProtoReflect() protoreflect.Message { mi := &file_CampusService_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3514,196 +3497,156 @@ func (x *GetTicketRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetTicketRequest.ProtoReflect.Descriptor instead. -func (*GetTicketRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use KinoMsgElement.ProtoReflect.Descriptor instead. +func (*KinoMsgElement) Descriptor() ([]byte, []int) { return file_CampusService_proto_rawDescGZIP(), []int{54} } -func (x *GetTicketRequest) GetId() int32 { +func (x *KinoMsgElement) GetName() string { if x != nil { - return x.Id + return x.Name } - return 0 -} - -type GetEventTicketTypeReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EventTickets []*EventTicketTypeMsgElement `protobuf:"bytes,1,rep,name=eventTickets,proto3" json:"eventTickets,omitempty"` + return "" } -func (x *GetEventTicketTypeReply) Reset() { - *x = GetEventTicketTypeReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *KinoMsgElement) GetPath() string { + if x != nil { + return x.Path } + return "" } -func (x *GetEventTicketTypeReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetEventTicketTypeReply) ProtoMessage() {} - -func (x *GetEventTicketTypeReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *KinoMsgElement) GetKino() int32 { + if x != nil { + return x.Kino } - return mi.MessageOf(x) -} - -// Deprecated: Use GetEventTicketTypeReply.ProtoReflect.Descriptor instead. -func (*GetEventTicketTypeReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{55} + return 0 } -func (x *GetEventTicketTypeReply) GetEventTickets() []*EventTicketTypeMsgElement { +func (x *KinoMsgElement) GetDate() *timestamppb.Timestamp { if x != nil { - return x.EventTickets + return x.Date } return nil } -type EventTicketTypeMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TicketType int32 `protobuf:"varint,1,opt,name=ticket_type,json=ticketType,proto3" json:"ticket_type,omitempty"` - Event int32 `protobuf:"varint,2,opt,name=event,proto3" json:"event,omitempty"` - TicketPayment int32 `protobuf:"varint,3,opt,name=ticket_payment,json=ticketPayment,proto3" json:"ticket_payment,omitempty"` - Price int32 `protobuf:"varint,4,opt,name=price,proto3" json:"price,omitempty"` - Contingent int32 `protobuf:"varint,5,opt,name=contingent,proto3" json:"contingent,omitempty"` - Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` - Payment *EventTicketPaymentMsg `protobuf:"bytes,7,opt,name=payment,proto3" json:"payment,omitempty"` - Sold int32 `protobuf:"varint,8,opt,name=sold,proto3" json:"sold,omitempty"` -} - -func (x *EventTicketTypeMsgElement) Reset() { - *x = EventTicketTypeMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *KinoMsgElement) GetCreated() *timestamppb.Timestamp { + if x != nil { + return x.Created } + return nil } -func (x *EventTicketTypeMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventTicketTypeMsgElement) ProtoMessage() {} - -func (x *EventTicketTypeMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *KinoMsgElement) GetTitle() string { + if x != nil { + return x.Title } - return mi.MessageOf(x) + return "" } -// Deprecated: Use EventTicketTypeMsgElement.ProtoReflect.Descriptor instead. -func (*EventTicketTypeMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{56} +func (x *KinoMsgElement) GetYear() string { + if x != nil { + return x.Year + } + return "" } -func (x *EventTicketTypeMsgElement) GetTicketType() int32 { +func (x *KinoMsgElement) GetRuntime() string { if x != nil { - return x.TicketType + return x.Runtime } - return 0 + return "" } -func (x *EventTicketTypeMsgElement) GetEvent() int32 { +func (x *KinoMsgElement) GetGenre() string { if x != nil { - return x.Event + return x.Genre } - return 0 + return "" } -func (x *EventTicketTypeMsgElement) GetTicketPayment() int32 { +func (x *KinoMsgElement) GetDirector() string { if x != nil { - return x.TicketPayment + return x.Director } - return 0 + return "" } -func (x *EventTicketTypeMsgElement) GetPrice() int32 { +func (x *KinoMsgElement) GetActors() string { if x != nil { - return x.Price + return x.Actors } - return 0 + return "" } -func (x *EventTicketTypeMsgElement) GetContingent() int32 { +func (x *KinoMsgElement) GetRating() string { if x != nil { - return x.Contingent + return x.Rating } - return 0 + return "" } -func (x *EventTicketTypeMsgElement) GetDescription() string { +func (x *KinoMsgElement) GetDescription() string { if x != nil { return x.Description } return "" } -func (x *EventTicketTypeMsgElement) GetPayment() *EventTicketPaymentMsg { +func (x *KinoMsgElement) GetCover() int32 { if x != nil { - return x.Payment + return x.Cover } - return nil + return 0 } -func (x *EventTicketTypeMsgElement) GetSold() int32 { +func (x *KinoMsgElement) GetTrailer() string { if x != nil { - return x.Sold + return x.Trailer } - return 0 + return "" +} + +func (x *KinoMsgElement) GetLink() string { + if x != nil { + return x.Link + } + return "" } -type EventTicketPaymentMsg struct { +type SendFeedbackRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - StripePublishableKey string `protobuf:"bytes,1,opt,name=stripe_publishable_key,json=stripePublishableKey,proto3" json:"stripe_publishable_key,omitempty"` - Terms string `protobuf:"bytes,2,opt,name=terms,proto3" json:"terms,omitempty"` - MinTickets int32 `protobuf:"varint,3,opt,name=minTickets,proto3" json:"minTickets,omitempty"` - MaxTickets int32 `protobuf:"varint,4,opt,name=maxTickets,proto3" json:"maxTickets,omitempty"` + Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + EmailId string `protobuf:"bytes,3,opt,name=emailId,proto3" json:"emailId,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + ImageCount int32 `protobuf:"varint,5,opt,name=image_count,json=imageCount,proto3" json:"image_count,omitempty"` + Latitude float64 `protobuf:"fixed64,6,opt,name=latitude,proto3" json:"latitude,omitempty"` + Longitude float64 `protobuf:"fixed64,7,opt,name=longitude,proto3" json:"longitude,omitempty"` + OsVersion string `protobuf:"bytes,8,opt,name=osVersion,proto3" json:"osVersion,omitempty"` + AppVersion string `protobuf:"bytes,9,opt,name=appVersion,proto3" json:"appVersion,omitempty"` } -func (x *EventTicketPaymentMsg) Reset() { - *x = EventTicketPaymentMsg{} +func (x *SendFeedbackRequest) Reset() { + *x = SendFeedbackRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[57] + mi := &file_CampusService_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *EventTicketPaymentMsg) String() string { +func (x *SendFeedbackRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EventTicketPaymentMsg) ProtoMessage() {} +func (*SendFeedbackRequest) ProtoMessage() {} -func (x *EventTicketPaymentMsg) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[57] +func (x *SendFeedbackRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3714,736 +3657,99 @@ func (x *EventTicketPaymentMsg) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EventTicketPaymentMsg.ProtoReflect.Descriptor instead. -func (*EventTicketPaymentMsg) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{57} +// Deprecated: Use SendFeedbackRequest.ProtoReflect.Descriptor instead. +func (*SendFeedbackRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{55} +} + +func (x *SendFeedbackRequest) GetTopic() string { + if x != nil { + return x.Topic + } + return "" +} + +func (x *SendFeedbackRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" } -func (x *EventTicketPaymentMsg) GetStripePublishableKey() string { +func (x *SendFeedbackRequest) GetEmailId() string { if x != nil { - return x.StripePublishableKey + return x.EmailId } return "" } -func (x *EventTicketPaymentMsg) GetTerms() string { +func (x *SendFeedbackRequest) GetMessage() string { if x != nil { - return x.Terms + return x.Message } return "" } -func (x *EventTicketPaymentMsg) GetMinTickets() int32 { +func (x *SendFeedbackRequest) GetImageCount() int32 { + if x != nil { + return x.ImageCount + } + return 0 +} + +func (x *SendFeedbackRequest) GetLatitude() float64 { if x != nil { - return x.MinTickets + return x.Latitude } return 0 } -func (x *EventTicketPaymentMsg) GetMaxTickets() int32 { +func (x *SendFeedbackRequest) GetLongitude() float64 { if x != nil { - return x.MaxTickets + return x.Longitude } return 0 } -type ReserveMultipleTicketsRequest struct { +func (x *SendFeedbackRequest) GetOsVersion() string { + if x != nil { + return x.OsVersion + } + return "" +} + +func (x *SendFeedbackRequest) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +type SendFeedbackImageReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TicketTypes []int32 `protobuf:"varint,1,rep,packed,name=ticketTypes,proto3" json:"ticketTypes,omitempty"` - Amounts []int32 `protobuf:"varint,2,rep,packed,name=amounts,proto3" json:"amounts,omitempty"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` } -func (x *ReserveMultipleTicketsRequest) Reset() { - *x = ReserveMultipleTicketsRequest{} +func (x *SendFeedbackImageReply) Reset() { + *x = SendFeedbackImageReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[58] + mi := &file_CampusService_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ReserveMultipleTicketsRequest) String() string { +func (x *SendFeedbackImageReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReserveMultipleTicketsRequest) ProtoMessage() {} +func (*SendFeedbackImageReply) ProtoMessage() {} -func (x *ReserveMultipleTicketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReserveMultipleTicketsRequest.ProtoReflect.Descriptor instead. -func (*ReserveMultipleTicketsRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{58} -} - -func (x *ReserveMultipleTicketsRequest) GetTicketTypes() []int32 { - if x != nil { - return x.TicketTypes - } - return nil -} - -func (x *ReserveMultipleTicketsRequest) GetAmounts() []int32 { - if x != nil { - return x.Amounts - } - return nil -} - -type ReserveMultipleTicketsReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tickets []*EventTicketReserveMultipleMsgElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` -} - -func (x *ReserveMultipleTicketsReply) Reset() { - *x = ReserveMultipleTicketsReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReserveMultipleTicketsReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReserveMultipleTicketsReply) ProtoMessage() {} - -func (x *ReserveMultipleTicketsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReserveMultipleTicketsReply.ProtoReflect.Descriptor instead. -func (*ReserveMultipleTicketsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{59} -} - -func (x *ReserveMultipleTicketsReply) GetTickets() []*EventTicketReserveMultipleMsgElement { - if x != nil { - return x.Tickets - } - return nil -} - -type EventTicketReserveMultipleMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TicketIds int32 `protobuf:"varint,1,opt,name=ticket_ids,json=ticketIds,proto3" json:"ticket_ids,omitempty"` -} - -func (x *EventTicketReserveMultipleMsgElement) Reset() { - *x = EventTicketReserveMultipleMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventTicketReserveMultipleMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventTicketReserveMultipleMsgElement) ProtoMessage() {} - -func (x *EventTicketReserveMultipleMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventTicketReserveMultipleMsgElement.ProtoReflect.Descriptor instead. -func (*EventTicketReserveMultipleMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{60} -} - -func (x *EventTicketReserveMultipleMsgElement) GetTicketIds() int32 { - if x != nil { - return x.TicketIds - } - return 0 -} - -type GetKinoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LastId int32 `protobuf:"varint,1,opt,name=lastId,proto3" json:"lastId,omitempty"` -} - -func (x *GetKinoRequest) Reset() { - *x = GetKinoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetKinoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetKinoRequest) ProtoMessage() {} - -func (x *GetKinoRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetKinoRequest.ProtoReflect.Descriptor instead. -func (*GetKinoRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{61} -} - -func (x *GetKinoRequest) GetLastId() int32 { - if x != nil { - return x.LastId - } - return 0 -} - -type GetKinoReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kinos []*KinoMsgElement `protobuf:"bytes,1,rep,name=kinos,proto3" json:"kinos,omitempty"` -} - -func (x *GetKinoReply) Reset() { - *x = GetKinoReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetKinoReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetKinoReply) ProtoMessage() {} - -func (x *GetKinoReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetKinoReply.ProtoReflect.Descriptor instead. -func (*GetKinoReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{62} -} - -func (x *GetKinoReply) GetKinos() []*KinoMsgElement { - if x != nil { - return x.Kinos - } - return nil -} - -type KinoMsgElement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` - Kino int32 `protobuf:"varint,3,opt,name=kino,proto3" json:"kino,omitempty"` - Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"` - Created *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"` - Title string `protobuf:"bytes,6,opt,name=title,proto3" json:"title,omitempty"` - Year string `protobuf:"bytes,7,opt,name=year,proto3" json:"year,omitempty"` - Runtime string `protobuf:"bytes,8,opt,name=runtime,proto3" json:"runtime,omitempty"` - Genre string `protobuf:"bytes,9,opt,name=genre,proto3" json:"genre,omitempty"` - Director string `protobuf:"bytes,10,opt,name=director,proto3" json:"director,omitempty"` - Actors string `protobuf:"bytes,11,opt,name=actors,proto3" json:"actors,omitempty"` - Rating string `protobuf:"bytes,12,opt,name=rating,proto3" json:"rating,omitempty"` - Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` - Cover int32 `protobuf:"varint,14,opt,name=cover,proto3" json:"cover,omitempty"` - Trailer string `protobuf:"bytes,15,opt,name=trailer,proto3" json:"trailer,omitempty"` - Link string `protobuf:"bytes,16,opt,name=link,proto3" json:"link,omitempty"` -} - -func (x *KinoMsgElement) Reset() { - *x = KinoMsgElement{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KinoMsgElement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KinoMsgElement) ProtoMessage() {} - -func (x *KinoMsgElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KinoMsgElement.ProtoReflect.Descriptor instead. -func (*KinoMsgElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{63} -} - -func (x *KinoMsgElement) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *KinoMsgElement) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *KinoMsgElement) GetKino() int32 { - if x != nil { - return x.Kino - } - return 0 -} - -func (x *KinoMsgElement) GetDate() *timestamppb.Timestamp { - if x != nil { - return x.Date - } - return nil -} - -func (x *KinoMsgElement) GetCreated() *timestamppb.Timestamp { - if x != nil { - return x.Created - } - return nil -} - -func (x *KinoMsgElement) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *KinoMsgElement) GetYear() string { - if x != nil { - return x.Year - } - return "" -} - -func (x *KinoMsgElement) GetRuntime() string { - if x != nil { - return x.Runtime - } - return "" -} - -func (x *KinoMsgElement) GetGenre() string { - if x != nil { - return x.Genre - } - return "" -} - -func (x *KinoMsgElement) GetDirector() string { - if x != nil { - return x.Director - } - return "" -} - -func (x *KinoMsgElement) GetActors() string { - if x != nil { - return x.Actors - } - return "" -} - -func (x *KinoMsgElement) GetRating() string { - if x != nil { - return x.Rating - } - return "" -} - -func (x *KinoMsgElement) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *KinoMsgElement) GetCover() int32 { - if x != nil { - return x.Cover - } - return 0 -} - -func (x *KinoMsgElement) GetTrailer() string { - if x != nil { - return x.Trailer - } - return "" -} - -func (x *KinoMsgElement) GetLink() string { - if x != nil { - return x.Link - } - return "" -} - -type SendFeedbackRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` - Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` - EmailId string `protobuf:"bytes,3,opt,name=emailId,proto3" json:"emailId,omitempty"` - Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` - ImageCount int32 `protobuf:"varint,5,opt,name=image_count,json=imageCount,proto3" json:"image_count,omitempty"` - Latitude float64 `protobuf:"fixed64,6,opt,name=latitude,proto3" json:"latitude,omitempty"` - Longitude float64 `protobuf:"fixed64,7,opt,name=longitude,proto3" json:"longitude,omitempty"` - OsVersion string `protobuf:"bytes,8,opt,name=osVersion,proto3" json:"osVersion,omitempty"` - AppVersion string `protobuf:"bytes,9,opt,name=appVersion,proto3" json:"appVersion,omitempty"` -} - -func (x *SendFeedbackRequest) Reset() { - *x = SendFeedbackRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendFeedbackRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendFeedbackRequest) ProtoMessage() {} - -func (x *SendFeedbackRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendFeedbackRequest.ProtoReflect.Descriptor instead. -func (*SendFeedbackRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{64} -} - -func (x *SendFeedbackRequest) GetTopic() string { - if x != nil { - return x.Topic - } - return "" -} - -func (x *SendFeedbackRequest) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *SendFeedbackRequest) GetEmailId() string { - if x != nil { - return x.EmailId - } - return "" -} - -func (x *SendFeedbackRequest) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *SendFeedbackRequest) GetImageCount() int32 { - if x != nil { - return x.ImageCount - } - return 0 -} - -func (x *SendFeedbackRequest) GetLatitude() float64 { - if x != nil { - return x.Latitude - } - return 0 -} - -func (x *SendFeedbackRequest) GetLongitude() float64 { - if x != nil { - return x.Longitude - } - return 0 -} - -func (x *SendFeedbackRequest) GetOsVersion() string { - if x != nil { - return x.OsVersion - } - return "" -} - -func (x *SendFeedbackRequest) GetAppVersion() string { - if x != nil { - return x.AppVersion - } - return "" -} - -type SendFeedbackImageReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *SendFeedbackImageReply) Reset() { - *x = SendFeedbackImageReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendFeedbackImageReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendFeedbackImageReply) ProtoMessage() {} - -func (x *SendFeedbackImageReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendFeedbackImageReply.ProtoReflect.Descriptor instead. -func (*SendFeedbackImageReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{65} -} - -func (x *SendFeedbackImageReply) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type SendFeedbackImageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo where does the file come from? -} - -func (x *SendFeedbackImageRequest) Reset() { - *x = SendFeedbackImageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendFeedbackImageRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendFeedbackImageRequest) ProtoMessage() {} - -func (x *SendFeedbackImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendFeedbackImageRequest.ProtoReflect.Descriptor instead. -func (*SendFeedbackImageRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{66} -} - -func (x *SendFeedbackImageRequest) GetId() int32 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *SendFeedbackImageRequest) GetImageNr() int32 { - if x != nil { - return x.ImageNr - } - return 0 -} - -type GetMembersRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` -} - -func (x *GetMembersRequest) Reset() { - *x = GetMembersRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMembersRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMembersRequest) ProtoMessage() {} - -func (x *GetMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMembersRequest.ProtoReflect.Descriptor instead. -func (*GetMembersRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{67} -} - -func (x *GetMembersRequest) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" -} - -type GetMembersReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - MemberId int32 `protobuf:"varint,3,opt,name=memberId,proto3" json:"memberId,omitempty"` -} - -func (x *GetMembersReply) Reset() { - *x = GetMembersReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMembersReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMembersReply) ProtoMessage() {} - -func (x *GetMembersReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[68] +func (x *SendFeedbackImageReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4454,108 +3760,44 @@ func (x *GetMembersReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetMembersReply.ProtoReflect.Descriptor instead. -func (*GetMembersReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{68} -} - -func (x *GetMembersReply) GetLrzId() string { - if x != nil { - return x.LrzId - } - return "" +// Deprecated: Use SendFeedbackImageReply.ProtoReflect.Descriptor instead. +func (*SendFeedbackImageReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{56} } -func (x *GetMembersReply) GetName() string { +func (x *SendFeedbackImageReply) GetStatus() string { if x != nil { - return x.Name + return x.Status } return "" } -func (x *GetMembersReply) GetMemberId() int32 { - if x != nil { - return x.MemberId - } - return 0 -} - -type PurchaseTicketStripeReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tickets []*TicketMessageElement `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` -} - -func (x *PurchaseTicketStripeReply) Reset() { - *x = PurchaseTicketStripeReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PurchaseTicketStripeReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PurchaseTicketStripeReply) ProtoMessage() {} - -func (x *PurchaseTicketStripeReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PurchaseTicketStripeReply.ProtoReflect.Descriptor instead. -func (*PurchaseTicketStripeReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{69} -} - -func (x *PurchaseTicketStripeReply) GetTickets() []*TicketMessageElement { - if x != nil { - return x.Tickets - } - return nil -} - -type TicketMessageElement struct { +type SendFeedbackImageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - EventId int32 `protobuf:"varint,2,opt,name=eventId,proto3" json:"eventId,omitempty"` - Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` - TicketTypeId int32 `protobuf:"varint,4,opt,name=ticketTypeId,proto3" json:"ticketTypeId,omitempty"` - Redemption *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=redemption,proto3" json:"redemption,omitempty"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + ImageNr int32 `protobuf:"varint,2,opt,name=imageNr,proto3" json:"imageNr,omitempty"` //todo where does the file come from? } -func (x *TicketMessageElement) Reset() { - *x = TicketMessageElement{} +func (x *SendFeedbackImageRequest) Reset() { + *x = SendFeedbackImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[70] + mi := &file_CampusService_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TicketMessageElement) String() string { +func (x *SendFeedbackImageRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TicketMessageElement) ProtoMessage() {} +func (*SendFeedbackImageRequest) ProtoMessage() {} -func (x *TicketMessageElement) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[70] +func (x *SendFeedbackImageRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4566,156 +3808,50 @@ func (x *TicketMessageElement) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketMessageElement.ProtoReflect.Descriptor instead. -func (*TicketMessageElement) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{70} +// Deprecated: Use SendFeedbackImageRequest.ProtoReflect.Descriptor instead. +func (*SendFeedbackImageRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{57} } -func (x *TicketMessageElement) GetId() int32 { +func (x *SendFeedbackImageRequest) GetId() int32 { if x != nil { return x.Id } return 0 } -func (x *TicketMessageElement) GetEventId() int32 { - if x != nil { - return x.EventId - } - return 0 -} - -func (x *TicketMessageElement) GetCode() string { - if x != nil { - return x.Code - } - return "" -} - -func (x *TicketMessageElement) GetTicketTypeId() int32 { - if x != nil { - return x.TicketTypeId - } - return 0 -} - -func (x *TicketMessageElement) GetRedemption() *timestamppb.Timestamp { - if x != nil { - return x.Redemption - } - return nil -} - -type GetEphemeralKeyReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetEphemeralKeyReply) Reset() { - *x = GetEphemeralKeyReply{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetEphemeralKeyReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetEphemeralKeyReply) ProtoMessage() {} - -func (x *GetEphemeralKeyReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetEphemeralKeyReply.ProtoReflect.Descriptor instead. -func (*GetEphemeralKeyReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{71} -} - -type GetTicketStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EventId int32 `protobuf:"varint,1,opt,name=eventId,proto3" json:"eventId,omitempty"` -} - -func (x *GetTicketStatusRequest) Reset() { - *x = GetTicketStatusRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTicketStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTicketStatusRequest) ProtoMessage() {} - -func (x *GetTicketStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetTicketStatusRequest.ProtoReflect.Descriptor instead. -func (*GetTicketStatusRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{72} -} - -func (x *GetTicketStatusRequest) GetEventId() int32 { +func (x *SendFeedbackImageRequest) GetImageNr() int32 { if x != nil { - return x.EventId + return x.ImageNr } return 0 } -type GetTicketStatusReply struct { +type GetMembersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status []*TicketStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"` + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` } -func (x *GetTicketStatusReply) Reset() { - *x = GetTicketStatusReply{} +func (x *GetMembersRequest) Reset() { + *x = GetMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[73] + mi := &file_CampusService_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetTicketStatusReply) String() string { +func (x *GetMembersRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetTicketStatusReply) ProtoMessage() {} +func (*GetMembersRequest) ProtoMessage() {} -func (x *GetTicketStatusReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[73] +func (x *GetMembersRequest) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4726,45 +3862,45 @@ func (x *GetTicketStatusReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetTicketStatusReply.ProtoReflect.Descriptor instead. -func (*GetTicketStatusReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{73} +// Deprecated: Use GetMembersRequest.ProtoReflect.Descriptor instead. +func (*GetMembersRequest) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{58} } -func (x *GetTicketStatusReply) GetStatus() []*TicketStatus { +func (x *GetMembersRequest) GetLrzId() string { if x != nil { - return x.Status + return x.LrzId } - return nil + return "" } -type TicketStatus struct { +type GetMembersReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TicketType int32 `protobuf:"varint,1,opt,name=ticketType,proto3" json:"ticketType,omitempty"` - Contingent int32 `protobuf:"varint,2,opt,name=contingent,proto3" json:"contingent,omitempty"` - Sold int32 `protobuf:"varint,3,opt,name=sold,proto3" json:"sold,omitempty"` + LrzId string `protobuf:"bytes,1,opt,name=lrzId,proto3" json:"lrzId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + MemberId int32 `protobuf:"varint,3,opt,name=memberId,proto3" json:"memberId,omitempty"` } -func (x *TicketStatus) Reset() { - *x = TicketStatus{} +func (x *GetMembersReply) Reset() { + *x = GetMembersReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[74] + mi := &file_CampusService_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TicketStatus) String() string { +func (x *GetMembersReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TicketStatus) ProtoMessage() {} +func (*GetMembersReply) ProtoMessage() {} -func (x *TicketStatus) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[74] +func (x *GetMembersReply) ProtoReflect() protoreflect.Message { + mi := &file_CampusService_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4775,28 +3911,28 @@ func (x *TicketStatus) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketStatus.ProtoReflect.Descriptor instead. -func (*TicketStatus) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{74} +// Deprecated: Use GetMembersReply.ProtoReflect.Descriptor instead. +func (*GetMembersReply) Descriptor() ([]byte, []int) { + return file_CampusService_proto_rawDescGZIP(), []int{59} } -func (x *TicketStatus) GetTicketType() int32 { +func (x *GetMembersReply) GetLrzId() string { if x != nil { - return x.TicketType + return x.LrzId } - return 0 + return "" } -func (x *TicketStatus) GetContingent() int32 { +func (x *GetMembersReply) GetName() string { if x != nil { - return x.Contingent + return x.Name } - return 0 + return "" } -func (x *TicketStatus) GetSold() int32 { +func (x *GetMembersReply) GetMemberId() int32 { if x != nil { - return x.Sold + return x.MemberId } return 0 } @@ -4812,7 +3948,7 @@ type TUMCabeStatus struct { func (x *TUMCabeStatus) Reset() { *x = TUMCabeStatus{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[75] + mi := &file_CampusService_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4825,7 +3961,7 @@ func (x *TUMCabeStatus) String() string { func (*TUMCabeStatus) ProtoMessage() {} func (x *TUMCabeStatus) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[75] + mi := &file_CampusService_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4838,7 +3974,7 @@ func (x *TUMCabeStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use TUMCabeStatus.ProtoReflect.Descriptor instead. func (*TUMCabeStatus) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{75} + return file_CampusService_proto_rawDescGZIP(), []int{60} } func (x *TUMCabeStatus) GetStatus() string { @@ -4859,7 +3995,7 @@ type GetUploadStatusRequest struct { func (x *GetUploadStatusRequest) Reset() { *x = GetUploadStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[76] + mi := &file_CampusService_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4872,7 +4008,7 @@ func (x *GetUploadStatusRequest) String() string { func (*GetUploadStatusRequest) ProtoMessage() {} func (x *GetUploadStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[76] + mi := &file_CampusService_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4885,7 +4021,7 @@ func (x *GetUploadStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUploadStatusRequest.ProtoReflect.Descriptor instead. func (*GetUploadStatusRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{76} + return file_CampusService_proto_rawDescGZIP(), []int{61} } func (x *GetUploadStatusRequest) GetLrzId() string { @@ -4910,7 +4046,7 @@ type GetUploadStatusReply struct { func (x *GetUploadStatusReply) Reset() { *x = GetUploadStatusReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[77] + mi := &file_CampusService_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4923,7 +4059,7 @@ func (x *GetUploadStatusReply) String() string { func (*GetUploadStatusReply) ProtoMessage() {} func (x *GetUploadStatusReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[77] + mi := &file_CampusService_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4936,7 +4072,7 @@ func (x *GetUploadStatusReply) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUploadStatusReply.ProtoReflect.Descriptor instead. func (*GetUploadStatusReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{77} + return file_CampusService_proto_rawDescGZIP(), []int{62} } func (x *GetUploadStatusReply) GetFcmToken() string { @@ -4989,7 +4125,7 @@ type GetNotificationsReply struct { func (x *GetNotificationsReply) Reset() { *x = GetNotificationsReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[78] + mi := &file_CampusService_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5002,7 +4138,7 @@ func (x *GetNotificationsReply) String() string { func (*GetNotificationsReply) ProtoMessage() {} func (x *GetNotificationsReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[78] + mi := &file_CampusService_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5015,7 +4151,7 @@ func (x *GetNotificationsReply) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotificationsReply.ProtoReflect.Descriptor instead. func (*GetNotificationsReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{78} + return file_CampusService_proto_rawDescGZIP(), []int{63} } func (x *GetNotificationsReply) GetNotificationId() int32 { @@ -5064,7 +4200,7 @@ type NotificationsRequest struct { func (x *NotificationsRequest) Reset() { *x = NotificationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[79] + mi := &file_CampusService_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5077,7 +4213,7 @@ func (x *NotificationsRequest) String() string { func (*NotificationsRequest) ProtoMessage() {} func (x *NotificationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[79] + mi := &file_CampusService_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5090,7 +4226,7 @@ func (x *NotificationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationsRequest.ProtoReflect.Descriptor instead. func (*NotificationsRequest) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{79} + return file_CampusService_proto_rawDescGZIP(), []int{64} } func (x *NotificationsRequest) GetNotificationId() int32 { @@ -5111,7 +4247,7 @@ type GetNotificationsConfirmReply struct { func (x *GetNotificationsConfirmReply) Reset() { *x = GetNotificationsConfirmReply{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[80] + mi := &file_CampusService_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5124,7 +4260,7 @@ func (x *GetNotificationsConfirmReply) String() string { func (*GetNotificationsConfirmReply) ProtoMessage() {} func (x *GetNotificationsConfirmReply) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[80] + mi := &file_CampusService_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5137,7 +4273,7 @@ func (x *GetNotificationsConfirmReply) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotificationsConfirmReply.ProtoReflect.Descriptor instead. func (*GetNotificationsConfirmReply) Descriptor() ([]byte, []int) { - return file_CampusService_proto_rawDescGZIP(), []int{80} + return file_CampusService_proto_rawDescGZIP(), []int{65} } func (x *GetNotificationsConfirmReply) GetStatus() string { @@ -5162,7 +4298,7 @@ type GetRoomScheduleReply_RoomScheduleEvent struct { func (x *GetRoomScheduleReply_RoomScheduleEvent) Reset() { *x = GetRoomScheduleReply_RoomScheduleEvent{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[81] + mi := &file_CampusService_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5175,7 +4311,7 @@ func (x *GetRoomScheduleReply_RoomScheduleEvent) String() string { func (*GetRoomScheduleReply_RoomScheduleEvent) ProtoMessage() {} func (x *GetRoomScheduleReply_RoomScheduleEvent) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[81] + mi := &file_CampusService_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5241,7 +4377,7 @@ type GetRoomMapsReply_Map struct { func (x *GetRoomMapsReply_Map) Reset() { *x = GetRoomMapsReply_Map{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[82] + mi := &file_CampusService_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5254,7 +4390,7 @@ func (x *GetRoomMapsReply_Map) String() string { func (*GetRoomMapsReply_Map) ProtoMessage() {} func (x *GetRoomMapsReply_Map) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[82] + mi := &file_CampusService_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5320,7 +4456,7 @@ type GetLocationsReply_Location struct { func (x *GetLocationsReply_Location) Reset() { *x = GetLocationsReply_Location{} if protoimpl.UnsafeEnabled { - mi := &file_CampusService_proto_msgTypes[83] + mi := &file_CampusService_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5333,7 +4469,7 @@ func (x *GetLocationsReply_Location) String() string { func (*GetLocationsReply_Location) ProtoMessage() {} func (x *GetLocationsReply_Location) ProtoReflect() protoreflect.Message { - mi := &file_CampusService_proto_msgTypes[83] + mi := &file_CampusService_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5808,498 +4944,345 @@ var file_CampusService_proto_rawDesc = []byte{ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0x56, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, - 0x09, 0x6d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, - 0x6d, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x73, 0x67, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, - 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x72, - 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, - 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, - 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x73, 0x6f, 0x6c, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x34, - 0x0a, 0x16, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, - 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, - 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, - 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6d, 0x61, 0x78, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x1d, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x0b, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x62, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x24, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x0c, - 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x05, - 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, 0x4b, 0x69, 0x6e, 0x6f, - 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, - 0x61, 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, - 0x69, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x6e, - 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, - 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x16, 0x53, 0x65, 0x6e, - 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x53, - 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x4e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, - 0x72, 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x19, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, - 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x14, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, - 0x0a, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x70, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x6b, + 0x69, 0x6e, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x05, 0x6b, 0x69, 0x6e, 0x6f, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x0e, 0x4b, 0x69, 0x6e, 0x6f, 0x4d, + 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0a, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, - 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x32, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x62, 0x0a, - 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, - 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x6c, - 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2e, 0x0a, 0x16, 0x47, 0x65, - 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x49, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, - 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x3e, 0x0a, 0x14, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x1c, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x32, 0x81, 0x23, 0x0a, 0x06, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x12, - 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x74, 0x6f, 0x70, 0x12, 0x5e, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, + 0x69, 0x6c, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x69, + 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8e, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x6e, 0x64, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, + 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x64, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x53, 0x65, + 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x72, + 0x22, 0x29, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x72, 0x7a, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x0d, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2e, 0x0a, + 0x16, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x22, 0xb3, 0x01, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x63, 0x6d, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x63, 0x6d, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, + 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x49, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x0a, + 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, + 0x3e, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x36, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xd7, 0x1c, 0x0a, 0x06, 0x43, 0x61, 0x6d, 0x70, + 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, - 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x22, 0x1e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x68, - 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, - 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, - 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x10, 0x2f, 0x72, 0x6f, - 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x70, 0x73, 0x3a, 0x01, 0x2a, - 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, - 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, - 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, - 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, - 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x30, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x6f, 0x70, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x6e, 0x65, 0x77, 0x73, 0x2f, 0x74, 0x6f, + 0x70, 0x12, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x0d, 0x2f, 0x6e, 0x65, 0x77, 0x73, + 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x62, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x68, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x17, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x3a, 0x01, 0x2a, 0x62, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x6a, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x15, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x09, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x70, + 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x10, + 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x6d, 0x61, 0x70, 0x73, + 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x6d, 0x61, 0x70, 0x73, 0x12, 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x66, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, + 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x3a, 0x01, 0x2a, 0x62, 0x06, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, + 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, + 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x64, + 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, + 0x2a, 0x12, 0x6e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, + 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, - 0x2a, 0x12, 0x5b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x64, 0x69, 0x73, 0x68, - 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x6e, - 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x61, - 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x20, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, 0x3a, 0x01, 0x2a, 0x12, 0x5f, - 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, 0x3a, 0x01, + 0x2a, 0x12, 0x5f, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x69, 0x73, 0x68, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, + 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, 0x3a, + 0x01, 0x2a, 0x12, 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x44, 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x64, 0x69, 0x73, - 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x6e, 0x65, 0x77, 0x3a, 0x01, 0x2a, 0x12, - 0x71, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, - 0x69, 0x73, 0x68, 0x54, 0x61, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, - 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, + 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x22, 0x12, 0x14, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x54, 0x61, + 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x19, 0x2f, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, - 0x67, 0x73, 0x12, 0x7b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x54, 0x61, 0x67, 0x73, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x19, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x2f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x6c, 0x6c, 0x54, - 0x61, 0x67, 0x73, 0x62, 0x0a, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, - 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x73, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x18, 0x2f, 0x63, 0x61, 0x66, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x56, 0x0a, - 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, - 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x0f, - 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x62, - 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x18, 0x2f, 0x63, 0x61, + 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x66, 0x65, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x73, 0x62, 0x09, 0x63, 0x61, 0x66, 0x65, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x12, 0x15, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, + 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x17, 0x12, 0x0f, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2f, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x68, + 0x65, 0x73, 0x62, 0x04, 0x64, 0x69, 0x73, 0x68, 0x12, 0x6d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, - 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, - 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, - 0x2f, 0x67, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, - 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, + 0x12, 0x15, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x21, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, + 0x72, 0x65, 0x65, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x47, 0x70, 0x73, + 0x12, 0x90, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4e, - 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, - 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x72, - 0x62, 0x79, 0x12, 0x6a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, - 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, - 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, - 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x70, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, - 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, - 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, - 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, - 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x7d, 0x12, - 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, - 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x7d, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, - 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, + 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6e, 0x65, 0x61, + 0x72, 0x62, 0x79, 0x12, 0x64, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, + 0x54, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, - 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2f, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, - 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x12, 0x22, 0x10, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x2f, 0x6d, 0x79, 0x12, 0x5a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x45, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x22, 0x12, 0x2f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, - 0x65, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x74, 0x79, 0x70, - 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, - 0x1e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, - 0x86, 0x01, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, - 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x2f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x2f, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x77, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x45, - 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, + 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1c, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, + 0x65, 0x2f, 0x74, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, + 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x65, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x70, 0x68, - 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x31, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x29, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x74, - 0x72, 0x69, 0x70, 0x65, 0x2f, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x6b, 0x65, - 0x79, 0x12, 0x71, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x7d, 0x12, 0x49, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, - 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, - 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, - 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, - 0x58, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, - 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x22, 0x09, - 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x6e, - 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, - 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2f, 0x7b, 0x69, - 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x72, 0x7d, 0x12, 0x56, 0x0a, 0x0e, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, - 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x12, 0x22, 0x10, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x09, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, - 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x19, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, - 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x1b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x15, 0x22, 0x13, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x64, - 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2f, 0x7b, - 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x60, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, - 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, - 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, - 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, - 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x72, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x62, 0x61, 0x72, 0x72, + 0x69, 0x65, 0x72, 0x66, 0x72, 0x65, 0x65, 0x2f, 0x6d, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x70, + 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x6f, 0x70, 0x65, + 0x6e, 0x69, 0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x7d, 0x12, 0x62, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x17, 0x12, 0x15, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x2f, 0x7b, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x5b, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x75, 0x64, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, + 0x0b, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x07, + 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x12, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, + 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x6b, 0x69, 0x6e, 0x6f, 0x2f, 0x7b, + 0x6c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x7d, 0x12, 0x58, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x46, + 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, + 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x11, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x22, 0x09, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, + 0x6b, 0x12, 0x71, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, + 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, + 0x64, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x66, 0x65, 0x65, + 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x4e, 0x72, 0x7d, 0x12, 0x56, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x10, 0x2f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x09, + 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4b, 0x65, 0x79, + 0x12, 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x55, 0x4d, 0x43, 0x61, 0x62, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x13, 0x2f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x64, 0x64, 0x47, 0x63, 0x6d, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x6b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x20, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, 0x7d, 0x12, 0x71, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, + 0x12, 0x1f, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x7d, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x19, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x29, 0x12, 0x27, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x7d, 0x12, 0x54, 0x0a, 0x0a, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, + 0x10, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6c, 0x72, 0x7a, 0x49, 0x64, + 0x7d, 0x42, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x2e, 0x74, 0x75, 0x6d, 0x2e, 0x63, 0x61, 0x6d, + 0x70, 0x75, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, + 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x55, 0x4d, 0x2d, 0x44, 0x65, 0x76, 0x2f, 0x43, 0x61, + 0x6d, 0x70, 0x75, 0x73, 0x2d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, 0x69, + 0xaa, 0x02, 0x0e, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -6314,7 +5297,7 @@ func file_CampusService_proto_rawDescGZIP() []byte { return file_CampusService_proto_rawDescData } -var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 84) +var file_CampusService_proto_msgTypes = make([]protoimpl.MessageInfo, 69) var file_CampusService_proto_goTypes = []interface{}{ (*GetRoomScheduleRequest)(nil), // 0: api.GetRoomScheduleRequest (*GetRoomScheduleReply)(nil), // 1: api.GetRoomScheduleReply @@ -6368,63 +5351,48 @@ var file_CampusService_proto_goTypes = []interface{}{ (*GetEventListRequest)(nil), // 49: api.GetEventListRequest (*GetEventListReply)(nil), // 50: api.GetEventListReply (*EventListMsgElement)(nil), // 51: api.EventListMsgElement - (*GetPurchasedTicketsReply)(nil), // 52: api.GetPurchasedTicketsReply - (*EventTicketMyMsgElement)(nil), // 53: api.EventTicketMyMsgElement - (*GetTicketRequest)(nil), // 54: api.GetTicketRequest - (*GetEventTicketTypeReply)(nil), // 55: api.GetEventTicketTypeReply - (*EventTicketTypeMsgElement)(nil), // 56: api.EventTicketTypeMsgElement - (*EventTicketPaymentMsg)(nil), // 57: api.EventTicketPaymentMsg - (*ReserveMultipleTicketsRequest)(nil), // 58: api.ReserveMultipleTicketsRequest - (*ReserveMultipleTicketsReply)(nil), // 59: api.ReserveMultipleTicketsReply - (*EventTicketReserveMultipleMsgElement)(nil), // 60: api.EventTicketReserveMultipleMsgElement - (*GetKinoRequest)(nil), // 61: api.GetKinoRequest - (*GetKinoReply)(nil), // 62: api.GetKinoReply - (*KinoMsgElement)(nil), // 63: api.KinoMsgElement - (*SendFeedbackRequest)(nil), // 64: api.SendFeedbackRequest - (*SendFeedbackImageReply)(nil), // 65: api.SendFeedbackImageReply - (*SendFeedbackImageRequest)(nil), // 66: api.SendFeedbackImageRequest - (*GetMembersRequest)(nil), // 67: api.GetMembersRequest - (*GetMembersReply)(nil), // 68: api.GetMembersReply - (*PurchaseTicketStripeReply)(nil), // 69: api.PurchaseTicketStripeReply - (*TicketMessageElement)(nil), // 70: api.TicketMessageElement - (*GetEphemeralKeyReply)(nil), // 71: api.GetEphemeralKeyReply - (*GetTicketStatusRequest)(nil), // 72: api.GetTicketStatusRequest - (*GetTicketStatusReply)(nil), // 73: api.GetTicketStatusReply - (*TicketStatus)(nil), // 74: api.TicketStatus - (*TUMCabeStatus)(nil), // 75: api.TUMCabeStatus - (*GetUploadStatusRequest)(nil), // 76: api.GetUploadStatusRequest - (*GetUploadStatusReply)(nil), // 77: api.GetUploadStatusReply - (*GetNotificationsReply)(nil), // 78: api.GetNotificationsReply - (*NotificationsRequest)(nil), // 79: api.NotificationsRequest - (*GetNotificationsConfirmReply)(nil), // 80: api.GetNotificationsConfirmReply - (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 81: api.GetRoomScheduleReply.RoomScheduleEvent - (*GetRoomMapsReply_Map)(nil), // 82: api.GetRoomMapsReply.Map - (*GetLocationsReply_Location)(nil), // 83: api.GetLocationsReply.Location - (*timestamppb.Timestamp)(nil), // 84: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 85: google.protobuf.Empty + (*GetKinoRequest)(nil), // 52: api.GetKinoRequest + (*GetKinoReply)(nil), // 53: api.GetKinoReply + (*KinoMsgElement)(nil), // 54: api.KinoMsgElement + (*SendFeedbackRequest)(nil), // 55: api.SendFeedbackRequest + (*SendFeedbackImageReply)(nil), // 56: api.SendFeedbackImageReply + (*SendFeedbackImageRequest)(nil), // 57: api.SendFeedbackImageRequest + (*GetMembersRequest)(nil), // 58: api.GetMembersRequest + (*GetMembersReply)(nil), // 59: api.GetMembersReply + (*TUMCabeStatus)(nil), // 60: api.TUMCabeStatus + (*GetUploadStatusRequest)(nil), // 61: api.GetUploadStatusRequest + (*GetUploadStatusReply)(nil), // 62: api.GetUploadStatusReply + (*GetNotificationsReply)(nil), // 63: api.GetNotificationsReply + (*NotificationsRequest)(nil), // 64: api.NotificationsRequest + (*GetNotificationsConfirmReply)(nil), // 65: api.GetNotificationsConfirmReply + (*GetRoomScheduleReply_RoomScheduleEvent)(nil), // 66: api.GetRoomScheduleReply.RoomScheduleEvent + (*GetRoomMapsReply_Map)(nil), // 67: api.GetRoomMapsReply.Map + (*GetLocationsReply_Location)(nil), // 68: api.GetLocationsReply.Location + (*timestamppb.Timestamp)(nil), // 69: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 70: google.protobuf.Empty } var file_CampusService_proto_depIdxs = []int32{ - 84, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp - 84, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp - 81, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent - 82, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map - 83, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location + 69, // 0: api.GetRoomScheduleRequest.start:type_name -> google.protobuf.Timestamp + 69, // 1: api.GetRoomScheduleRequest.end:type_name -> google.protobuf.Timestamp + 66, // 2: api.GetRoomScheduleReply.events:type_name -> api.GetRoomScheduleReply.RoomScheduleEvent + 67, // 3: api.GetRoomMapsReply.maps:type_name -> api.GetRoomMapsReply.Map + 68, // 4: api.GetLocationsReply.locations:type_name -> api.GetLocationsReply.Location 10, // 5: api.SearchRoomsReply.rooms:type_name -> api.Room 12, // 6: api.NewsSourceArray.sources:type_name -> api.NewsSource - 84, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp - 84, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp - 84, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp - 84, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp - 84, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp - 84, // 12: api.DishRatingRequest.from:type_name -> google.protobuf.Timestamp - 84, // 13: api.DishRatingRequest.to:type_name -> google.protobuf.Timestamp + 69, // 7: api.GetTopNewsReply.created:type_name -> google.protobuf.Timestamp + 69, // 8: api.GetTopNewsReply.from:type_name -> google.protobuf.Timestamp + 69, // 9: api.GetTopNewsReply.to:type_name -> google.protobuf.Timestamp + 69, // 10: api.CafeteriaRatingRequest.from:type_name -> google.protobuf.Timestamp + 69, // 11: api.CafeteriaRatingRequest.to:type_name -> google.protobuf.Timestamp + 69, // 12: api.DishRatingRequest.from:type_name -> google.protobuf.Timestamp + 69, // 13: api.DishRatingRequest.to:type_name -> google.protobuf.Timestamp 18, // 14: api.CafeteriaRatingReply.rating:type_name -> api.SingleRatingReply 25, // 15: api.CafeteriaRatingReply.ratingTags:type_name -> api.RatingTagResult 18, // 16: api.DishRatingReply.rating:type_name -> api.SingleRatingReply 25, // 17: api.DishRatingReply.ratingTags:type_name -> api.RatingTagResult 25, // 18: api.DishRatingReply.nameTags:type_name -> api.RatingTagResult 24, // 19: api.SingleRatingReply.ratingTags:type_name -> api.RatingTagNewRequest - 84, // 20: api.SingleRatingReply.visited:type_name -> google.protobuf.Timestamp + 69, // 20: api.SingleRatingReply.visited:type_name -> google.protobuf.Timestamp 23, // 21: api.NewCafeteriaRatingRequest.ratingTags:type_name -> api.RatingTag 23, // 22: api.NewDishRatingRequest.ratingTags:type_name -> api.RatingTag 22, // 23: api.GetRatingTagsReply.ratingTags:type_name -> api.RatingTagsOverview @@ -6439,110 +5407,88 @@ var file_CampusService_proto_depIdxs = []int32{ 47, // 32: api.GetStudyRoomListReply.rooms:type_name -> api.StudyRoomMsgElement 48, // 33: api.StudyRoomMsgElement.rooms:type_name -> api.StudyRoom 51, // 34: api.GetEventListReply.events:type_name -> api.EventListMsgElement - 84, // 35: api.EventListMsgElement.start:type_name -> google.protobuf.Timestamp - 84, // 36: api.EventListMsgElement.end:type_name -> google.protobuf.Timestamp - 53, // 37: api.GetPurchasedTicketsReply.myTickets:type_name -> api.EventTicketMyMsgElement - 84, // 38: api.EventTicketMyMsgElement.redemption:type_name -> google.protobuf.Timestamp - 56, // 39: api.GetEventTicketTypeReply.eventTickets:type_name -> api.EventTicketTypeMsgElement - 57, // 40: api.EventTicketTypeMsgElement.payment:type_name -> api.EventTicketPaymentMsg - 60, // 41: api.ReserveMultipleTicketsReply.tickets:type_name -> api.EventTicketReserveMultipleMsgElement - 63, // 42: api.GetKinoReply.kinos:type_name -> api.KinoMsgElement - 84, // 43: api.KinoMsgElement.date:type_name -> google.protobuf.Timestamp - 84, // 44: api.KinoMsgElement.created:type_name -> google.protobuf.Timestamp - 70, // 45: api.PurchaseTicketStripeReply.tickets:type_name -> api.TicketMessageElement - 84, // 46: api.TicketMessageElement.redemption:type_name -> google.protobuf.Timestamp - 74, // 47: api.GetTicketStatusReply.status:type_name -> api.TicketStatus - 84, // 48: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp - 84, // 49: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp - 85, // 50: api.Campus.GetTopNews:input_type -> google.protobuf.Empty - 85, // 51: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty - 8, // 52: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest - 6, // 53: api.Campus.GetLocations:input_type -> api.GetLocationsRequest - 4, // 54: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest - 2, // 55: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest - 0, // 56: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest - 14, // 57: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest - 15, // 58: api.Campus.GetDishRatings:input_type -> api.DishRatingRequest - 19, // 59: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest - 20, // 60: api.Campus.NewDishRating:input_type -> api.NewDishRatingRequest - 85, // 61: api.Campus.GetAvailableDishTags:input_type -> google.protobuf.Empty - 85, // 62: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty - 85, // 63: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty - 28, // 64: api.Campus.GetDishes:input_type -> api.GetDishesRequest - 85, // 65: api.Campus.GetResponsiblePerson:input_type -> google.protobuf.Empty - 85, // 66: api.Campus.GetBuilding2Gps:input_type -> google.protobuf.Empty - 35, // 67: api.Campus.GetAreaFacilitiesByBuildingNr:input_type -> api.GetAreaFacilitiesByBuildingNrRequest - 85, // 68: api.Campus.GetListOfToilets:input_type -> google.protobuf.Empty - 85, // 69: api.Campus.GetListOfElevators:input_type -> google.protobuf.Empty - 85, // 70: api.Campus.GetMoreInformation:input_type -> google.protobuf.Empty - 41, // 71: api.Campus.GetOpeningTimes:input_type -> api.GetOpeningTimesRequest - 44, // 72: api.Campus.GetUpdateNote:input_type -> api.GetUpdateNoteRequest - 85, // 73: api.Campus.GetStudyRoomList:input_type -> google.protobuf.Empty - 49, // 74: api.Campus.GetEventList:input_type -> api.GetEventListRequest - 85, // 75: api.Campus.GetPurchasedTickets:input_type -> google.protobuf.Empty - 54, // 76: api.Campus.GetMyTicket:input_type -> api.GetTicketRequest - 54, // 77: api.Campus.GetTicketType:input_type -> api.GetTicketRequest - 58, // 78: api.Campus.ReserveMultipleTickets:input_type -> api.ReserveMultipleTicketsRequest - 85, // 79: api.Campus.PurchaseTicketStripe:input_type -> google.protobuf.Empty - 85, // 80: api.Campus.GetEphemeralKey:input_type -> google.protobuf.Empty - 72, // 81: api.Campus.GetTicketStatus:input_type -> api.GetTicketStatusRequest - 61, // 82: api.Campus.GetKino:input_type -> api.GetKinoRequest - 64, // 83: api.Campus.SendFeedback:input_type -> api.SendFeedbackRequest - 66, // 84: api.Campus.SendFeedbackImage:input_type -> api.SendFeedbackImageRequest - 85, // 85: api.Campus.RegisterDevice:input_type -> google.protobuf.Empty - 85, // 86: api.Campus.VerifyKey:input_type -> google.protobuf.Empty - 85, // 87: api.Campus.DeviceUploadGcmToken:input_type -> google.protobuf.Empty - 76, // 88: api.Campus.GetUploadStatus:input_type -> api.GetUploadStatusRequest - 79, // 89: api.Campus.GetNotification:input_type -> api.NotificationsRequest - 79, // 90: api.Campus.GetNotificationConfirm:input_type -> api.NotificationsRequest - 67, // 91: api.Campus.GetMembers:input_type -> api.GetMembersRequest - 13, // 92: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply - 11, // 93: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray - 9, // 94: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply - 7, // 95: api.Campus.GetLocations:output_type -> api.GetLocationsReply - 5, // 96: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply - 3, // 97: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply - 1, // 98: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply - 16, // 99: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply - 17, // 100: api.Campus.GetDishRatings:output_type -> api.DishRatingReply - 85, // 101: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty - 85, // 102: api.Campus.NewDishRating:output_type -> google.protobuf.Empty - 21, // 103: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply - 21, // 104: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply - 26, // 105: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply - 29, // 106: api.Campus.GetDishes:output_type -> api.GetDishesReply - 30, // 107: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply - 32, // 108: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply - 34, // 109: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply - 36, // 110: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply - 38, // 111: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply - 39, // 112: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply - 42, // 113: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply - 45, // 114: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply - 46, // 115: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply - 50, // 116: api.Campus.GetEventList:output_type -> api.GetEventListReply - 52, // 117: api.Campus.GetPurchasedTickets:output_type -> api.GetPurchasedTicketsReply - 51, // 118: api.Campus.GetMyTicket:output_type -> api.EventListMsgElement - 55, // 119: api.Campus.GetTicketType:output_type -> api.GetEventTicketTypeReply - 59, // 120: api.Campus.ReserveMultipleTickets:output_type -> api.ReserveMultipleTicketsReply - 69, // 121: api.Campus.PurchaseTicketStripe:output_type -> api.PurchaseTicketStripeReply - 71, // 122: api.Campus.GetEphemeralKey:output_type -> api.GetEphemeralKeyReply - 73, // 123: api.Campus.GetTicketStatus:output_type -> api.GetTicketStatusReply - 62, // 124: api.Campus.GetKino:output_type -> api.GetKinoReply - 65, // 125: api.Campus.SendFeedback:output_type -> api.SendFeedbackImageReply - 65, // 126: api.Campus.SendFeedbackImage:output_type -> api.SendFeedbackImageReply - 75, // 127: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus - 75, // 128: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus - 75, // 129: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus - 77, // 130: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply - 78, // 131: api.Campus.GetNotification:output_type -> api.GetNotificationsReply - 80, // 132: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply - 68, // 133: api.Campus.GetMembers:output_type -> api.GetMembersReply - 92, // [92:134] is the sub-list for method output_type - 50, // [50:92] is the sub-list for method input_type - 50, // [50:50] is the sub-list for extension type_name - 50, // [50:50] is the sub-list for extension extendee - 0, // [0:50] is the sub-list for field type_name + 69, // 35: api.EventListMsgElement.start:type_name -> google.protobuf.Timestamp + 69, // 36: api.EventListMsgElement.end:type_name -> google.protobuf.Timestamp + 54, // 37: api.GetKinoReply.kinos:type_name -> api.KinoMsgElement + 69, // 38: api.KinoMsgElement.date:type_name -> google.protobuf.Timestamp + 69, // 39: api.KinoMsgElement.created:type_name -> google.protobuf.Timestamp + 69, // 40: api.GetRoomScheduleReply.RoomScheduleEvent.start:type_name -> google.protobuf.Timestamp + 69, // 41: api.GetRoomScheduleReply.RoomScheduleEvent.end:type_name -> google.protobuf.Timestamp + 70, // 42: api.Campus.GetTopNews:input_type -> google.protobuf.Empty + 70, // 43: api.Campus.GetNewsSources:input_type -> google.protobuf.Empty + 8, // 44: api.Campus.SearchRooms:input_type -> api.SearchRoomsRequest + 6, // 45: api.Campus.GetLocations:input_type -> api.GetLocationsRequest + 4, // 46: api.Campus.GetRoomMaps:input_type -> api.GetRoomMapsRequest + 2, // 47: api.Campus.GetRoomCoordinates:input_type -> api.GetRoomCoordinatesRequest + 0, // 48: api.Campus.GetRoomSchedule:input_type -> api.GetRoomScheduleRequest + 14, // 49: api.Campus.GetCafeteriaRatings:input_type -> api.CafeteriaRatingRequest + 15, // 50: api.Campus.GetDishRatings:input_type -> api.DishRatingRequest + 19, // 51: api.Campus.NewCafeteriaRating:input_type -> api.NewCafeteriaRatingRequest + 20, // 52: api.Campus.NewDishRating:input_type -> api.NewDishRatingRequest + 70, // 53: api.Campus.GetAvailableDishTags:input_type -> google.protobuf.Empty + 70, // 54: api.Campus.GetAvailableCafeteriaTags:input_type -> google.protobuf.Empty + 70, // 55: api.Campus.GetCafeterias:input_type -> google.protobuf.Empty + 28, // 56: api.Campus.GetDishes:input_type -> api.GetDishesRequest + 70, // 57: api.Campus.GetResponsiblePerson:input_type -> google.protobuf.Empty + 70, // 58: api.Campus.GetBuilding2Gps:input_type -> google.protobuf.Empty + 35, // 59: api.Campus.GetAreaFacilitiesByBuildingNr:input_type -> api.GetAreaFacilitiesByBuildingNrRequest + 70, // 60: api.Campus.GetListOfToilets:input_type -> google.protobuf.Empty + 70, // 61: api.Campus.GetListOfElevators:input_type -> google.protobuf.Empty + 70, // 62: api.Campus.GetMoreInformation:input_type -> google.protobuf.Empty + 41, // 63: api.Campus.GetOpeningTimes:input_type -> api.GetOpeningTimesRequest + 44, // 64: api.Campus.GetUpdateNote:input_type -> api.GetUpdateNoteRequest + 70, // 65: api.Campus.GetStudyRoomList:input_type -> google.protobuf.Empty + 49, // 66: api.Campus.GetEventList:input_type -> api.GetEventListRequest + 52, // 67: api.Campus.GetKino:input_type -> api.GetKinoRequest + 55, // 68: api.Campus.SendFeedback:input_type -> api.SendFeedbackRequest + 57, // 69: api.Campus.SendFeedbackImage:input_type -> api.SendFeedbackImageRequest + 70, // 70: api.Campus.RegisterDevice:input_type -> google.protobuf.Empty + 70, // 71: api.Campus.VerifyKey:input_type -> google.protobuf.Empty + 70, // 72: api.Campus.DeviceUploadGcmToken:input_type -> google.protobuf.Empty + 61, // 73: api.Campus.GetUploadStatus:input_type -> api.GetUploadStatusRequest + 64, // 74: api.Campus.GetNotification:input_type -> api.NotificationsRequest + 64, // 75: api.Campus.GetNotificationConfirm:input_type -> api.NotificationsRequest + 58, // 76: api.Campus.GetMembers:input_type -> api.GetMembersRequest + 13, // 77: api.Campus.GetTopNews:output_type -> api.GetTopNewsReply + 11, // 78: api.Campus.GetNewsSources:output_type -> api.NewsSourceArray + 9, // 79: api.Campus.SearchRooms:output_type -> api.SearchRoomsReply + 7, // 80: api.Campus.GetLocations:output_type -> api.GetLocationsReply + 5, // 81: api.Campus.GetRoomMaps:output_type -> api.GetRoomMapsReply + 3, // 82: api.Campus.GetRoomCoordinates:output_type -> api.GetRoomCoordinatesReply + 1, // 83: api.Campus.GetRoomSchedule:output_type -> api.GetRoomScheduleReply + 16, // 84: api.Campus.GetCafeteriaRatings:output_type -> api.CafeteriaRatingReply + 17, // 85: api.Campus.GetDishRatings:output_type -> api.DishRatingReply + 70, // 86: api.Campus.NewCafeteriaRating:output_type -> google.protobuf.Empty + 70, // 87: api.Campus.NewDishRating:output_type -> google.protobuf.Empty + 21, // 88: api.Campus.GetAvailableDishTags:output_type -> api.GetRatingTagsReply + 21, // 89: api.Campus.GetAvailableCafeteriaTags:output_type -> api.GetRatingTagsReply + 26, // 90: api.Campus.GetCafeterias:output_type -> api.GetCafeteriaReply + 29, // 91: api.Campus.GetDishes:output_type -> api.GetDishesReply + 30, // 92: api.Campus.GetResponsiblePerson:output_type -> api.GetResponsiblePersonReply + 32, // 93: api.Campus.GetBuilding2Gps:output_type -> api.GetBuilding2GpsReply + 34, // 94: api.Campus.GetAreaFacilitiesByBuildingNr:output_type -> api.GetAreaFacilitiesByBuildingNrReply + 36, // 95: api.Campus.GetListOfToilets:output_type -> api.GetListOfToiletsReply + 38, // 96: api.Campus.GetListOfElevators:output_type -> api.GetListOfElevatorsReply + 39, // 97: api.Campus.GetMoreInformation:output_type -> api.GetMoreInformationReply + 42, // 98: api.Campus.GetOpeningTimes:output_type -> api.GetOpeningTimesReply + 45, // 99: api.Campus.GetUpdateNote:output_type -> api.GetUpdateNoteReply + 46, // 100: api.Campus.GetStudyRoomList:output_type -> api.GetStudyRoomListReply + 50, // 101: api.Campus.GetEventList:output_type -> api.GetEventListReply + 53, // 102: api.Campus.GetKino:output_type -> api.GetKinoReply + 56, // 103: api.Campus.SendFeedback:output_type -> api.SendFeedbackImageReply + 56, // 104: api.Campus.SendFeedbackImage:output_type -> api.SendFeedbackImageReply + 60, // 105: api.Campus.RegisterDevice:output_type -> api.TUMCabeStatus + 60, // 106: api.Campus.VerifyKey:output_type -> api.TUMCabeStatus + 60, // 107: api.Campus.DeviceUploadGcmToken:output_type -> api.TUMCabeStatus + 62, // 108: api.Campus.GetUploadStatus:output_type -> api.GetUploadStatusReply + 63, // 109: api.Campus.GetNotification:output_type -> api.GetNotificationsReply + 65, // 110: api.Campus.GetNotificationConfirm:output_type -> api.GetNotificationsConfirmReply + 59, // 111: api.Campus.GetMembers:output_type -> api.GetMembersReply + 77, // [77:112] is the sub-list for method output_type + 42, // [42:77] is the sub-list for method input_type + 42, // [42:42] is the sub-list for extension type_name + 42, // [42:42] is the sub-list for extension extendee + 0, // [0:42] is the sub-list for field type_name } func init() { file_CampusService_proto_init() } @@ -7176,114 +6122,6 @@ func file_CampusService_proto_init() { } } file_CampusService_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPurchasedTicketsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventTicketMyMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTicketRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEventTicketTypeReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventTicketTypeMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventTicketPaymentMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReserveMultipleTicketsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReserveMultipleTicketsReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventTicketReserveMultipleMsgElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetKinoRequest); i { case 0: return &v.state @@ -7295,7 +6133,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetKinoReply); i { case 0: return &v.state @@ -7307,7 +6145,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KinoMsgElement); i { case 0: return &v.state @@ -7319,7 +6157,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendFeedbackRequest); i { case 0: return &v.state @@ -7331,7 +6169,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendFeedbackImageReply); i { case 0: return &v.state @@ -7343,7 +6181,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendFeedbackImageRequest); i { case 0: return &v.state @@ -7355,7 +6193,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMembersRequest); i { case 0: return &v.state @@ -7367,7 +6205,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMembersReply); i { case 0: return &v.state @@ -7379,79 +6217,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PurchaseTicketStripeReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TicketMessageElement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEphemeralKeyReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTicketStatusRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTicketStatusReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TicketStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_CampusService_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TUMCabeStatus); i { case 0: return &v.state @@ -7463,7 +6229,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetUploadStatusRequest); i { case 0: return &v.state @@ -7475,7 +6241,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetUploadStatusReply); i { case 0: return &v.state @@ -7487,7 +6253,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNotificationsReply); i { case 0: return &v.state @@ -7499,7 +6265,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotificationsRequest); i { case 0: return &v.state @@ -7511,7 +6277,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNotificationsConfirmReply); i { case 0: return &v.state @@ -7523,7 +6289,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomScheduleReply_RoomScheduleEvent); i { case 0: return &v.state @@ -7535,7 +6301,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRoomMapsReply_Map); i { case 0: return &v.state @@ -7547,7 +6313,7 @@ func file_CampusService_proto_init() { return nil } } - file_CampusService_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_CampusService_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLocationsReply_Location); i { case 0: return &v.state @@ -7566,7 +6332,7 @@ func file_CampusService_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_CampusService_proto_rawDesc, NumEnums: 0, - NumMessages: 84, + NumMessages: 69, NumExtensions: 0, NumServices: 1, }, diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index 1f7a1d43..cc8cbf89 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -766,252 +766,6 @@ func local_request_Campus_GetEventList_0(ctx context.Context, marshaler runtime. } -func request_Campus_GetPurchasedTickets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetPurchasedTickets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetPurchasedTickets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetPurchasedTickets(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetMyTicket_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.GetMyTicket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetMyTicket_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.GetMyTicket(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetTicketType_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := client.GetTicketType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetTicketType_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") - } - - protoReq.Id, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) - } - - msg, err := server.GetTicketType(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Campus_ReserveMultipleTickets_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Campus_ReserveMultipleTickets_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ReserveMultipleTicketsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_ReserveMultipleTickets_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ReserveMultipleTickets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_ReserveMultipleTickets_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ReserveMultipleTicketsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_ReserveMultipleTickets_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ReserveMultipleTickets(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.PurchaseTicketStripe(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_PurchaseTicketStripe_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.PurchaseTicketStripe(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := client.GetEphemeralKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetEphemeralKey_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq emptypb.Empty - var metadata runtime.ServerMetadata - - msg, err := server.GetEphemeralKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Campus_GetTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["eventId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "eventId") - } - - protoReq.EventId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) - } - - msg, err := client.GetTicketStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Campus_GetTicketStatus_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetTicketStatusRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["eventId"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "eventId") - } - - protoReq.EventId, err = runtime.Int32(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "eventId", err) - } - - msg, err := server.GetTicketStatus(ctx, &protoReq) - return msg, metadata, err - -} - func request_Campus_GetKino_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetKinoRequest var metadata runtime.ServerMetadata @@ -1278,19 +1032,25 @@ func local_request_Campus_GetUploadStatus_0(ctx context.Context, marshaler runti } -var ( - filter_Campus_GetNotification_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_Campus_GetNotification_0(ctx context.Context, marshaler runtime.Marshaler, client CampusClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq NotificationsRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["notificationId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "notificationId") } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetNotification_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.NotificationId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "notificationId", err) } msg, err := client.GetNotification(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -1302,11 +1062,21 @@ func local_request_Campus_GetNotification_0(ctx context.Context, marshaler runti var protoReq NotificationsRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["notificationId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "notificationId") } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Campus_GetNotification_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.NotificationId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "notificationId", err) } msg, err := server.GetNotification(ctx, &protoReq) @@ -1815,7 +1585,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/building2Gps")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1839,7 +1609,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nearby")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1863,7 +1633,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/toilets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1887,7 +1657,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/elevators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -1983,7 +1753,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyrooms")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2024,174 +1794,6 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser }) - mux.Handle("POST", pattern_Campus_GetPurchasedTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetPurchasedTickets", runtime.WithHTTPPathPattern("/event/ticket/my")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetPurchasedTickets_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetPurchasedTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetMyTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetMyTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetMyTicket_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetMyTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetTicketType_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_ReserveMultipleTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/ReserveMultipleTickets", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_ReserveMultipleTickets_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_ReserveMultipleTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetEphemeralKey_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Campus_GetTicketStatus_0(ctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -2367,7 +1969,7 @@ func RegisterCampusHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) + ctx, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications/{notificationId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2814,7 +2416,7 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/getBuilding2Gps")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetBuilding2Gps", runtime.WithHTTPPathPattern("/barrierfree/building2Gps")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2835,7 +2437,7 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nerby")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetAreaFacilitiesByBuildingNr", runtime.WithHTTPPathPattern("/barrierfree/nearby")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2856,7 +2458,7 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/listOfToilets")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfToilets", runtime.WithHTTPPathPattern("/barrierfree/toilets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2877,7 +2479,7 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/listOfElevators")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetListOfElevators", runtime.WithHTTPPathPattern("/barrierfree/elevators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2961,7 +2563,7 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyroom/list")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetStudyRoomList", runtime.WithHTTPPathPattern("/studyrooms")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -2998,153 +2600,6 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli }) - mux.Handle("POST", pattern_Campus_GetPurchasedTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetPurchasedTickets", runtime.WithHTTPPathPattern("/event/ticket/my")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetPurchasedTickets_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetPurchasedTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetMyTicket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetMyTicket", runtime.WithHTTPPathPattern("/event/ticket/{id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetMyTicket_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetMyTicket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetTicketType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTicketType", runtime.WithHTTPPathPattern("/event/ticket/type/{id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetTicketType_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTicketType_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_ReserveMultipleTickets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/ReserveMultipleTickets", runtime.WithHTTPPathPattern("/event/ticket/reserve/multiple")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_ReserveMultipleTickets_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_ReserveMultipleTickets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_PurchaseTicketStripe_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/PurchaseTicketStripe", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/purchase/multiple")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_PurchaseTicketStripe_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_PurchaseTicketStripe_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Campus_GetEphemeralKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetEphemeralKey", runtime.WithHTTPPathPattern("/event/ticket/payment/stripe/ephemeralkey")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetEphemeralKey_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetEphemeralKey_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Campus_GetTicketStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetTicketStatus", runtime.WithHTTPPathPattern("/event/ticket/status/{eventId}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Campus_GetTicketStatus_0(ctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Campus_GetTicketStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Campus_GetKino_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3297,7 +2752,7 @@ func RegisterCampusHandlerClient(ctx context.Context, mux *runtime.ServeMux, cli defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error - ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications")) + ctx, err = runtime.AnnotateContext(ctx, mux, req, "/api.Campus/GetNotification", runtime.WithHTTPPathPattern("/notifications/{notificationId}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -3472,13 +2927,13 @@ var ( pattern_Campus_GetResponsiblePerson_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "contacts"}, "")) - pattern_Campus_GetBuilding2Gps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "getBuilding2Gps"}, "")) + pattern_Campus_GetBuilding2Gps_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "building2Gps"}, "")) - pattern_Campus_GetAreaFacilitiesByBuildingNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "nerby"}, "")) + pattern_Campus_GetAreaFacilitiesByBuildingNr_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "nearby"}, "")) - pattern_Campus_GetListOfToilets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfToilets"}, "")) + pattern_Campus_GetListOfToilets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "toilets"}, "")) - pattern_Campus_GetListOfElevators_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "listOfElevators"}, "")) + pattern_Campus_GetListOfElevators_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "elevators"}, "")) pattern_Campus_GetMoreInformation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"barrierfree", "moreInformation"}, "")) @@ -3486,24 +2941,10 @@ var ( pattern_Campus_GetUpdateNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"updatenote", "version"}, "")) - pattern_Campus_GetStudyRoomList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"studyroom", "list"}, "")) + pattern_Campus_GetStudyRoomList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"studyrooms"}, "")) pattern_Campus_GetEventList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"event", "list"}, "")) - pattern_Campus_GetPurchasedTickets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"event", "ticket", "my"}, "")) - - pattern_Campus_GetMyTicket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"event", "ticket", "id"}, "")) - - pattern_Campus_GetTicketType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "type", "id"}, "")) - - pattern_Campus_ReserveMultipleTickets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"event", "ticket", "reserve", "multiple"}, "")) - - pattern_Campus_PurchaseTicketStripe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5}, []string{"event", "ticket", "payment", "stripe", "purchase", "multiple"}, "")) - - pattern_Campus_GetEphemeralKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"event", "ticket", "payment", "stripe", "ephemeralkey"}, "")) - - pattern_Campus_GetTicketStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"event", "ticket", "status", "eventId"}, "")) - pattern_Campus_GetKino_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"kino", "lastId"}, "")) pattern_Campus_SendFeedback_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"feedback"}, "")) @@ -3518,7 +2959,7 @@ var ( pattern_Campus_GetUploadStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"device", "uploaded", "lrzId"}, "")) - pattern_Campus_GetNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"notifications"}, "")) + pattern_Campus_GetNotification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"notifications", "notificationId"}, "")) pattern_Campus_GetNotificationConfirm_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"notifications", "confirm", "notificationId"}, "")) @@ -3576,20 +3017,6 @@ var ( forward_Campus_GetEventList_0 = runtime.ForwardResponseMessage - forward_Campus_GetPurchasedTickets_0 = runtime.ForwardResponseMessage - - forward_Campus_GetMyTicket_0 = runtime.ForwardResponseMessage - - forward_Campus_GetTicketType_0 = runtime.ForwardResponseMessage - - forward_Campus_ReserveMultipleTickets_0 = runtime.ForwardResponseMessage - - forward_Campus_PurchaseTicketStripe_0 = runtime.ForwardResponseMessage - - forward_Campus_GetEphemeralKey_0 = runtime.ForwardResponseMessage - - forward_Campus_GetTicketStatus_0 = runtime.ForwardResponseMessage - forward_Campus_GetKino_0 = runtime.ForwardResponseMessage forward_Campus_SendFeedback_0 = runtime.ForwardResponseMessage diff --git a/api/CampusService.proto b/api/CampusService.proto index a0c53756..7ca63bf7 100644 --- a/api/CampusService.proto +++ b/api/CampusService.proto @@ -639,57 +639,6 @@ message EventListMsgElement{ } -message GetPurchasedTicketsReply{ - repeated EventTicketMyMsgElement myTickets = 1; -} - -message EventTicketMyMsgElement{ - int32 ticket_history = 1; - int32 ticket_type = 2; - google.protobuf.Timestamp redemption = 3; - string code = 4; - int32 event = 5; -} - -message GetTicketRequest { - int32 id = 1; -} - -message GetEventTicketTypeReply{ - repeated EventTicketTypeMsgElement eventTickets = 1; - -} -message EventTicketTypeMsgElement{ - int32 ticket_type = 1; - int32 event = 2; - int32 ticket_payment = 3; - int32 price = 4; - int32 contingent = 5; - string description = 6; - EventTicketPaymentMsg payment = 7; - int32 sold = 8; -} - -message EventTicketPaymentMsg{ - string stripe_publishable_key = 1; - string terms = 2; - int32 minTickets = 3; - int32 maxTickets = 4; -} - -message ReserveMultipleTicketsRequest{ - repeated int32 ticketTypes = 1; - repeated int32 amounts = 2; -} - -message ReserveMultipleTicketsReply{ - repeated EventTicketReserveMultipleMsgElement tickets = 1; -} - -message EventTicketReserveMultipleMsgElement{ - int32 ticket_ids = 1; -} - message GetKinoRequest{ int32 lastId = 1; } @@ -750,42 +699,6 @@ message GetMembersReply{ int32 memberId = 3; } - - - -message PurchaseTicketStripeReply{ - repeated TicketMessageElement tickets = 1; -} - -message TicketMessageElement{ - int32 id = 1; - int32 eventId = 2; - string code = 3; - int32 ticketTypeId = 4; - google.protobuf.Timestamp redemption = 5; -} - - -message GetEphemeralKeyReply{ - //todo How does this look? -} - - -message GetTicketStatusRequest{ - int32 eventId = 1; -} - - -message GetTicketStatusReply{ - repeated TicketStatus status = 1; -} - -message TicketStatus{ - int32 ticketType = 1; - int32 contingent = 2; - int32 sold = 3; -} - message TUMCabeStatus{ string status = 1; } diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index f1c37401..6ce82f5d 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -50,13 +50,6 @@ type CampusClient interface { GetUpdateNote(ctx context.Context, in *GetUpdateNoteRequest, opts ...grpc.CallOption) (*GetUpdateNoteReply, error) GetStudyRoomList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetStudyRoomListReply, error) GetEventList(ctx context.Context, in *GetEventListRequest, opts ...grpc.CallOption) (*GetEventListReply, error) - GetPurchasedTickets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPurchasedTicketsReply, error) - GetMyTicket(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) - GetTicketType(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) - ReserveMultipleTickets(ctx context.Context, in *ReserveMultipleTicketsRequest, opts ...grpc.CallOption) (*ReserveMultipleTicketsReply, error) - PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) - GetEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetEphemeralKeyReply, error) - GetTicketStatus(ctx context.Context, in *GetTicketStatusRequest, opts ...grpc.CallOption) (*GetTicketStatusReply, error) GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) SendFeedback(ctx context.Context, in *SendFeedbackRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) SendFeedbackImage(ctx context.Context, in *SendFeedbackImageRequest, opts ...grpc.CallOption) (*SendFeedbackImageReply, error) @@ -302,69 +295,6 @@ func (c *campusClient) GetEventList(ctx context.Context, in *GetEventListRequest return out, nil } -func (c *campusClient) GetPurchasedTickets(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPurchasedTicketsReply, error) { - out := new(GetPurchasedTicketsReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetPurchasedTickets", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetMyTicket(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*EventListMsgElement, error) { - out := new(EventListMsgElement) - err := c.cc.Invoke(ctx, "/api.Campus/GetMyTicket", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetTicketType(ctx context.Context, in *GetTicketRequest, opts ...grpc.CallOption) (*GetEventTicketTypeReply, error) { - out := new(GetEventTicketTypeReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetTicketType", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) ReserveMultipleTickets(ctx context.Context, in *ReserveMultipleTicketsRequest, opts ...grpc.CallOption) (*ReserveMultipleTicketsReply, error) { - out := new(ReserveMultipleTicketsReply) - err := c.cc.Invoke(ctx, "/api.Campus/ReserveMultipleTickets", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) PurchaseTicketStripe(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PurchaseTicketStripeReply, error) { - out := new(PurchaseTicketStripeReply) - err := c.cc.Invoke(ctx, "/api.Campus/PurchaseTicketStripe", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetEphemeralKey(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetEphemeralKeyReply, error) { - out := new(GetEphemeralKeyReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetEphemeralKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *campusClient) GetTicketStatus(ctx context.Context, in *GetTicketStatusRequest, opts ...grpc.CallOption) (*GetTicketStatusReply, error) { - out := new(GetTicketStatusReply) - err := c.cc.Invoke(ctx, "/api.Campus/GetTicketStatus", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *campusClient) GetKino(ctx context.Context, in *GetKinoRequest, opts ...grpc.CallOption) (*GetKinoReply, error) { out := new(GetKinoReply) err := c.cc.Invoke(ctx, "/api.Campus/GetKino", in, out, opts...) @@ -486,13 +416,6 @@ type CampusServer interface { GetUpdateNote(context.Context, *GetUpdateNoteRequest) (*GetUpdateNoteReply, error) GetStudyRoomList(context.Context, *emptypb.Empty) (*GetStudyRoomListReply, error) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) - GetPurchasedTickets(context.Context, *emptypb.Empty) (*GetPurchasedTicketsReply, error) - GetMyTicket(context.Context, *GetTicketRequest) (*EventListMsgElement, error) - GetTicketType(context.Context, *GetTicketRequest) (*GetEventTicketTypeReply, error) - ReserveMultipleTickets(context.Context, *ReserveMultipleTicketsRequest) (*ReserveMultipleTicketsReply, error) - PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) - GetEphemeralKey(context.Context, *emptypb.Empty) (*GetEphemeralKeyReply, error) - GetTicketStatus(context.Context, *GetTicketStatusRequest) (*GetTicketStatusReply, error) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) SendFeedback(context.Context, *SendFeedbackRequest) (*SendFeedbackImageReply, error) SendFeedbackImage(context.Context, *SendFeedbackImageRequest) (*SendFeedbackImageReply, error) @@ -585,27 +508,6 @@ func (UnimplementedCampusServer) GetStudyRoomList(context.Context, *emptypb.Empt func (UnimplementedCampusServer) GetEventList(context.Context, *GetEventListRequest) (*GetEventListReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetEventList not implemented") } -func (UnimplementedCampusServer) GetPurchasedTickets(context.Context, *emptypb.Empty) (*GetPurchasedTicketsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetPurchasedTickets not implemented") -} -func (UnimplementedCampusServer) GetMyTicket(context.Context, *GetTicketRequest) (*EventListMsgElement, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMyTicket not implemented") -} -func (UnimplementedCampusServer) GetTicketType(context.Context, *GetTicketRequest) (*GetEventTicketTypeReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTicketType not implemented") -} -func (UnimplementedCampusServer) ReserveMultipleTickets(context.Context, *ReserveMultipleTicketsRequest) (*ReserveMultipleTicketsReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method ReserveMultipleTickets not implemented") -} -func (UnimplementedCampusServer) PurchaseTicketStripe(context.Context, *emptypb.Empty) (*PurchaseTicketStripeReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method PurchaseTicketStripe not implemented") -} -func (UnimplementedCampusServer) GetEphemeralKey(context.Context, *emptypb.Empty) (*GetEphemeralKeyReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetEphemeralKey not implemented") -} -func (UnimplementedCampusServer) GetTicketStatus(context.Context, *GetTicketStatusRequest) (*GetTicketStatusReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTicketStatus not implemented") -} func (UnimplementedCampusServer) GetKino(context.Context, *GetKinoRequest) (*GetKinoReply, error) { return nil, status.Errorf(codes.Unimplemented, "method GetKino not implemented") } @@ -1099,132 +1001,6 @@ func _Campus_GetEventList_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } -func _Campus_GetPurchasedTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetPurchasedTickets(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetPurchasedTickets", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetPurchasedTickets(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetMyTicket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTicketRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetMyTicket(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetMyTicket", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetMyTicket(ctx, req.(*GetTicketRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetTicketType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTicketRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetTicketType(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetTicketType", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetTicketType(ctx, req.(*GetTicketRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_ReserveMultipleTickets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ReserveMultipleTicketsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).ReserveMultipleTickets(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/ReserveMultipleTickets", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).ReserveMultipleTickets(ctx, req.(*ReserveMultipleTicketsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_PurchaseTicketStripe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).PurchaseTicketStripe(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/PurchaseTicketStripe", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).PurchaseTicketStripe(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetEphemeralKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetEphemeralKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetEphemeralKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetEphemeralKey(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Campus_GetTicketStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTicketStatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CampusServer).GetTicketStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/api.Campus/GetTicketStatus", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetTicketStatus(ctx, req.(*GetTicketStatusRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Campus_GetKino_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetKinoRequest) if err := dec(in); err != nil { @@ -1512,34 +1288,6 @@ var Campus_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetEventList", Handler: _Campus_GetEventList_Handler, }, - { - MethodName: "GetPurchasedTickets", - Handler: _Campus_GetPurchasedTickets_Handler, - }, - { - MethodName: "GetMyTicket", - Handler: _Campus_GetMyTicket_Handler, - }, - { - MethodName: "GetTicketType", - Handler: _Campus_GetTicketType_Handler, - }, - { - MethodName: "ReserveMultipleTickets", - Handler: _Campus_ReserveMultipleTickets_Handler, - }, - { - MethodName: "PurchaseTicketStripe", - Handler: _Campus_PurchaseTicketStripe_Handler, - }, - { - MethodName: "GetEphemeralKey", - Handler: _Campus_GetEphemeralKey_Handler, - }, - { - MethodName: "GetTicketStatus", - Handler: _Campus_GetTicketStatus_Handler, - }, { MethodName: "GetKino", Handler: _Campus_GetKino_Handler, diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index 3ed0b9f0..f8e15772 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -17,14 +17,14 @@ "application/json" ], "paths": { - "/barrierfree/contacts": { + "/barrierfree/building2Gps": { "get": { - "operationId": "Campus_GetResponsiblePerson", + "operationId": "Campus_GetBuilding2Gps", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetResponsiblePersonReply" + "$ref": "#/definitions/apiGetBuilding2GpsReply" } }, "default": { @@ -39,14 +39,14 @@ ] } }, - "/barrierfree/getBuilding2Gps": { + "/barrierfree/contacts": { "get": { - "operationId": "Campus_GetBuilding2Gps", + "operationId": "Campus_GetResponsiblePerson", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetBuilding2GpsReply" + "$ref": "#/definitions/apiGetResponsiblePersonReply" } }, "default": { @@ -61,7 +61,7 @@ ] } }, - "/barrierfree/listOfElevators": { + "/barrierfree/elevators": { "get": { "operationId": "Campus_GetListOfElevators", "responses": { @@ -83,14 +83,14 @@ ] } }, - "/barrierfree/listOfToilets": { + "/barrierfree/moreInformation": { "get": { - "operationId": "Campus_GetListOfToilets", + "operationId": "Campus_GetMoreInformation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetListOfToiletsReply" + "$ref": "#/definitions/apiGetMoreInformationReply" } }, "default": { @@ -105,14 +105,14 @@ ] } }, - "/barrierfree/moreInformation": { + "/barrierfree/nearby": { "get": { - "operationId": "Campus_GetMoreInformation", + "operationId": "Campus_GetAreaFacilitiesByBuildingNr", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetMoreInformationReply" + "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" } }, "default": { @@ -122,19 +122,27 @@ } } }, + "parameters": [ + { + "name": "buildingNr", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ "Campus" ] } }, - "/barrierfree/nerby": { + "/barrierfree/toilets": { "get": { - "operationId": "Campus_GetAreaFacilitiesByBuildingNr", + "operationId": "Campus_GetListOfToilets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" + "$ref": "#/definitions/apiGetListOfToiletsReply" } }, "default": { @@ -144,14 +152,6 @@ } } }, - "parameters": [ - { - "name": "buildingNr", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ "Campus" ] @@ -543,211 +543,6 @@ ] } }, - "/event/ticket/my": { - "post": { - "operationId": "Campus_GetPurchasedTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetPurchasedTicketsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/payment/stripe/ephemeralkey": { - "post": { - "operationId": "Campus_GetEphemeralKey", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEphemeralKeyReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/payment/stripe/purchase/multiple": { - "post": { - "operationId": "Campus_PurchaseTicketStripe", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiPurchaseTicketStripeReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/reserve/multiple": { - "post": { - "operationId": "Campus_ReserveMultipleTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiReserveMultipleTicketsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "ticketTypes", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "collectionFormat": "multi" - }, - { - "name": "amounts", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "collectionFormat": "multi" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/status/{eventId}": { - "get": { - "operationId": "Campus_GetTicketStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetTicketStatusReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "eventId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/type/{id}": { - "get": { - "operationId": "Campus_GetTicketType", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEventTicketTypeReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/{id}": { - "post": { - "operationId": "Campus_GetMyTicket", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiEventListMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, "/feedback": { "post": { "operationId": "Campus_SendFeedback", @@ -1009,14 +804,14 @@ ] } }, - "/notifications": { + "/notifications/confirm/{notificationId}": { "get": { - "operationId": "Campus_GetNotification", + "operationId": "Campus_GetNotificationConfirm", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetNotificationsReply" + "$ref": "#/definitions/apiGetNotificationsConfirmReply" } }, "default": { @@ -1029,8 +824,8 @@ "parameters": [ { "name": "notificationId", - "in": "query", - "required": false, + "in": "path", + "required": true, "type": "integer", "format": "int32" } @@ -1040,14 +835,14 @@ ] } }, - "/notifications/confirm/{notificationId}": { + "/notifications/{notificationId}": { "get": { - "operationId": "Campus_GetNotificationConfirm", + "operationId": "Campus_GetNotification", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetNotificationsConfirmReply" + "$ref": "#/definitions/apiGetNotificationsReply" } }, "default": { @@ -1238,7 +1033,7 @@ ] } }, - "/studyroom/list": { + "/studyrooms": { "get": { "operationId": "Campus_GetStudyRoomList", "responses": { @@ -1548,93 +1343,6 @@ } } }, - "apiEventTicketMyMsgElement": { - "type": "object", - "properties": { - "ticketHistory": { - "type": "integer", - "format": "int32" - }, - "ticketType": { - "type": "integer", - "format": "int32" - }, - "redemption": { - "type": "string", - "format": "date-time" - }, - "code": { - "type": "string" - }, - "event": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketPaymentMsg": { - "type": "object", - "properties": { - "stripePublishableKey": { - "type": "string" - }, - "terms": { - "type": "string" - }, - "minTickets": { - "type": "integer", - "format": "int32" - }, - "maxTickets": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketReserveMultipleMsgElement": { - "type": "object", - "properties": { - "ticketIds": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketTypeMsgElement": { - "type": "object", - "properties": { - "ticketType": { - "type": "integer", - "format": "int32" - }, - "event": { - "type": "integer", - "format": "int32" - }, - "ticketPayment": { - "type": "integer", - "format": "int32" - }, - "price": { - "type": "integer", - "format": "int32" - }, - "contingent": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string" - }, - "payment": { - "$ref": "#/definitions/apiEventTicketPaymentMsg" - }, - "sold": { - "type": "integer", - "format": "int32" - } - } - }, "apiGetAreaFacilitiesByBuildingNrReply": { "type": "object", "properties": { @@ -1679,9 +1387,6 @@ } } }, - "apiGetEphemeralKeyReply": { - "type": "object" - }, "apiGetEventListReply": { "type": "object", "properties": { @@ -1693,17 +1398,6 @@ } } }, - "apiGetEventTicketTypeReply": { - "type": "object", - "properties": { - "eventTickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketTypeMsgElement" - } - } - } - }, "apiGetKinoReply": { "type": "object", "properties": { @@ -1835,17 +1529,6 @@ } } }, - "apiGetPurchasedTicketsReply": { - "type": "object", - "properties": { - "myTickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketMyMsgElement" - } - } - } - }, "apiGetRatingTagsReply": { "type": "object", "properties": { @@ -1950,17 +1633,6 @@ } } }, - "apiGetTicketStatusReply": { - "type": "object", - "properties": { - "status": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTicketStatus" - } - } - } - }, "apiGetTopNewsReply": { "type": "object", "properties": { @@ -2210,17 +1882,6 @@ } } }, - "apiPurchaseTicketStripeReply": { - "type": "object", - "properties": { - "tickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTicketMessageElement" - } - } - } - }, "apiRatingTag": { "type": "object", "properties": { @@ -2287,17 +1948,6 @@ } } }, - "apiReserveMultipleTicketsReply": { - "type": "object", - "properties": { - "tickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" - } - } - } - }, "apiResponsiblePersonElement": { "type": "object", "properties": { @@ -2491,47 +2141,6 @@ } } }, - "apiTicketMessageElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "eventId": { - "type": "integer", - "format": "int32" - }, - "code": { - "type": "string" - }, - "ticketTypeId": { - "type": "integer", - "format": "int32" - }, - "redemption": { - "type": "string", - "format": "date-time" - } - } - }, - "apiTicketStatus": { - "type": "object", - "properties": { - "ticketType": { - "type": "integer", - "format": "int32" - }, - "contingent": { - "type": "integer", - "format": "int32" - }, - "sold": { - "type": "integer", - "format": "int32" - } - } - }, "protobufAny": { "type": "object", "properties": { diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index 3ed0b9f0..f8e15772 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -17,14 +17,14 @@ "application/json" ], "paths": { - "/barrierfree/contacts": { + "/barrierfree/building2Gps": { "get": { - "operationId": "Campus_GetResponsiblePerson", + "operationId": "Campus_GetBuilding2Gps", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetResponsiblePersonReply" + "$ref": "#/definitions/apiGetBuilding2GpsReply" } }, "default": { @@ -39,14 +39,14 @@ ] } }, - "/barrierfree/getBuilding2Gps": { + "/barrierfree/contacts": { "get": { - "operationId": "Campus_GetBuilding2Gps", + "operationId": "Campus_GetResponsiblePerson", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetBuilding2GpsReply" + "$ref": "#/definitions/apiGetResponsiblePersonReply" } }, "default": { @@ -61,7 +61,7 @@ ] } }, - "/barrierfree/listOfElevators": { + "/barrierfree/elevators": { "get": { "operationId": "Campus_GetListOfElevators", "responses": { @@ -83,14 +83,14 @@ ] } }, - "/barrierfree/listOfToilets": { + "/barrierfree/moreInformation": { "get": { - "operationId": "Campus_GetListOfToilets", + "operationId": "Campus_GetMoreInformation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetListOfToiletsReply" + "$ref": "#/definitions/apiGetMoreInformationReply" } }, "default": { @@ -105,14 +105,14 @@ ] } }, - "/barrierfree/moreInformation": { + "/barrierfree/nearby": { "get": { - "operationId": "Campus_GetMoreInformation", + "operationId": "Campus_GetAreaFacilitiesByBuildingNr", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetMoreInformationReply" + "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" } }, "default": { @@ -122,19 +122,27 @@ } } }, + "parameters": [ + { + "name": "buildingNr", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ "Campus" ] } }, - "/barrierfree/nerby": { + "/barrierfree/toilets": { "get": { - "operationId": "Campus_GetAreaFacilitiesByBuildingNr", + "operationId": "Campus_GetListOfToilets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetAreaFacilitiesByBuildingNrReply" + "$ref": "#/definitions/apiGetListOfToiletsReply" } }, "default": { @@ -144,14 +152,6 @@ } } }, - "parameters": [ - { - "name": "buildingNr", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ "Campus" ] @@ -543,211 +543,6 @@ ] } }, - "/event/ticket/my": { - "post": { - "operationId": "Campus_GetPurchasedTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetPurchasedTicketsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/payment/stripe/ephemeralkey": { - "post": { - "operationId": "Campus_GetEphemeralKey", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEphemeralKeyReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/payment/stripe/purchase/multiple": { - "post": { - "operationId": "Campus_PurchaseTicketStripe", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiPurchaseTicketStripeReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/reserve/multiple": { - "post": { - "operationId": "Campus_ReserveMultipleTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiReserveMultipleTicketsReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "ticketTypes", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "collectionFormat": "multi" - }, - { - "name": "amounts", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "collectionFormat": "multi" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/status/{eventId}": { - "get": { - "operationId": "Campus_GetTicketStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetTicketStatusReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "eventId", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/type/{id}": { - "get": { - "operationId": "Campus_GetTicketType", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiGetEventTicketTypeReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, - "/event/ticket/{id}": { - "post": { - "operationId": "Campus_GetMyTicket", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/apiEventListMsgElement" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "Campus" - ] - } - }, "/feedback": { "post": { "operationId": "Campus_SendFeedback", @@ -1009,14 +804,14 @@ ] } }, - "/notifications": { + "/notifications/confirm/{notificationId}": { "get": { - "operationId": "Campus_GetNotification", + "operationId": "Campus_GetNotificationConfirm", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetNotificationsReply" + "$ref": "#/definitions/apiGetNotificationsConfirmReply" } }, "default": { @@ -1029,8 +824,8 @@ "parameters": [ { "name": "notificationId", - "in": "query", - "required": false, + "in": "path", + "required": true, "type": "integer", "format": "int32" } @@ -1040,14 +835,14 @@ ] } }, - "/notifications/confirm/{notificationId}": { + "/notifications/{notificationId}": { "get": { - "operationId": "Campus_GetNotificationConfirm", + "operationId": "Campus_GetNotification", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/apiGetNotificationsConfirmReply" + "$ref": "#/definitions/apiGetNotificationsReply" } }, "default": { @@ -1238,7 +1033,7 @@ ] } }, - "/studyroom/list": { + "/studyrooms": { "get": { "operationId": "Campus_GetStudyRoomList", "responses": { @@ -1548,93 +1343,6 @@ } } }, - "apiEventTicketMyMsgElement": { - "type": "object", - "properties": { - "ticketHistory": { - "type": "integer", - "format": "int32" - }, - "ticketType": { - "type": "integer", - "format": "int32" - }, - "redemption": { - "type": "string", - "format": "date-time" - }, - "code": { - "type": "string" - }, - "event": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketPaymentMsg": { - "type": "object", - "properties": { - "stripePublishableKey": { - "type": "string" - }, - "terms": { - "type": "string" - }, - "minTickets": { - "type": "integer", - "format": "int32" - }, - "maxTickets": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketReserveMultipleMsgElement": { - "type": "object", - "properties": { - "ticketIds": { - "type": "integer", - "format": "int32" - } - } - }, - "apiEventTicketTypeMsgElement": { - "type": "object", - "properties": { - "ticketType": { - "type": "integer", - "format": "int32" - }, - "event": { - "type": "integer", - "format": "int32" - }, - "ticketPayment": { - "type": "integer", - "format": "int32" - }, - "price": { - "type": "integer", - "format": "int32" - }, - "contingent": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string" - }, - "payment": { - "$ref": "#/definitions/apiEventTicketPaymentMsg" - }, - "sold": { - "type": "integer", - "format": "int32" - } - } - }, "apiGetAreaFacilitiesByBuildingNrReply": { "type": "object", "properties": { @@ -1679,9 +1387,6 @@ } } }, - "apiGetEphemeralKeyReply": { - "type": "object" - }, "apiGetEventListReply": { "type": "object", "properties": { @@ -1693,17 +1398,6 @@ } } }, - "apiGetEventTicketTypeReply": { - "type": "object", - "properties": { - "eventTickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketTypeMsgElement" - } - } - } - }, "apiGetKinoReply": { "type": "object", "properties": { @@ -1835,17 +1529,6 @@ } } }, - "apiGetPurchasedTicketsReply": { - "type": "object", - "properties": { - "myTickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketMyMsgElement" - } - } - } - }, "apiGetRatingTagsReply": { "type": "object", "properties": { @@ -1950,17 +1633,6 @@ } } }, - "apiGetTicketStatusReply": { - "type": "object", - "properties": { - "status": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTicketStatus" - } - } - } - }, "apiGetTopNewsReply": { "type": "object", "properties": { @@ -2210,17 +1882,6 @@ } } }, - "apiPurchaseTicketStripeReply": { - "type": "object", - "properties": { - "tickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiTicketMessageElement" - } - } - } - }, "apiRatingTag": { "type": "object", "properties": { @@ -2287,17 +1948,6 @@ } } }, - "apiReserveMultipleTicketsReply": { - "type": "object", - "properties": { - "tickets": { - "type": "array", - "items": { - "$ref": "#/definitions/apiEventTicketReserveMultipleMsgElement" - } - } - } - }, "apiResponsiblePersonElement": { "type": "object", "properties": { @@ -2491,47 +2141,6 @@ } } }, - "apiTicketMessageElement": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "eventId": { - "type": "integer", - "format": "int32" - }, - "code": { - "type": "string" - }, - "ticketTypeId": { - "type": "integer", - "format": "int32" - }, - "redemption": { - "type": "string", - "format": "date-time" - } - } - }, - "apiTicketStatus": { - "type": "object", - "properties": { - "ticketType": { - "type": "integer", - "format": "int32" - }, - "contingent": { - "type": "integer", - "format": "int32" - }, - "sold": { - "type": "integer", - "format": "int32" - } - } - }, "protobufAny": { "type": "object", "properties": { From 464f8b50181c88b02cffcaa20677dae148e300b1 Mon Sep 17 00:00:00 2001 From: Tobias Jungmann Date: Sat, 30 Jul 2022 10:01:03 +0200 Subject: [PATCH 24/24] rerun generate after merging --- api/CampusService.pb.gw.go | 1 - api/CampusService_grpc.pb.go | 3 --- api/buf.lock | 2 +- api/gen/openapiv2/CampusService.swagger.json | 20 +++----------------- server/swagger/swagger.json | 18 +++--------------- 5 files changed, 7 insertions(+), 37 deletions(-) diff --git a/api/CampusService.pb.gw.go b/api/CampusService.pb.gw.go index b02ef5de..cc8cbf89 100644 --- a/api/CampusService.pb.gw.go +++ b/api/CampusService.pb.gw.go @@ -307,7 +307,6 @@ func request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Mars } - func local_request_Campus_GetDishRatings_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq DishRatingRequest var metadata runtime.ServerMetadata diff --git a/api/CampusService_grpc.pb.go b/api/CampusService_grpc.pb.go index 11e20b81..6ce82f5d 100644 --- a/api/CampusService_grpc.pb.go +++ b/api/CampusService_grpc.pb.go @@ -400,8 +400,6 @@ type CampusServer interface { // This endpoint retrieves Cafeteria Ratings from the Backend. GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingReply, error) GetDishRatings(context.Context, *DishRatingRequest) (*DishRatingReply, error) - GetCafeteriaRatings(context.Context, *CafeteriaRatingRequest) (*CafeteriaRatingResponse, error) - GetMealRatings(context.Context, *MealRatingRequest) (*MealRatingResponse, error) NewCafeteriaRating(context.Context, *NewCafeteriaRatingRequest) (*emptypb.Empty, error) NewDishRating(context.Context, *NewDishRatingRequest) (*emptypb.Empty, error) GetAvailableDishTags(context.Context, *emptypb.Empty) (*GetRatingTagsReply, error) @@ -710,7 +708,6 @@ func _Campus_GetDishRatings_Handler(srv interface{}, ctx context.Context, dec fu FullMethod: "/api.Campus/GetDishRatings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CampusServer).GetDishRatings(ctx, req.(*DishRatingRequest)) } return interceptor(ctx, in, info, handler) diff --git a/api/buf.lock b/api/buf.lock index 175a9f2e..57e7364d 100644 --- a/api/buf.lock +++ b/api/buf.lock @@ -4,4 +4,4 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: cac7f97f0d3a4c3d9d2004f475c0553c + commit: c3e1b2e164044397af6f283b0773eddf diff --git a/api/gen/openapiv2/CampusService.swagger.json b/api/gen/openapiv2/CampusService.swagger.json index a3e72bcf..f8e15772 100644 --- a/api/gen/openapiv2/CampusService.swagger.json +++ b/api/gen/openapiv2/CampusService.swagger.json @@ -108,7 +108,6 @@ "/barrierfree/nearby": { "get": { "operationId": "Campus_GetAreaFacilitiesByBuildingNr", - "responses": { "200": { "description": "A successful response.", @@ -1399,7 +1398,6 @@ } } }, - "apiGetKinoReply": { "type": "object", "properties": { @@ -1408,10 +1406,6 @@ "items": { "$ref": "#/definitions/apiKinoMsgElement" } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" } } }, @@ -1845,10 +1839,6 @@ "items": { "$ref": "#/definitions/apiNewsSource" } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" } } }, @@ -1888,12 +1878,10 @@ }, "referenceId": { "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "format": "int32" } } }, - "apiRatingTag": { "type": "object", "properties": { @@ -1925,8 +1913,7 @@ "properties": { "tagId": { "type": "integer", - "format": "int32", - "title": "number in the range 1-5" + "format": "int32" }, "avg": { "type": "number", @@ -1951,8 +1938,7 @@ "properties": { "tagId": { "type": "integer", - "format": "int32", - "title": "number in the range 1-5" + "format": "int32" }, "de": { "type": "string" diff --git a/server/swagger/swagger.json b/server/swagger/swagger.json index 144c00bb..f8e15772 100644 --- a/server/swagger/swagger.json +++ b/server/swagger/swagger.json @@ -108,7 +108,6 @@ "/barrierfree/nearby": { "get": { "operationId": "Campus_GetAreaFacilitiesByBuildingNr", - "responses": { "200": { "description": "A successful response.", @@ -1407,10 +1406,6 @@ "items": { "$ref": "#/definitions/apiKinoMsgElement" } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" } } }, @@ -1844,10 +1839,6 @@ "items": { "$ref": "#/definitions/apiNewsSource" } - }, - "cafeteriaVisitedAt": { - "type": "string", - "format": "date-time" } } }, @@ -1887,8 +1878,7 @@ }, "referenceId": { "type": "integer", - "format": "int32", - "title": "Optional Parameter defines how many ratings are queried. Default is 3, Maximum is 100 ratings in one request" + "format": "int32" } } }, @@ -1923,8 +1913,7 @@ "properties": { "tagId": { "type": "integer", - "format": "int32", - "title": "number in the range 1-5" + "format": "int32" }, "avg": { "type": "number", @@ -1949,8 +1938,7 @@ "properties": { "tagId": { "type": "integer", - "format": "int32", - "title": "number in the range 1-5" + "format": "int32" }, "de": { "type": "string"