119e870a26
- Added FINAL-STATUS.md detailing project completion and key metrics - Created QUICK-REFERENCE.md for quick access to essential documents - Updated README.md with project overview and quick start guide - Established STRUCTURE.md outlining the final documentation structure - Organized and archived old files, ensuring a clean and efficient directory - Enhanced documentation quality with comprehensive metrics and checklists
412 lines
12 KiB
Markdown
412 lines
12 KiB
Markdown
# 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
|