iloom/shared/pkg/grpc/pb/inventory/inventory.pb.go
Chever John 9c39c8cbd7
init: iloom WMS monorepo with K8s deployment manifests
Go workspace (go.work) with 5 microservices + shared library:
- gateway (8080), auth-service (8081), purchaser-service (8082)
- textile-service (8083), washing-service (8084)
- shared: proto definitions, common packages

Infrastructure: docker-compose for local dev, K8s manifests for
K3s cluster deployment (mysql/redis/etcd + traefik ingress).

Frontend (iloom-flatten) added as git submodule.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-14 11:33:31 +08:00

3710 lines
131 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.20.3
// source: proto/inventory/inventory.proto
package inventory
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)
)
type ProductInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
ProductName string `protobuf:"bytes,2,opt,name=product_name,json=productName,proto3" json:"product_name,omitempty"`
ImageUrl string `protobuf:"bytes,3,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
Spec string `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"`
Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"`
UnitPieces int64 `protobuf:"varint,6,opt,name=unit_pieces,json=unitPieces,proto3" json:"unit_pieces,omitempty"`
UnitRolls int64 `protobuf:"varint,7,opt,name=unit_rolls,json=unitRolls,proto3" json:"unit_rolls,omitempty"`
StockQuantity string `protobuf:"bytes,8,opt,name=stock_quantity,json=stockQuantity,proto3" json:"stock_quantity,omitempty"`
Location string `protobuf:"bytes,9,opt,name=location,proto3" json:"location,omitempty"`
CostPrice string `protobuf:"bytes,10,opt,name=cost_price,json=costPrice,proto3" json:"cost_price,omitempty"`
SalesPrice string `protobuf:"bytes,11,opt,name=sales_price,json=salesPrice,proto3" json:"sales_price,omitempty"`
Remark string `protobuf:"bytes,12,opt,name=remark,proto3" json:"remark,omitempty"`
Status int64 `protobuf:"varint,13,opt,name=status,proto3" json:"status,omitempty"`
CreatedAt string `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt string `protobuf:"bytes,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
}
func (x *ProductInfo) Reset() {
*x = ProductInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductInfo) ProtoMessage() {}
func (x *ProductInfo) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 ProductInfo.ProtoReflect.Descriptor instead.
func (*ProductInfo) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{0}
}
func (x *ProductInfo) GetProductId() string {
if x != nil {
return x.ProductId
}
return ""
}
func (x *ProductInfo) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *ProductInfo) GetImageUrl() string {
if x != nil {
return x.ImageUrl
}
return ""
}
func (x *ProductInfo) GetSpec() string {
if x != nil {
return x.Spec
}
return ""
}
func (x *ProductInfo) GetColor() string {
if x != nil {
return x.Color
}
return ""
}
func (x *ProductInfo) GetUnitPieces() int64 {
if x != nil {
return x.UnitPieces
}
return 0
}
func (x *ProductInfo) GetUnitRolls() int64 {
if x != nil {
return x.UnitRolls
}
return 0
}
func (x *ProductInfo) GetStockQuantity() string {
if x != nil {
return x.StockQuantity
}
return ""
}
func (x *ProductInfo) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *ProductInfo) GetCostPrice() string {
if x != nil {
return x.CostPrice
}
return ""
}
func (x *ProductInfo) GetSalesPrice() string {
if x != nil {
return x.SalesPrice
}
return ""
}
func (x *ProductInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *ProductInfo) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *ProductInfo) GetCreatedAt() string {
if x != nil {
return x.CreatedAt
}
return ""
}
func (x *ProductInfo) GetUpdatedAt() string {
if x != nil {
return x.UpdatedAt
}
return ""
}
type CreateProductReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductName string `protobuf:"bytes,1,opt,name=product_name,json=productName,proto3" json:"product_name,omitempty"`
ImageUrl string `protobuf:"bytes,2,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
Spec string `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"`
Color string `protobuf:"bytes,4,opt,name=color,proto3" json:"color,omitempty"`
UnitPieces int64 `protobuf:"varint,5,opt,name=unit_pieces,json=unitPieces,proto3" json:"unit_pieces,omitempty"`
UnitRolls int64 `protobuf:"varint,6,opt,name=unit_rolls,json=unitRolls,proto3" json:"unit_rolls,omitempty"`
StockQuantity string `protobuf:"bytes,7,opt,name=stock_quantity,json=stockQuantity,proto3" json:"stock_quantity,omitempty"`
Location string `protobuf:"bytes,8,opt,name=location,proto3" json:"location,omitempty"`
CostPrice string `protobuf:"bytes,9,opt,name=cost_price,json=costPrice,proto3" json:"cost_price,omitempty"`
SalesPrice string `protobuf:"bytes,10,opt,name=sales_price,json=salesPrice,proto3" json:"sales_price,omitempty"`
Remark string `protobuf:"bytes,11,opt,name=remark,proto3" json:"remark,omitempty"`
}
func (x *CreateProductReq) Reset() {
*x = CreateProductReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateProductReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateProductReq) ProtoMessage() {}
func (x *CreateProductReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 CreateProductReq.ProtoReflect.Descriptor instead.
func (*CreateProductReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{1}
}
func (x *CreateProductReq) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *CreateProductReq) GetImageUrl() string {
if x != nil {
return x.ImageUrl
}
return ""
}
func (x *CreateProductReq) GetSpec() string {
if x != nil {
return x.Spec
}
return ""
}
func (x *CreateProductReq) GetColor() string {
if x != nil {
return x.Color
}
return ""
}
func (x *CreateProductReq) GetUnitPieces() int64 {
if x != nil {
return x.UnitPieces
}
return 0
}
func (x *CreateProductReq) GetUnitRolls() int64 {
if x != nil {
return x.UnitRolls
}
return 0
}
func (x *CreateProductReq) GetStockQuantity() string {
if x != nil {
return x.StockQuantity
}
return ""
}
func (x *CreateProductReq) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *CreateProductReq) GetCostPrice() string {
if x != nil {
return x.CostPrice
}
return ""
}
func (x *CreateProductReq) GetSalesPrice() string {
if x != nil {
return x.SalesPrice
}
return ""
}
func (x *CreateProductReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type UpdateProductReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
ProductName string `protobuf:"bytes,2,opt,name=product_name,json=productName,proto3" json:"product_name,omitempty"`
ImageUrl string `protobuf:"bytes,3,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
Spec string `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"`
Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"`
UnitPieces int64 `protobuf:"varint,6,opt,name=unit_pieces,json=unitPieces,proto3" json:"unit_pieces,omitempty"`
UnitRolls int64 `protobuf:"varint,7,opt,name=unit_rolls,json=unitRolls,proto3" json:"unit_rolls,omitempty"`
StockQuantity string `protobuf:"bytes,8,opt,name=stock_quantity,json=stockQuantity,proto3" json:"stock_quantity,omitempty"`
Location string `protobuf:"bytes,9,opt,name=location,proto3" json:"location,omitempty"`
CostPrice string `protobuf:"bytes,10,opt,name=cost_price,json=costPrice,proto3" json:"cost_price,omitempty"`
SalesPrice string `protobuf:"bytes,11,opt,name=sales_price,json=salesPrice,proto3" json:"sales_price,omitempty"`
Remark string `protobuf:"bytes,12,opt,name=remark,proto3" json:"remark,omitempty"`
}
func (x *UpdateProductReq) Reset() {
*x = UpdateProductReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateProductReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateProductReq) ProtoMessage() {}
func (x *UpdateProductReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 UpdateProductReq.ProtoReflect.Descriptor instead.
func (*UpdateProductReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{2}
}
func (x *UpdateProductReq) GetProductId() string {
if x != nil {
return x.ProductId
}
return ""
}
func (x *UpdateProductReq) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *UpdateProductReq) GetImageUrl() string {
if x != nil {
return x.ImageUrl
}
return ""
}
func (x *UpdateProductReq) GetSpec() string {
if x != nil {
return x.Spec
}
return ""
}
func (x *UpdateProductReq) GetColor() string {
if x != nil {
return x.Color
}
return ""
}
func (x *UpdateProductReq) GetUnitPieces() int64 {
if x != nil {
return x.UnitPieces
}
return 0
}
func (x *UpdateProductReq) GetUnitRolls() int64 {
if x != nil {
return x.UnitRolls
}
return 0
}
func (x *UpdateProductReq) GetStockQuantity() string {
if x != nil {
return x.StockQuantity
}
return ""
}
func (x *UpdateProductReq) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *UpdateProductReq) GetCostPrice() string {
if x != nil {
return x.CostPrice
}
return ""
}
func (x *UpdateProductReq) GetSalesPrice() string {
if x != nil {
return x.SalesPrice
}
return ""
}
func (x *UpdateProductReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type DeleteProductReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
}
func (x *DeleteProductReq) Reset() {
*x = DeleteProductReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteProductReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteProductReq) ProtoMessage() {}
func (x *DeleteProductReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 DeleteProductReq.ProtoReflect.Descriptor instead.
func (*DeleteProductReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{3}
}
func (x *DeleteProductReq) GetProductId() string {
if x != nil {
return x.ProductId
}
return ""
}
type GetProductReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
}
func (x *GetProductReq) Reset() {
*x = GetProductReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetProductReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetProductReq) ProtoMessage() {}
func (x *GetProductReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 GetProductReq.ProtoReflect.Descriptor instead.
func (*GetProductReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{4}
}
func (x *GetProductReq) GetProductId() string {
if x != nil {
return x.ProductId
}
return ""
}
type ListProductReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
PageSize int64 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
ProductName string `protobuf:"bytes,3,opt,name=product_name,json=productName,proto3" json:"product_name,omitempty"`
Spec string `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"`
Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"`
Location string `protobuf:"bytes,6,opt,name=location,proto3" json:"location,omitempty"`
Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *ListProductReq) Reset() {
*x = ListProductReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListProductReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListProductReq) ProtoMessage() {}
func (x *ListProductReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 ListProductReq.ProtoReflect.Descriptor instead.
func (*ListProductReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{5}
}
func (x *ListProductReq) GetPage() int64 {
if x != nil {
return x.Page
}
return 0
}
func (x *ListProductReq) GetPageSize() int64 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListProductReq) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *ListProductReq) GetSpec() string {
if x != nil {
return x.Spec
}
return ""
}
func (x *ListProductReq) GetColor() string {
if x != nil {
return x.Color
}
return ""
}
func (x *ListProductReq) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *ListProductReq) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
type ListProductResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
List []*ProductInfo `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`
}
func (x *ListProductResp) Reset() {
*x = ListProductResp{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListProductResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListProductResp) ProtoMessage() {}
func (x *ListProductResp) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 ListProductResp.ProtoReflect.Descriptor instead.
func (*ListProductResp) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{6}
}
func (x *ListProductResp) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *ListProductResp) GetList() []*ProductInfo {
if x != nil {
return x.List
}
return nil
}
type ImportProductReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Products []*CreateProductReq `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
FileName string `protobuf:"bytes,2,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty"`
}
func (x *ImportProductReq) Reset() {
*x = ImportProductReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ImportProductReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImportProductReq) ProtoMessage() {}
func (x *ImportProductReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 ImportProductReq.ProtoReflect.Descriptor instead.
func (*ImportProductReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{7}
}
func (x *ImportProductReq) GetProducts() []*CreateProductReq {
if x != nil {
return x.Products
}
return nil
}
func (x *ImportProductReq) GetFileName() string {
if x != nil {
return x.FileName
}
return ""
}
func (x *ImportProductReq) GetOperator() string {
if x != nil {
return x.Operator
}
return ""
}
type ImportProductResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TotalCount int64 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
SuccessCount int64 `protobuf:"varint,2,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"`
FailCount int64 `protobuf:"varint,3,opt,name=fail_count,json=failCount,proto3" json:"fail_count,omitempty"`
ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
ImportId string `protobuf:"bytes,5,opt,name=import_id,json=importId,proto3" json:"import_id,omitempty"`
}
func (x *ImportProductResp) Reset() {
*x = ImportProductResp{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ImportProductResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImportProductResp) ProtoMessage() {}
func (x *ImportProductResp) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 ImportProductResp.ProtoReflect.Descriptor instead.
func (*ImportProductResp) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{8}
}
func (x *ImportProductResp) GetTotalCount() int64 {
if x != nil {
return x.TotalCount
}
return 0
}
func (x *ImportProductResp) GetSuccessCount() int64 {
if x != nil {
return x.SuccessCount
}
return 0
}
func (x *ImportProductResp) GetFailCount() int64 {
if x != nil {
return x.FailCount
}
return 0
}
func (x *ImportProductResp) GetErrorMsg() string {
if x != nil {
return x.ErrorMsg
}
return ""
}
func (x *ImportProductResp) GetImportId() string {
if x != nil {
return x.ImportId
}
return ""
}
type ListImportLogReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
PageSize int64 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
}
func (x *ListImportLogReq) Reset() {
*x = ListImportLogReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListImportLogReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListImportLogReq) ProtoMessage() {}
func (x *ListImportLogReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 ListImportLogReq.ProtoReflect.Descriptor instead.
func (*ListImportLogReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{9}
}
func (x *ListImportLogReq) GetPage() int64 {
if x != nil {
return x.Page
}
return 0
}
func (x *ListImportLogReq) GetPageSize() int64 {
if x != nil {
return x.PageSize
}
return 0
}
type ListImportLogResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
List []*ImportLogInfo `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`
}
func (x *ListImportLogResp) Reset() {
*x = ListImportLogResp{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListImportLogResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListImportLogResp) ProtoMessage() {}
func (x *ListImportLogResp) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 ListImportLogResp.ProtoReflect.Descriptor instead.
func (*ListImportLogResp) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{10}
}
func (x *ListImportLogResp) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *ListImportLogResp) GetList() []*ImportLogInfo {
if x != nil {
return x.List
}
return nil
}
type ImportLogInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ImportId string `protobuf:"bytes,1,opt,name=import_id,json=importId,proto3" json:"import_id,omitempty"`
FileName string `protobuf:"bytes,2,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
TotalCount int64 `protobuf:"varint,3,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
SuccessCount int64 `protobuf:"varint,4,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"`
FailCount int64 `protobuf:"varint,5,opt,name=fail_count,json=failCount,proto3" json:"fail_count,omitempty"`
ErrorMsg string `protobuf:"bytes,6,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"`
CreatedAt string `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
}
func (x *ImportLogInfo) Reset() {
*x = ImportLogInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ImportLogInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImportLogInfo) ProtoMessage() {}
func (x *ImportLogInfo) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 ImportLogInfo.ProtoReflect.Descriptor instead.
func (*ImportLogInfo) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{11}
}
func (x *ImportLogInfo) GetImportId() string {
if x != nil {
return x.ImportId
}
return ""
}
func (x *ImportLogInfo) GetFileName() string {
if x != nil {
return x.FileName
}
return ""
}
func (x *ImportLogInfo) GetTotalCount() int64 {
if x != nil {
return x.TotalCount
}
return 0
}
func (x *ImportLogInfo) GetSuccessCount() int64 {
if x != nil {
return x.SuccessCount
}
return 0
}
func (x *ImportLogInfo) GetFailCount() int64 {
if x != nil {
return x.FailCount
}
return 0
}
func (x *ImportLogInfo) GetErrorMsg() string {
if x != nil {
return x.ErrorMsg
}
return ""
}
func (x *ImportLogInfo) GetOperator() string {
if x != nil {
return x.Operator
}
return ""
}
func (x *ImportLogInfo) GetCreatedAt() string {
if x != nil {
return x.CreatedAt
}
return ""
}
type StockSummaryReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *StockSummaryReq) Reset() {
*x = StockSummaryReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockSummaryReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockSummaryReq) ProtoMessage() {}
func (x *StockSummaryReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 StockSummaryReq.ProtoReflect.Descriptor instead.
func (*StockSummaryReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{12}
}
type StockSummaryResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductCount int64 `protobuf:"varint,1,opt,name=product_count,json=productCount,proto3" json:"product_count,omitempty"`
TotalPieces int64 `protobuf:"varint,2,opt,name=total_pieces,json=totalPieces,proto3" json:"total_pieces,omitempty"`
TotalRolls int64 `protobuf:"varint,3,opt,name=total_rolls,json=totalRolls,proto3" json:"total_rolls,omitempty"`
TotalCostValue string `protobuf:"bytes,4,opt,name=total_cost_value,json=totalCostValue,proto3" json:"total_cost_value,omitempty"`
TotalSalesValue string `protobuf:"bytes,5,opt,name=total_sales_value,json=totalSalesValue,proto3" json:"total_sales_value,omitempty"`
}
func (x *StockSummaryResp) Reset() {
*x = StockSummaryResp{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockSummaryResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockSummaryResp) ProtoMessage() {}
func (x *StockSummaryResp) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 StockSummaryResp.ProtoReflect.Descriptor instead.
func (*StockSummaryResp) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{13}
}
func (x *StockSummaryResp) GetProductCount() int64 {
if x != nil {
return x.ProductCount
}
return 0
}
func (x *StockSummaryResp) GetTotalPieces() int64 {
if x != nil {
return x.TotalPieces
}
return 0
}
func (x *StockSummaryResp) GetTotalRolls() int64 {
if x != nil {
return x.TotalRolls
}
return 0
}
func (x *StockSummaryResp) GetTotalCostValue() string {
if x != nil {
return x.TotalCostValue
}
return ""
}
func (x *StockSummaryResp) GetTotalSalesValue() string {
if x != nil {
return x.TotalSalesValue
}
return ""
}
type StockGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupBy string `protobuf:"bytes,1,opt,name=group_by,json=groupBy,proto3" json:"group_by,omitempty"`
}
func (x *StockGroupReq) Reset() {
*x = StockGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockGroupReq) ProtoMessage() {}
func (x *StockGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 StockGroupReq.ProtoReflect.Descriptor instead.
func (*StockGroupReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{14}
}
func (x *StockGroupReq) GetGroupBy() string {
if x != nil {
return x.GroupBy
}
return ""
}
type StockGroupItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
Quantity string `protobuf:"bytes,3,opt,name=quantity,proto3" json:"quantity,omitempty"`
}
func (x *StockGroupItem) Reset() {
*x = StockGroupItem{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockGroupItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockGroupItem) ProtoMessage() {}
func (x *StockGroupItem) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_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 StockGroupItem.ProtoReflect.Descriptor instead.
func (*StockGroupItem) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{15}
}
func (x *StockGroupItem) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *StockGroupItem) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
func (x *StockGroupItem) GetQuantity() string {
if x != nil {
return x.Quantity
}
return ""
}
type StockGroupResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*StockGroupItem `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
}
func (x *StockGroupResp) Reset() {
*x = StockGroupResp{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockGroupResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockGroupResp) ProtoMessage() {}
func (x *StockGroupResp) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StockGroupResp.ProtoReflect.Descriptor instead.
func (*StockGroupResp) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{16}
}
func (x *StockGroupResp) GetList() []*StockGroupItem {
if x != nil {
return x.List
}
return nil
}
type StockCheckInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CheckId string `protobuf:"bytes,1,opt,name=check_id,json=checkId,proto3" json:"check_id,omitempty"`
CheckNo string `protobuf:"bytes,2,opt,name=check_no,json=checkNo,proto3" json:"check_no,omitempty"`
CheckDate string `protobuf:"bytes,3,opt,name=check_date,json=checkDate,proto3" json:"check_date,omitempty"`
Checker string `protobuf:"bytes,4,opt,name=checker,proto3" json:"checker,omitempty"`
Status int64 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
Remark string `protobuf:"bytes,6,opt,name=remark,proto3" json:"remark,omitempty"`
CreatedAt string `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt string `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Details []*StockCheckDetailInfo `protobuf:"bytes,9,rep,name=details,proto3" json:"details,omitempty"`
}
func (x *StockCheckInfo) Reset() {
*x = StockCheckInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockCheckInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockCheckInfo) ProtoMessage() {}
func (x *StockCheckInfo) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StockCheckInfo.ProtoReflect.Descriptor instead.
func (*StockCheckInfo) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{17}
}
func (x *StockCheckInfo) GetCheckId() string {
if x != nil {
return x.CheckId
}
return ""
}
func (x *StockCheckInfo) GetCheckNo() string {
if x != nil {
return x.CheckNo
}
return ""
}
func (x *StockCheckInfo) GetCheckDate() string {
if x != nil {
return x.CheckDate
}
return ""
}
func (x *StockCheckInfo) GetChecker() string {
if x != nil {
return x.Checker
}
return ""
}
func (x *StockCheckInfo) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *StockCheckInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *StockCheckInfo) GetCreatedAt() string {
if x != nil {
return x.CreatedAt
}
return ""
}
func (x *StockCheckInfo) GetUpdatedAt() string {
if x != nil {
return x.UpdatedAt
}
return ""
}
func (x *StockCheckInfo) GetDetails() []*StockCheckDetailInfo {
if x != nil {
return x.Details
}
return nil
}
type StockCheckDetailInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DetailId string `protobuf:"bytes,1,opt,name=detail_id,json=detailId,proto3" json:"detail_id,omitempty"`
CheckId string `protobuf:"bytes,2,opt,name=check_id,json=checkId,proto3" json:"check_id,omitempty"`
ProductId string `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
ProductName string `protobuf:"bytes,4,opt,name=product_name,json=productName,proto3" json:"product_name,omitempty"`
SystemQuantity string `protobuf:"bytes,5,opt,name=system_quantity,json=systemQuantity,proto3" json:"system_quantity,omitempty"`
ActualQuantity string `protobuf:"bytes,6,opt,name=actual_quantity,json=actualQuantity,proto3" json:"actual_quantity,omitempty"`
DiffQuantity string `protobuf:"bytes,7,opt,name=diff_quantity,json=diffQuantity,proto3" json:"diff_quantity,omitempty"`
DiffAmount string `protobuf:"bytes,8,opt,name=diff_amount,json=diffAmount,proto3" json:"diff_amount,omitempty"`
Remark string `protobuf:"bytes,9,opt,name=remark,proto3" json:"remark,omitempty"`
}
func (x *StockCheckDetailInfo) Reset() {
*x = StockCheckDetailInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockCheckDetailInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockCheckDetailInfo) ProtoMessage() {}
func (x *StockCheckDetailInfo) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StockCheckDetailInfo.ProtoReflect.Descriptor instead.
func (*StockCheckDetailInfo) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{18}
}
func (x *StockCheckDetailInfo) GetDetailId() string {
if x != nil {
return x.DetailId
}
return ""
}
func (x *StockCheckDetailInfo) GetCheckId() string {
if x != nil {
return x.CheckId
}
return ""
}
func (x *StockCheckDetailInfo) GetProductId() string {
if x != nil {
return x.ProductId
}
return ""
}
func (x *StockCheckDetailInfo) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *StockCheckDetailInfo) GetSystemQuantity() string {
if x != nil {
return x.SystemQuantity
}
return ""
}
func (x *StockCheckDetailInfo) GetActualQuantity() string {
if x != nil {
return x.ActualQuantity
}
return ""
}
func (x *StockCheckDetailInfo) GetDiffQuantity() string {
if x != nil {
return x.DiffQuantity
}
return ""
}
func (x *StockCheckDetailInfo) GetDiffAmount() string {
if x != nil {
return x.DiffAmount
}
return ""
}
func (x *StockCheckDetailInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type CreateStockCheckReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CheckDate string `protobuf:"bytes,1,opt,name=check_date,json=checkDate,proto3" json:"check_date,omitempty"`
Checker string `protobuf:"bytes,2,opt,name=checker,proto3" json:"checker,omitempty"`
Remark string `protobuf:"bytes,3,opt,name=remark,proto3" json:"remark,omitempty"`
Details []*StockCheckDetailReq `protobuf:"bytes,4,rep,name=details,proto3" json:"details,omitempty"`
}
func (x *CreateStockCheckReq) Reset() {
*x = CreateStockCheckReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateStockCheckReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateStockCheckReq) ProtoMessage() {}
func (x *CreateStockCheckReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateStockCheckReq.ProtoReflect.Descriptor instead.
func (*CreateStockCheckReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{19}
}
func (x *CreateStockCheckReq) GetCheckDate() string {
if x != nil {
return x.CheckDate
}
return ""
}
func (x *CreateStockCheckReq) GetChecker() string {
if x != nil {
return x.Checker
}
return ""
}
func (x *CreateStockCheckReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *CreateStockCheckReq) GetDetails() []*StockCheckDetailReq {
if x != nil {
return x.Details
}
return nil
}
type StockCheckDetailReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
ActualQuantity string `protobuf:"bytes,2,opt,name=actual_quantity,json=actualQuantity,proto3" json:"actual_quantity,omitempty"`
Remark string `protobuf:"bytes,3,opt,name=remark,proto3" json:"remark,omitempty"`
}
func (x *StockCheckDetailReq) Reset() {
*x = StockCheckDetailReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockCheckDetailReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockCheckDetailReq) ProtoMessage() {}
func (x *StockCheckDetailReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StockCheckDetailReq.ProtoReflect.Descriptor instead.
func (*StockCheckDetailReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{20}
}
func (x *StockCheckDetailReq) GetProductId() string {
if x != nil {
return x.ProductId
}
return ""
}
func (x *StockCheckDetailReq) GetActualQuantity() string {
if x != nil {
return x.ActualQuantity
}
return ""
}
func (x *StockCheckDetailReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type UpdateStockCheckReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CheckId string `protobuf:"bytes,1,opt,name=check_id,json=checkId,proto3" json:"check_id,omitempty"`
Remark string `protobuf:"bytes,2,opt,name=remark,proto3" json:"remark,omitempty"`
Details []*StockCheckDetailReq `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"`
}
func (x *UpdateStockCheckReq) Reset() {
*x = UpdateStockCheckReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateStockCheckReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateStockCheckReq) ProtoMessage() {}
func (x *UpdateStockCheckReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateStockCheckReq.ProtoReflect.Descriptor instead.
func (*UpdateStockCheckReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{21}
}
func (x *UpdateStockCheckReq) GetCheckId() string {
if x != nil {
return x.CheckId
}
return ""
}
func (x *UpdateStockCheckReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *UpdateStockCheckReq) GetDetails() []*StockCheckDetailReq {
if x != nil {
return x.Details
}
return nil
}
type ConfirmStockCheckReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CheckId string `protobuf:"bytes,1,opt,name=check_id,json=checkId,proto3" json:"check_id,omitempty"`
Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"`
}
func (x *ConfirmStockCheckReq) Reset() {
*x = ConfirmStockCheckReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConfirmStockCheckReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfirmStockCheckReq) ProtoMessage() {}
func (x *ConfirmStockCheckReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfirmStockCheckReq.ProtoReflect.Descriptor instead.
func (*ConfirmStockCheckReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{22}
}
func (x *ConfirmStockCheckReq) GetCheckId() string {
if x != nil {
return x.CheckId
}
return ""
}
func (x *ConfirmStockCheckReq) GetOperator() string {
if x != nil {
return x.Operator
}
return ""
}
type GetStockCheckReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CheckId string `protobuf:"bytes,1,opt,name=check_id,json=checkId,proto3" json:"check_id,omitempty"`
}
func (x *GetStockCheckReq) Reset() {
*x = GetStockCheckReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetStockCheckReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetStockCheckReq) ProtoMessage() {}
func (x *GetStockCheckReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetStockCheckReq.ProtoReflect.Descriptor instead.
func (*GetStockCheckReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{23}
}
func (x *GetStockCheckReq) GetCheckId() string {
if x != nil {
return x.CheckId
}
return ""
}
type ListStockCheckReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
PageSize int64 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
CheckNo string `protobuf:"bytes,3,opt,name=check_no,json=checkNo,proto3" json:"check_no,omitempty"`
Status int64 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
StartDate string `protobuf:"bytes,5,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
EndDate string `protobuf:"bytes,6,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
}
func (x *ListStockCheckReq) Reset() {
*x = ListStockCheckReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListStockCheckReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListStockCheckReq) ProtoMessage() {}
func (x *ListStockCheckReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListStockCheckReq.ProtoReflect.Descriptor instead.
func (*ListStockCheckReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{24}
}
func (x *ListStockCheckReq) GetPage() int64 {
if x != nil {
return x.Page
}
return 0
}
func (x *ListStockCheckReq) GetPageSize() int64 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListStockCheckReq) GetCheckNo() string {
if x != nil {
return x.CheckNo
}
return ""
}
func (x *ListStockCheckReq) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *ListStockCheckReq) GetStartDate() string {
if x != nil {
return x.StartDate
}
return ""
}
func (x *ListStockCheckReq) GetEndDate() string {
if x != nil {
return x.EndDate
}
return ""
}
type ListStockCheckResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
List []*StockCheckInfo `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`
}
func (x *ListStockCheckResp) Reset() {
*x = ListStockCheckResp{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListStockCheckResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListStockCheckResp) ProtoMessage() {}
func (x *ListStockCheckResp) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListStockCheckResp.ProtoReflect.Descriptor instead.
func (*ListStockCheckResp) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{25}
}
func (x *ListStockCheckResp) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *ListStockCheckResp) GetList() []*StockCheckInfo {
if x != nil {
return x.List
}
return nil
}
type StockAdjustInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AdjustId string `protobuf:"bytes,1,opt,name=adjust_id,json=adjustId,proto3" json:"adjust_id,omitempty"`
AdjustNo string `protobuf:"bytes,2,opt,name=adjust_no,json=adjustNo,proto3" json:"adjust_no,omitempty"`
AdjustDate string `protobuf:"bytes,3,opt,name=adjust_date,json=adjustDate,proto3" json:"adjust_date,omitempty"`
AdjustReason string `protobuf:"bytes,4,opt,name=adjust_reason,json=adjustReason,proto3" json:"adjust_reason,omitempty"`
Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator,omitempty"`
Approver string `protobuf:"bytes,6,opt,name=approver,proto3" json:"approver,omitempty"`
Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"`
Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark,omitempty"`
CreatedAt string `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt string `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Details []*StockAdjustDetailInfo `protobuf:"bytes,11,rep,name=details,proto3" json:"details,omitempty"`
}
func (x *StockAdjustInfo) Reset() {
*x = StockAdjustInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockAdjustInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockAdjustInfo) ProtoMessage() {}
func (x *StockAdjustInfo) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StockAdjustInfo.ProtoReflect.Descriptor instead.
func (*StockAdjustInfo) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{26}
}
func (x *StockAdjustInfo) GetAdjustId() string {
if x != nil {
return x.AdjustId
}
return ""
}
func (x *StockAdjustInfo) GetAdjustNo() string {
if x != nil {
return x.AdjustNo
}
return ""
}
func (x *StockAdjustInfo) GetAdjustDate() string {
if x != nil {
return x.AdjustDate
}
return ""
}
func (x *StockAdjustInfo) GetAdjustReason() string {
if x != nil {
return x.AdjustReason
}
return ""
}
func (x *StockAdjustInfo) GetOperator() string {
if x != nil {
return x.Operator
}
return ""
}
func (x *StockAdjustInfo) GetApprover() string {
if x != nil {
return x.Approver
}
return ""
}
func (x *StockAdjustInfo) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *StockAdjustInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *StockAdjustInfo) GetCreatedAt() string {
if x != nil {
return x.CreatedAt
}
return ""
}
func (x *StockAdjustInfo) GetUpdatedAt() string {
if x != nil {
return x.UpdatedAt
}
return ""
}
func (x *StockAdjustInfo) GetDetails() []*StockAdjustDetailInfo {
if x != nil {
return x.Details
}
return nil
}
type StockAdjustDetailInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DetailId string `protobuf:"bytes,1,opt,name=detail_id,json=detailId,proto3" json:"detail_id,omitempty"`
AdjustId string `protobuf:"bytes,2,opt,name=adjust_id,json=adjustId,proto3" json:"adjust_id,omitempty"`
ProductId string `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
ProductName string `protobuf:"bytes,4,opt,name=product_name,json=productName,proto3" json:"product_name,omitempty"`
BeforeQuantity string `protobuf:"bytes,5,opt,name=before_quantity,json=beforeQuantity,proto3" json:"before_quantity,omitempty"`
AdjustQuantity string `protobuf:"bytes,6,opt,name=adjust_quantity,json=adjustQuantity,proto3" json:"adjust_quantity,omitempty"`
AfterQuantity string `protobuf:"bytes,7,opt,name=after_quantity,json=afterQuantity,proto3" json:"after_quantity,omitempty"`
Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark,omitempty"`
}
func (x *StockAdjustDetailInfo) Reset() {
*x = StockAdjustDetailInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockAdjustDetailInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockAdjustDetailInfo) ProtoMessage() {}
func (x *StockAdjustDetailInfo) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StockAdjustDetailInfo.ProtoReflect.Descriptor instead.
func (*StockAdjustDetailInfo) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{27}
}
func (x *StockAdjustDetailInfo) GetDetailId() string {
if x != nil {
return x.DetailId
}
return ""
}
func (x *StockAdjustDetailInfo) GetAdjustId() string {
if x != nil {
return x.AdjustId
}
return ""
}
func (x *StockAdjustDetailInfo) GetProductId() string {
if x != nil {
return x.ProductId
}
return ""
}
func (x *StockAdjustDetailInfo) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *StockAdjustDetailInfo) GetBeforeQuantity() string {
if x != nil {
return x.BeforeQuantity
}
return ""
}
func (x *StockAdjustDetailInfo) GetAdjustQuantity() string {
if x != nil {
return x.AdjustQuantity
}
return ""
}
func (x *StockAdjustDetailInfo) GetAfterQuantity() string {
if x != nil {
return x.AfterQuantity
}
return ""
}
func (x *StockAdjustDetailInfo) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type CreateStockAdjustReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AdjustDate string `protobuf:"bytes,1,opt,name=adjust_date,json=adjustDate,proto3" json:"adjust_date,omitempty"`
AdjustReason string `protobuf:"bytes,2,opt,name=adjust_reason,json=adjustReason,proto3" json:"adjust_reason,omitempty"`
Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty"`
Remark string `protobuf:"bytes,4,opt,name=remark,proto3" json:"remark,omitempty"`
Details []*StockAdjustDetailReq `protobuf:"bytes,5,rep,name=details,proto3" json:"details,omitempty"`
}
func (x *CreateStockAdjustReq) Reset() {
*x = CreateStockAdjustReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateStockAdjustReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateStockAdjustReq) ProtoMessage() {}
func (x *CreateStockAdjustReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateStockAdjustReq.ProtoReflect.Descriptor instead.
func (*CreateStockAdjustReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{28}
}
func (x *CreateStockAdjustReq) GetAdjustDate() string {
if x != nil {
return x.AdjustDate
}
return ""
}
func (x *CreateStockAdjustReq) GetAdjustReason() string {
if x != nil {
return x.AdjustReason
}
return ""
}
func (x *CreateStockAdjustReq) GetOperator() string {
if x != nil {
return x.Operator
}
return ""
}
func (x *CreateStockAdjustReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *CreateStockAdjustReq) GetDetails() []*StockAdjustDetailReq {
if x != nil {
return x.Details
}
return nil
}
type StockAdjustDetailReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
AdjustQuantity string `protobuf:"bytes,2,opt,name=adjust_quantity,json=adjustQuantity,proto3" json:"adjust_quantity,omitempty"`
Remark string `protobuf:"bytes,3,opt,name=remark,proto3" json:"remark,omitempty"`
}
func (x *StockAdjustDetailReq) Reset() {
*x = StockAdjustDetailReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StockAdjustDetailReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StockAdjustDetailReq) ProtoMessage() {}
func (x *StockAdjustDetailReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StockAdjustDetailReq.ProtoReflect.Descriptor instead.
func (*StockAdjustDetailReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{29}
}
func (x *StockAdjustDetailReq) GetProductId() string {
if x != nil {
return x.ProductId
}
return ""
}
func (x *StockAdjustDetailReq) GetAdjustQuantity() string {
if x != nil {
return x.AdjustQuantity
}
return ""
}
func (x *StockAdjustDetailReq) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
type ApproveStockAdjustReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AdjustId string `protobuf:"bytes,1,opt,name=adjust_id,json=adjustId,proto3" json:"adjust_id,omitempty"`
Approver string `protobuf:"bytes,2,opt,name=approver,proto3" json:"approver,omitempty"`
Action int64 `protobuf:"varint,3,opt,name=action,proto3" json:"action,omitempty"`
}
func (x *ApproveStockAdjustReq) Reset() {
*x = ApproveStockAdjustReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ApproveStockAdjustReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ApproveStockAdjustReq) ProtoMessage() {}
func (x *ApproveStockAdjustReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ApproveStockAdjustReq.ProtoReflect.Descriptor instead.
func (*ApproveStockAdjustReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{30}
}
func (x *ApproveStockAdjustReq) GetAdjustId() string {
if x != nil {
return x.AdjustId
}
return ""
}
func (x *ApproveStockAdjustReq) GetApprover() string {
if x != nil {
return x.Approver
}
return ""
}
func (x *ApproveStockAdjustReq) GetAction() int64 {
if x != nil {
return x.Action
}
return 0
}
type GetStockAdjustReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AdjustId string `protobuf:"bytes,1,opt,name=adjust_id,json=adjustId,proto3" json:"adjust_id,omitempty"`
}
func (x *GetStockAdjustReq) Reset() {
*x = GetStockAdjustReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetStockAdjustReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetStockAdjustReq) ProtoMessage() {}
func (x *GetStockAdjustReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetStockAdjustReq.ProtoReflect.Descriptor instead.
func (*GetStockAdjustReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{31}
}
func (x *GetStockAdjustReq) GetAdjustId() string {
if x != nil {
return x.AdjustId
}
return ""
}
type ListStockAdjustReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
PageSize int64 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
AdjustNo string `protobuf:"bytes,3,opt,name=adjust_no,json=adjustNo,proto3" json:"adjust_no,omitempty"`
AdjustReason string `protobuf:"bytes,4,opt,name=adjust_reason,json=adjustReason,proto3" json:"adjust_reason,omitempty"`
Status int64 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
StartDate string `protobuf:"bytes,6,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
EndDate string `protobuf:"bytes,7,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
}
func (x *ListStockAdjustReq) Reset() {
*x = ListStockAdjustReq{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListStockAdjustReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListStockAdjustReq) ProtoMessage() {}
func (x *ListStockAdjustReq) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListStockAdjustReq.ProtoReflect.Descriptor instead.
func (*ListStockAdjustReq) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{32}
}
func (x *ListStockAdjustReq) GetPage() int64 {
if x != nil {
return x.Page
}
return 0
}
func (x *ListStockAdjustReq) GetPageSize() int64 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListStockAdjustReq) GetAdjustNo() string {
if x != nil {
return x.AdjustNo
}
return ""
}
func (x *ListStockAdjustReq) GetAdjustReason() string {
if x != nil {
return x.AdjustReason
}
return ""
}
func (x *ListStockAdjustReq) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *ListStockAdjustReq) GetStartDate() string {
if x != nil {
return x.StartDate
}
return ""
}
func (x *ListStockAdjustReq) GetEndDate() string {
if x != nil {
return x.EndDate
}
return ""
}
type ListStockAdjustResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
List []*StockAdjustInfo `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`
}
func (x *ListStockAdjustResp) Reset() {
*x = ListStockAdjustResp{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListStockAdjustResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListStockAdjustResp) ProtoMessage() {}
func (x *ListStockAdjustResp) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListStockAdjustResp.ProtoReflect.Descriptor instead.
func (*ListStockAdjustResp) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{33}
}
func (x *ListStockAdjustResp) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *ListStockAdjustResp) GetList() []*StockAdjustInfo {
if x != nil {
return x.List
}
return nil
}
type IdResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *IdResp) Reset() {
*x = IdResp{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IdResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IdResp) ProtoMessage() {}
func (x *IdResp) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IdResp.ProtoReflect.Descriptor instead.
func (*IdResp) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{34}
}
func (x *IdResp) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type Empty struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Empty) Reset() {
*x = Empty{}
if protoimpl.UnsafeEnabled {
mi := &file_proto_inventory_inventory_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Empty) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Empty) ProtoMessage() {}
func (x *Empty) ProtoReflect() protoreflect.Message {
mi := &file_proto_inventory_inventory_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Empty.ProtoReflect.Descriptor instead.
func (*Empty) Descriptor() ([]byte, []int) {
return file_proto_inventory_inventory_proto_rawDescGZIP(), []int{35}
}
var File_proto_inventory_inventory_proto protoreflect.FileDescriptor
var file_proto_inventory_inventory_proto_rawDesc = []byte{
0x0a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72,
0x79, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xc7, 0x03, 0x0a,
0x0b, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b,
0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73,
0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12,
0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x70, 0x69,
0x65, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x6e, 0x69, 0x74,
0x50, 0x69, 0x65, 0x63, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x72,
0x6f, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x69, 0x74,
0x52, 0x6f, 0x6c, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, 0x71,
0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
0x74, 0x6f, 0x63, 0x6b, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74,
0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f,
0x73, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6c, 0x65, 0x73,
0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x61,
0x6c, 0x65, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61,
0x72, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xd7, 0x02, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b,
0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73,
0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12,
0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x70, 0x69,
0x65, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x6e, 0x69, 0x74,
0x50, 0x69, 0x65, 0x63, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x72,
0x6f, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x69, 0x74,
0x52, 0x6f, 0x6c, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, 0x71,
0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
0x74, 0x6f, 0x63, 0x6b, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74,
0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f,
0x73, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6c, 0x65, 0x73,
0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x61,
0x6c, 0x65, 0x73, 0x50, 0x72, 0x69, 0x63, 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,
0x22, 0xf6, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65,
0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f,
0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f,
0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x6e, 0x69, 0x74, 0x50, 0x69, 0x65, 0x63, 0x65, 0x73, 0x12,
0x1d, 0x0a, 0x0a, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x69, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x73, 0x12, 0x25,
0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x51, 0x75, 0x61,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65,
0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x61, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x69, 0x63,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x31, 0x0a, 0x10, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x0d,
0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a,
0x0e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12,
0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70,
0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1a, 0x0a,
0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x22, 0x53, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69,
0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e,
0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x10, 0x49, 0x6d, 0x70, 0x6f, 0x72,
0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x37, 0x0a, 0x08, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xb2, 0x01,
0x0a, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x63,
0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x69,
0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66,
0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f,
0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
0x49, 0x64, 0x22, 0x43, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70,
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x57, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x49,
0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74,
0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x18, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x49, 0x6d, 0x70,
0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74,
0x22, 0x86, 0x02, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12,
0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a,
0x0d, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1a,
0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x74, 0x6f,
0x63, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x22, 0xd1, 0x01, 0x0a,
0x10, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73,
0x70, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x50, 0x69, 0x65, 0x63, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74,
0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x73, 0x74, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x61,
0x6c, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x22, 0x2a, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65,
0x71, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x22, 0x56, 0x0a, 0x0e,
0x53, 0x74, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x22, 0x3f, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52,
0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xa8, 0x02, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63,
0x6b, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6e, 0x6f, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x12, 0x1d,
0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f,
0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
0x22, 0xc0, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49,
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64,
0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x71, 0x75,
0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f,
0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x51, 0x75, 0x61,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x71, 0x75,
0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69,
0x66, 0x66, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69,
0x66, 0x66, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x64, 0x69, 0x66, 0x66, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72,
0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d,
0x61, 0x72, 0x6b, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74,
0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
0x68, 0x65, 0x63, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65,
0x63, 0x6b, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x38, 0x0a, 0x07,
0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x52, 0x07, 0x64,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x75, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f,
0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x51, 0x75, 0x61,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x82, 0x01,
0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x38, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x76, 0x65,
0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x73, 0x22, 0x4d, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x6f,
0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
0x72, 0x22, 0x2d, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x64,
0x22, 0xb1, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70,
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x5f, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74,
0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64,
0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64,
0x44, 0x61, 0x74, 0x65, 0x22, 0x59, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63,
0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22,
0xf3, 0x02, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49, 0x64,
0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4e, 0x6f, 0x12, 0x1f, 0x0a,
0x0b, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x23,
0x0a, 0x0d, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12,
0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x08, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x64, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x76,
0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75,
0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa4, 0x02, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41,
0x64, 0x6a, 0x75, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x1b, 0x0a, 0x09, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62,
0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x51, 0x75, 0x61, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x71,
0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61,
0x64, 0x6a, 0x75, 0x73, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a,
0x0e, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18,
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x66, 0x74, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x08,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0xcb, 0x01, 0x0a,
0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75,
0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f,
0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x6a, 0x75,
0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74,
0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61,
0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72,
0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12,
0x39, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1f, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f,
0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65,
0x71, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x76, 0x0a, 0x14, 0x53, 0x74,
0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52,
0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x71, 0x75, 0x61, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x64, 0x6a, 0x75,
0x73, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,
0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61,
0x72, 0x6b, 0x22, 0x68, 0x0a, 0x15, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x6f,
0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61,
0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72,
0x6f, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x72,
0x6f, 0x76, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x11,
0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65,
0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49, 0x64, 0x22, 0xd9,
0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75,
0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61,
0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74,
0x5f, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x64, 0x6a, 0x75, 0x73,
0x74, 0x4e, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x72, 0x65,
0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75,
0x73, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12,
0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0x5b, 0x0a, 0x13, 0x4c, 0x69,
0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x73,
0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72,
0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x18, 0x0a, 0x06, 0x49, 0x64, 0x52, 0x65, 0x73,
0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x64, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x32, 0xa2, 0x0a, 0x0a, 0x10, 0x49,
0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x3f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x12, 0x1b, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e,
0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70,
0x12, 0x3e, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x12, 0x1b, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x10,
0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
0x12, 0x3e, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x12, 0x1b, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x10,
0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
0x12, 0x3e, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x18,
0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72,
0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e,
0x74, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12,
0x19, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x69, 0x6e, 0x76,
0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e,
0x74, 0x6f, 0x72, 0x79, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72,
0x79, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72,
0x74, 0x4c, 0x6f, 0x67, 0x12, 0x1b, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65,
0x71, 0x1a, 0x1c, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69,
0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12,
0x4a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61,
0x72, 0x79, 0x12, 0x1a, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53,
0x74, 0x6f, 0x63, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1b,
0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b,
0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0d, 0x47,
0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x2e, 0x69,
0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f,
0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73,
0x70, 0x12, 0x45, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1e, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72,
0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72,
0x79, 0x2e, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1e, 0x2e, 0x69,
0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x69,
0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x46,
0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f,
0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74,
0x6f, 0x72, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x4d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x12, 0x1c, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69,
0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a,
0x1d, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x53, 0x74, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47,
0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a,
0x75, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73,
0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
0x2e, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x72, 0x6f,
0x76, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x20, 0x2e,
0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76,
0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a,
0x10, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x12, 0x4a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a,
0x75, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65,
0x71, 0x1a, 0x1a, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74,
0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a,
0x0f, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74,
0x12, 0x1d, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a,
0x1e, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x53, 0x74, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42,
0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x75,
0x79, 0x75, 0x71, 0x69, 0x6e, 0x67, 0x66, 0x65, 0x6e, 0x67, 0x2f, 0x69, 0x6c, 0x6f, 0x6f, 0x6d,
0x2f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63,
0x2f, 0x70, 0x62, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_proto_inventory_inventory_proto_rawDescOnce sync.Once
file_proto_inventory_inventory_proto_rawDescData = file_proto_inventory_inventory_proto_rawDesc
)
func file_proto_inventory_inventory_proto_rawDescGZIP() []byte {
file_proto_inventory_inventory_proto_rawDescOnce.Do(func() {
file_proto_inventory_inventory_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_inventory_inventory_proto_rawDescData)
})
return file_proto_inventory_inventory_proto_rawDescData
}
var file_proto_inventory_inventory_proto_msgTypes = make([]protoimpl.MessageInfo, 36)
var file_proto_inventory_inventory_proto_goTypes = []interface{}{
(*ProductInfo)(nil), // 0: inventory.ProductInfo
(*CreateProductReq)(nil), // 1: inventory.CreateProductReq
(*UpdateProductReq)(nil), // 2: inventory.UpdateProductReq
(*DeleteProductReq)(nil), // 3: inventory.DeleteProductReq
(*GetProductReq)(nil), // 4: inventory.GetProductReq
(*ListProductReq)(nil), // 5: inventory.ListProductReq
(*ListProductResp)(nil), // 6: inventory.ListProductResp
(*ImportProductReq)(nil), // 7: inventory.ImportProductReq
(*ImportProductResp)(nil), // 8: inventory.ImportProductResp
(*ListImportLogReq)(nil), // 9: inventory.ListImportLogReq
(*ListImportLogResp)(nil), // 10: inventory.ListImportLogResp
(*ImportLogInfo)(nil), // 11: inventory.ImportLogInfo
(*StockSummaryReq)(nil), // 12: inventory.StockSummaryReq
(*StockSummaryResp)(nil), // 13: inventory.StockSummaryResp
(*StockGroupReq)(nil), // 14: inventory.StockGroupReq
(*StockGroupItem)(nil), // 15: inventory.StockGroupItem
(*StockGroupResp)(nil), // 16: inventory.StockGroupResp
(*StockCheckInfo)(nil), // 17: inventory.StockCheckInfo
(*StockCheckDetailInfo)(nil), // 18: inventory.StockCheckDetailInfo
(*CreateStockCheckReq)(nil), // 19: inventory.CreateStockCheckReq
(*StockCheckDetailReq)(nil), // 20: inventory.StockCheckDetailReq
(*UpdateStockCheckReq)(nil), // 21: inventory.UpdateStockCheckReq
(*ConfirmStockCheckReq)(nil), // 22: inventory.ConfirmStockCheckReq
(*GetStockCheckReq)(nil), // 23: inventory.GetStockCheckReq
(*ListStockCheckReq)(nil), // 24: inventory.ListStockCheckReq
(*ListStockCheckResp)(nil), // 25: inventory.ListStockCheckResp
(*StockAdjustInfo)(nil), // 26: inventory.StockAdjustInfo
(*StockAdjustDetailInfo)(nil), // 27: inventory.StockAdjustDetailInfo
(*CreateStockAdjustReq)(nil), // 28: inventory.CreateStockAdjustReq
(*StockAdjustDetailReq)(nil), // 29: inventory.StockAdjustDetailReq
(*ApproveStockAdjustReq)(nil), // 30: inventory.ApproveStockAdjustReq
(*GetStockAdjustReq)(nil), // 31: inventory.GetStockAdjustReq
(*ListStockAdjustReq)(nil), // 32: inventory.ListStockAdjustReq
(*ListStockAdjustResp)(nil), // 33: inventory.ListStockAdjustResp
(*IdResp)(nil), // 34: inventory.IdResp
(*Empty)(nil), // 35: inventory.Empty
}
var file_proto_inventory_inventory_proto_depIdxs = []int32{
0, // 0: inventory.ListProductResp.list:type_name -> inventory.ProductInfo
1, // 1: inventory.ImportProductReq.products:type_name -> inventory.CreateProductReq
11, // 2: inventory.ListImportLogResp.list:type_name -> inventory.ImportLogInfo
15, // 3: inventory.StockGroupResp.list:type_name -> inventory.StockGroupItem
18, // 4: inventory.StockCheckInfo.details:type_name -> inventory.StockCheckDetailInfo
20, // 5: inventory.CreateStockCheckReq.details:type_name -> inventory.StockCheckDetailReq
20, // 6: inventory.UpdateStockCheckReq.details:type_name -> inventory.StockCheckDetailReq
17, // 7: inventory.ListStockCheckResp.list:type_name -> inventory.StockCheckInfo
27, // 8: inventory.StockAdjustInfo.details:type_name -> inventory.StockAdjustDetailInfo
29, // 9: inventory.CreateStockAdjustReq.details:type_name -> inventory.StockAdjustDetailReq
26, // 10: inventory.ListStockAdjustResp.list:type_name -> inventory.StockAdjustInfo
1, // 11: inventory.InventoryService.CreateProduct:input_type -> inventory.CreateProductReq
2, // 12: inventory.InventoryService.UpdateProduct:input_type -> inventory.UpdateProductReq
3, // 13: inventory.InventoryService.DeleteProduct:input_type -> inventory.DeleteProductReq
4, // 14: inventory.InventoryService.GetProduct:input_type -> inventory.GetProductReq
5, // 15: inventory.InventoryService.ListProduct:input_type -> inventory.ListProductReq
7, // 16: inventory.InventoryService.ImportProducts:input_type -> inventory.ImportProductReq
9, // 17: inventory.InventoryService.ListImportLog:input_type -> inventory.ListImportLogReq
12, // 18: inventory.InventoryService.GetStockSummary:input_type -> inventory.StockSummaryReq
14, // 19: inventory.InventoryService.GetStockGroup:input_type -> inventory.StockGroupReq
19, // 20: inventory.InventoryService.CreateStockCheck:input_type -> inventory.CreateStockCheckReq
21, // 21: inventory.InventoryService.UpdateStockCheck:input_type -> inventory.UpdateStockCheckReq
22, // 22: inventory.InventoryService.ConfirmStockCheck:input_type -> inventory.ConfirmStockCheckReq
23, // 23: inventory.InventoryService.GetStockCheck:input_type -> inventory.GetStockCheckReq
24, // 24: inventory.InventoryService.ListStockCheck:input_type -> inventory.ListStockCheckReq
28, // 25: inventory.InventoryService.CreateStockAdjust:input_type -> inventory.CreateStockAdjustReq
30, // 26: inventory.InventoryService.ApproveStockAdjust:input_type -> inventory.ApproveStockAdjustReq
31, // 27: inventory.InventoryService.GetStockAdjust:input_type -> inventory.GetStockAdjustReq
32, // 28: inventory.InventoryService.ListStockAdjust:input_type -> inventory.ListStockAdjustReq
34, // 29: inventory.InventoryService.CreateProduct:output_type -> inventory.IdResp
35, // 30: inventory.InventoryService.UpdateProduct:output_type -> inventory.Empty
35, // 31: inventory.InventoryService.DeleteProduct:output_type -> inventory.Empty
0, // 32: inventory.InventoryService.GetProduct:output_type -> inventory.ProductInfo
6, // 33: inventory.InventoryService.ListProduct:output_type -> inventory.ListProductResp
8, // 34: inventory.InventoryService.ImportProducts:output_type -> inventory.ImportProductResp
10, // 35: inventory.InventoryService.ListImportLog:output_type -> inventory.ListImportLogResp
13, // 36: inventory.InventoryService.GetStockSummary:output_type -> inventory.StockSummaryResp
16, // 37: inventory.InventoryService.GetStockGroup:output_type -> inventory.StockGroupResp
34, // 38: inventory.InventoryService.CreateStockCheck:output_type -> inventory.IdResp
35, // 39: inventory.InventoryService.UpdateStockCheck:output_type -> inventory.Empty
35, // 40: inventory.InventoryService.ConfirmStockCheck:output_type -> inventory.Empty
17, // 41: inventory.InventoryService.GetStockCheck:output_type -> inventory.StockCheckInfo
25, // 42: inventory.InventoryService.ListStockCheck:output_type -> inventory.ListStockCheckResp
34, // 43: inventory.InventoryService.CreateStockAdjust:output_type -> inventory.IdResp
35, // 44: inventory.InventoryService.ApproveStockAdjust:output_type -> inventory.Empty
26, // 45: inventory.InventoryService.GetStockAdjust:output_type -> inventory.StockAdjustInfo
33, // 46: inventory.InventoryService.ListStockAdjust:output_type -> inventory.ListStockAdjustResp
29, // [29:47] is the sub-list for method output_type
11, // [11:29] is the sub-list for method input_type
11, // [11:11] is the sub-list for extension type_name
11, // [11:11] is the sub-list for extension extendee
0, // [0:11] is the sub-list for field type_name
}
func init() { file_proto_inventory_inventory_proto_init() }
func file_proto_inventory_inventory_proto_init() {
if File_proto_inventory_inventory_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_proto_inventory_inventory_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateProductReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateProductReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteProductReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetProductReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListProductReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListProductResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImportProductReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImportProductResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListImportLogReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListImportLogResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImportLogInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockSummaryReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockSummaryResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockGroupItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockGroupResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockCheckInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockCheckDetailInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateStockCheckReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockCheckDetailReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateStockCheckReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConfirmStockCheckReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetStockCheckReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListStockCheckReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListStockCheckResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockAdjustInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockAdjustDetailInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateStockAdjustReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StockAdjustDetailReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ApproveStockAdjustReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetStockAdjustReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListStockAdjustReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListStockAdjustResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IdResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_proto_inventory_inventory_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Empty); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_proto_inventory_inventory_proto_rawDesc,
NumEnums: 0,
NumMessages: 36,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_proto_inventory_inventory_proto_goTypes,
DependencyIndexes: file_proto_inventory_inventory_proto_depIdxs,
MessageInfos: file_proto_inventory_inventory_proto_msgTypes,
}.Build()
File_proto_inventory_inventory_proto = out.File
file_proto_inventory_inventory_proto_rawDesc = nil
file_proto_inventory_inventory_proto_goTypes = nil
file_proto_inventory_inventory_proto_depIdxs = nil
}