1098 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			1098 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			Go
		
	
	
	
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | 
						||
// versions:
 | 
						||
// - protoc-gen-go-grpc v1.5.1
 | 
						||
// - protoc             v3.19.4
 | 
						||
// source: generate/protobuf/product.proto
 | 
						||
 | 
						||
package product
 | 
						||
 | 
						||
import (
 | 
						||
	context "context"
 | 
						||
	grpc "google.golang.org/grpc"
 | 
						||
	codes "google.golang.org/grpc/codes"
 | 
						||
	status "google.golang.org/grpc/status"
 | 
						||
)
 | 
						||
 | 
						||
// This is a compile-time assertion to ensure that this generated file
 | 
						||
// is compatible with the grpc package it is being compiled against.
 | 
						||
// Requires gRPC-Go v1.64.0 or later.
 | 
						||
const _ = grpc.SupportPackageIsVersion9
 | 
						||
 | 
						||
const (
 | 
						||
	Product_CreateCategory_FullMethodName                  = "/product.Product/CreateCategory"
 | 
						||
	Product_ModifyCategory_FullMethodName                  = "/product.Product/ModifyCategory"
 | 
						||
	Product_DeleteCategory_FullMethodName                  = "/product.Product/DeleteCategory"
 | 
						||
	Product_GetCategory_FullMethodName                     = "/product.Product/GetCategory"
 | 
						||
	Product_ListCategory_FullMethodName                    = "/product.Product/ListCategory"
 | 
						||
	Product_CreateTags_FullMethodName                      = "/product.Product/CreateTags"
 | 
						||
	Product_ModifyTags_FullMethodName                      = "/product.Product/ModifyTags"
 | 
						||
	Product_DeleteTags_FullMethodName                      = "/product.Product/DeleteTags"
 | 
						||
	Product_GetTags_FullMethodName                         = "/product.Product/GetTags"
 | 
						||
	Product_ListTags_FullMethodName                        = "/product.Product/ListTags"
 | 
						||
	Product_CreateKYC_FullMethodName                       = "/product.Product/CreateKYC"
 | 
						||
	Product_FindLatestKYCByUID_FullMethodName              = "/product.Product/FindLatestKYCByUID"
 | 
						||
	Product_FindKYCByID_FullMethodName                     = "/product.Product/FindKYCByID"
 | 
						||
	Product_ListKYC_FullMethodName                         = "/product.Product/ListKYC"
 | 
						||
	Product_UpdateKYCStatus_FullMethodName                 = "/product.Product/UpdateKYCStatus"
 | 
						||
	Product_UpdateKYCInfo_FullMethodName                   = "/product.Product/UpdateKYCInfo"
 | 
						||
	Product_CreateItem_FullMethodName                      = "/product.Product/CreateItem"
 | 
						||
	Product_GetProductItem_FullMethodName                  = "/product.Product/GetProductItem"
 | 
						||
	Product_GetProductItemsByProductID_FullMethodName      = "/product.Product/GetProductItemsByProductID"
 | 
						||
	Product_DeleteProductItems_FullMethodName              = "/product.Product/DeleteProductItems"
 | 
						||
	Product_DeleteProductItemsByReferenceID_FullMethodName = "/product.Product/DeleteProductItemsByReferenceID"
 | 
						||
	Product_IncSalesCount_FullMethodName                   = "/product.Product/IncSalesCount"
 | 
						||
	Product_DecSalesCount_FullMethodName                   = "/product.Product/DecSalesCount"
 | 
						||
	Product_Update_FullMethodName                          = "/product.Product/Update"
 | 
						||
	Product_UpdateStatus_FullMethodName                    = "/product.Product/UpdateStatus"
 | 
						||
)
 | 
						||
 | 
						||
// ProductClient is the client API for Product service.
 | 
						||
//
 | 
						||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | 
						||
