Source code for app.lib.exceptions

[docs] class BaseAPIException(Exception): # noqa: N818 """Base exception for all API-related errors.""" def __init__( self, status_code: int, message: str, headers: dict[str, str] | None = None, ) -> None: self.status_code = status_code self.message = message self.headers = headers
[docs] class UnauthorizedException(BaseAPIException): """401 Unauthorized exception.""" def __init__( self, message: str = "Not authenticated", ) -> None: super().__init__( status_code=401, message=message, )
[docs] class UserNotFound(BaseAPIException): """404 User not found exception.""" def __init__( self, ) -> None: super().__init__( status_code=404, message="User not found", )
[docs] class BadRequestException(BaseAPIException): """400 Bad Request exception.""" def __init__(self, message: str) -> None: super().__init__( status_code=400, message=message, )
[docs] class ConflictException(BaseAPIException): """409 Conflict exception.""" def __init__(self, message: str) -> None: super().__init__( status_code=409, message=message, )
[docs] class PermissionDeniedException(BaseAPIException): """403 Permission Denied exception.""" def __init__(self, message: str) -> None: super().__init__( status_code=403, message=message, )
[docs] class NotFoundException(BaseAPIException): """404 Not Found exception.""" def __init__(self, message: str) -> None: super().__init__( status_code=404, message=message, )
[docs] class JWTKeyConfigError(RuntimeError): """Raised when the JWT private key is missing, corrupted, or invalid.""" def __init__(self, message: str) -> None: super().__init__(message)