using TeleWave.Application.Common.Models;

namespace TeleWave.Application.Auth;

public static class AuthErrors
{
    public static readonly Error InvalidCredentials = Error.Unauthorized(
        "Auth.InvalidCredentials",
        "Неверное имя пользователя или пароль."
    );

    public static readonly Error Unauthorized = Error.Unauthorized(
        "Auth.Unauthorized",
        "Требуется вход в систему."
    );

    public static readonly Error InvalidRefreshToken = Error.Unauthorized(
        "Auth.InvalidRefreshToken",
        "Сессия истекла, войдите заново."
    );

    public static readonly Error Blocked = Error.Forbidden(
        "Auth.Blocked",
        "Аккаунт заблокирован администратором."
    );

    public static readonly Error UserNameTaken = Error.Conflict(
        "Auth.UserNameTaken",
        "Это имя пользователя уже занято."
    );

    public static readonly Error RegistrationDisabled = Error.Forbidden(
        "Auth.RegistrationDisabled",
        "Регистрация на сайте отключена администратором."
    );
}
