- Added new endpoints for creating and managing extension requests, allowing users to request billing period extensions. - Implemented admin approval processes for extension requests via Telegram, including inline buttons for approval and rejection. - Introduced a gifting feature for admins to grant additional billing days directly to users without a request. - Updated the support ticket model to accommodate extension requests and their associated properties. - Enhanced the Telegram notifier to inform admins of new extension requests and notify users of approval or rejection. - Updated frontend components to support the new extension request and gifting functionalities, including user interfaces for managing these features. - Revised API documentation to reflect the new endpoints and their usage in the billing context.
25 lines
885 B
C#
25 lines
885 B
C#
using PnvPanel.Domain.Support;
|
|
|
|
namespace PnvPanel.Application.Support;
|
|
|
|
/// <summary>
|
|
/// RequestedRoleName — имя существующей роли, если RequestedRoleId задан (резолвится хендлером,
|
|
/// на SupportTicket хранится только Id). Для новой роли имя лежит прямо в ProposedRoleName.
|
|
/// RequestedDays — только для ExtensionRequest (продление оплаченного периода).
|
|
/// </summary>
|
|
public sealed record TicketDetailDto(
|
|
Guid Id,
|
|
Guid UserId,
|
|
string UserName,
|
|
TicketType Type,
|
|
TicketStatus Status,
|
|
Guid? RequestedRoleId,
|
|
string? RequestedRoleName,
|
|
string? ProposedRoleName,
|
|
int? ProposedMaxConfigs,
|
|
int? ProposedMaxIpLimit,
|
|
int? RequestedDays,
|
|
DateTimeOffset CreatedAt,
|
|
IReadOnlyList<TicketCommentDto> Comments
|
|
);
|