You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2209 lines
74 KiB

2 years ago
//*
// @Auth:ShenZ
// @Description:
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.18.1
// source: cart.proto
package proto
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// ID int32 `json:"id"`
// UserId int32 `json:"userId"`
// ProductId int32 `gorm:"product_id" json:"productId"`
// ProductSkuId int32 `gorm:"product_sku_id" json:"productSkuId"`
// ProductName string `json:"productName"`
// ProductMainPicture string `gorm:"product_main_picture" json:"productMainPicture"`
// Number int32 `gorm:"default:1" json:"number"`
// CreateUser int32 `gorm:"default:1" json:"createUser"`
// CreateTime time.Time `json:"createTime"`
// UpdateUser int32 `json:"updateUser"`
// UpdateTime time.Time `json:"updateTime"`
// IsDeleted bool `json:"isDeleted"`
type ShoppingCart struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
UserId int32 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
ProductId int32 `protobuf:"varint,3,opt,name=productId,proto3" json:"productId,omitempty"`
ProductSkuId int32 `protobuf:"varint,4,opt,name=productSkuId,proto3" json:"productSkuId,omitempty"`
ProductName string `protobuf:"bytes,5,opt,name=productName,proto3" json:"productName,omitempty"`
ProductMainPicture string `protobuf:"bytes,6,opt,name=productMainPicture,proto3" json:"productMainPicture,omitempty"`
Number int32 `protobuf:"varint,7,opt,name=number,proto3" json:"number,omitempty"`
// 查询修改所需
UpdateTime string `protobuf:"bytes,8,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
CrateTime string `protobuf:"bytes,9,opt,name=crateTime,proto3" json:"crateTime,omitempty"`
CreateUser int32 `protobuf:"varint,10,opt,name=createUser,proto3" json:"createUser,omitempty"`
UpdateUser int32 `protobuf:"varint,11,opt,name=updateUser,proto3" json:"updateUser,omitempty"`
IsDeleted bool `protobuf:"varint,12,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
2 years ago
}
func (x *ShoppingCart) Reset() {
*x = ShoppingCart{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShoppingCart) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShoppingCart) ProtoMessage() {}
func (x *ShoppingCart) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[0]
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 ShoppingCart.ProtoReflect.Descriptor instead.
func (*ShoppingCart) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{0}
}
func (x *ShoppingCart) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ShoppingCart) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ShoppingCart) GetProductId() int32 {
if x != nil {
return x.ProductId
}
return 0
}
func (x *ShoppingCart) GetProductSkuId() int32 {
if x != nil {
return x.ProductSkuId
}
return 0
}
func (x *ShoppingCart) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *ShoppingCart) GetProductMainPicture() string {
if x != nil {
return x.ProductMainPicture
}
return ""
}
func (x *ShoppingCart) GetNumber() int32 {
if x != nil {
return x.Number
}
return 0
}
func (x *ShoppingCart) GetUpdateTime() string {
if x != nil {
return x.UpdateTime
}
return ""
}
func (x *ShoppingCart) GetCrateTime() string {
if x != nil {
return x.CrateTime
}
return ""
}
func (x *ShoppingCart) GetCreateUser() int32 {
if x != nil {
return x.CreateUser
}
return 0
}
func (x *ShoppingCart) GetUpdateUser() int32 {
if x != nil {
return x.UpdateUser
}
return 0
}
func (x *ShoppingCart) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
2 years ago
// 请求 request struct
type AddCartReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
ProductId int32 `protobuf:"varint,2,opt,name=productId,proto3" json:"productId,omitempty"`
ProductSkuId int32 `protobuf:"varint,3,opt,name=productSkuId,proto3" json:"productSkuId,omitempty"`
ProductName string `protobuf:"bytes,4,opt,name=productName,proto3" json:"productName,omitempty"`
ProductMainPicture string `protobuf:"bytes,5,opt,name=productMainPicture,proto3" json:"productMainPicture,omitempty"`
UserId int32 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"`
Id int32 `protobuf:"varint,7,opt,name=id,proto3" json:"id,omitempty"`
CreateUser int32 `protobuf:"varint,8,opt,name=createUser,proto3" json:"createUser,omitempty"`
2 years ago
}
func (x *AddCartReq) Reset() {
*x = AddCartReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddCartReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddCartReq) ProtoMessage() {}
func (x *AddCartReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[1]
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 AddCartReq.ProtoReflect.Descriptor instead.
func (*AddCartReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{1}
}
func (x *AddCartReq) GetNumber() int32 {
if x != nil {
return x.Number
}
return 0
}
func (x *AddCartReq) GetProductId() int32 {
if x != nil {
return x.ProductId
}
return 0
}
func (x *AddCartReq) GetProductSkuId() int32 {
if x != nil {
return x.ProductSkuId
}
return 0
}
func (x *AddCartReq) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *AddCartReq) GetProductMainPicture() string {
if x != nil {
return x.ProductMainPicture
}
return ""
}
func (x *AddCartReq) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *AddCartReq) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *AddCartReq) GetCreateUser() int32 {
if x != nil {
return x.CreateUser
}
return 0
}
2 years ago
// *
// "productSimple": {
// "id": 15,
// "name": "SKG K3颈椎按摩仪护颈仪颈部按摩器礼品",
// "startingPrice": 259.00,
// "mainPicture": "https://msb-edu-prod.oss-cn-beijing.aliyuncs.com/mall-product/productyou.mashibing.com_goods_detail_15.png",
// "labelList": null,
// "singleBuyLimit": 0,
// "isEnable": true,
// "productType": 1
// },
// "productSkuSimple": {
// "skuId": 31,
// "attributeSymbolList": "8",
// "name": "SKG 4098蓝牙款颈椎仪",
// "sellPrice": 359.00,
// "stock": 100
// },
// "shoppingCartNumber": 2, //增加购物车数量
// "canSetShoppingCartNumber": 2, //实际最大可设置购物车数量
// "isBeyondMaxLimit": false //是否超出最大限制
type AddCartResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductSimple *ProductDetail `protobuf:"bytes,1,opt,name=productSimple,proto3" json:"productSimple,omitempty"`
ProductSkuSimple *ProductSku `protobuf:"bytes,2,opt,name=productSkuSimple,proto3" json:"productSkuSimple,omitempty"`
ShoppingCartNumber int64 `protobuf:"varint,3,opt,name=shoppingCartNumber,proto3" json:"shoppingCartNumber,omitempty"`
CanSetShoppingCartNumber int64 `protobuf:"varint,4,opt,name=canSetShoppingCartNumber,proto3" json:"canSetShoppingCartNumber,omitempty"`
IsBeyondMaxLimit bool `protobuf:"varint,5,opt,name=isBeyondMaxLimit,proto3" json:"isBeyondMaxLimit,omitempty"`
ID int32 `protobuf:"varint,6,opt,name=ID,proto3" json:"ID,omitempty"`
2 years ago
}
func (x *AddCartResp) Reset() {
*x = AddCartResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddCartResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddCartResp) ProtoMessage() {}
func (x *AddCartResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[2]
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 AddCartResp.ProtoReflect.Descriptor instead.
func (*AddCartResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{2}
}
func (x *AddCartResp) GetProductSimple() *ProductDetail {
if x != nil {
return x.ProductSimple
}
return nil
}
func (x *AddCartResp) GetProductSkuSimple() *ProductSku {
if x != nil {
return x.ProductSkuSimple
}
return nil
}
func (x *AddCartResp) GetShoppingCartNumber() int64 {
if x != nil {
return x.ShoppingCartNumber
}
return 0
}
func (x *AddCartResp) GetCanSetShoppingCartNumber() int64 {
if x != nil {
return x.CanSetShoppingCartNumber
}
return 0
}
func (x *AddCartResp) GetIsBeyondMaxLimit() bool {
if x != nil {
return x.IsBeyondMaxLimit
}
return false
}
func (x *AddCartResp) GetID() int32 {
if x != nil {
return x.ID
}
return 0
}
type UpdateCartReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
UserId int32 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
ProductId int32 `protobuf:"varint,3,opt,name=productId,proto3" json:"productId,omitempty"`
ProductSkuId int32 `protobuf:"varint,4,opt,name=productSkuId,proto3" json:"productSkuId,omitempty"`
ProductName string `protobuf:"bytes,5,opt,name=productName,proto3" json:"productName,omitempty"`
ProductMainPicture string `protobuf:"bytes,6,opt,name=productMainPicture,proto3" json:"productMainPicture,omitempty"`
Number int32 `protobuf:"varint,7,opt,name=number,proto3" json:"number,omitempty"`
// 查询修改所需
UpdateTime string `protobuf:"bytes,8,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
CrateTime string `protobuf:"bytes,9,opt,name=crateTime,proto3" json:"crateTime,omitempty"`
CreateUser int32 `protobuf:"varint,10,opt,name=createUser,proto3" json:"createUser,omitempty"`
UpdateUser int32 `protobuf:"varint,11,opt,name=updateUser,proto3" json:"updateUser,omitempty"`
IsDeleted bool `protobuf:"varint,12,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
}
func (x *UpdateCartReq) Reset() {
*x = UpdateCartReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateCartReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateCartReq) ProtoMessage() {}
func (x *UpdateCartReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[3]
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 UpdateCartReq.ProtoReflect.Descriptor instead.
func (*UpdateCartReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{3}
}
func (x *UpdateCartReq) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *UpdateCartReq) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *UpdateCartReq) GetProductId() int32 {
if x != nil {
return x.ProductId
}
return 0
}
func (x *UpdateCartReq) GetProductSkuId() int32 {
if x != nil {
return x.ProductSkuId
}
return 0
}
func (x *UpdateCartReq) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *UpdateCartReq) GetProductMainPicture() string {
if x != nil {
return x.ProductMainPicture
}
return ""
}
func (x *UpdateCartReq) GetNumber() int32 {
if x != nil {
return x.Number
}
return 0
}
func (x *UpdateCartReq) GetUpdateTime() string {
if x != nil {
return x.UpdateTime
}
return ""
}
func (x *UpdateCartReq) GetCrateTime() string {
if x != nil {
return x.CrateTime
}
return ""
}
func (x *UpdateCartReq) GetCreateUser() int32 {
if x != nil {
return x.CreateUser
}
return 0
}
func (x *UpdateCartReq) GetUpdateUser() int32 {
if x != nil {
return x.UpdateUser
}
return 0
}
func (x *UpdateCartReq) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
type UpdateCartResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShoppingCartNumber int64 `protobuf:"varint,3,opt,name=shoppingCartNumber,proto3" json:"shoppingCartNumber,omitempty"`
CanSetShoppingCartNumber int64 `protobuf:"varint,4,opt,name=canSetShoppingCartNumber,proto3" json:"canSetShoppingCartNumber,omitempty"`
IsBeyondMaxLimit bool `protobuf:"varint,5,opt,name=isBeyondMaxLimit,proto3" json:"isBeyondMaxLimit,omitempty"`
ID int32 `protobuf:"varint,6,opt,name=ID,proto3" json:"ID,omitempty"`
}
func (x *UpdateCartResp) Reset() {
*x = UpdateCartResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateCartResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateCartResp) ProtoMessage() {}
func (x *UpdateCartResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[4]
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 UpdateCartResp.ProtoReflect.Descriptor instead.
func (*UpdateCartResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{4}
}
func (x *UpdateCartResp) GetShoppingCartNumber() int64 {
if x != nil {
return x.ShoppingCartNumber
}
return 0
}
func (x *UpdateCartResp) GetCanSetShoppingCartNumber() int64 {
if x != nil {
return x.CanSetShoppingCartNumber
}
return 0
}
func (x *UpdateCartResp) GetIsBeyondMaxLimit() bool {
if x != nil {
return x.IsBeyondMaxLimit
}
return false
}
func (x *UpdateCartResp) GetID() int32 {
if x != nil {
return x.ID
}
return 0
}
type FindCartReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
UserId int32 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
IsDeleted bool `protobuf:"varint,3,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
}
func (x *FindCartReq) Reset() {
*x = FindCartReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindCartReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindCartReq) ProtoMessage() {}
func (x *FindCartReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[5]
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 FindCartReq.ProtoReflect.Descriptor instead.
func (*FindCartReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{5}
}
func (x *FindCartReq) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *FindCartReq) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *FindCartReq) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
type FindCartResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShoppingCarts []*ShoppingCart `protobuf:"bytes,1,rep,name=shoppingCarts,proto3" json:"shoppingCarts,omitempty"`
}
func (x *FindCartResp) Reset() {
*x = FindCartResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindCartResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindCartResp) ProtoMessage() {}
func (x *FindCartResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[6]
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 FindCartResp.ProtoReflect.Descriptor instead.
func (*FindCartResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{6}
}
func (x *FindCartResp) GetShoppingCarts() []*ShoppingCart {
if x != nil {
return x.ShoppingCarts
}
return nil
}
2 years ago
type Product 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"`
StartingPrice int32 `protobuf:"varint,3,opt,name=startingPrice,proto3" json:"startingPrice,omitempty"`
MainPicture string `protobuf:"bytes,4,opt,name=mainPicture,proto3" json:"mainPicture,omitempty"`
LabelList map[string]string `protobuf:"bytes,5,rep,name=labelList,proto3" json:"labelList,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
SingleBuyLimit int32 `protobuf:"varint,6,opt,name=singleBuyLimit,proto3" json:"singleBuyLimit,omitempty"`
Token string `protobuf:"bytes,7,opt,name=token,proto3" json:"token,omitempty"`
IsEnable bool `protobuf:"varint,8,opt,name=isEnable,proto3" json:"isEnable,omitempty"`
ProductType int32 `protobuf:"varint,9,opt,name=productType,proto3" json:"productType,omitempty"`
}
func (x *Product) Reset() {
*x = Product{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[7]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Product) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Product) ProtoMessage() {}
func (x *Product) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[7]
2 years ago
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 Product.ProtoReflect.Descriptor instead.
func (*Product) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{7}
2 years ago
}
func (x *Product) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Product) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Product) GetStartingPrice() int32 {
if x != nil {
return x.StartingPrice
}
return 0
}
func (x *Product) GetMainPicture() string {
if x != nil {
return x.MainPicture
}
return ""
}
func (x *Product) GetLabelList() map[string]string {
if x != nil {
return x.LabelList
}
return nil
}
func (x *Product) GetSingleBuyLimit() int32 {
if x != nil {
return x.SingleBuyLimit
}
return 0
}
func (x *Product) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *Product) GetIsEnable() bool {
if x != nil {
return x.IsEnable
}
return false
}
func (x *Product) GetProductType() int32 {
if x != nil {
return x.ProductType
}
return 0
}
// 请求 request struct
type PageReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
PageIndex int32 `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
}
func (x *PageReq) Reset() {
*x = PageReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[8]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PageReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PageReq) ProtoMessage() {}
func (x *PageReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[8]
2 years ago
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 PageReq.ProtoReflect.Descriptor instead.
func (*PageReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{8}
2 years ago
}
func (x *PageReq) GetLength() int32 {
if x != nil {
return x.Length
}
return 0
}
func (x *PageReq) GetPageIndex() int32 {
if x != nil {
return x.PageIndex
}
return 0
}
// *
type PageResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Product []*Product `protobuf:"bytes,1,rep,name=product,proto3" json:"product,omitempty"`
Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
Rows int64 `protobuf:"varint,3,opt,name=rows,proto3" json:"rows,omitempty"`
}
func (x *PageResp) Reset() {
*x = PageResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[9]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PageResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PageResp) ProtoMessage() {}
func (x *PageResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[9]
2 years ago
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 PageResp.ProtoReflect.Descriptor instead.
func (*PageResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{9}
2 years ago
}
func (x *PageResp) GetProduct() []*Product {
if x != nil {
return x.Product
}
return nil
}
func (x *PageResp) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *PageResp) GetRows() int64 {
if x != nil {
return x.Rows
}
return 0
}
// *
// ID int32 `json:"id"`
// Name string `json:"name"`
// ProductType int32 `gorm:"default:1" json:"productType"`
// CategoryId int32 `json:"categoryId"`
// StartingPrice float32 `json:"startingPrice"`
// TotalStock int32 `gorm:"default:1234" json:"totalStock"`
// MainPicture string `gorm:"default:1" json:"mainPicture"`
// RemoteAreaPostage float32 `json:"remoteAreaPostage"`
// SingleBuyLimit int32 `json:"singleBuyLimit"`
// IsEnable bool `json:"isEnable"`
// Remark string `gorm:"default:1" json:"remark"`
// CreateUser int32 `gorm:"default:1" json:"createUser"`
// CreateTime time.Time `json:"createTime"`
// UpdateUser int32 `json:"updateUser"`
// UpdateTime time.Time `json:"updateTime"`
// IsDeleted bool `json:"isDeleted"`
// Detail string `gorm:"dtail" json:"detail"` //商品详情页面
// PictureList []string `gorm:"pictureList" json:"pictureList"` //商品详情需要的图片
type ProductDetail 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"`
ProductType int32 `protobuf:"varint,3,opt,name=productType,proto3" json:"productType,omitempty"`
CategoryId int32 `protobuf:"varint,4,opt,name=categoryId,proto3" json:"categoryId,omitempty"`
StartingPrice float32 `protobuf:"fixed32,5,opt,name=startingPrice,proto3" json:"startingPrice,omitempty"`
TotalStock int32 `protobuf:"varint,6,opt,name=totalStock,proto3" json:"totalStock,omitempty"`
MainPicture string `protobuf:"bytes,7,opt,name=mainPicture,proto3" json:"mainPicture,omitempty"`
RemoteAreaPostage float32 `protobuf:"fixed32,8,opt,name=remoteAreaPostage,proto3" json:"remoteAreaPostage,omitempty"`
SingleBuyLimit int32 `protobuf:"varint,9,opt,name=singleBuyLimit,proto3" json:"singleBuyLimit,omitempty"`
IsEnable bool `protobuf:"varint,10,opt,name=isEnable,proto3" json:"isEnable,omitempty"`
Remark string `protobuf:"bytes,11,opt,name=remark,proto3" json:"remark,omitempty"`
CreateUser int32 `protobuf:"varint,12,opt,name=createUser,proto3" json:"createUser,omitempty"`
CreateTime string `protobuf:"bytes,13,opt,name=createTime,proto3" json:"createTime,omitempty"` //go get google.golang.org/protobuf/ptypes/timestamp
UpdateUser int32 `protobuf:"varint,14,opt,name=updateUser,proto3" json:"updateUser,omitempty"`
UpdateTime string `protobuf:"bytes,15,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
IsDeleted bool `protobuf:"varint,16,opt,name=IsDeleted,proto3" json:"IsDeleted,omitempty"`
Detail string `protobuf:"bytes,17,opt,name=detail,proto3" json:"detail,omitempty"`
PictureList string `protobuf:"bytes,18,opt,name=pictureList,proto3" json:"pictureList,omitempty"`
}
func (x *ProductDetail) Reset() {
*x = ProductDetail{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[10]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductDetail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductDetail) ProtoMessage() {}
func (x *ProductDetail) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[10]
2 years ago
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 ProductDetail.ProtoReflect.Descriptor instead.
func (*ProductDetail) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{10}
2 years ago
}
func (x *ProductDetail) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ProductDetail) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ProductDetail) GetProductType() int32 {
if x != nil {
return x.ProductType
}
return 0
}
func (x *ProductDetail) GetCategoryId() int32 {
if x != nil {
return x.CategoryId
}
return 0
}
func (x *ProductDetail) GetStartingPrice() float32 {
if x != nil {
return x.StartingPrice
}
return 0
}
func (x *ProductDetail) GetTotalStock() int32 {
if x != nil {
return x.TotalStock
}
return 0
}
func (x *ProductDetail) GetMainPicture() string {
if x != nil {
return x.MainPicture
}
return ""
}
func (x *ProductDetail) GetRemoteAreaPostage() float32 {
if x != nil {
return x.RemoteAreaPostage
}
return 0
}
func (x *ProductDetail) GetSingleBuyLimit() int32 {
if x != nil {
return x.SingleBuyLimit
}
return 0
}
func (x *ProductDetail) GetIsEnable() bool {
if x != nil {
return x.IsEnable
}
return false
}
func (x *ProductDetail) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *ProductDetail) GetCreateUser() int32 {
if x != nil {
return x.CreateUser
}
return 0
}
func (x *ProductDetail) GetCreateTime() string {
if x != nil {
return x.CreateTime
}
return ""
}
func (x *ProductDetail) GetUpdateUser() int32 {
if x != nil {
return x.UpdateUser
}
return 0
}
func (x *ProductDetail) GetUpdateTime() string {
if x != nil {
return x.UpdateTime
}
return ""
}
func (x *ProductDetail) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
func (x *ProductDetail) GetDetail() string {
if x != nil {
return x.Detail
}
return ""
}
func (x *ProductDetail) GetPictureList() string {
if x != nil {
return x.PictureList
}
return ""
}
// 请求 request struct
type ProductDetailReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *ProductDetailReq) Reset() {
*x = ProductDetailReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[11]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductDetailReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductDetailReq) ProtoMessage() {}
func (x *ProductDetailReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[11]
2 years ago
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 ProductDetailReq.ProtoReflect.Descriptor instead.
func (*ProductDetailReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{11}
2 years ago
}
func (x *ProductDetailReq) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
// *
type ProductDetailResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductDetail []*ProductDetail `protobuf:"bytes,1,rep,name=productDetail,proto3" json:"productDetail,omitempty"`
}
func (x *ProductDetailResp) Reset() {
*x = ProductDetailResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[12]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductDetailResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductDetailResp) ProtoMessage() {}
func (x *ProductDetailResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[12]
2 years ago
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 ProductDetailResp.ProtoReflect.Descriptor instead.
func (*ProductDetailResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{12}
2 years ago
}
func (x *ProductDetailResp) GetProductDetail() []*ProductDetail {
if x != nil {
return x.ProductDetail
}
return nil
}
// SkuId int32 `gorm:"column:id" json:"skuId"`
// Name string
// AttributeSymbolList string `gorm:"column:attribute_symbolList" json:"attributeSymbolList"`
// SellPrice float32 `gorm:"column:sell_price" json:"sellPrice"`
// Stock int32 `gorm:"default:1"`
type ProductSku struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SkuId int32 `protobuf:"varint,1,opt,name=skuId,proto3" json:"skuId,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
AttributeSymbolList string `protobuf:"bytes,3,opt,name=attributeSymbolList,proto3" json:"attributeSymbolList,omitempty"`
SellPrice float32 `protobuf:"fixed32,4,opt,name=sellPrice,proto3" json:"sellPrice,omitempty"`
Stock int32 `protobuf:"varint,5,opt,name=stock,proto3" json:"stock,omitempty"`
}
func (x *ProductSku) Reset() {
*x = ProductSku{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[13]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductSku) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductSku) ProtoMessage() {}
func (x *ProductSku) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[13]
2 years ago
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 ProductSku.ProtoReflect.Descriptor instead.
func (*ProductSku) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{13}
2 years ago
}
func (x *ProductSku) GetSkuId() int32 {
if x != nil {
return x.SkuId
}
return 0
}
func (x *ProductSku) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ProductSku) GetAttributeSymbolList() string {
if x != nil {
return x.AttributeSymbolList
}
return ""
}
func (x *ProductSku) GetSellPrice() float32 {
if x != nil {
return x.SellPrice
}
return 0
}
func (x *ProductSku) GetStock() int32 {
if x != nil {
return x.Stock
}
return 0
}
// 请求 request struct
type ProductSkuReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductId int32 `protobuf:"varint,1,opt,name=productId,proto3" json:"productId,omitempty"`
}
func (x *ProductSkuReq) Reset() {
*x = ProductSkuReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[14]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductSkuReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductSkuReq) ProtoMessage() {}
func (x *ProductSkuReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[14]
2 years ago
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 ProductSkuReq.ProtoReflect.Descriptor instead.
func (*ProductSkuReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{14}
2 years ago
}
func (x *ProductSkuReq) GetProductId() int32 {
if x != nil {
return x.ProductId
}
return 0
}
// *
type ProductSkuResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductSku []*ProductSku `protobuf:"bytes,1,rep,name=productSku,proto3" json:"productSku,omitempty"`
}
func (x *ProductSkuResp) Reset() {
*x = ProductSkuResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[15]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductSkuResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductSkuResp) ProtoMessage() {}
func (x *ProductSkuResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[15]
2 years ago
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 ProductSkuResp.ProtoReflect.Descriptor instead.
func (*ProductSkuResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{15}
2 years ago
}
func (x *ProductSkuResp) GetProductSku() []*ProductSku {
if x != nil {
return x.ProductSku
}
return nil
}
2 years ago
// 获取 分布式 token
type TokenReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
}
func (x *TokenReq) Reset() {
*x = TokenReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[16]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TokenReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TokenReq) ProtoMessage() {}
func (x *TokenReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[16]
2 years ago
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 TokenReq.ProtoReflect.Descriptor instead.
func (*TokenReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{16}
2 years ago
}
func (x *TokenReq) GetUuid() string {
if x != nil {
return x.Uuid
}
return ""
}
// 响应 resp struct
type TokenResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
IsLogin bool `protobuf:"varint,2,opt,name=isLogin,proto3" json:"isLogin,omitempty"`
}
func (x *TokenResp) Reset() {
*x = TokenResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[17]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TokenResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TokenResp) ProtoMessage() {}
func (x *TokenResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[17]
2 years ago
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 TokenResp.ProtoReflect.Descriptor instead.
func (*TokenResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{17}
2 years ago
}
func (x *TokenResp) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *TokenResp) GetIsLogin() bool {
if x != nil {
return x.IsLogin
}
return false
}
2 years ago
// 修改库存
type UpdateSkuReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductSku *ProductSku `protobuf:"bytes,1,opt,name=productSku,proto3" json:"productSku,omitempty"`
}
func (x *UpdateSkuReq) Reset() {
*x = UpdateSkuReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[18]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSkuReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSkuReq) ProtoMessage() {}
func (x *UpdateSkuReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[18]
2 years ago
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 UpdateSkuReq.ProtoReflect.Descriptor instead.
func (*UpdateSkuReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{18}
2 years ago
}
func (x *UpdateSkuReq) GetProductSku() *ProductSku {
if x != nil {
return x.ProductSku
}
return nil
}
type UpdateSkuResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IsSuccess bool `protobuf:"varint,1,opt,name=isSuccess,proto3" json:"isSuccess,omitempty"`
}
func (x *UpdateSkuResp) Reset() {
*x = UpdateSkuResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[19]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSkuResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSkuResp) ProtoMessage() {}
func (x *UpdateSkuResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[19]
2 years ago
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 UpdateSkuResp.ProtoReflect.Descriptor instead.
func (*UpdateSkuResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{19}
2 years ago
}
func (x *UpdateSkuResp) GetIsSuccess() bool {
if x != nil {
return x.IsSuccess
}
return false
}
2 years ago
var File_cart_proto protoreflect.FileDescriptor
var file_cart_proto_rawDesc = []byte{
0x0a, 0x0a, 0x63, 0x61, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x02, 0x0a, 0x0c, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67,
2 years ago
0x43, 0x61, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72,
0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50,
0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72,
0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x61, 0x74,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x64, 0x22, 0x80, 0x02, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x74,
0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x12, 0x20, 0x0a,
0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x69,
0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20,
0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x22, 0xb0, 0x02, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x43,
0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x69, 0x6d,
0x70, 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b,
0x75, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75,
0x52, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x53, 0x69, 0x6d, 0x70,
0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61,
0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12,
0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x12, 0x3a, 0x0a, 0x18, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70,
0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70,
0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a,
0x0a, 0x10, 0x69, 0x73, 0x42, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d,
0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x42, 0x65, 0x79, 0x6f,
0x6e, 0x64, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x22, 0xff, 0x02, 0x0a, 0x0d, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73,
0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75,
0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69,
0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e,
0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c,
0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0xb8, 0x01, 0x0a,
0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
0x2e, 0x0a, 0x12, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x73, 0x68, 0x6f,
0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
0x3a, 0x0a, 0x18, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e,
0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x18, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e,
0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x69,
0x73, 0x42, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x42, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x4d,
0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x22, 0x53, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x43,
0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c,
0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x49, 0x0a, 0x0c,
0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0d,
0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x70,
0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69,
0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x73, 0x22, 0xec, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64,
0x75, 0x63, 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, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74,
0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d,
0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a,
0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12,
0x3b, 0x0a, 0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e,
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x75, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06,
2 years ago
0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x75, 0x79, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73,
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x4c, 0x61, 0x62, 0x65,
0x6c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x07, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65,
0x71, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67,
0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61,
0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5e, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x52,
0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0xbf, 0x04, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 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, 0x20, 0x0a,
0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12,
0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67,
0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74,
0x6f, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x53, 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63,
0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e,
0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74,
0x65, 0x41, 0x72, 0x65, 0x61, 0x50, 0x6f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01,
0x28, 0x02, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x50, 0x6f,
0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42,
0x75, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x75, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
0x08, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d,
0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72,
0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x10,
0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x49, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x69, 0x63, 0x74, 0x75,
0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x69,
0x63, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x50, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4f, 0x0a,
0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65,
0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52,
0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x9c,
0x01, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x14, 0x0a,
0x05, 0x73, 0x6b, 0x75, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6b,
0x75, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x72, 0x69,
0x62, 0x75, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x53,
0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6c,
0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x65,
0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x22, 0x2d, 0x0a,
0x0d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x12, 0x1c,
0x0a, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0e,
0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31,
0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b,
0x75, 0x22, 0x1e, 0x0a, 0x08, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a,
0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69,
0x64, 0x22, 0x3b, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14,
0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x41,
0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x12, 0x31,
0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b,
0x75, 0x22, 0x2d, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
0x32, 0x3d, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x41,
0x64, 0x64, 0x43, 0x61, 0x72, 0x74, 0x12, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
0x64, 0x64, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32,
0x49, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x12, 0x3b, 0x0a,
0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x12, 0x14, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65,
0x71, 0x1a, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x41, 0x0a, 0x08, 0x46, 0x69,
0x6e, 0x64, 0x43, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61,
0x72, 0x74, 0x12, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43,
0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
0x69, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x31, 0x0a,
0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00,
0x32, 0x5d, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x48, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32,
0x51, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b,
0x75, 0x12, 0x3f, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x53, 0x6b, 0x75, 0x12, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70,
0x22, 0x00, 0x32, 0x52, 0x0a, 0x0d, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x53, 0x6b, 0x75, 0x12, 0x41, 0x0a, 0x0d, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x53, 0x6b, 0x75, 0x12, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75,
0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x43, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65,
0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x33, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65,
0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x45, 0x0a, 0x09, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75, 0x12, 0x38, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x53, 0x6b, 0x75, 0x12, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70,
0x22, 0x00, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2 years ago
}
var (
file_cart_proto_rawDescOnce sync.Once
file_cart_proto_rawDescData = file_cart_proto_rawDesc
)
func file_cart_proto_rawDescGZIP() []byte {
file_cart_proto_rawDescOnce.Do(func() {
file_cart_proto_rawDescData = protoimpl.X.CompressGZIP(file_cart_proto_rawDescData)
})
return file_cart_proto_rawDescData
}
var file_cart_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
2 years ago
var file_cart_proto_goTypes = []interface{}{
(*ShoppingCart)(nil), // 0: proto.ShoppingCart
(*AddCartReq)(nil), // 1: proto.AddCartReq
(*AddCartResp)(nil), // 2: proto.AddCartResp
(*UpdateCartReq)(nil), // 3: proto.UpdateCartReq
(*UpdateCartResp)(nil), // 4: proto.UpdateCartResp
(*FindCartReq)(nil), // 5: proto.FindCartReq
(*FindCartResp)(nil), // 6: proto.FindCartResp
(*Product)(nil), // 7: proto.Product
(*PageReq)(nil), // 8: proto.PageReq
(*PageResp)(nil), // 9: proto.PageResp
(*ProductDetail)(nil), // 10: proto.ProductDetail
(*ProductDetailReq)(nil), // 11: proto.ProductDetailReq
(*ProductDetailResp)(nil), // 12: proto.ProductDetailResp
(*ProductSku)(nil), // 13: proto.ProductSku
(*ProductSkuReq)(nil), // 14: proto.ProductSkuReq
(*ProductSkuResp)(nil), // 15: proto.ProductSkuResp
(*TokenReq)(nil), // 16: proto.TokenReq
(*TokenResp)(nil), // 17: proto.TokenResp
(*UpdateSkuReq)(nil), // 18: proto.UpdateSkuReq
(*UpdateSkuResp)(nil), // 19: proto.UpdateSkuResp
nil, // 20: proto.Product.LabelListEntry
2 years ago
}
var file_cart_proto_depIdxs = []int32{
10, // 0: proto.AddCartResp.productSimple:type_name -> proto.ProductDetail
13, // 1: proto.AddCartResp.productSkuSimple:type_name -> proto.ProductSku
0, // 2: proto.FindCartResp.shoppingCarts:type_name -> proto.ShoppingCart
20, // 3: proto.Product.labelList:type_name -> proto.Product.LabelListEntry
7, // 4: proto.PageResp.product:type_name -> proto.Product
10, // 5: proto.ProductDetailResp.productDetail:type_name -> proto.ProductDetail
13, // 6: proto.ProductSkuResp.productSku:type_name -> proto.ProductSku
13, // 7: proto.UpdateSkuReq.productSku:type_name -> proto.ProductSku
1, // 8: proto.AddCart.AddCart:input_type -> proto.AddCartReq
3, // 9: proto.UpdateCart.UpdateCart:input_type -> proto.UpdateCartReq
5, // 10: proto.FindCart.FindCart:input_type -> proto.FindCartReq
8, // 11: proto.Page.Page:input_type -> proto.PageReq
11, // 12: proto.ShowProductDetail.ShowProductDetail:input_type -> proto.ProductDetailReq
14, // 13: proto.ShowProductSku.ShowProductSku:input_type -> proto.ProductSkuReq
11, // 14: proto.ShowDetailSku.ShowDetailSku:input_type -> proto.ProductDetailReq
16, // 15: proto.GetUserToken.GetUserToken:input_type -> proto.TokenReq
18, // 16: proto.UpdateSku.UpdateSku:input_type -> proto.UpdateSkuReq
2, // 17: proto.AddCart.AddCart:output_type -> proto.AddCartResp
4, // 18: proto.UpdateCart.UpdateCart:output_type -> proto.UpdateCartResp
6, // 19: proto.FindCart.FindCart:output_type -> proto.FindCartResp
9, // 20: proto.Page.Page:output_type -> proto.PageResp
12, // 21: proto.ShowProductDetail.ShowProductDetail:output_type -> proto.ProductDetailResp
15, // 22: proto.ShowProductSku.ShowProductSku:output_type -> proto.ProductSkuResp
15, // 23: proto.ShowDetailSku.ShowDetailSku:output_type -> proto.ProductSkuResp
17, // 24: proto.GetUserToken.GetUserToken:output_type -> proto.TokenResp
19, // 25: proto.UpdateSku.UpdateSku:output_type -> proto.UpdateSkuResp
17, // [17:26] is the sub-list for method output_type
8, // [8:17] is the sub-list for method input_type
8, // [8:8] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension extendee
0, // [0:8] is the sub-list for field type_name
2 years ago
}
func init() { file_cart_proto_init() }
func file_cart_proto_init() {
if File_cart_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cart_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ShoppingCart); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddCartReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddCartResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateCartReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateCartResp); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindCartReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindCartResp); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Product); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PageReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PageResp); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductDetail); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductDetailReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2 years ago
file_cart_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductDetailResp); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductSku); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2 years ago
file_cart_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductSkuReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductSkuResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TokenReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TokenResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSkuReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2 years ago
switch v := v.(*UpdateSkuResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2 years ago
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cart_proto_rawDesc,
NumEnums: 0,
NumMessages: 21,
2 years ago
NumExtensions: 0,
NumServices: 9,
2 years ago
},
GoTypes: file_cart_proto_goTypes,
DependencyIndexes: file_cart_proto_depIdxs,
MessageInfos: file_cart_proto_msgTypes,
}.Build()
File_cart_proto = out.File
file_cart_proto_rawDesc = nil
file_cart_proto_goTypes = nil
file_cart_proto_depIdxs = nil
}