110 lines
3.6 KiB
C#
110 lines
3.6 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) { }
|
||
}
|
||
|
||
/// <summary>
|
||
/// Ошибка при расчете NextRun. 422 (запрос валиден, но бизнес логика не смогла нормально его обработать)
|
||
/// </summary>
|
||
public class NextRunException : BaseException
|
||
{
|
||
/// <summary>
|
||
/// Ошибка при расчете NextRun
|
||
/// </summary>
|
||
/// <param name="message"></param>
|
||
public NextRunException(string message) : base(message){}
|
||
}
|
||
|
||
}
|