type ProductClient interface {
 | 
						||
	// ====================== Category Service Start  ======================
 | 
						||
	// CreateCategory 建立 product 分類
 | 
						||
	CreateCategory(ctx context.Context, in *CreateCategoryReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// ModifyCategory 修改 product 分類名稱
 | 
						||
	ModifyCategory(ctx context.Context, in *ModifyCategoryReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// DeleteCategory 刪除 product 分類
 | 
						||
	DeleteCategory(ctx context.Context, in *CategoryReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// GetCategory 取得 product 分類
 | 
						||
	GetCategory(ctx context.Context, in *CategoryReq, opts ...grpc.CallOption) (*Category, error)
 | 
						||
	// ListCategory 建立 product 分類
 | 
						||
	ListCategory(ctx context.Context, in *ListCategoryReq, opts ...grpc.CallOption) (*ListCategoryResp, error)
 | 
						||
	// ====================== Category Service End  ======================
 | 
						||
	// ====================== Tags Service Start  ======================
 | 
						||
	// CreateTags 建立 tags
 | 
						||
	CreateTags(ctx context.Context, in *CreateTagsReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// ModifyTags 修改 tags
 | 
						||
	ModifyTags(ctx context.Context, in *ModifyTagsReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// DeleteTags 刪除tags
 | 
						||
	DeleteTags(ctx context.Context, in *TagsReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// GetTags 取得 tags
 | 
						||
	GetTags(ctx context.Context, in *TagsReq, opts ...grpc.CallOption) (*Tags, error)
 | 
						||
	// ListTags 建立 tags
 | 
						||
	ListTags(ctx context.Context, in *ListTagsReq, opts ...grpc.CallOption) (*ListTagsResp, error)
 | 
						||
	// ====================== Tags Service End  ======================
 | 
						||
	// ====================== Know You Customer Service Start  ======================
 | 
						||
	// CreateKYC 建立 KYC 資料
 | 
						||
	CreateKYC(ctx context.Context, in *CreateKYCReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// FindLatestKYCByUID 根據使用者 UID 查詢最新 KYC 紀錄
 | 
						||
	FindLatestKYCByUID(ctx context.Context, in *FindLatestKYCByUIDReq, opts ...grpc.CallOption) (*KYC, error)
 | 
						||
	// FindKYCByID 根據 KYC ID 查詢
 | 
						||
	FindKYCByID(ctx context.Context, in *FindKYCByIDReq, opts ...grpc.CallOption) (*KYC, error)
 | 
						||
	// ListKYC 分頁查詢 KYC 清單(後台審核用)
 | 
						||
	ListKYC(ctx context.Context, in *ListKYCReq, opts ...grpc.CallOption) (*ListKYCResp, error)
 | 
						||
	// UpdateKYCStatus 更新 KYC 審核狀態與原因
 | 
						||
	UpdateKYCStatus(ctx context.Context, in *UpdateKYCStatusReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// UpdateKYCInfo 更新使用者的 KYC(尚未審核)
 | 
						||
	UpdateKYCInfo(ctx context.Context, in *UpdateKYCInfoReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// ====================== Know You Customer Service End  ======================
 | 
						||
	// ====================== ProductItem Service Start  ======================
 | 
						||
	// CreateItem 建立 ProductItem
 | 
						||
	CreateItem(ctx context.Context, in *CreateProductItemRequest, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// GetProductItem 取得 ProductItem
 | 
						||
	GetProductItem(ctx context.Context, in *GetProductItemRequest, opts ...grpc.CallOption) (*ProductItem, error)
 | 
						||
	// GetProductItemsByProductID 使用 ProductID 取得 ProductItems
 | 
						||
	GetProductItemsByProductID(ctx context.Context, in *ListProductItemRequest, opts ...grpc.CallOption) (*ListProductItemResponse, error)
 | 
						||
	// DeleteProductItems 刪除 Delete Product Item
 | 
						||
	DeleteProductItems(ctx context.Context, in *DeleteProductItemRequest, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// DeleteProductItemsByReferenceID 使用 ProductID 刪除所有 Item
 | 
						||
	DeleteProductItemsByReferenceID(ctx context.Context, in *DeleteProductItemsByReferenceIDReq, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// IncSalesCount 增加賣出數量
 | 
						||
	IncSalesCount(ctx context.Context, in *IncDecSalesCountRequest, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// DecSalesCount 減少賣出數量
 | 
						||
	DecSalesCount(ctx context.Context, in *IncDecSalesCountRequest, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// Update 更新 Item
 | 
						||
	Update(ctx context.Context, in *UpdateProductItemRequest, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
	// UpdateStatus 更新 Item status
 | 
						||
	UpdateStatus(ctx context.Context, in *UpdateStatusRequest, opts ...grpc.CallOption) (*OKResp, error)
 | 
						||
}
 | 
						||
 | 
						||
type productClient struct {
 | 
						||
	cc grpc.ClientConnInterface
 | 
						||
}
 | 
						||
 | 
						||
func NewProductClient(cc grpc.ClientConnInterface) ProductClient {
 | 
						||
	return &productClient{cc}
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) CreateCategory(ctx context.Context, in *CreateCategoryReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_CreateCategory_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) ModifyCategory(ctx context.Context, in *ModifyCategoryReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_ModifyCategory_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) DeleteCategory(ctx context.Context, in *CategoryReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_DeleteCategory_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) GetCategory(ctx context.Context, in *CategoryReq, opts ...grpc.CallOption) (*Category, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(Category)
 | 
						||
	err := c.cc.Invoke(ctx, Product_GetCategory_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) ListCategory(ctx context.Context, in *ListCategoryReq, opts ...grpc.CallOption) (*ListCategoryResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(ListCategoryResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_ListCategory_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) CreateTags(ctx context.Context, in *CreateTagsReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_CreateTags_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) ModifyTags(ctx context.Context, in *ModifyTagsReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_ModifyTags_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) DeleteTags(ctx context.Context, in *TagsReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_DeleteTags_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) GetTags(ctx context.Context, in *TagsReq, opts ...grpc.CallOption) (*Tags, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(Tags)
 | 
						||
	err := c.cc.Invoke(ctx, Product_GetTags_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) ListTags(ctx context.Context, in *ListTagsReq, opts ...grpc.CallOption) (*ListTagsResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(ListTagsResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_ListTags_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) CreateKYC(ctx context.Context, in *CreateKYCReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_CreateKYC_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) FindLatestKYCByUID(ctx context.Context, in *FindLatestKYCByUIDReq, opts ...grpc.CallOption) (*KYC, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(KYC)
 | 
						||
	err := c.cc.Invoke(ctx, Product_FindLatestKYCByUID_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) FindKYCByID(ctx context.Context, in *FindKYCByIDReq, opts ...grpc.CallOption) (*KYC, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(KYC)
 | 
						||
	err := c.cc.Invoke(ctx, Product_FindKYCByID_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) ListKYC(ctx context.Context, in *ListKYCReq, opts ...grpc.CallOption) (*ListKYCResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(ListKYCResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_ListKYC_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) UpdateKYCStatus(ctx context.Context, in *UpdateKYCStatusReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_UpdateKYCStatus_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) UpdateKYCInfo(ctx context.Context, in *UpdateKYCInfoReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_UpdateKYCInfo_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) CreateItem(ctx context.Context, in *CreateProductItemRequest, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_CreateItem_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) GetProductItem(ctx context.Context, in *GetProductItemRequest, opts ...grpc.CallOption) (*ProductItem, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(ProductItem)
 | 
						||
	err := c.cc.Invoke(ctx, Product_GetProductItem_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) GetProductItemsByProductID(ctx context.Context, in *ListProductItemRequest, opts ...grpc.CallOption) (*ListProductItemResponse, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(ListProductItemResponse)
 | 
						||
	err := c.cc.Invoke(ctx, Product_GetProductItemsByProductID_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) DeleteProductItems(ctx context.Context, in *DeleteProductItemRequest, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_DeleteProductItems_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) DeleteProductItemsByReferenceID(ctx context.Context, in *DeleteProductItemsByReferenceIDReq, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_DeleteProductItemsByReferenceID_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) IncSalesCount(ctx context.Context, in *IncDecSalesCountRequest, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_IncSalesCount_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) DecSalesCount(ctx context.Context, in *IncDecSalesCountRequest, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_DecSalesCount_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) Update(ctx context.Context, in *UpdateProductItemRequest, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_Update_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
func (c *productClient) UpdateStatus(ctx context.Context, in *UpdateStatusRequest, opts ...grpc.CallOption) (*OKResp, error) {
 | 
						||
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 | 
						||
	out := new(OKResp)
 | 
						||
	err := c.cc.Invoke(ctx, Product_UpdateStatus_FullMethodName, in, out, cOpts...)
 | 
						||
	if err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	return out, nil
 | 
						||
}
 | 
						||
 | 
						||
// ProductServer is the server API for Product service.
 | 
						||
// All implementations must embed UnimplementedProductServer
 | 
						||
// for forward compatibility.
 | 
						||
type ProductServer interface {
 | 
						||
	// ====================== Category Service Start  ======================
 | 
						||
	// CreateCategory 建立 product 分類
 | 
						||
	CreateCategory(context.Context, *CreateCategoryReq) (*OKResp, error)
 | 
						||
	// ModifyCategory 修改 product 分類名稱
 | 
						||
	ModifyCategory(context.Context, *ModifyCategoryReq) (*OKResp, error)
 | 
						||
	// DeleteCategory 刪除 product 分類
 | 
						||
	DeleteCategory(context.Context, *CategoryReq) (*OKResp, error)
 | 
						||
	// GetCategory 取得 product 分類
 | 
						||
	GetCategory(context.Context, *CategoryReq) (*Category, error)
 | 
						||
	// ListCategory 建立 product 分類
 | 
						||
	ListCategory(context.Context, *ListCategoryReq) (*ListCategoryResp, error)
 | 
						||
	// ====================== Category Service End  ======================
 | 
						||
	// ====================== Tags Service Start  ======================
 | 
						||
	// CreateTags 建立 tags
 | 
						||
	CreateTags(context.Context, *CreateTagsReq) (*OKResp, error)
 | 
						||
	// ModifyTags 修改 tags
 | 
						||
	ModifyTags(context.Context, *ModifyTagsReq) (*OKResp, error)
 | 
						||
	// DeleteTags 刪除tags
 | 
						||
	DeleteTags(context.Context, *TagsReq) (*OKResp, error)
 | 
						||
	// GetTags 取得 tags
 | 
						||
	GetTags(context.Context, *TagsReq) (*Tags, error)
 | 
						||
	// ListTags 建立 tags
 | 
						||
	ListTags(context.Context, *ListTagsReq) (*ListTagsResp, error)
 | 
						||
	// ====================== Tags Service End  ======================
 | 
						||
	// ====================== Know You Customer Service Start  ======================
 | 
						||
	// CreateKYC 建立 KYC 資料
 | 
						||
	CreateKYC(context.Context, *CreateKYCReq) (*OKResp, error)
 | 
						||
	// FindLatestKYCByUID 根據使用者 UID 查詢最新 KYC 紀錄
 | 
						||
	FindLatestKYCByUID(context.Context, *FindLatestKYCByUIDReq) (*KYC, error)
 | 
						||
	// FindKYCByID 根據 KYC ID 查詢
 | 
						||
	FindKYCByID(context.Context, *FindKYCByIDReq) (*KYC, error)
 | 
						||
	// ListKYC 分頁查詢 KYC 清單(後台審核用)
 | 
						||
	ListKYC(context.Context, *ListKYCReq) (*ListKYCResp, error)
 | 
						||
	// UpdateKYCStatus 更新 KYC 審核狀態與原因
 | 
						||
	UpdateKYCStatus(context.Context, *UpdateKYCStatusReq) (*OKResp, error)
 | 
						||
	// UpdateKYCInfo 更新使用者的 KYC(尚未審核)
 | 
						||
	UpdateKYCInfo(context.Context, *UpdateKYCInfoReq) (*OKResp, error)
 | 
						||
	// ====================== Know You Customer Service End  ======================
 | 
						||
	// ====================== ProductItem Service Start  ======================
 | 
						||
	// CreateItem 建立 ProductItem
 | 
						||
	CreateItem(context.Context, *CreateProductItemRequest) (*OKResp, error)
 | 
						||
	// GetProductItem 取得 ProductItem
 | 
						||
	GetProductItem(context.Context, *GetProductItemRequest) (*ProductItem, error)
 | 
						||
	// GetProductItemsByProductID 使用 ProductID 取得 ProductItems
 | 
						||
	GetProductItemsByProductID(context.Context, *ListProductItemRequest) (*ListProductItemResponse, error)
 | 
						||
	// DeleteProductItems 刪除 Delete Product Item
 | 
						||
	DeleteProductItems(context.Context, *DeleteProductItemRequest) (*OKResp, error)
 | 
						||
	// DeleteProductItemsByReferenceID 使用 ProductID 刪除所有 Item
 | 
						||
	DeleteProductItemsByReferenceID(context.Context, *DeleteProductItemsByReferenceIDReq) (*OKResp, error)
 | 
						||
	// IncSalesCount 增加賣出數量
 | 
						||
	IncSalesCount(context.Context, *IncDecSalesCountRequest) (*OKResp, error)
 | 
						||
	// DecSalesCount 減少賣出數量
 | 
						||
	DecSalesCount(context.Context, *IncDecSalesCountRequest) (*OKResp, error)
 | 
						||
	// Update 更新 Item
 | 
						||
	Update(context.Context, *UpdateProductItemRequest) (*OKResp, error)
 | 
						||
	// UpdateStatus 更新 Item status
 | 
						||
	UpdateStatus(context.Context, *UpdateStatusRequest) (*OKResp, error)
 | 
						||
	mustEmbedUnimplementedProductServer()
 | 
						||
}
 | 
						||
 | 
						||
// UnimplementedProductServer must be embedded to have
 | 
						||
// forward compatible implementations.
 | 
						||
//
 | 
						||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
 | 
						||
// pointer dereference when methods are called.
 | 
						||
type UnimplementedProductServer struct{}
 | 
						||
 | 
						||
func (UnimplementedProductServer) CreateCategory(context.Context, *CreateCategoryReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method CreateCategory not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) ModifyCategory(context.Context, *ModifyCategoryReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method ModifyCategory not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) DeleteCategory(context.Context, *CategoryReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCategory not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) GetCategory(context.Context, *CategoryReq) (*Category, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method GetCategory not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) ListCategory(context.Context, *ListCategoryReq) (*ListCategoryResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method ListCategory not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) CreateTags(context.Context, *CreateTagsReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method CreateTags not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) ModifyTags(context.Context, *ModifyTagsReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method ModifyTags not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) DeleteTags(context.Context, *TagsReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method DeleteTags not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) GetTags(context.Context, *TagsReq) (*Tags, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method GetTags not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) ListTags(context.Context, *ListTagsReq) (*ListTagsResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method ListTags not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) CreateKYC(context.Context, *CreateKYCReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method CreateKYC not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) FindLatestKYCByUID(context.Context, *FindLatestKYCByUIDReq) (*KYC, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method FindLatestKYCByUID not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) FindKYCByID(context.Context, *FindKYCByIDReq) (*KYC, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method FindKYCByID not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) ListKYC(context.Context, *ListKYCReq) (*ListKYCResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method ListKYC not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) UpdateKYCStatus(context.Context, *UpdateKYCStatusReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateKYCStatus not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) UpdateKYCInfo(context.Context, *UpdateKYCInfoReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateKYCInfo not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) CreateItem(context.Context, *CreateProductItemRequest) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method CreateItem not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) GetProductItem(context.Context, *GetProductItemRequest) (*ProductItem, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method GetProductItem not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) GetProductItemsByProductID(context.Context, *ListProductItemRequest) (*ListProductItemResponse, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method GetProductItemsByProductID not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) DeleteProductItems(context.Context, *DeleteProductItemRequest) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method DeleteProductItems not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) DeleteProductItemsByReferenceID(context.Context, *DeleteProductItemsByReferenceIDReq) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method DeleteProductItemsByReferenceID not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) IncSalesCount(context.Context, *IncDecSalesCountRequest) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method IncSalesCount not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) DecSalesCount(context.Context, *IncDecSalesCountRequest) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method DecSalesCount not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) Update(context.Context, *UpdateProductItemRequest) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) UpdateStatus(context.Context, *UpdateStatusRequest) (*OKResp, error) {
 | 
						||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateStatus not implemented")
 | 
						||
}
 | 
						||
func (UnimplementedProductServer) mustEmbedUnimplementedProductServer() {}
 | 
						||
func (UnimplementedProductServer) testEmbeddedByValue()                 {}
 | 
						||
 | 
						||
// UnsafeProductServer may be embedded to opt out of forward compatibility for this service.
 | 
						||
// Use of this interface is not recommended, as added methods to ProductServer will
 | 
						||
// result in compilation errors.
 | 
						||
type UnsafeProductServer interface {
 | 
						||
	mustEmbedUnimplementedProductServer()
 | 
						||
}
 | 
						||
 | 
						||
func RegisterProductServer(s grpc.ServiceRegistrar, srv ProductServer) {
 | 
						||
	// If the following call pancis, it indicates UnimplementedProductServer was
 | 
						||
	// embedded by pointer and is nil.  This will cause panics if an
 | 
						||
	// unimplemented method is ever invoked, so we test this at initialization
 | 
						||
	// time to prevent it from happening at runtime later due to I/O.
 | 
						||
	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
 | 
						||
		t.testEmbeddedByValue()
 | 
						||
	}
 | 
						||
	s.RegisterService(&Product_ServiceDesc, srv)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_CreateCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(CreateCategoryReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).CreateCategory(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_CreateCategory_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).CreateCategory(ctx, req.(*CreateCategoryReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_ModifyCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(ModifyCategoryReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).ModifyCategory(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_ModifyCategory_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).ModifyCategory(ctx, req.(*ModifyCategoryReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_DeleteCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(CategoryReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).DeleteCategory(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_DeleteCategory_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).DeleteCategory(ctx, req.(*CategoryReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_GetCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(CategoryReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).GetCategory(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_GetCategory_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).GetCategory(ctx, req.(*CategoryReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_ListCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(ListCategoryReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).ListCategory(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_ListCategory_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).ListCategory(ctx, req.(*ListCategoryReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_CreateTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(CreateTagsReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).CreateTags(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_CreateTags_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).CreateTags(ctx, req.(*CreateTagsReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_ModifyTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(ModifyTagsReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).ModifyTags(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_ModifyTags_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).ModifyTags(ctx, req.(*ModifyTagsReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_DeleteTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(TagsReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).DeleteTags(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_DeleteTags_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).DeleteTags(ctx, req.(*TagsReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_GetTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(TagsReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).GetTags(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_GetTags_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).GetTags(ctx, req.(*TagsReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_ListTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(ListTagsReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).ListTags(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_ListTags_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).ListTags(ctx, req.(*ListTagsReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_CreateKYC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(CreateKYCReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).CreateKYC(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_CreateKYC_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).CreateKYC(ctx, req.(*CreateKYCReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_FindLatestKYCByUID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(FindLatestKYCByUIDReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).FindLatestKYCByUID(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_FindLatestKYCByUID_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).FindLatestKYCByUID(ctx, req.(*FindLatestKYCByUIDReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_FindKYCByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(FindKYCByIDReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).FindKYCByID(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_FindKYCByID_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).FindKYCByID(ctx, req.(*FindKYCByIDReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_ListKYC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(ListKYCReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).ListKYC(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_ListKYC_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).ListKYC(ctx, req.(*ListKYCReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_UpdateKYCStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(UpdateKYCStatusReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).UpdateKYCStatus(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_UpdateKYCStatus_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).UpdateKYCStatus(ctx, req.(*UpdateKYCStatusReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_UpdateKYCInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(UpdateKYCInfoReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).UpdateKYCInfo(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_UpdateKYCInfo_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).UpdateKYCInfo(ctx, req.(*UpdateKYCInfoReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_CreateItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(CreateProductItemRequest)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).CreateItem(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_CreateItem_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).CreateItem(ctx, req.(*CreateProductItemRequest))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_GetProductItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(GetProductItemRequest)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).GetProductItem(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_GetProductItem_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).GetProductItem(ctx, req.(*GetProductItemRequest))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_GetProductItemsByProductID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(ListProductItemRequest)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).GetProductItemsByProductID(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_GetProductItemsByProductID_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).GetProductItemsByProductID(ctx, req.(*ListProductItemRequest))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_DeleteProductItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(DeleteProductItemRequest)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).DeleteProductItems(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_DeleteProductItems_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).DeleteProductItems(ctx, req.(*DeleteProductItemRequest))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_DeleteProductItemsByReferenceID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(DeleteProductItemsByReferenceIDReq)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).DeleteProductItemsByReferenceID(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_DeleteProductItemsByReferenceID_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).DeleteProductItemsByReferenceID(ctx, req.(*DeleteProductItemsByReferenceIDReq))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_IncSalesCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(IncDecSalesCountRequest)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).IncSalesCount(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_IncSalesCount_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).IncSalesCount(ctx, req.(*IncDecSalesCountRequest))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_DecSalesCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(IncDecSalesCountRequest)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).DecSalesCount(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_DecSalesCount_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).DecSalesCount(ctx, req.(*IncDecSalesCountRequest))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(UpdateProductItemRequest)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).Update(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_Update_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).Update(ctx, req.(*UpdateProductItemRequest))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
func _Product_UpdateStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						||
	in := new(UpdateStatusRequest)
 | 
						||
	if err := dec(in); err != nil {
 | 
						||
		return nil, err
 | 
						||
	}
 | 
						||
	if interceptor == nil {
 | 
						||
		return srv.(ProductServer).UpdateStatus(ctx, in)
 | 
						||
	}
 | 
						||
	info := &grpc.UnaryServerInfo{
 | 
						||
		Server:     srv,
 | 
						||
		FullMethod: Product_UpdateStatus_FullMethodName,
 | 
						||
	}
 | 
						||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						||
		return srv.(ProductServer).UpdateStatus(ctx, req.(*UpdateStatusRequest))
 | 
						||
	}
 | 
						||
	return interceptor(ctx, in, info, handler)
 | 
						||
}
 | 
						||
 | 
						||
// Product_ServiceDesc is the grpc.ServiceDesc for Product service.
 | 
						||
// It's only intended for direct use with grpc.RegisterService,
 | 
						||
// and not to be introspected or modified (even as a copy)
 | 
						||
var Product_ServiceDesc = grpc.ServiceDesc{
 | 
						||
	ServiceName: "product.Product",
 | 
						||
	HandlerType: (*ProductServer)(nil),
 | 
						||
	Methods: []grpc.MethodDesc{
 | 
						||
		{
 | 
						||
			MethodName: "CreateCategory",
 | 
						||
			Handler:    _Product_CreateCategory_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "ModifyCategory",
 | 
						||
			Handler:    _Product_ModifyCategory_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "DeleteCategory",
 | 
						||
			Handler:    _Product_DeleteCategory_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "GetCategory",
 | 
						||
			Handler:    _Product_GetCategory_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "ListCategory",
 | 
						||
			Handler:    _Product_ListCategory_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "CreateTags",
 | 
						||
			Handler:    _Product_CreateTags_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "ModifyTags",
 | 
						||
			Handler:    _Product_ModifyTags_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "DeleteTags",
 | 
						||
			Handler:    _Product_DeleteTags_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "GetTags",
 | 
						||
			Handler:    _Product_GetTags_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "ListTags",
 | 
						||
			Handler:    _Product_ListTags_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "CreateKYC",
 | 
						||
			Handler:    _Product_CreateKYC_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "FindLatestKYCByUID",
 | 
						||
			Handler:    _Product_FindLatestKYCByUID_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "FindKYCByID",
 | 
						||
			Handler:    _Product_FindKYCByID_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "ListKYC",
 | 
						||
			Handler:    _Product_ListKYC_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "UpdateKYCStatus",
 | 
						||
			Handler:    _Product_UpdateKYCStatus_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "UpdateKYCInfo",
 | 
						||
			Handler:    _Product_UpdateKYCInfo_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "CreateItem",
 | 
						||
			Handler:    _Product_CreateItem_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "GetProductItem",
 | 
						||
			Handler:    _Product_GetProductItem_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "GetProductItemsByProductID",
 | 
						||
			Handler:    _Product_GetProductItemsByProductID_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "DeleteProductItems",
 | 
						||
			Handler:    _Product_DeleteProductItems_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "DeleteProductItemsByReferenceID",
 | 
						||
			Handler:    _Product_DeleteProductItemsByReferenceID_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "IncSalesCount",
 | 
						||
			Handler:    _Product_IncSalesCount_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "DecSalesCount",
 | 
						||
			Handler:    _Product_DecSalesCount_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "Update",
 | 
						||
			Handler:    _Product_Update_Handler,
 | 
						||
		},
 | 
						||
		{
 | 
						||
			MethodName: "UpdateStatus",
 | 
						||
			Handler:    _Product_UpdateStatus_Handler,
 | 
						||
		},
 | 
						||
	},
 | 
						||
	Streams:  []grpc.StreamDesc{},
 | 
						||
	Metadata: "generate/protobuf/product.proto",
 | 
						||
}
 |