Files
PnvPanel/backend/src/PnvPanel.Application/Support/SupportErrors.cs
T
Leonid Pershin b5630b2685
CI / Backend (build + test) (push) Successful in 1m18s
CI / Frontend (lint + typecheck + build) (push) Successful in 31s
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.
2026-07-14 06:49:05 +03:00

37 lines
2.2 KiB
C#

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