Refactor pricing endpoints and enhance support for pricing retrieval
- Added a new endpoint `/api/support/pricing` to allow users to retrieve pricing information, making it accessible for role request dialogs. - Introduced the `GetSupportPricing` method to handle pricing queries, ensuring that pricing data is available to non-admin users. - Updated frontend components to integrate the new pricing retrieval functionality, displaying estimated costs based on user-selected configurations. - Removed the `PricingSettingsDto` as it is no longer needed, streamlining the pricing data structure. - Enhanced API documentation to reflect the new endpoint and its usage in the support context.
This commit is contained in:
+11
-5
@@ -6,7 +6,8 @@
|
||||
|
||||
Тарифы `Plan` и лимиты трафика на конфиг (`TrafficLimit`) не реализованы — единственная квота:
|
||||
число активных конфигов на роль (`AppRole.MaxConfigs`). Есть глобальная справочная цена за один
|
||||
конфиг (`PricingSettings`, видна только админу) — это не биллинг: без статусов оплаты, дат окончания
|
||||
конфиг (`PricingSettings`; редактирует только `admin`, но справочно видна и активированным пользователям
|
||||
в заявке на роль) — это не биллинг: без статусов оплаты, дат окончания
|
||||
и интеграций с платёжными системами, см. ниже.
|
||||
|
||||
## Диаграмма связей
|
||||
@@ -328,10 +329,15 @@ PricePerConfigPerQuarter × 3` и `PricePerConfigPerYear × 12 ≥ PricePerConfi
|
||||
полугодовая ставка не задана — год сверяется напрямую с кварталом: `PricePerConfigPerYear × 12 ≥
|
||||
PricePerConfigPerQuarter × 3`).
|
||||
|
||||
`GET/PUT /api/admin/pricing` — только `admin` (в отличие от `RoleDto`, цена никогда не попадает в
|
||||
`GET /api/support/roles`, доступный любому активированному пользователю, — это два независимых DTO).
|
||||
Сидируется пустой строкой при старте (`IPricingSettingsSeeder`, если таблица пуста) и заново после
|
||||
полного сброса панели (см. «Полный сброс панели» выше).
|
||||
`GET/PUT /api/admin/pricing` — только `admin` (редактирование). `GET /api/support/pricing` — то же
|
||||
чтение, но доступно любому активированному пользователю (не `admin`-эндпоинт) — используется в
|
||||
диалоге заявки на роль, чтобы показать ориентировочную стоимость выбранной/предлагаемой роли, с
|
||||
пометкой, что цены пока ознакомительные. Это два разных Query (`GetPricingSettingsQuery` в
|
||||
`Admin/Pricing`, `GetSupportPricingQuery` в `Support`) над одним и тем же общим `PricingSettingsDto`
|
||||
(`Common/Interfaces`) — по аналогии с `ListRolesQuery`/`ListSelectableRolesQuery` для ролей. В отличие
|
||||
от `RoleDto`, у `PricingSettingsDto` нет чувствительных per-роль данных, поэтому шарить DTO между
|
||||
admin- и user-facing путями безопасно. Сидируется пустой строкой при старте (`IPricingSettingsSeeder`,
|
||||
если таблица пуста) и заново после полного сброса панели (см. «Полный сброс панели» выше).
|
||||
|
||||
### ActivationRequest — запрос активации
|
||||
Пользователь просит активацию у админа; админ одобряет/отклоняет на сайте или в Telegram.
|
||||
|
||||
Reference in New Issue
Block a user