Files
CMS/src/CMSMicroservice.Protobuf/Protos/discountcategory.proto
masoodafar-web f0f48118e7 Add validators and services for Product Galleries and Product Tags
- Implemented Create, Delete, Get, and Update validators for Product Galleries.
- Added Create, Delete, Get, and Update validators for Product Tags.
- Created service classes for handling Discount Categories, Discount Orders, Discount Products, Discount Shopping Cart, Product Categories, Product Galleries, and Product Tags.
- Each service class integrates with CQRS for command and query handling.
- Established mapping profiles for Product Galleries.
2025-12-04 02:40:49 +03:30

101 lines
2.6 KiB
Protocol Buffer

syntax = "proto3";
package discountcategory;
import "public_messages.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/timestamp.proto";
import "google/api/annotations.proto";
option csharp_namespace = "CMSMicroservice.Protobuf.Protos.DiscountCategory";
service DiscountCategoryContract
{
rpc CreateDiscountCategory(CreateDiscountCategoryRequest) returns (CreateDiscountCategoryResponse){
option (google.api.http) = {
post: "/CreateDiscountCategory"
body: "*"
};
};
rpc UpdateDiscountCategory(UpdateDiscountCategoryRequest) returns (google.protobuf.Empty){
option (google.api.http) = {
put: "/UpdateDiscountCategory"
body: "*"
};
};
rpc DeleteDiscountCategory(DeleteDiscountCategoryRequest) returns (google.protobuf.Empty){
option (google.api.http) = {
delete: "/DeleteDiscountCategory"
body: "*"
};
};
rpc GetDiscountCategories(GetDiscountCategoriesRequest) returns (GetDiscountCategoriesResponse){
option (google.api.http) = {
get: "/GetDiscountCategories"
};
};
}
// Create Category
message CreateDiscountCategoryRequest
{
string name = 1;
string title = 2;
google.protobuf.StringValue description = 3;
google.protobuf.StringValue image_path = 4;
google.protobuf.Int64Value parent_category_id = 5;
int32 sort_order = 6;
bool is_active = 7;
}
message CreateDiscountCategoryResponse
{
int64 category_id = 1;
}
// Update Category
message UpdateDiscountCategoryRequest
{
int64 category_id = 1;
string name = 2;
string title = 3;
google.protobuf.StringValue description = 4;
google.protobuf.StringValue image_path = 5;
google.protobuf.Int64Value parent_category_id = 6;
int32 sort_order = 7;
bool is_active = 8;
}
// Delete Category
message DeleteDiscountCategoryRequest
{
int64 category_id = 1;
}
// Get Categories with Tree Structure
message GetDiscountCategoriesRequest
{
google.protobuf.Int64Value parent_category_id = 1; // null = root categories
google.protobuf.BoolValue is_active = 2;
}
message GetDiscountCategoriesResponse
{
repeated DiscountCategoryDto categories = 1;
}
message DiscountCategoryDto
{
int64 id = 1;
string name = 2;
string title = 3;
google.protobuf.StringValue description = 4;
google.protobuf.StringValue image_path = 5;
google.protobuf.Int64Value parent_category_id = 6;
int32 sort_order = 7;
bool is_active = 8;
int32 product_count = 9;
repeated DiscountCategoryDto children = 10; // Recursive children
}