add labels
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
59e60c4be1
commit
4335d14090
|
@ -84,6 +84,7 @@ message Product {
|
|||
repeated Variant variants = 10;
|
||||
repeated Characteristic characteristics = 11;
|
||||
int64 category = 12;
|
||||
repeated Label labels = 13;
|
||||
}
|
||||
|
||||
message GroupedProduct {
|
||||
|
@ -107,6 +108,10 @@ message Characteristic {
|
|||
string value = 2;
|
||||
}
|
||||
|
||||
message Label {
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
message GetProductReq {
|
||||
int64 id = 1;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ type Product struct {
|
|||
Variants []*crm.Variant `json:"variants"`
|
||||
Characteristics []*crm.Characteristic `json:"characteristics"`
|
||||
Category int64 `json:"category"`
|
||||
Labels []*crm.Label `json:"labels"`
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -58,6 +59,7 @@ func (s *storageFile) GetPositions(_ context.Context, id int64) ([]*crm.Product,
|
|||
res := make([]*crm.Product, 0, len(products))
|
||||
for _, product := range products {
|
||||
if id == 0 || product.Category == id {
|
||||
s.enrichedProduct(product)
|
||||
res = append(res, product)
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +98,9 @@ func (s *storageFile) GetProduct(_ context.Context, id int64) (*crm.Product, err
|
|||
Variants: product.Variants,
|
||||
Characteristics: product.Characteristics,
|
||||
Category: product.Category,
|
||||
Labels: product.Labels,
|
||||
}
|
||||
s.enrichedProduct(res)
|
||||
for _, p := range products {
|
||||
if p.Group == product.Group {
|
||||
image := ""
|
||||
|
@ -133,6 +137,12 @@ func (s *storageFile) GetBreadcrumbs(ctx context.Context, id int64) ([]*crm.Cate
|
|||
return breadcrumbs, nil
|
||||
}
|
||||
|
||||
func (s *storageFile) enrichedProduct(product *crm.Product) {
|
||||
if len(product.Variants) > 1 {
|
||||
product.Labels = append(product.Labels, &crm.Label{Name: "Оптом дешевле"})
|
||||
}
|
||||
}
|
||||
|
||||
func getBreadcrumbs(categories []*crm.Category, id int64) []*crm.Category {
|
||||
for _, category := range categories {
|
||||
if category.Id == id {
|
||||
|
|
465
proto/main.pb.go
465
proto/main.pb.go
|
@ -290,6 +290,7 @@ type Product struct {
|
|||
Variants []*Variant `protobuf:"bytes,10,rep,name=variants,proto3" json:"variants,omitempty"`
|
||||
Characteristics []*Characteristic `protobuf:"bytes,11,rep,name=characteristics,proto3" json:"characteristics,omitempty"`
|
||||
Category int64 `protobuf:"varint,12,opt,name=category,proto3" json:"category,omitempty"`
|
||||
Labels []*Label `protobuf:"bytes,13,rep,name=labels,proto3" json:"labels,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Product) Reset() {
|
||||
|
@ -408,6 +409,13 @@ func (x *Product) GetCategory() int64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
func (x *Product) GetLabels() []*Label {
|
||||
if x != nil {
|
||||
return x.Labels
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type GroupedProduct struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -636,6 +644,53 @@ func (x *Characteristic) GetValue() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
type Label struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Label) Reset() {
|
||||
*x = Label{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[10]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Label) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Label) ProtoMessage() {}
|
||||
|
||||
func (x *Label) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[10]
|
||||
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 Label.ProtoReflect.Descriptor instead.
|
||||
func (*Label) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{10}
|
||||
}
|
||||
|
||||
func (x *Label) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type GetProductReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -647,7 +702,7 @@ type GetProductReq struct {
|
|||
func (x *GetProductReq) Reset() {
|
||||
*x = GetProductReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[10]
|
||||
mi := &file_main_proto_msgTypes[11]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -660,7 +715,7 @@ func (x *GetProductReq) String() string {
|
|||
func (*GetProductReq) ProtoMessage() {}
|
||||
|
||||
func (x *GetProductReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[10]
|
||||
mi := &file_main_proto_msgTypes[11]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -673,7 +728,7 @@ func (x *GetProductReq) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use GetProductReq.ProtoReflect.Descriptor instead.
|
||||
func (*GetProductReq) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{10}
|
||||
return file_main_proto_rawDescGZIP(), []int{11}
|
||||
}
|
||||
|
||||
func (x *GetProductReq) GetId() int64 {
|
||||
|
@ -694,7 +749,7 @@ type ProductRsp struct {
|
|||
func (x *ProductRsp) Reset() {
|
||||
*x = ProductRsp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[11]
|
||||
mi := &file_main_proto_msgTypes[12]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -707,7 +762,7 @@ func (x *ProductRsp) String() string {
|
|||
func (*ProductRsp) ProtoMessage() {}
|
||||
|
||||
func (x *ProductRsp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[11]
|
||||
mi := &file_main_proto_msgTypes[12]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -720,7 +775,7 @@ func (x *ProductRsp) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use ProductRsp.ProtoReflect.Descriptor instead.
|
||||
func (*ProductRsp) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{11}
|
||||
return file_main_proto_rawDescGZIP(), []int{12}
|
||||
}
|
||||
|
||||
func (x *ProductRsp) GetProduct() *Product {
|
||||
|
@ -741,7 +796,7 @@ type GetBreadcrumbsReq struct {
|
|||
func (x *GetBreadcrumbsReq) Reset() {
|
||||
*x = GetBreadcrumbsReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[12]
|
||||
mi := &file_main_proto_msgTypes[13]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -754,7 +809,7 @@ func (x *GetBreadcrumbsReq) String() string {
|
|||
func (*GetBreadcrumbsReq) ProtoMessage() {}
|
||||
|
||||
func (x *GetBreadcrumbsReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[12]
|
||||
mi := &file_main_proto_msgTypes[13]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -767,7 +822,7 @@ func (x *GetBreadcrumbsReq) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use GetBreadcrumbsReq.ProtoReflect.Descriptor instead.
|
||||
func (*GetBreadcrumbsReq) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{12}
|
||||
return file_main_proto_rawDescGZIP(), []int{13}
|
||||
}
|
||||
|
||||
func (x *GetBreadcrumbsReq) GetId() int64 {
|
||||
|
@ -788,7 +843,7 @@ type BreadcrumbsRsp struct {
|
|||
func (x *BreadcrumbsRsp) Reset() {
|
||||
*x = BreadcrumbsRsp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[13]
|
||||
mi := &file_main_proto_msgTypes[14]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -801,7 +856,7 @@ func (x *BreadcrumbsRsp) String() string {
|
|||
func (*BreadcrumbsRsp) ProtoMessage() {}
|
||||
|
||||
func (x *BreadcrumbsRsp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[13]
|
||||
mi := &file_main_proto_msgTypes[14]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -814,7 +869,7 @@ func (x *BreadcrumbsRsp) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use BreadcrumbsRsp.ProtoReflect.Descriptor instead.
|
||||
func (*BreadcrumbsRsp) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{13}
|
||||
return file_main_proto_rawDescGZIP(), []int{14}
|
||||
}
|
||||
|
||||
func (x *BreadcrumbsRsp) GetCategories() []*Category {
|
||||
|
@ -835,7 +890,7 @@ type OrderReq struct {
|
|||
func (x *OrderReq) Reset() {
|
||||
*x = OrderReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[14]
|
||||
mi := &file_main_proto_msgTypes[15]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -848,7 +903,7 @@ func (x *OrderReq) String() string {
|
|||
func (*OrderReq) ProtoMessage() {}
|
||||
|
||||
func (x *OrderReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[14]
|
||||
mi := &file_main_proto_msgTypes[15]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -861,7 +916,7 @@ func (x *OrderReq) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use OrderReq.ProtoReflect.Descriptor instead.
|
||||
func (*OrderReq) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{14}
|
||||
return file_main_proto_rawDescGZIP(), []int{15}
|
||||
}
|
||||
|
||||
func (x *OrderReq) GetOrder() *Order {
|
||||
|
@ -880,7 +935,7 @@ type OrderRsp struct {
|
|||
func (x *OrderRsp) Reset() {
|
||||
*x = OrderRsp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[15]
|
||||
mi := &file_main_proto_msgTypes[16]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -893,7 +948,7 @@ func (x *OrderRsp) String() string {
|
|||
func (*OrderRsp) ProtoMessage() {}
|
||||
|
||||
func (x *OrderRsp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[15]
|
||||
mi := &file_main_proto_msgTypes[16]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -906,7 +961,7 @@ func (x *OrderRsp) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use OrderRsp.ProtoReflect.Descriptor instead.
|
||||
func (*OrderRsp) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{15}
|
||||
return file_main_proto_rawDescGZIP(), []int{16}
|
||||
}
|
||||
|
||||
type Order struct {
|
||||
|
@ -922,7 +977,7 @@ type Order struct {
|
|||
func (x *Order) Reset() {
|
||||
*x = Order{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[16]
|
||||
mi := &file_main_proto_msgTypes[17]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -935,7 +990,7 @@ func (x *Order) String() string {
|
|||
func (*Order) ProtoMessage() {}
|
||||
|
||||
func (x *Order) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[16]
|
||||
mi := &file_main_proto_msgTypes[17]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -948,7 +1003,7 @@ func (x *Order) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use Order.ProtoReflect.Descriptor instead.
|
||||
func (*Order) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{16}
|
||||
return file_main_proto_rawDescGZIP(), []int{17}
|
||||
}
|
||||
|
||||
func (x *Order) GetName() string {
|
||||
|
@ -984,7 +1039,7 @@ type OrderItem struct {
|
|||
func (x *OrderItem) Reset() {
|
||||
*x = OrderItem{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[17]
|
||||
mi := &file_main_proto_msgTypes[18]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -997,7 +1052,7 @@ func (x *OrderItem) String() string {
|
|||
func (*OrderItem) ProtoMessage() {}
|
||||
|
||||
func (x *OrderItem) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[17]
|
||||
mi := &file_main_proto_msgTypes[18]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -1010,7 +1065,7 @@ func (x *OrderItem) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use OrderItem.ProtoReflect.Descriptor instead.
|
||||
func (*OrderItem) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{17}
|
||||
return file_main_proto_rawDescGZIP(), []int{18}
|
||||
}
|
||||
|
||||
func (x *OrderItem) GetProductId() int64 {
|
||||
|
@ -1046,7 +1101,7 @@ type CardItem struct {
|
|||
func (x *CardItem) Reset() {
|
||||
*x = CardItem{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[18]
|
||||
mi := &file_main_proto_msgTypes[19]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -1059,7 +1114,7 @@ func (x *CardItem) String() string {
|
|||
func (*CardItem) ProtoMessage() {}
|
||||
|
||||
func (x *CardItem) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[18]
|
||||
mi := &file_main_proto_msgTypes[19]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -1072,7 +1127,7 @@ func (x *CardItem) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use CardItem.ProtoReflect.Descriptor instead.
|
||||
func (*CardItem) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{18}
|
||||
return file_main_proto_rawDescGZIP(), []int{19}
|
||||
}
|
||||
|
||||
func (x *CardItem) GetId() int64 {
|
||||
|
@ -1149,7 +1204,7 @@ type CardReq struct {
|
|||
func (x *CardReq) Reset() {
|
||||
*x = CardReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[19]
|
||||
mi := &file_main_proto_msgTypes[20]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -1162,7 +1217,7 @@ func (x *CardReq) String() string {
|
|||
func (*CardReq) ProtoMessage() {}
|
||||
|
||||
func (x *CardReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[19]
|
||||
mi := &file_main_proto_msgTypes[20]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -1175,7 +1230,7 @@ func (x *CardReq) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use CardReq.ProtoReflect.Descriptor instead.
|
||||
func (*CardReq) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{19}
|
||||
return file_main_proto_rawDescGZIP(), []int{20}
|
||||
}
|
||||
|
||||
func (x *CardReq) GetItems() []*OrderItem {
|
||||
|
@ -1196,7 +1251,7 @@ type CardRsp struct {
|
|||
func (x *CardRsp) Reset() {
|
||||
*x = CardRsp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[20]
|
||||
mi := &file_main_proto_msgTypes[21]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -1209,7 +1264,7 @@ func (x *CardRsp) String() string {
|
|||
func (*CardRsp) ProtoMessage() {}
|
||||
|
||||
func (x *CardRsp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[20]
|
||||
mi := &file_main_proto_msgTypes[21]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -1222,7 +1277,7 @@ func (x *CardRsp) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use CardRsp.ProtoReflect.Descriptor instead.
|
||||
func (*CardRsp) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{20}
|
||||
return file_main_proto_rawDescGZIP(), []int{21}
|
||||
}
|
||||
|
||||
func (x *CardRsp) GetItems() []*CardItem {
|
||||
|
@ -1243,7 +1298,7 @@ type GetImageReq struct {
|
|||
func (x *GetImageReq) Reset() {
|
||||
*x = GetImageReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_main_proto_msgTypes[21]
|
||||
mi := &file_main_proto_msgTypes[22]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -1256,7 +1311,7 @@ func (x *GetImageReq) String() string {
|
|||
func (*GetImageReq) ProtoMessage() {}
|
||||
|
||||
func (x *GetImageReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_main_proto_msgTypes[21]
|
||||
mi := &file_main_proto_msgTypes[22]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -1269,7 +1324,7 @@ func (x *GetImageReq) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use GetImageReq.ProtoReflect.Descriptor instead.
|
||||
func (*GetImageReq) Descriptor() ([]byte, []int) {
|
||||
return file_main_proto_rawDescGZIP(), []int{21}
|
||||
return file_main_proto_rawDescGZIP(), []int{22}
|
||||
}
|
||||
|
||||
func (x *GetImageReq) GetName() string {
|
||||
|
@ -1308,7 +1363,7 @@ var file_main_proto_rawDesc = []byte{
|
|||
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72,
|
||||
0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63,
|
||||
0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
|
||||
0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x22, 0x9c, 0x03, 0x0a, 0x07, 0x50,
|
||||
0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x22, 0xc6, 0x03, 0x0a, 0x07, 0x50,
|
||||
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65,
|
||||
|
@ -1334,113 +1389,117 @@ var file_main_proto_rawDesc = []byte{
|
|||
0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0f, 0x63, 0x68,
|
||||
0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x4c, 0x0a, 0x0e, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
|
||||
0x69, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x54, 0x0a, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61,
|
||||
0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70,
|
||||
0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63,
|
||||
0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
||||
0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x34, 0x0a,
|
||||
0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x22, 0x3a, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
|
||||
0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
|
||||
0x1f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71,
|
||||
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
|
||||
0x22, 0x3a, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2c,
|
||||
0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x12, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64,
|
||||
0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x23, 0x0a, 0x11,
|
||||
0x47, 0x65, 0x74, 0x42, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73, 0x52, 0x65,
|
||||
0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
|
||||
0x64, 0x22, 0x45, 0x0a, 0x0e, 0x42, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73,
|
||||
0x52, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e,
|
||||
0x63, 0x72, 0x6d, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61,
|
||||
0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65,
|
||||
0x72, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e,
|
||||
0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x0a, 0x0a, 0x08,
|
||||
0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x22, 0x5d, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65,
|
||||
0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69,
|
||||
0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x72, 0x61,
|
||||
0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x40, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
|
||||
0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd2, 0x01, 0x0a, 0x08, 0x43, 0x61,
|
||||
0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
|
||||
0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e,
|
||||
0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18,
|
||||
0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x35,
|
||||
0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65,
|
||||
0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73,
|
||||
0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05,
|
||||
0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x34, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
|
||||
0x12, 0x29, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x13, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x43, 0x61, 0x72, 0x64,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x21, 0x0a, 0x0b, 0x47,
|
||||
0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xe0,
|
||||
0x04, 0x0a, 0x03, 0x43, 0x52, 0x4d, 0x12, 0x4f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x61, 0x74,
|
||||
0x61, 0x6c, 0x6f, 0x67, 0x12, 0x18, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d,
|
||||
0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x15,
|
||||
0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c,
|
||||
0x6f, 0x67, 0x52, 0x73, 0x70, 0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f,
|
||||
0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x5c, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x6f,
|
||||
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e,
|
||||
0x63, 0x72, 0x6d, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e,
|
||||
0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x73, 0x70, 0x22, 0x17, 0x82, 0xd3,
|
||||
0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x55, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64,
|
||||
0x75, 0x63, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e,
|
||||
0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e,
|
||||
0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
|
||||
0x74, 0x52, 0x73, 0x70, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, 0x0e,
|
||||
0x47, 0x65, 0x74, 0x42, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73, 0x12, 0x1c,
|
||||
0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x72,
|
||||
0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x63,
|
||||
0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x42, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72,
|
||||
0x75, 0x6d, 0x62, 0x73, 0x52, 0x73, 0x70, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12,
|
||||
0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f,
|
||||
0x62, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x4f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d,
|
||||
0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x63, 0x72, 0x61, 0x62,
|
||||
0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x22, 0x16,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x3a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x07, 0x2f,
|
||||
0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72,
|
||||
0x64, 0x12, 0x12, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x43, 0x61,
|
||||
0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72,
|
||||
0x6d, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||
0x0e, 0x3a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x05, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x12,
|
||||
0x50, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x2e, 0x63, 0x72,
|
||||
0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65,
|
||||
0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||
0x10, 0x12, 0x0e, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x7d, 0x42, 0x0e, 0x92, 0x41, 0x00, 0x5a, 0x09, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x06, 0x6c, 0x61, 0x62,
|
||||
0x65, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x72, 0x61, 0x62,
|
||||
0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x06, 0x6c, 0x61, 0x62,
|
||||
0x65, 0x6c, 0x73, 0x22, 0x4c, 0x0a, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x50, 0x72,
|
||||
0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x69,
|
||||
0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67,
|
||||
0x65, 0x22, 0x54, 0x0a, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x72, 0x69,
|
||||
0x63, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
|
||||
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63,
|
||||
0x72, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f,
|
||||
0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65,
|
||||
0x72, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3a, 0x0a,
|
||||
0x0e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1b, 0x0a, 0x05, 0x4c, 0x61, 0x62,
|
||||
0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f,
|
||||
0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3a, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x64, 0x75,
|
||||
0x63, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63,
|
||||
0x72, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64,
|
||||
0x75, 0x63, 0x74, 0x22, 0x23, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x72, 0x65, 0x61, 0x64, 0x63,
|
||||
0x72, 0x75, 0x6d, 0x62, 0x73, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x0e, 0x42, 0x72, 0x65, 0x61,
|
||||
0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73, 0x52, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x61,
|
||||
0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
|
||||
0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67,
|
||||
0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22,
|
||||
0x32, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x05, 0x6f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x72, 0x61,
|
||||
0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72,
|
||||
0x64, 0x65, 0x72, 0x22, 0x0a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x22,
|
||||
0x5d, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f,
|
||||
0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x14, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4f, 0x72,
|
||||
0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x40,
|
||||
0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
|
||||
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x22, 0xd2, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a,
|
||||
0x07, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
|
||||
0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75,
|
||||
0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69,
|
||||
0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x76,
|
||||
0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x69, 0x6e,
|
||||
0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61,
|
||||
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x35, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
|
||||
0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x14, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4f, 0x72, 0x64, 0x65,
|
||||
0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x34, 0x0a, 0x07,
|
||||
0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63,
|
||||
0x72, 0x6d, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65,
|
||||
0x6d, 0x73, 0x22, 0x21, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
|
||||
0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xe0, 0x04, 0x0a, 0x03, 0x43, 0x52, 0x4d, 0x12, 0x4f, 0x0a,
|
||||
0x0a, 0x47, 0x65, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x18, 0x2e, 0x63, 0x72,
|
||||
0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c,
|
||||
0x6f, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72,
|
||||
0x6d, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x73, 0x70, 0x22, 0x10, 0x82, 0xd3,
|
||||
0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x5c,
|
||||
0x0a, 0x0c, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a,
|
||||
0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f,
|
||||
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x63, 0x72, 0x61,
|
||||
0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x52, 0x73, 0x70, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x70, 0x6f,
|
||||
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x55, 0x0a, 0x0a,
|
||||
0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x18, 0x2e, 0x63, 0x72, 0x61,
|
||||
0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
|
||||
0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d,
|
||||
0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x73, 0x70, 0x22, 0x16, 0x82, 0xd3, 0xe4,
|
||||
0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x7b,
|
||||
0x69, 0x64, 0x7d, 0x12, 0x6d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x72, 0x65, 0x61, 0x64, 0x63,
|
||||
0x72, 0x75, 0x6d, 0x62, 0x73, 0x12, 0x1c, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72,
|
||||
0x6d, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73,
|
||||
0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e,
|
||||
0x42, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73, 0x52, 0x73, 0x70, 0x22, 0x22,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
|
||||
0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x63, 0x72, 0x75, 0x6d,
|
||||
0x62, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x72,
|
||||
0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71,
|
||||
0x1a, 0x13, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x4f, 0x72, 0x64,
|
||||
0x65, 0x72, 0x52, 0x73, 0x70, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x3a, 0x05, 0x6f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x22, 0x07, 0x2f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x47, 0x0a,
|
||||
0x07, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x12, 0x12, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73,
|
||||
0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x63,
|
||||
0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
|
||||
0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22,
|
||||
0x05, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x12, 0x50, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61,
|
||||
0x67, 0x65, 0x12, 0x16, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x72, 0x6d, 0x2e, 0x47,
|
||||
0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79,
|
||||
0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65,
|
||||
0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0x0e, 0x92, 0x41, 0x00, 0x5a, 0x09, 0x70,
|
||||
0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -1455,7 +1514,7 @@ func file_main_proto_rawDescGZIP() []byte {
|
|||
return file_main_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
|
||||
var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
|
||||
var file_main_proto_goTypes = []interface{}{
|
||||
(*GetCatalogReq)(nil), // 0: crabs.crm.GetCatalogReq
|
||||
(*CatalogRsp)(nil), // 1: crabs.crm.CatalogRsp
|
||||
|
@ -1467,19 +1526,20 @@ var file_main_proto_goTypes = []interface{}{
|
|||
(*Variant)(nil), // 7: crabs.crm.Variant
|
||||
(*Property)(nil), // 8: crabs.crm.Property
|
||||
(*Characteristic)(nil), // 9: crabs.crm.Characteristic
|
||||
(*GetProductReq)(nil), // 10: crabs.crm.GetProductReq
|
||||
(*ProductRsp)(nil), // 11: crabs.crm.ProductRsp
|
||||
(*GetBreadcrumbsReq)(nil), // 12: crabs.crm.GetBreadcrumbsReq
|
||||
(*BreadcrumbsRsp)(nil), // 13: crabs.crm.BreadcrumbsRsp
|
||||
(*OrderReq)(nil), // 14: crabs.crm.OrderReq
|
||||
(*OrderRsp)(nil), // 15: crabs.crm.OrderRsp
|
||||
(*Order)(nil), // 16: crabs.crm.Order
|
||||
(*OrderItem)(nil), // 17: crabs.crm.OrderItem
|
||||
(*CardItem)(nil), // 18: crabs.crm.CardItem
|
||||
(*CardReq)(nil), // 19: crabs.crm.CardReq
|
||||
(*CardRsp)(nil), // 20: crabs.crm.CardRsp
|
||||
(*GetImageReq)(nil), // 21: crabs.crm.GetImageReq
|
||||
(*httpbody.HttpBody)(nil), // 22: google.api.HttpBody
|
||||
(*Label)(nil), // 10: crabs.crm.Label
|
||||
(*GetProductReq)(nil), // 11: crabs.crm.GetProductReq
|
||||
(*ProductRsp)(nil), // 12: crabs.crm.ProductRsp
|
||||
(*GetBreadcrumbsReq)(nil), // 13: crabs.crm.GetBreadcrumbsReq
|
||||
(*BreadcrumbsRsp)(nil), // 14: crabs.crm.BreadcrumbsRsp
|
||||
(*OrderReq)(nil), // 15: crabs.crm.OrderReq
|
||||
(*OrderRsp)(nil), // 16: crabs.crm.OrderRsp
|
||||
(*Order)(nil), // 17: crabs.crm.Order
|
||||
(*OrderItem)(nil), // 18: crabs.crm.OrderItem
|
||||
(*CardItem)(nil), // 19: crabs.crm.CardItem
|
||||
(*CardReq)(nil), // 20: crabs.crm.CardReq
|
||||
(*CardRsp)(nil), // 21: crabs.crm.CardRsp
|
||||
(*GetImageReq)(nil), // 22: crabs.crm.GetImageReq
|
||||
(*httpbody.HttpBody)(nil), // 23: google.api.HttpBody
|
||||
}
|
||||
var file_main_proto_depIdxs = []int32{
|
||||
2, // 0: crabs.crm.CatalogRsp.categories:type_name -> crabs.crm.Category
|
||||
|
@ -1488,32 +1548,33 @@ var file_main_proto_depIdxs = []int32{
|
|||
6, // 3: crabs.crm.Product.grouped_products:type_name -> crabs.crm.GroupedProduct
|
||||
7, // 4: crabs.crm.Product.variants:type_name -> crabs.crm.Variant
|
||||
9, // 5: crabs.crm.Product.characteristics:type_name -> crabs.crm.Characteristic
|
||||
8, // 6: crabs.crm.Variant.properties:type_name -> crabs.crm.Property
|
||||
5, // 7: crabs.crm.ProductRsp.product:type_name -> crabs.crm.Product
|
||||
2, // 8: crabs.crm.BreadcrumbsRsp.categories:type_name -> crabs.crm.Category
|
||||
16, // 9: crabs.crm.OrderReq.order:type_name -> crabs.crm.Order
|
||||
17, // 10: crabs.crm.Order.items:type_name -> crabs.crm.OrderItem
|
||||
17, // 11: crabs.crm.CardReq.items:type_name -> crabs.crm.OrderItem
|
||||
18, // 12: crabs.crm.CardRsp.items:type_name -> crabs.crm.CardItem
|
||||
0, // 13: crabs.crm.CRM.GetCatalog:input_type -> crabs.crm.GetCatalogReq
|
||||
3, // 14: crabs.crm.CRM.GetPositions:input_type -> crabs.crm.GetPositionsReq
|
||||
10, // 15: crabs.crm.CRM.GetProduct:input_type -> crabs.crm.GetProductReq
|
||||
12, // 16: crabs.crm.CRM.GetBreadcrumbs:input_type -> crabs.crm.GetBreadcrumbsReq
|
||||
14, // 17: crabs.crm.CRM.Order:input_type -> crabs.crm.OrderReq
|
||||
19, // 18: crabs.crm.CRM.GetCard:input_type -> crabs.crm.CardReq
|
||||
21, // 19: crabs.crm.CRM.GetImage:input_type -> crabs.crm.GetImageReq
|
||||
1, // 20: crabs.crm.CRM.GetCatalog:output_type -> crabs.crm.CatalogRsp
|
||||
4, // 21: crabs.crm.CRM.GetPositions:output_type -> crabs.crm.PositionsRsp
|
||||
11, // 22: crabs.crm.CRM.GetProduct:output_type -> crabs.crm.ProductRsp
|
||||
13, // 23: crabs.crm.CRM.GetBreadcrumbs:output_type -> crabs.crm.BreadcrumbsRsp
|
||||
15, // 24: crabs.crm.CRM.Order:output_type -> crabs.crm.OrderRsp
|
||||
20, // 25: crabs.crm.CRM.GetCard:output_type -> crabs.crm.CardRsp
|
||||
22, // 26: crabs.crm.CRM.GetImage:output_type -> google.api.HttpBody
|
||||
20, // [20:27] is the sub-list for method output_type
|
||||
13, // [13:20] is the sub-list for method input_type
|
||||
13, // [13:13] is the sub-list for extension type_name
|
||||
13, // [13:13] is the sub-list for extension extendee
|
||||
0, // [0:13] is the sub-list for field type_name
|
||||
10, // 6: crabs.crm.Product.labels:type_name -> crabs.crm.Label
|
||||
8, // 7: crabs.crm.Variant.properties:type_name -> crabs.crm.Property
|
||||
5, // 8: crabs.crm.ProductRsp.product:type_name -> crabs.crm.Product
|
||||
2, // 9: crabs.crm.BreadcrumbsRsp.categories:type_name -> crabs.crm.Category
|
||||
17, // 10: crabs.crm.OrderReq.order:type_name -> crabs.crm.Order
|
||||
18, // 11: crabs.crm.Order.items:type_name -> crabs.crm.OrderItem
|
||||
18, // 12: crabs.crm.CardReq.items:type_name -> crabs.crm.OrderItem
|
||||
19, // 13: crabs.crm.CardRsp.items:type_name -> crabs.crm.CardItem
|
||||
0, // 14: crabs.crm.CRM.GetCatalog:input_type -> crabs.crm.GetCatalogReq
|
||||
3, // 15: crabs.crm.CRM.GetPositions:input_type -> crabs.crm.GetPositionsReq
|
||||
11, // 16: crabs.crm.CRM.GetProduct:input_type -> crabs.crm.GetProductReq
|
||||
13, // 17: crabs.crm.CRM.GetBreadcrumbs:input_type -> crabs.crm.GetBreadcrumbsReq
|
||||
15, // 18: crabs.crm.CRM.Order:input_type -> crabs.crm.OrderReq
|
||||
20, // 19: crabs.crm.CRM.GetCard:input_type -> crabs.crm.CardReq
|
||||
22, // 20: crabs.crm.CRM.GetImage:input_type -> crabs.crm.GetImageReq
|
||||
1, // 21: crabs.crm.CRM.GetCatalog:output_type -> crabs.crm.CatalogRsp
|
||||
4, // 22: crabs.crm.CRM.GetPositions:output_type -> crabs.crm.PositionsRsp
|
||||
12, // 23: crabs.crm.CRM.GetProduct:output_type -> crabs.crm.ProductRsp
|
||||
14, // 24: crabs.crm.CRM.GetBreadcrumbs:output_type -> crabs.crm.BreadcrumbsRsp
|
||||
16, // 25: crabs.crm.CRM.Order:output_type -> crabs.crm.OrderRsp
|
||||
21, // 26: crabs.crm.CRM.GetCard:output_type -> crabs.crm.CardRsp
|
||||
23, // 27: crabs.crm.CRM.GetImage:output_type -> google.api.HttpBody
|
||||
21, // [21:28] is the sub-list for method output_type
|
||||
14, // [14:21] is the sub-list for method input_type
|
||||
14, // [14:14] is the sub-list for extension type_name
|
||||
14, // [14:14] is the sub-list for extension extendee
|
||||
0, // [0:14] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_main_proto_init() }
|
||||
|
@ -1643,7 +1704,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*GetProductReq); i {
|
||||
switch v := v.(*Label); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1655,7 +1716,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ProductRsp); i {
|
||||
switch v := v.(*GetProductReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1667,7 +1728,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*GetBreadcrumbsReq); i {
|
||||
switch v := v.(*ProductRsp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1679,7 +1740,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*BreadcrumbsRsp); i {
|
||||
switch v := v.(*GetBreadcrumbsReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1691,7 +1752,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*OrderReq); i {
|
||||
switch v := v.(*BreadcrumbsRsp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1703,7 +1764,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*OrderRsp); i {
|
||||
switch v := v.(*OrderReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1715,7 +1776,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Order); i {
|
||||
switch v := v.(*OrderRsp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1727,7 +1788,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*OrderItem); i {
|
||||
switch v := v.(*Order); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1739,7 +1800,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*CardItem); i {
|
||||
switch v := v.(*OrderItem); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1751,7 +1812,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*CardReq); i {
|
||||
switch v := v.(*CardItem); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1763,7 +1824,7 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*CardRsp); i {
|
||||
switch v := v.(*CardReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -1775,6 +1836,18 @@ func file_main_proto_init() {
|
|||
}
|
||||
}
|
||||
file_main_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*CardRsp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_main_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*GetImageReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
|
@ -1793,7 +1866,7 @@ func file_main_proto_init() {
|
|||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_main_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 22,
|
||||
NumMessages: 23,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
|
|
@ -2,30 +2,30 @@
|
|||
{
|
||||
"id": 0,
|
||||
"name": "Главная",
|
||||
"uri": "/categories/0",
|
||||
"uri": "/positions/0",
|
||||
"children": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Пряники",
|
||||
"uri": "/categories/1",
|
||||
"uri": "/positions/1",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Печенье бисквитное",
|
||||
"uri": "/categories/2",
|
||||
"uri": "/positions/2",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "Печенье песочное",
|
||||
"uri": "/categories/3",
|
||||
"uri": "/positions/3",
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "Восточные сладости",
|
||||
"uri": "/categories/4",
|
||||
"uri": "/positions/4",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
|
|
|
@ -254,6 +254,14 @@
|
|||
},
|
||||
"description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest)\n returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody)\n returns (google.protobuf.Empty);\n\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged."
|
||||
},
|
||||
"crabscrmLabel": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"crabscrmOrder": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -478,6 +486,13 @@
|
|||
"category": {
|
||||
"type": "string",
|
||||
"format": "int64"
|
||||
},
|
||||
"labels": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"$ref": "#/definitions/crabscrmLabel"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue