Complete FrontOffice BFF to CMS Migration

- Migrated all 9 services from FrontOffice.BFF to CMS architecture
- Enhanced user.proto with 7 additional Customer API endpoints:
  * UpdateCustomerProfile, GetCustomerProfile
  * ChangeCustomerPassword with validation
  * GetCustomerReferrals with commission stats
  * UploadCustomerAvatar with file validation
  * GetCustomerSettings, UpdateCustomerSettings
- All services now support Customer endpoints with /Customer/ prefix
- Mock implementations with realistic Persian data
- Fixed namespace conflicts and compilation issues
- Comprehensive testing completed for all endpoints
- Services migrated: Categories, City, UserCarts, Products, UserWallet,
  Transaction, UserOrder, Package, User (enhanced)
This commit is contained in:
masoodafar-web
2026-01-30 08:53:09 +03:30
parent 96daf899c7
commit 658d076bdf
170 changed files with 3770 additions and 4364 deletions
@@ -43,6 +43,22 @@ service CategoryContract
};
};
rpc GetAllCategoriesForCustomer(GetAllCategoriesForCustomerRequest) returns (GetAllCategoriesForCustomerResponse){
option (google.api.http) = {
get: "/Customer/Categories/GetAllCategories"
};
};
rpc GetCategoryByIdForCustomer(GetCategoryByIdForCustomerRequest) returns (GetCategoryByIdForCustomerResponse){
option (google.api.http) = {
get: "/Customer/Categories/GetCategory/{id}"
};
};
rpc GetAllCategories(GetAllCategoriesRequest) returns (GetAllCategoriesResponse){
option (google.api.http) = {
get: "/Customer/GetAllCategories"
};
};
}
message CreateNewCategoryRequest
{
@@ -121,3 +137,42 @@ message GetAllCategoryByFilterResponseModel
bool is_active = 7;
int32 sort_order = 8;
}
message GetAllCategoriesRequest {
messages.PaginationState pagination_state = 1;
google.protobuf.StringValue sort_by = 2;
GetAllCategoryByFilterFilter filter = 3;
}
message GetAllCategoriesResponse {
messages.MetaData meta_data = 1;
repeated GetAllCategoryFilterResponseModel models = 2;
}
message GetAllCategoryFilterResponseModel {
int64 id = 1;
string name = 2;
string title = 3;
string description = 4;
google.protobuf.StringValue image_path = 5;
google.protobuf.Int64Value parent_id = 6;
bool is_active = 7;
int32 sort_order = 8;
}
// Customer Messages
message GetAllCategoriesForCustomerRequest {
google.protobuf.Int64Value parent_id = 1;
int32 page_number = 2;
int32 page_size = 3;
}
message GetAllCategoriesForCustomerResponse {
messages.MetaData meta_data = 1;
repeated GetAllCategoryFilterResponseModel categories = 2;
}
message GetCategoryByIdForCustomerRequest {
int64 id = 1;
}
message GetCategoryByIdForCustomerResponse {
GetAllCategoryFilterResponseModel category = 1;
}