4115f64fff
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
- Introduced new manual credit charge endpoints in ADMIN-SERVICES.md. - Updated ReportLabels.cs and LedgerTransactions.razor to include manual credit wallet charge options. - Enhanced NavMenu.razor with a link to the manual credit charges page. - Bumped Foursat.CMSMicroservice.Protobuf version to 0.0.205 for compatibility with new features.
29 KiB
29 KiB
سرویسهای BackOffice (پنل ادمین)
این سند تمام سرویسهایی را که BackOffice (فرانت ادمین) به CMS از طریق gRPC Gateway (GwUrl) فراخوانی میکند، به ترتیب Use Case فهرست میکند.
- مسیر wrapper سرویسها:
BackOffice/src/BackOffice/Services/ - ثبت gRPC:
BackOffice/src/BackOffice/Common/Configure/ConfigureService.cs - تاریخ: ۱۴۰۵/۰۳/۱۷ (بروز: خرداد ۱۴۰۵ — گزارشهای read-only + proto 0.0.201؛ بروز ۱۴۰۵/۰۳/۱۸ — دفتر تراکنشهای مالی proto 0.0.203)
۱. ورود و احراز هویت ادمین
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 1.1 | OtpTokenContract.CreateNewOtpToken |
OtpTokenContract |
/Login/ (LoginPage) |
ارسال OTP ورود ادمین |
| 1.2 | UserContract.VerifyOtpToken |
UserContract |
/VerifyCodePage/{Mobile} |
تأیید OTP و دریافت JWT |
| 1.3 | OtpTokenContract.CreateNewOtpToken (resend) |
OtpTokenContract |
/VerifyCodePage/{Mobile} |
ارسال مجدد OTP |
| 1.4 | AuthorizationService.HasPermissionAsync |
— (JWT Role/Claim) | NavMenu, صفحات محافظتشده |
کنترل نمایش منو بر اساس نقش (فعلاً role-based، نه API) |
| 1.5 | AppTokenProvider / TokenHandler |
— (localStorage) | سراسری | attach کردن Bearer token به همه gRPC callها |
۲. داشبورد
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 2.1 | UserContract.GetAllUserByFilter |
UserContract |
/ (Index) |
شمارش کاربران |
| 2.2 | ProductsContract.GetAllProductsByFilter |
ProductsContract |
/ |
شمارش محصولات |
| 2.3 | PackageContract.GetAllPackageByFilter |
PackageContract |
/ |
شمارش پکیجها |
| 2.4 | CategoryContract.GetAllCategoryByFilter |
CategoryContract |
/ |
شمارش دستهبندیها |
| 2.5 | CommissionContract.GetAvailableWeeks |
CommissionContract |
/ |
هفته جاری کمیسیون |
| 2.6 | CommissionContract.GetWeeklyCommissionPool |
CommissionContract |
/ |
وضعیت pool هفته جاری |
| 2.7 | ClubMembershipContract.GetAllClubMemberships |
ClubMembershipContract |
/ |
آمار اعضای باشگاه |
| 2.8 | UserOrderContract.GetAllUserOrderByFilter |
UserOrderContract |
/ |
سفارشهای اخیر |
| 2.9 | IDiscountOrderService.GetOrdersAsync |
DiscountOrderContract |
Dashboard/DiscountShopWidget |
ویجت سفارشهای فروشگاه تخفیفی |
| 2.10 | CommissionContract.GetWithdrawalRequests |
CommissionContract |
NavMenu |
badge درخواستهای برداشت معلق |
| 2.11 | GlobalSearch — UserContract.GetAllUserByFilter |
UserContract |
MainLayout/GlobalSearch |
جستجوی سریع کاربر + ناوبری صفحات |
۳. مدیریت کاربران
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 3.1 | UserContract.GetAllUserByFilter |
UserContract |
/UserPage/, UserAutoComplete, GlobalSearch |
لیست/جستجوی کاربران |
| 3.2 | UserContract.DeleteUser |
UserContract |
/UserPage/ |
حذف کاربر |
| 3.3 | Export users | UserContract.GetAllUserByFilter |
/UserPage/ |
خروجی CSV کاربران |
۴. نقشها و دسترسیها
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 4.1 | RoleContract.GetAllRoleByFilter |
RoleContract |
/RolePage/, RoleAutoComplete |
لیست نقشها |
| 4.2 | RoleContract.CreateNewRole |
RoleContract |
Role/Components/CreateDialog |
ایجاد نقش |
| 4.3 | RoleContract.UpdateRole |
RoleContract |
Role/Components/UpdateDialog |
ویرایش نقش |
| 4.4 | RoleContract.DeleteRole |
RoleContract |
/RolePage/ |
حذف نقش |
| 4.5 | RolePermissionsDialog |
— (UI فقط) | /RolePage/ |
ویرایش permissionها — هنوز به API وصل نشده |
۵. نقش کاربر و آدرس
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 5.1 | UserRoleContract.GetAllUserRoleByFilter |
UserRoleContract |
/UserRolePage/{UserId} |
نقشهای یک کاربر |
| 5.2 | UserRoleContract.CreateNewUserRole |
UserRoleContract |
CreateDialog, UserRoleDialog |
تخصیص نقش |
| 5.3 | UserRoleContract.UpdateUserRole |
UserRoleContract |
UpdateDialog | ویرایش نقش کاربر |
| 5.4 | UserRoleContract.DeleteUserRole |
UserRoleContract |
/UserRolePage/{UserId} |
حذف نقش کاربر |
| 5.5 | RoleContract.GetAllRoleByFilter |
RoleContract |
UserRoleDialog, RoleTitleColumn |
نمایش عنوان نقش |
| 5.6 | UserAddressContract.GetAllUserAddressByFilter |
UserAddressContract |
/UserAddressPage/{UserId} |
آدرسهای کاربر |
| 5.7 | UserAddressContract.CreateNewUserAddress |
UserAddressContract |
CreateDialog | ثبت آدرس |
| 5.8 | UserAddressContract.UpdateUserAddress |
UserAddressContract |
UpdateDialog | ویرایش آدرس |
| 5.9 | UserAddressContract.DeleteUserAddress |
UserAddressContract |
/UserAddressPage/{UserId} |
حذف آدرس |
۶. پکیجها
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 6.1 | PackageContract.GetAllPackageByFilter |
PackageContract |
/PackagePage/, PackageSelect, ManualPaymentDialog |
لیست پکیجها |
| 6.2 | PackageContract.CreateNewPackage |
PackageContract |
Package/Components/CreateDialog |
ایجاد پکیج |
| 6.3 | PackageContract.UpdatePackage |
PackageContract |
Package/Components/UpdateDialog |
ویرایش پکیج |
| 6.4 | PackageContract.DeletePackage |
PackageContract |
/PackagePage/ |
حذف پکیج |
| 6.5 | ConfigurationContract.GetClubFeatures |
ConfigurationContract |
Create/Update Dialog | انتخاب featureهای باشگاه مرتبط با پکیج |
۷. فروشگاه اصلی — محصولات و دستهبندی
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 7.1 | ProductsContract.GetAllProductsByFilter |
ProductsContract |
/ProductsPage/, BulkEdit, AutoComplete |
لیست محصولات |
| 7.2 | ProductsContract.CreateNewProducts |
ProductsContract |
Products/Components/CreateDialog |
ایجاد محصول |
| 7.3 | ProductsContract.UpdateProducts |
ProductsContract |
UpdateDialog | ویرایش محصول |
| 7.4 | ProductsContract.DeleteProducts |
ProductsContract |
/ProductsPage/ |
حذف محصول |
| 7.5 | ProductsContract.ToggleProductStatus |
ProductsContract |
/ProductsPage/, BulkEdit |
فعال/غیرفعال |
| 7.6 | ProductsContract.BulkUpdateProductPrices |
ProductsContract |
/ProductsBulkEditPage/ |
ویرایش گروهی قیمت |
| 7.7 | ProductsContract.GetProductGallery / Add/Remove Image |
ProductsContract |
GalleryDialog |
گالری تصاویر محصول |
| 7.8 | ProductsContract.GetProducts / UpdateProductCategories |
ProductsContract |
/ProductCategoriesPage/{ProductId} |
drag-drop دستهبندی محصول |
| 7.9 | CategoryContract.GetAllCategoryByFilter |
CategoryContract |
/CategoryPage/, AutoComplete |
لیست دستهها |
| 7.10 | CategoryContract.GetCategory / Create / Update / Delete |
CategoryContract |
CategoryMainPage, Dialogs | CRUD دستهبندی |
| 7.11 | ProductsContract.GetProductsForCategory / UpdateCategoryProducts |
ProductsContract |
/CategoryProductsPage/{CategoryId} |
drag-drop محصولات یک دسته |
۸. انبارداری (Inventory)
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 8.1 | InventoryContract.GetAllWarehouses |
InventoryContract |
/InventoryPage/, Warehouses, LowStock |
لیست انبارها |
| 8.2 | InventoryContract.GetAllInventoryItems |
InventoryContract |
/InventoryPage/ |
موجودی کالا |
| 8.3 | InventoryContract.GetLowStockItems |
InventoryContract |
/InventoryPage/, /InventoryLowStockPage/ |
اقلام کمموجود |
| 8.4 | InventoryContract.AddStock |
InventoryContract |
AddStockDialog |
ورود کالا به انبار |
| 8.5 | InventoryContract.AdjustStock |
InventoryContract |
AdjustStockDialog |
تعدیل موجودی |
| 8.6 | InventoryContract.RecordLoss |
InventoryContract |
RecordLossDialog |
ثبت ضایعات |
| 8.7 | InventoryContract.CreateWarehouse |
InventoryContract |
CreateWarehouseDialog |
ایجاد انبار |
| 8.8 | InventoryContract.UpdateInventorySettings |
InventoryContract |
InventorySettingsDialog |
تنظیمات انبار |
| 8.9 | InventoryContract.GetStockMovements |
InventoryContract |
/InventoryMovementsPage/ |
تاریخچه جابجایی موجودی |
۹. سفارشهای فروشگاه اصلی
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 9.1 | UserOrderContract.GetAllUserOrderByFilter |
UserOrderContract |
/OrdersPage/, /UserOrderPage/{UserId}, SalesReports |
لیست سفارشها |
| 9.2 | UserOrderContract.GetUserOrder |
UserOrderContract |
OrderDetailsDialog, Index | جزئیات سفارش |
| 9.3 | UserOrderContract.UpdateUserOrder |
UserOrderContract |
UserOrderDetailsDialog, ChangeOrderStatus | ویرایش سفارش / tracking |
| 9.4 | UserOrderContract.UpdateOrderStatus |
UserOrderContract |
ChangeOrderStatusDialog | تغییر وضعیت تحویل |
| 9.5 | UserOrderContract.CancelOrder |
UserOrderContract |
CancelOrderDialog | لغو سفارش |
| 9.6 | UserOrderContract.DeleteUserOrder |
UserOrderContract |
/UserOrderPage/{UserId} |
حذف سفارش |
| 9.7 | UserOrderContract.ApplyDiscountToOrder |
UserOrderContract |
ApplyDiscountDialog | اعمال تخفیف روی سفارش |
۱۰. پرداخت دستی و تراکنشها
دو گزارش تراکنش — اشتباه نگیرید:
مسیر جدول DB کاربرد /payment/transactionsPaymentTransactionsممیزی درگاه (Authority، ZarinPal، کارت) /payment/ledger-transactionsTransactionsدفتر مالی داخلی (نوع تراکنش، وضعیت، RefId)
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 10.1 | ManualPaymentContract.GetAllManualPayments |
ManualPaymentContract |
/payment/manual-payments |
لیست پرداختهای دستی |
| 10.2 | ManualPaymentContract.CreateManualPayment |
ManualPaymentContract |
ManualPaymentDialog |
ثبت پرداخت دستی (مثلاً Daya) |
| 10.3 | ManualPaymentContract.ApproveManualPayment |
ManualPaymentContract |
ManualPayments, Dialog | تأیید پرداخت |
| 10.4 | ManualPaymentContract.RejectManualPayment |
ManualPaymentContract |
ManualPayments, Dialog | رد پرداخت |
| 10.5 | PaymentTransactionContract.GetAllPaymentTransactionByFilter |
PaymentTransactionContract |
/payment/transactions |
گزارش read-only تراکنش درگاه (PaymentTransactions) |
| 10.5b | PaymentTransactionContract.GetPaymentTransactionSummary |
PaymentTransactionContract |
/payment/transactions |
کارت خلاصه گزارش درگاه |
| 10.6 | TransactionsContract.GetAllTransactionsByFilter |
TransactionsContract |
/payment/ledger-transactions |
گزارش read-only دفتر مالی (Transactions) |
| 10.7 | TransactionsContract.GetTransactionSummary |
TransactionsContract |
/payment/ledger-transactions |
کارت خلاصه دفتر تراکنش |
| 10.8 | UserPackagePurchaseContract.GetAllUserPackagePurchaseByFilter |
UserPackagePurchaseContract |
/club/purchases |
گزارش خرید پکیج |
| 10.9 | ClubMembershipCycleContract.GetAllClubMembershipCycleByFilter |
ClubMembershipCycleContract |
/club/cycles |
گزارش دوره عضویت |
| 10.10 | ClubMembershipCycleHistoryContract.GetAllClubMembershipCycleHistoryByFilter |
ClubMembershipCycleHistoryContract |
/club/history (زیرتب دوره) |
تاریخچه تغییرات دوره |
۱۱. کیف پول و تاریخچه
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 11.1 | UserWalletContract.GetAllUserWalletByFilter |
UserWalletContract |
/wallets |
لیست کیف پول کاربران |
| 11.2 | UserWalletHistoryContract.GetAllUserWalletHistoryByFilter |
UserWalletHistoryContract |
/wallets (تب تاریخچه) |
لاگ تغییرات کیف پول |
| 11.3 | UserWalletContract.AdminManualCreditCharge |
UserWalletContract |
/payment/manual-credit-charges |
شارژ دستی کیف پول اصلی (Balance) |
| 11.4 | UserWalletContract.GetManualCreditCharges |
UserWalletContract |
/payment/manual-credit-charges |
لیست شارژهای دستی (Type=17) |
۱۲. قراردادهای کاربران
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 12.1 | UserContractContract.GetAllUserContractByFilter |
UserContractContract |
/contracts |
لیست قراردادهای امضاشده (اصلی / باشگاه) |
| 12.2 | Download PDF | — (local JS) | /contracts |
دانلود PDF قرارداد ذخیرهشده |
۱۳. کمیسیون و پاداش
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 13.1 | CommissionContract.GetAvailableWeeks |
CommissionContract |
/commission/dashboard, WeekNumberPicker |
انتخاب هفته |
| 13.2 | CommissionContract.GetWeeklyCommissionPool |
CommissionContract |
/commission/dashboard |
جزئیات pool هفتگی |
| 13.3 | CommissionContract.TriggerWeeklyCalculation |
CommissionContract |
Dashboard, WorkerControl | اجرای دستی محاسبه هفتگی |
| 13.4 | CommissionContract.GetAllWeeklyPools |
CommissionContract |
/commission/reports |
گزارش poolهای هفتگی |
| 13.5 | CommissionContract.GetUserCommissionPayouts |
CommissionContract |
/commission/payouts |
payoutهای کاربران |
| 13.6 | CommissionContract.ProcessWithdrawal |
CommissionContract |
UserPayouts, WithdrawalRequests | پردازش/واریز برداشت |
| 13.7 | CommissionContract.BulkCreditPayouts |
CommissionContract |
/commission/payouts |
واریز گروهی payoutها |
| 13.8 | CommissionContract.GetWithdrawalRequests |
CommissionContract |
/commission/withdrawals, NavMenu |
درخواستهای برداشت کاربران |
| 13.9 | CommissionContract.ApproveWithdrawal |
CommissionContract |
WithdrawalRequests | تأیید درخواست برداشت |
| 13.10 | CommissionContract.RejectWithdrawal |
CommissionContract |
WithdrawalRequests | رد درخواست برداشت |
| 13.11 | CommissionContract.GetWithdrawalReports |
CommissionContract |
/commission/withdrawal-reports |
گزارش برداشتها |
| 13.12 | CommissionContract.GetUserWeeklyBalances |
CommissionContract |
/network/balances |
گزارش بالانس هفتگی کاربران |
| 13.13 | CommissionContract.GetWorkerStatus |
CommissionContract |
/system/worker-control |
وضعیت worker محاسبه |
| 13.14 | CommissionContract.GetWorkerExecutionLogs |
CommissionContract |
/system/worker-control |
لاگ اجرای worker |
۱۴. شبکه فروش (MLM)
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 14.1 | NetworkMembershipContract.GetNetworkTree |
NetworkMembershipContract |
/network/tree |
درخت شبکه (admin view) |
| 14.2 | NetworkMembershipContract.GetUserNetwork |
NetworkMembershipContract |
/network/user-info/{UserId} |
اطلاعات شبکه یک کاربر |
| 14.3 | NetworkMembershipContract.GetNetworkMembershipHistory |
NetworkMembershipContract |
UserNetworkInfo | تاریخچه عضویت شبکه |
| 14.4 | NetworkMembershipContract.ChangeNetworkParent |
NetworkMembershipContract |
ChangeParentDialog |
تغییر والد در درخت |
| 14.5 | NetworkMembershipContract.GetNetworkStatistics |
NetworkMembershipContract |
/network/statistics |
آمار کلی شبکه (admin) |
۱۵. باشگاه مشتریان
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 15.1 | ClubMembershipContract.GetAllClubMemberships |
ClubMembershipContract |
/club/members, Index |
لیست اعضا |
| 15.2 | ClubMembershipContract.ActivateClubMembership |
ClubMembershipContract |
ActivateClubDialog |
فعالسازی دستی عضویت |
| 15.3 | ClubMembershipContract.DeactivateClubMembership |
ClubMembershipContract |
DeactivateClubDialog |
غیرفعالسازی |
| 15.4 | ClubMembershipContract.GetClubMembershipHistory |
ClubMembershipContract |
/club/history (زیرتب عضویت) |
گزارش تاریخچه عضویت |
| 15.5 | ClubMembershipContract.GetClubStatistics |
ClubMembershipContract |
/club/statistics |
آمار باشگاه |
| 15.6 | ConfigurationContract.GetClubFeatures |
ConfigurationContract |
/club/features |
لیست featureهای باشگاه |
| 15.7 | ClubMembershipContract.GetUserClubFeatures |
ClubMembershipContract |
/club/features |
featureهای یک کاربر |
| 15.8 | ClubMembershipContract.ToggleUserClubFeature |
ClubMembershipContract |
/club/features |
فعال/غیرفعال feature برای کاربر |
۱۶. فروشگاه تخفیفی (Discount Shop)
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 16.1 | IDiscountProductService — CRUD |
DiscountProductContract |
/discount-products |
مدیریت محصولات تخفیفی |
| 16.2 | IDiscountCategoryService — CRUD |
DiscountCategoryContract |
/discount-categories |
مدیریت دستهبندی تخفیفی |
| 16.3 | IDiscountOrderService.GetOrdersAsync |
DiscountOrderContract.GetAllDiscountOrders |
/discount-orders, Dashboard widget |
لیست سفارشها (admin) |
| 16.4 | IDiscountOrderService.GetByIdAsync |
DiscountOrderContract |
OrderDetailsDialog | جزئیات سفارش |
| 16.5 | IDiscountOrderService.UpdateStatusAsync |
DiscountOrderContract |
Orders page, OrderDetailsDialog | تغییر وضعیت پرداخت/ارسال |
| 16.6 | IDiscountOrderService.GetSalesReportAsync |
DiscountOrderContract |
/discount-sales-reports |
گزارش فروش |
| 16.7 | DiscountProductContract.GetDiscountProducts |
DiscountProductContract |
DiscountProductsAutoComplete |
autocomplete محصول |
۱۷. تگ محصولات
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 17.1 | ITagService.GetTagsAsync |
TagContract |
/tags |
لیست تگها |
| 17.2 | ITagService.CreateAsync / UpdateAsync / DeleteAsync |
TagContract |
TagEditDialog, TagManagement | CRUD تگ |
| 17.3 | ITagService.GetProductTagsAsync |
ProductTagContract |
AssignTagsDialog | تگهای یک محصول |
| 17.4 | ITagService.AssignToProductAsync / RemoveProductTagAsync |
ProductTagContract |
AssignTagsDialog, Discount products | تخصیص/حذف تگ |
۱۸. پیامهای عمومی
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 18.1 | IPublicMessageService.GetMessagesAsync |
PublicMessageContract |
/public-messages |
لیست پیامها |
| 18.2 | IPublicMessageService.GetByIdAsync |
PublicMessageContract |
PublicMessages | جزئیات |
| 18.3 | IPublicMessageService.CreateAsync / UpdateAsync |
PublicMessageContract |
MessageFormDialog | ایجاد/ویرایش |
| 18.4 | IPublicMessageService.PublishAsync / ArchiveAsync |
PublicMessageContract |
PublicMessages | انتشار/بایگانی |
| 18.5 | IPublicMessageService.DeleteAsync |
PublicMessageContract |
PublicMessages | حذف |
۱۹. بلاگ
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 19.1 | IBlogPostService.GetAllAsync |
BlogPostContract |
/blog/posts |
لیست پستها |
| 19.2 | IBlogPostService.GetByIdAsync |
BlogPostContract |
BlogPostEditDialog | جزئیات پست |
| 19.3 | IBlogPostService.CreateAsync / UpdateAsync |
BlogPostContract |
BlogPostEditDialog | ایجاد/ویرایش |
| 19.4 | IBlogPostService.DeleteAsync |
BlogPostContract |
BlogPostManagement | حذف |
| 19.5 | IBlogPostService.PublishAsync / ArchiveAsync |
BlogPostContract |
BlogPostManagement | انتشار/بایگانی |
| 19.6 | IBlogCategoryService — CRUD |
BlogCategoryContract |
/blog/categories |
مدیریت دستهبندی بلاگ |
۲۰. مدیریت محتوای سایت
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 20.1 | ISitePageSettingsService.GetAllAsync |
SitePageSettingsContract |
/content/page-settings |
لیست صفحات (landing, about, contact, licenses) |
| 20.2 | ISitePageSettingsService.GetByKeyAsync |
SitePageSettingsContract |
PageSettings dialogs | جزئیات یک صفحه |
| 20.3 | ISitePageSettingsService.SaveSettingsAsync |
SitePageSettingsContract |
PageSettingsEditDialog | ذخیره hero + JSON تنظیمات |
| 20.4 | ISitePageSettingsService.SaveImageAsync / DeleteImageAsync |
SitePageSettingsContract |
PageImagesDialog | مدیریت تصاویر گروهبندیشده |
| 20.5 | ISitePageService — CRUD sections |
SitePageContract |
/content/pages |
صفحات داینامیک قدیمی (section-based) |
۲۱. تنظیمات سیستم و سلامت
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 21.1 | ConfigurationContract.GetAllConfigurations |
ConfigurationContract |
/system/configuration |
خواندن key-value تنظیمات (کمیسیون، شبکه، باشگاه، VAT…) |
| 21.2 | ConfigurationContract.CreateOrUpdateConfiguration |
ConfigurationContract |
/system/configuration |
ذخیره تنظیمات |
| 21.3 | HealthContract.GetSystemHealth |
HealthContract |
/system/health |
وضعیت سلامت سرویسها |
| 21.4 | AlertsMonitoring |
— (mock) | /system/alerts |
TODO — API هشدار هنوز وصل نشده |
۲۲. نسخه اپلیکیشن
| # | سرویس / متد | gRPC Contract | صفحه / کامپوننت | کاربرد |
|---|---|---|---|---|
| 22.1 | IAppVersionService.GetAllAsync |
AppVersionContract |
/settings/app-versions |
لیست نسخه FrontOffice/App |
| 22.2 | IAppVersionService.GetByNameAsync |
AppVersionContract |
AppVersions | جزئیات یک app |
| 22.3 | IAppVersionService.UpdateAsync |
AppVersionContract.UpdateAppVersion |
AppVersions dialog | بهروزرسانی نسخه + force update |
۲۳. کامپوننتهای مشترک (AutoComplete / Hub)
| کامپوننت | Contract | کاربرد |
|---|---|---|
UserAutoComplete |
UserContract |
جستجوی کاربر در فرمها |
ProductsAutoComplete |
ProductsContract |
جستجوی محصول |
CategoryAutoComplete / MultiSelect |
CategoryContract |
انتخاب دسته |
PackageSelect |
PackageContract |
انتخاب پکیج |
WeekNumberPicker |
CommissionContract |
انتخاب هفته |
DiscountProductsAutoComplete |
DiscountProductContract |
جستجوی محصول تخفیفی |
Hub pages (ClubHub, DiscountShopHub, SystemHub, OrdersHub, BlogHub) |
— | مسیریابی tab-based؛ RPC در child component |
۲۴. سرویسهای ثبتشده ولی بدون استفاده / ناقص
| سرویس / صفحه | وضعیت |
|---|---|
IBlogPostImageService (BlogPostImageContract) |
ثبت در DI؛ هیچ صفحهای inject نمیکند |
RolePermissionsDialog |
UI permission؛ ذخیره در backend TODO |
AuthorizationService |
فقط JWT role؛ Permission API از CMS/BFF TODO |
/system/alerts |
داده mock؛ AlertContract وجود ندارد |
نمودار جریان ورود ادمین
flowchart LR
A[LoginPage] -->|CreateNewOtpToken| B[SMS OTP]
B --> C[VerifyCodePage]
C -->|VerifyOtpToken| D[JWT in localStorage]
D --> E[All gRPC via TokenHandler]
فهرست gRPC Contractهای فعال BackOffice
| Contract | Wrapper / استفاده مستقیم |
|---|---|
OtpTokenContract |
Login |
UserContract |
Login, Users, Dashboard, Search |
RoleContract |
Roles, UserRoles |
UserRoleContract |
UserRole pages |
UserAddressContract |
UserAddress pages |
PackageContract |
Packages, ManualPayment |
ProductsContract |
Products, Categories drag-drop |
CategoryContract |
Categories |
UserOrderContract |
Orders |
ManualPaymentContract |
Manual payments |
PaymentTransactionContract |
Gateway transaction report (/payment/transactions) |
TransactionsContract |
Ledger transaction report (/payment/ledger-transactions) |
UserPackagePurchaseContract |
Club package purchase report |
ClubMembershipCycleContract |
Club cycle report |
ClubMembershipCycleHistoryContract |
Club cycle history report |
UserWalletContract |
Wallet management |
UserWalletHistoryContract |
Wallet change log |
UserContractContract |
Signed contracts |
CommissionContract |
Commission, Network balances, Worker |
NetworkMembershipContract |
Network tree/info |
ClubMembershipContract |
Club members/features |
ConfigurationContract |
System config, Club features, Package |
DiscountProductContract |
DiscountProductService |
DiscountCategoryContract |
DiscountCategoryService |
DiscountOrderContract |
DiscountOrderService |
TagContract / ProductTagContract |
TagService |
PublicMessageContract |
PublicMessageService |
InventoryContract |
Inventory pages |
BlogPostContract |
BlogPostService |
BlogCategoryContract |
BlogCategoryService |
BlogPostImageContract |
BlogPostImageService (unused) |
SitePageSettingsContract |
SitePageSettingsService |
SitePageContract |
SitePageService |
AppVersionContract |
AppVersionService |
HealthContract |
Health dashboard |
مقایسه با FrontOffice
| موضوع | FrontOffice (مشتری) | BackOffice (ادمین) |
|---|---|---|
| Auth | OTP + JWT (UserContract) | OTP + JWT (همان flow) |
| Orders | Customer RPC | Admin filter + status management |
| Discount Shop | User orders + checkout | Full CRUD + admin order management |
| Commission | Read-only (my payouts) | Full admin (calculation, approval, reports) |
| Network | My tree only | Full tree + change parent |
| Content | Read page settings | Edit page settings + blog + public messages |
| Wallet | My balances | All users wallet + history log |
مرجع مشابه برای فرانت مشتری: FrontOffice/docs/CUSTOMER-SERVICES.md
یادداشت deploy (خرداد ۱۴۰۵)
| گام | جزئیات |
|---|---|
| Proto | Foursat.CMSMicroservice.Protobuf 0.0.203 (گزارش دفتر تراکنش) |
| CMS | deploy WebApi (شامل GetTransactionSummary + فیلتر تاریخ) |
| BackOffice | NuGet 0.0.203 یا ProjectReference در monorepo |
| FrontOffice | redeploy لازم نیست برای گزارش ledger؛ برای شارژ کیف اصلی proto 0.0.202 لازم است |
گزارشهای read-only (بخش ۱۰ و ۱۵): فقط فیلتر + grid + summary + CSV — بدون CRUD یا detail dialog.
مستندات فنی کامل: totalDoc/technical/TECH-08-SESSION-LOG-202606.md — §10 Ledger transactions