Implement billing functionality and enhance role management
- Introduced billing capabilities, allowing users to request payments for subscription periods (3/6/12 months) with admin approval via Telegram. - Updated role management to include a `BillingEnabled` property, preventing billing for admin roles. - Enhanced the `CreateRoleCommand` and `UpdateRoleCommand` to accept billing parameters, ensuring proper handling during role creation and updates. - Added new endpoints for billing management and integrated billing checks into VPN config creation to enforce payment requirements. - Updated related services, models, and tests to support the new billing features, ensuring comprehensive coverage and functionality. - Enhanced documentation to reflect the new billing processes and role management changes.
This commit is contained in:
+9
-6
@@ -21,7 +21,10 @@ public class ListSelectableRolesQueryHandlerTests
|
||||
IsBlocked: false,
|
||||
MaxConfigs: 3,
|
||||
MaxIpLimit: 1,
|
||||
SubscriptionToken: "token"
|
||||
SubscriptionToken: "token",
|
||||
BillingEnabled: false,
|
||||
BillingPaidUntil: null,
|
||||
BillingSuspended: false
|
||||
);
|
||||
|
||||
[Fact]
|
||||
@@ -37,9 +40,9 @@ public class ListSelectableRolesQueryHandlerTests
|
||||
.Returns(
|
||||
new List<RoleDto>
|
||||
{
|
||||
new(adminRoleId, "admin", -1, -1, IsSystem: true),
|
||||
new(currentRoleId, "user", 3, 1, IsSystem: true),
|
||||
new(extendedRoleId, "extended", 10, 5, IsSystem: false),
|
||||
new(adminRoleId, "admin", -1, -1, IsSystem: true, BillingEnabled: false),
|
||||
new(currentRoleId, "user", 3, 1, IsSystem: true, BillingEnabled: false),
|
||||
new(extendedRoleId, "extended", 10, 5, IsSystem: false, BillingEnabled: false),
|
||||
}
|
||||
);
|
||||
_identityService
|
||||
@@ -71,8 +74,8 @@ public class ListSelectableRolesQueryHandlerTests
|
||||
.Returns(
|
||||
new List<RoleDto>
|
||||
{
|
||||
new(adminRoleId, "admin", -1, -1, IsSystem: true),
|
||||
new(userRoleId, "user", 3, 1, IsSystem: true),
|
||||
new(adminRoleId, "admin", -1, -1, IsSystem: true, BillingEnabled: false),
|
||||
new(userRoleId, "user", 3, 1, IsSystem: true, BillingEnabled: false),
|
||||
}
|
||||
);
|
||||
_identityService
|
||||
|
||||
Reference in New Issue
Block a user