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)."); }