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.

1726 lines
58 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"`
}
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
}
// 请求 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"`
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
}
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
}
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[3]
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[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 Product.ProtoReflect.Descriptor instead.
func (*Product) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{3}
}
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[4]
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[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 PageReq.ProtoReflect.Descriptor instead.
func (*PageReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{4}
}
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[5]
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[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 PageResp.ProtoReflect.Descriptor instead.
func (*PageResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{5}
}
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[6]
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[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 ProductDetail.ProtoReflect.Descriptor instead.
func (*ProductDetail) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{6}
}
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[7]
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[7]
if protoimpl.UnsafeEnabled && 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{7}
}
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[8]
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[8]
if protoimpl.UnsafeEnabled && 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{8}
}
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[9]
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[9]
if protoimpl.UnsafeEnabled && 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{9}
}
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[10]
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[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 ProductSkuReq.ProtoReflect.Descriptor instead.
func (*ProductSkuReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{10}
}
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[11]
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[11]
if protoimpl.UnsafeEnabled && 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{11}
}
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[12]
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[12]
if protoimpl.UnsafeEnabled && 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{12}
}
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[13]
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[13]
if protoimpl.UnsafeEnabled && 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{13}
}
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[14]
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[14]
if protoimpl.UnsafeEnabled && 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{14}
}
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[15]
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[15]
if protoimpl.UnsafeEnabled && 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{15}
}
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, 0xe2, 0x01, 0x0a, 0x0c, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67,
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, 0x22, 0xe0, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64,
2 years ago
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, 0x22, 0xb0, 0x02, 0x0a, 0x0b,
2 years ago
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, 0xec,
2 years ago
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, 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,
2 years ago
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,
2 years ago
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, 0x43, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x43, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 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,
2 years ago
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
}
2 years ago
var file_cart_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
2 years ago
var file_cart_proto_goTypes = []interface{}{
(*ShoppingCart)(nil), // 0: proto.ShoppingCart
(*AddCartReq)(nil), // 1: proto.AddCartReq
(*AddCartResp)(nil), // 2: proto.AddCartResp
(*Product)(nil), // 3: proto.Product
(*PageReq)(nil), // 4: proto.PageReq
(*PageResp)(nil), // 5: proto.PageResp
(*ProductDetail)(nil), // 6: proto.ProductDetail
(*ProductDetailReq)(nil), // 7: proto.ProductDetailReq
(*ProductDetailResp)(nil), // 8: proto.ProductDetailResp
(*ProductSku)(nil), // 9: proto.ProductSku
(*ProductSkuReq)(nil), // 10: proto.ProductSkuReq
(*ProductSkuResp)(nil), // 11: proto.ProductSkuResp
2 years ago
(*TokenReq)(nil), // 12: proto.TokenReq
(*TokenResp)(nil), // 13: proto.TokenResp
2 years ago
(*UpdateSkuReq)(nil), // 14: proto.UpdateSkuReq
(*UpdateSkuResp)(nil), // 15: proto.UpdateSkuResp
nil, // 16: proto.Product.LabelListEntry
2 years ago
}
var file_cart_proto_depIdxs = []int32{
6, // 0: proto.AddCartResp.productSimple:type_name -> proto.ProductDetail
9, // 1: proto.AddCartResp.productSkuSimple:type_name -> proto.ProductSku
2 years ago
16, // 2: proto.Product.labelList:type_name -> proto.Product.LabelListEntry
2 years ago
3, // 3: proto.PageResp.product:type_name -> proto.Product
6, // 4: proto.ProductDetailResp.productDetail:type_name -> proto.ProductDetail
9, // 5: proto.ProductSkuResp.productSku:type_name -> proto.ProductSku
2 years ago
9, // 6: proto.UpdateSkuReq.productSku:type_name -> proto.ProductSku
1, // 7: proto.AddCart.AddCart:input_type -> proto.AddCartReq
1, // 8: proto.UpdateCart.UpdateCart:input_type -> proto.AddCartReq
4, // 9: proto.Page.Page:input_type -> proto.PageReq
7, // 10: proto.ShowProductDetail.ShowProductDetail:input_type -> proto.ProductDetailReq
10, // 11: proto.ShowProductSku.ShowProductSku:input_type -> proto.ProductSkuReq
7, // 12: proto.ShowDetailSku.ShowDetailSku:input_type -> proto.ProductDetailReq
12, // 13: proto.GetUserToken.GetUserToken:input_type -> proto.TokenReq
14, // 14: proto.UpdateSku.UpdateSku:input_type -> proto.UpdateSkuReq
2, // 15: proto.AddCart.AddCart:output_type -> proto.AddCartResp
2, // 16: proto.UpdateCart.UpdateCart:output_type -> proto.AddCartResp
5, // 17: proto.Page.Page:output_type -> proto.PageResp
8, // 18: proto.ShowProductDetail.ShowProductDetail:output_type -> proto.ProductDetailResp
11, // 19: proto.ShowProductSku.ShowProductSku:output_type -> proto.ProductSkuResp
11, // 20: proto.ShowDetailSku.ShowDetailSku:output_type -> proto.ProductSkuResp
13, // 21: proto.GetUserToken.GetUserToken:output_type -> proto.TokenResp
15, // 22: proto.UpdateSku.UpdateSku:output_type -> proto.UpdateSkuResp
15, // [15:23] is the sub-list for method output_type
7, // [7:15] is the sub-list for method input_type
2 years ago
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] 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.(*Product); i {
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.(*PageReq); i {
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.(*PageResp); i {
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.(*ProductDetail); i {
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.(*ProductDetailReq); i {
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.(*ProductDetailResp); i {
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.(*ProductSku); i {
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.(*ProductSkuReq); i {
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.(*ProductSkuResp); i {
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.(*TokenReq); i {
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.(*TokenResp); i {
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.(*UpdateSkuReq); i {
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.(*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,
2 years ago
NumMessages: 17,
2 years ago
NumExtensions: 0,
NumServices: 8,
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
}