97 lines
3.1 KiB
C#
97 lines
3.1 KiB
C#
|
|
namespace PARR.Domain.Exceptions
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Базовый класс для всех ошибок
|
|||
|
|
/// </summary>
|
|||
|
|
public abstract class BaseException : Exception
|
|||
|
|
{
|
|||
|
|
protected BaseException(string message) : base(message) { }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Ошибка БД. 502
|
|||
|
|
/// </summary>
|
|||
|
|
public class DbErrorException : BaseException
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Ошибка БД.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="message"></param>
|
|||
|
|
public DbErrorException(string message) : base(message) { }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Объект не найден. 404
|
|||
|
|
/// </summary>
|
|||
|
|
public class NotFoundException : BaseException
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Объект не найден.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="message"></param>
|
|||
|
|
public NotFoundException(string message) : base(message) { }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Ошибка валидации. 400.
|
|||
|
|
/// Использовать эту ошибку, если не подходит валидация от Fluent (ValidationException)
|
|||
|
|
/// </summary>
|
|||
|
|
public class AppValidationException : BaseException
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Ошибка валидации.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="message"></param>
|
|||
|
|
public AppValidationException(string message) : base(message) { }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Объект уже существует. 409
|
|||
|
|
/// </summary>
|
|||
|
|
public class AlreadyExistsException : BaseException
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Объект уже существует.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="message"></param>
|
|||
|
|
public AlreadyExistsException(string message) : base(message) { }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Ошибка при работе с внешним сервисом. 502
|
|||
|
|
/// </summary>
|
|||
|
|
public class ExternalServiceException : BaseException
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Ошибка при работе с внешним сервисом.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="message"></param>
|
|||
|
|
public ExternalServiceException(string message) : base(message) { }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Пользователь не аутентифицирован. 401
|
|||
|
|
/// </summary>
|
|||
|
|
public class UnauthorizedException : BaseException
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Пользователь не аутентифицирован.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="message"></param>
|
|||
|
|
public UnauthorizedException(string message) : base(message) { }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Доступ запрещен. 403.
|
|||
|
|
/// Пользователь вошел в систему (мы знаем, кто он), но у него нет прав на конкретное действие или объект.
|
|||
|
|
/// </summary>
|
|||
|
|
public class ForbiddenException : BaseException
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Доступ запрещен.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="message"></param>
|
|||
|
|
public ForbiddenException(string message) : base(message) { }
|
|||
|
|
}
|
|||
|
|
}
|