update
This commit is contained in:
@@ -0,0 +1,411 @@
|
||||
# CMS API Coverage - مقایسه CMS با BackOffice.BFF
|
||||
|
||||
**تاریخ بررسی**: 2025-12-01
|
||||
**هدف**: شناسایی APIهای CMS که در BackOffice.BFF پوشش داده نشدهاند
|
||||
|
||||
---
|
||||
|
||||
## 📊 خلاصه وضعیت
|
||||
|
||||
| دسته | تعداد Proto در CMS | پوشش در BFF | وضعیت |
|
||||
|------|-------------------|--------------|--------|
|
||||
| **User Management** | 1 | ✅ کامل | 100% |
|
||||
| **Network & Tree** | 1 | ✅ کامل | 100% |
|
||||
| **Club Membership** | 1 | ✅ کامل | 100% |
|
||||
| **Commission & Wallet** | 3 | ✅ کامل | 100% |
|
||||
| **Products** | 6 | ⚠️ جزئی | 70% |
|
||||
| **Orders** | 2 | ⚠️ جزئی | 60% |
|
||||
| **Configuration** | 1 | ✅ کامل | 100% |
|
||||
| **Roles & Permissions** | 2 | ✅ کامل | 100% |
|
||||
| **Cart** | 1 | ❌ خیر | 0% |
|
||||
| **Transactions** | 1 | ❌ خیر | 0% |
|
||||
| **Contracts** | 2 | ❌ خیر | 0% |
|
||||
| **OTP** | 1 | ✅ کامل | 100% |
|
||||
| **Public Messages** | 1 | ❌ خیر | 0% |
|
||||
|
||||
---
|
||||
|
||||
## ✅ APIهای کامل پوشش داده شده (در BFF موجود است)
|
||||
|
||||
### 1. User Management (`user.proto`)
|
||||
- ✅ CreateNewUserCommand
|
||||
- ✅ UpdateUserCommand
|
||||
- ✅ DeleteUserCommand
|
||||
- ✅ GetAllUserByFilterQuery
|
||||
- ✅ GetUserQuery
|
||||
- ✅ SendOtpCommand
|
||||
- ✅ VerifyOtpCodeCommand
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات
|
||||
- Admin: Create, Update, GetAll, Get (بدون Delete)
|
||||
- Inspector: فقط GetAll, Get
|
||||
|
||||
---
|
||||
|
||||
### 2. Network Management (`networkmembership.proto`)
|
||||
- ✅ GetNetworkTreeQuery
|
||||
- ✅ GetNetworkHistoryQuery
|
||||
- ✅ GetNetworkStatisticsQuery
|
||||
- ✅ GetUserNetworkInfoQuery
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه
|
||||
- Admin: همه
|
||||
- Inspector: فقط مشاهده (همه)
|
||||
|
||||
---
|
||||
|
||||
### 3. Club Membership (`clubmembership.proto`)
|
||||
- ✅ ActivateClubCommand
|
||||
- ✅ GetAllClubMembersQuery
|
||||
- ✅ GetClubStatisticsQuery
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه
|
||||
- Admin: ActivateClub, GetAll, Get
|
||||
- Inspector: فقط GetAll, Get
|
||||
|
||||
---
|
||||
|
||||
### 4. Commission & Balance (`commission.proto`, `userwallet.proto`, `userwalletchangelog.proto`)
|
||||
- ✅ GetAllWeeklyPoolsQuery
|
||||
- ✅ GetWeeklyPoolQuery
|
||||
- ✅ GetUserWeeklyBalancesQuery
|
||||
- ✅ GetUserPayoutsQuery
|
||||
- ✅ ApproveWithdrawalCommand
|
||||
- ✅ RejectWithdrawalCommand
|
||||
- ✅ ProcessWithdrawalCommand
|
||||
- ✅ GetWithdrawalRequestsQuery
|
||||
- ✅ TriggerWeeklyCalculationCommand (Worker)
|
||||
- ✅ GetWorkerStatusQuery
|
||||
- ✅ GetWorkerExecutionLogsQuery
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات + Trigger Worker
|
||||
- Admin: Approve/Reject Withdrawal, GetAll queries
|
||||
- Inspector: فقط Get queries (بدون Approve/Reject)
|
||||
|
||||
---
|
||||
|
||||
### 5. Configuration (`configuration.proto`)
|
||||
- ✅ CreateOrUpdateConfigurationCommand
|
||||
- ✅ DeactivateConfigurationCommand
|
||||
- ✅ GetAllConfigurationsQuery
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات
|
||||
- Admin: فقط GetAll (بدون Update)
|
||||
- Inspector: فقط GetAll
|
||||
|
||||
---
|
||||
|
||||
### 6. Roles & Permissions (`role.proto`, `userrole.proto`)
|
||||
- ✅ CreateNewRoleCommand
|
||||
- ✅ UpdateRoleCommand
|
||||
- ✅ DeleteRoleCommand
|
||||
- ✅ GetAllRoleByFilterQuery
|
||||
- ✅ GetRoleQuery
|
||||
- ✅ CreateNewUserRoleCommand
|
||||
- ✅ UpdateUserRoleCommand
|
||||
- ✅ DeleteUserRoleCommand
|
||||
- ✅ GetAllUserRoleByFilterQuery
|
||||
- ✅ GetUserRoleQuery
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات
|
||||
- Admin: ❌ هیچ دسترسی (فقط SuperAdmin)
|
||||
- Inspector: ❌ هیچ دسترسی
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ APIهای جزئی پوشش داده شده
|
||||
|
||||
### 7. Products (`products.proto`, `category.proto`, `tag.proto`, `package.proto`, `productgallerys.proto`, `productimages.proto`)
|
||||
|
||||
#### ✅ موجود در BFF:
|
||||
- CreateNewProductsCommand
|
||||
- UpdateProductsCommand
|
||||
- DeleteProductsCommand
|
||||
- GetAllProductsByFilterQuery
|
||||
- GetProductsQuery
|
||||
- GetProductsForCategoryQuery
|
||||
- AddProductImageCommand
|
||||
- RemoveProductImageCommand
|
||||
- GetProductGalleryQuery
|
||||
|
||||
#### ⚠️ موجود در CMS ولی نه در BFF:
|
||||
```
|
||||
Products:
|
||||
- BulkUpdateProductsCommand (بهروزرسانی دستهای)
|
||||
- GetProductBySkuQuery (جستجو با SKU)
|
||||
- ToggleProductStatusCommand (فعال/غیرفعال)
|
||||
- GetLowStockProductsQuery (محصولات کم موجودی)
|
||||
|
||||
Category:
|
||||
- CreateNewCategoryCommand ✅
|
||||
- UpdateCategoryCommand ✅
|
||||
- DeleteCategoryCommand ✅
|
||||
- GetAllCategoryByFilterQuery ✅
|
||||
- GetCategoriesQuery ✅
|
||||
- GetCategoryQuery ✅
|
||||
- UpdateCategoryProductsCommand ✅ (ارتباط Product-Category)
|
||||
- UpdateProductCategoriesCommand ✅
|
||||
|
||||
Tags:
|
||||
- CreateTagCommand ❌
|
||||
- UpdateTagCommand ❌
|
||||
- DeleteTagCommand ❌
|
||||
- GetAllTagsQuery ❌
|
||||
- AssignTagToProductCommand ❌ (ارتباط Product-Tag)
|
||||
|
||||
Package (بستهبندی):
|
||||
- CreateNewPackageCommand ✅
|
||||
- UpdatePackageCommand ✅
|
||||
- DeletePackageCommand ✅
|
||||
- GetAllPackageByFilterQuery ✅
|
||||
- GetPackageQuery ✅
|
||||
```
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات
|
||||
- Admin: همه عملیات محصولات (Create, Update, Delete)
|
||||
- Inspector: فقط Get queries
|
||||
|
||||
---
|
||||
|
||||
### 8. Orders (`userorder.proto`, `factordetails.proto`)
|
||||
|
||||
#### ✅ موجود در BFF:
|
||||
- CreateNewUserOrderCommand
|
||||
- UpdateUserOrderCommand
|
||||
- DeleteUserOrderCommand
|
||||
- GetAllUserOrderByFilterQuery
|
||||
- GetUserOrderQuery
|
||||
|
||||
#### ⚠️ موجود در CMS ولی نه در BFF:
|
||||
```
|
||||
UserOrder:
|
||||
- CancelOrderCommand (لغو سفارش)
|
||||
- UpdateOrderStatusCommand (تغییر وضعیت)
|
||||
- GetOrderByInvoiceNumberQuery (جستجو با شماره فاکتور)
|
||||
- GetOrdersByDateRangeQuery (گزارش بازه زمانی)
|
||||
- CalculateOrderPVQuery (محاسبه PV سفارش)
|
||||
- ApplyDiscountToOrderCommand (اعمال تخفیف)
|
||||
|
||||
FactorDetails:
|
||||
- GetFactorDetailsQuery (جزئیات کامل فاکتور)
|
||||
- UpdateFactorDetailCommand (ویرایش آیتم فاکتور)
|
||||
- RemoveFactorDetailCommand (حذف آیتم فاکتور)
|
||||
```
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات
|
||||
- Admin: همه عملیات (Create, Update, Cancel, Status)
|
||||
- Inspector: فقط Get queries
|
||||
|
||||
---
|
||||
|
||||
## ❌ APIهای بدون پوشش (باید اضافه شوند)
|
||||
|
||||
### 9. Shopping Cart (`usercarts.proto`)
|
||||
**وضعیت**: هیچ Handler در BFF وجود ندارد
|
||||
|
||||
```
|
||||
باید اضافه شود:
|
||||
- AddToCartCommand
|
||||
- UpdateCartItemCommand
|
||||
- RemoveFromCartCommand
|
||||
- GetUserCartQuery
|
||||
- ClearCartCommand
|
||||
- MergeCartCommand (برای کاربران مهمان → لاگین)
|
||||
```
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: مشاهده سبد همه کاربران
|
||||
- Admin: مشاهده سبد همه کاربران
|
||||
- Inspector: مشاهده فقط (بدون ویرایش)
|
||||
|
||||
**اولویت**: 🟡 متوسط (برای فروشگاه ضروری است)
|
||||
|
||||
---
|
||||
|
||||
### 10. Transactions (`transactions.proto`)
|
||||
**وضعیت**: هیچ Handler در BFF وجود ندارد
|
||||
|
||||
```
|
||||
باید اضافه شود:
|
||||
- CreateTransactionCommand (ثبت تراکنش پرداخت)
|
||||
- GetTransactionQuery
|
||||
- GetAllTransactionsByFilterQuery
|
||||
- GetTransactionByReferenceQuery (جستجو با شماره پیگیری)
|
||||
- GetUserTransactionsQuery (تراکنشهای یک کاربر)
|
||||
- VerifyTransactionCommand (تأیید پرداخت از درگاه)
|
||||
- RefundTransactionCommand (بازگشت وجه)
|
||||
```
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات + Refund
|
||||
- Admin: مشاهده تراکنشها (بدون Refund)
|
||||
- Inspector: فقط مشاهده
|
||||
|
||||
**اولویت**: 🔴 بالا (برای درگاه پرداخت ضروری است)
|
||||
|
||||
---
|
||||
|
||||
### 11. Contracts (`contract.proto`, `usercontract.proto`)
|
||||
**وضعیت**: هیچ Handler در BFF وجود ندارد
|
||||
|
||||
```
|
||||
باید اضافه شود:
|
||||
Contract:
|
||||
- CreateContractCommand
|
||||
- UpdateContractCommand
|
||||
- DeleteContractCommand
|
||||
- GetAllContractsQuery
|
||||
- GetContractQuery
|
||||
- ActivateContractCommand
|
||||
- DeactivateContractCommand
|
||||
|
||||
UserContract:
|
||||
- AssignContractToUserCommand
|
||||
- GetUserContractsQuery
|
||||
- GetContractUsersQuery
|
||||
- RevokeUserContractCommand
|
||||
```
|
||||
|
||||
**توضیح**: Contracts احتمالاً برای قراردادهای عضویت یا خریدهای خاص است.
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات
|
||||
- Admin: Assign, Get queries
|
||||
- Inspector: فقط Get queries
|
||||
|
||||
**اولویت**: 🟢 پایین (در صورت نیاز بیزینسی)
|
||||
|
||||
---
|
||||
|
||||
### 12. Public Messages (`public_messages.proto`)
|
||||
**وضعیت**: هیچ Handler در BFF وجود ندارد
|
||||
|
||||
```
|
||||
باید اضافه شود:
|
||||
- CreatePublicMessageCommand (ایجاد اعلان عمومی)
|
||||
- UpdatePublicMessageCommand
|
||||
- DeletePublicMessageCommand
|
||||
- GetAllPublicMessagesQuery
|
||||
- GetPublicMessageQuery
|
||||
- PublishMessageCommand (انتشار اعلان)
|
||||
- ArchiveMessageCommand (بایگانی)
|
||||
```
|
||||
|
||||
**توضیح**: پیامهای عمومی برای اطلاعرسانی به تمام کاربران
|
||||
|
||||
**تنظیمات دسترسی پیشنهادی**:
|
||||
- SuperAdmin: همه عملیات
|
||||
- Admin: Create, Update, Publish
|
||||
- Inspector: فقط Get queries
|
||||
|
||||
**اولویت**: 🟡 متوسط
|
||||
|
||||
---
|
||||
|
||||
### 13. User Address (`useraddress.proto`)
|
||||
**وضعیت**: در BFF موجود است ✅
|
||||
|
||||
- ✅ CreateNewUserAddressCommand
|
||||
- ✅ UpdateUserAddressCommand
|
||||
- ✅ DeleteUserAddressCommand
|
||||
- ✅ GetAllUserAddressByFilterQuery
|
||||
- ✅ GetUserAddressQuery
|
||||
|
||||
---
|
||||
|
||||
## 📋 خلاصه کارهای باقیمانده در CMS
|
||||
|
||||
### 🔴 اولویت بالا (برای Launch ضروری):
|
||||
1. **Transactions** - درگاه پرداخت
|
||||
- زمان: 3 روز
|
||||
- Commands: 7 مورد
|
||||
- ✅ داکیومنت: در `REMAINING-TASKS.md`
|
||||
|
||||
### 🟡 اولویت متوسط (برای فروشگاه):
|
||||
2. **Shopping Cart**
|
||||
- زمان: 2 روز
|
||||
- Commands: 6 مورد
|
||||
|
||||
3. **Public Messages**
|
||||
- زمان: 1 روز
|
||||
- Commands: 6 مورد
|
||||
|
||||
4. **Products (تکمیل)**
|
||||
- Tags Management
|
||||
- Bulk Operations
|
||||
- Low Stock Alerts
|
||||
- زمان: 2 روز
|
||||
|
||||
5. **Orders (تکمیل)**
|
||||
- Cancel/Status/Discount
|
||||
- Reports
|
||||
- زمان: 2 روز
|
||||
|
||||
### 🟢 اولویت پایین:
|
||||
6. **Contracts** (در صورت نیاز بیزینسی)
|
||||
- زمان: 2 روز
|
||||
|
||||
---
|
||||
|
||||
## 🎯 نقشه راه پیشنهادی
|
||||
|
||||
### هفته 1: Transaction System (درگاه پرداخت)
|
||||
- CMS: 7 Command/Query
|
||||
- BFF: 7 Handler
|
||||
- BackOffice: صفحه تراکنشها
|
||||
- ✅ داکیومنت
|
||||
|
||||
### هفته 2: Shopping Cart
|
||||
- CMS: 6 Command/Query
|
||||
- BFF: 6 Handler
|
||||
- BackOffice: صفحه مدیریت سبدهای خرید کاربران
|
||||
- ✅ داکیومنت
|
||||
|
||||
### هفته 3: Products & Orders تکمیل
|
||||
- Tags Management
|
||||
- Bulk Operations
|
||||
- Order Cancel/Status
|
||||
- ✅ داکیومنت
|
||||
|
||||
### هفته 4: Public Messages
|
||||
- Create/Publish Messages
|
||||
- Notification System
|
||||
- ✅ داکیومنت
|
||||
|
||||
---
|
||||
|
||||
## 📊 تخمین زمان کل
|
||||
|
||||
| فیچر | CMS | BFF | BackOffice | جمع |
|
||||
|------|-----|-----|------------|-----|
|
||||
| Transactions | 3 روز | 2 روز | 2 روز | **1 هفته** |
|
||||
| Shopping Cart | 2 روز | 1 روز | 2 روز | **1 هفته** |
|
||||
| Products/Orders تکمیل | 2 روز | 1 روز | 2 روز | **1 هفته** |
|
||||
| Public Messages | 1 روز | 1 روز | 1 روز | **3 روز** |
|
||||
| **جمع کل** | | | | **3.5 هفته** |
|
||||
|
||||
---
|
||||
|
||||
## ✅ چکلیست قبل از شروع هر فیچر
|
||||
|
||||
- [ ] بیزینس در `network-club-commission-system-v1.1.md` مستند شده؟
|
||||
- [ ] Proto file در CMS تعریف شده؟
|
||||
- [ ] Commands/Queries در CMS پیادهسازی شده؟
|
||||
- [ ] Migration اجرا شده؟
|
||||
- [ ] Handlers در BFF اضافه شده؟
|
||||
- [ ] Controllers در BFF تعریف شده؟
|
||||
- [ ] صفحات در BackOffice ایجاد شده؟
|
||||
- [ ] تستهای دستی انجام شده؟
|
||||
- [ ] ✅ داکیومنت نهایی (مقایسه کد با داکیومنت)
|
||||
|
||||
---
|
||||
|
||||
**آخرین بهروزرسانی**: 2025-12-01
|
||||
Reference in New Issue
Block a user