56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
from fastapi import HTTPException, status
|
||
|
||
|
||
# Базовое исключение
|
||
class BlackPhoenixException(HTTPException):
|
||
status_code = 500
|
||
detail = ""
|
||
|
||
def __init__(self):
|
||
super().__init__(status_code=self.status_code, detail=self.detail)
|
||
|
||
|
||
class UserAlreadyExistsException(BlackPhoenixException):
|
||
status_code = status.HTTP_409_CONFLICT
|
||
detail = "Пользователь с таким ником или почтой уже существует"
|
||
|
||
|
||
class UsernameAlreadyInUseException(BlackPhoenixException):
|
||
status_code = status.HTTP_409_CONFLICT
|
||
detail = "Ник занят"
|
||
|
||
|
||
class IncorrectAuthDataException(BlackPhoenixException):
|
||
status_code = status.HTTP_401_UNAUTHORIZED
|
||
detail = "Введены не верные данные"
|
||
|
||
|
||
class IncorrectTokenFormatException(BlackPhoenixException):
|
||
status_code = status.HTTP_401_UNAUTHORIZED
|
||
detail = "Некорректный формат токена"
|
||
|
||
|
||
class TokenAbsentException(BlackPhoenixException):
|
||
status_code = status.HTTP_401_UNAUTHORIZED
|
||
detail = "Токен отсутствует"
|
||
|
||
|
||
class TokenExpiredException(BlackPhoenixException):
|
||
status_code = status.HTTP_401_UNAUTHORIZED
|
||
detail = "Токен истёк"
|
||
|
||
|
||
class UserIsNotPresentException(BlackPhoenixException):
|
||
status_code = status.HTTP_401_UNAUTHORIZED
|
||
|
||
|
||
class PasswordIsTooShortException(BlackPhoenixException):
|
||
status_code = status.HTTP_409_CONFLICT
|
||
detail = "Пароль должен быть не менее 8 символов"
|
||
|
||
|
||
class IncorrectLengthOfNicknameException(BlackPhoenixException):
|
||
status_code = status.HTTP_409_CONFLICT
|
||
detail = "Ник должен быть не короче 2 и не длиннее 30 символов"
|
||
|
||
|