Implement support ticket system with role request and bug report functionalities
- Introduced a new support ticket system allowing users to submit bug reports and role requests. - Implemented endpoints for creating, updating, and managing support tickets, including file attachments. - Enhanced Telegram bot integration to handle role requests directly within the bot, enabling admins to approve or reject requests without accessing the website. - Updated database schema to include support ticket entities and their relationships. - Improved API documentation to reflect new support ticket endpoints and their usage. - Added necessary localization for support ticket features in both Russian and English.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using PnvPanel.Application.Common.Models;
|
||||
|
||||
namespace PnvPanel.Application.Support;
|
||||
|
||||
public static class SupportErrors
|
||||
{
|
||||
public static readonly Error NotFound = Error.NotFound("Support.NotFound", "Тикет не найден.");
|
||||
public static readonly Error AttachmentNotFound = Error.NotFound("Support.AttachmentNotFound", "Вложение не найдено.");
|
||||
public static readonly Error RoleNotFound = Error.NotFound("Support.RoleNotFound", "Роль не найдена.");
|
||||
|
||||
public static readonly Error CannotRequestAdminRole =
|
||||
Error.Forbidden("Support.CannotRequestAdminRole", "Роль администратора нельзя запросить через заявку.");
|
||||
|
||||
public static readonly Error TicketClosed =
|
||||
Error.Conflict("Support.TicketClosed", "Тикет закрыт — комментарии больше не принимаются.");
|
||||
|
||||
public static readonly Error NotOpen = Error.Conflict("Support.NotOpen", "Тикет уже обработан.");
|
||||
public static readonly Error AlreadyClosed = Error.Conflict("Support.AlreadyClosed", "Тикет уже закрыт.");
|
||||
|
||||
public static readonly Error NotResolved =
|
||||
Error.Conflict("Support.NotResolved", "Переоткрыть можно только решённый тикет.");
|
||||
|
||||
public static readonly Error RoleRequestAlreadyPending =
|
||||
Error.Conflict("Support.RoleRequestAlreadyPending", "У вас уже есть необработанная заявка на роль.");
|
||||
|
||||
public static readonly Error NotRoleRequest = Error.Validation("Support.NotRoleRequest", "Это не заявка на роль.");
|
||||
|
||||
public static readonly Error TooManyAttachments =
|
||||
Error.Validation("Support.TooManyAttachments", $"Слишком много вложений (максимум {TicketAttachmentValidation.MaxAttachments}).");
|
||||
|
||||
public static readonly Error AttachmentTooLarge =
|
||||
Error.Validation("Support.AttachmentTooLarge", "Файл превышает лимит 5 МБ.");
|
||||
|
||||
public static readonly Error UnsupportedAttachmentType =
|
||||
Error.Validation("Support.UnsupportedAttachmentType", "Поддерживаются только изображения (JPEG/PNG/WEBP/GIF).");
|
||||
}
|
||||
Reference in New Issue
Block a user