Implement pricing management functionality and update related components
CI / Backend (build + test) (push) Successful in 1m19s
CI / Frontend (lint + typecheck + build) (push) Successful in 32s

- Added new endpoints for managing global pricing settings, including retrieval and updates for `PricePerConfigPerQuarter` and `PricePerConfigPerYear`.
- Updated `RoleService` and related commands to remove pricing fields from role management, ensuring a clear separation between role configurations and global pricing.
- Enhanced the `FactoryResetCommandHandler` to include seeding of pricing settings during a factory reset.
- Modified frontend components to support new pricing settings, including forms for creating and updating pricing information.
- Updated API documentation to reflect changes in pricing management endpoints and their expected request/response formats.
- Adjusted tests to ensure proper coverage for new pricing functionalities and their integration with existing role management features.
This commit is contained in:
Leonid Pershin
2026-07-18 19:34:29 +03:00
parent 285d8180c8
commit ae379f8e0f
54 changed files with 2516 additions and 268 deletions
@@ -18,14 +18,6 @@ public class AppRole : IdentityRole<Guid>
public bool IsSystem { get; set; }
/// <summary>Справочная цена за конфиг за минимальный период оплаты (3 месяца), в рублях. Только для
/// отображения админу — без биллинга/статусов оплаты. У роли `admin` всегда null.</summary>
public int? PricePerConfigPerQuarter { get; set; }
/// <summary>Справочная цена за конфиг за год, в рублях. Задаётся независимо от квартальной цены
/// (не производная — позволяет админу задать скидку за годовую оплату). У роли `admin` всегда null.</summary>
public int? PricePerConfigPerYear { get; set; }
public AppRole() { }
public AppRole(string name)