using TeleWave.Application.Common.Models;

namespace TeleWave.Application.Broadcast;

public static class ChannelErrors
{
    public static readonly Error NotFound = Error.NotFound("Channels.NotFound", "Канал не найден.");

    public static readonly Error NumberTaken = Error.Conflict(
        "Channels.NumberTaken",
        "Канал с таким номером уже есть."
    );

    public static readonly Error TemplateNotFound = Error.NotFound(
        "Channels.TemplateNotFound",
        "У канала нет шаблона сетки."
    );

    public static readonly Error DuplicateSlug = Error.Conflict(
        "Channels.DuplicateSlug",
        "Канал с таким slug уже существует."
    );

    public static readonly Error BumperTemplateNotFound = Error.NotFound(
        "Channels.BumperTemplateNotFound",
        "Блок заставки не найден."
    );

    public static readonly Error CannotRemoveDefaultBumperTemplate = Error.Validation(
        "Channels.CannotRemoveDefaultBumperTemplate",
        "Дефолтный блок заставки удалить нельзя."
    );

    public static readonly Error BumperTextVariantNotFound = Error.NotFound(
        "Channels.BumperTextVariantNotFound",
        "Подблок заставки не найден."
    );

    public static readonly Error CannotRemoveLastBumperTextVariant = Error.Validation(
        "Channels.CannotRemoveLastBumperTextVariant",
        "Нельзя удалить последний подблок — нужен хотя бы один."
    );

    public static readonly Error AssetNotFound = Error.NotFound(
        "Channels.AssetNotFound",
        "Медиа-ассет не найден."
    );

    public static readonly Error InvalidBumperFile = Error.Validation(
        "Channels.InvalidBumperFile",
        "Недопустимый файл заставки (формат или размер)."
    );
}
