44 lines
829 B
Python
44 lines
829 B
Python
class AppError(Exception):
|
|
status_code = 400
|
|
code = "APP_ERROR"
|
|
|
|
def __init__(self, message: str, *, details: dict | None = None):
|
|
super().__init__(message)
|
|
self.message = message
|
|
self.details = details or {}
|
|
|
|
|
|
class NotFoundError(AppError):
|
|
status_code = 404
|
|
code = "NOT_FOUND"
|
|
|
|
|
|
class ConfigurationError(AppError):
|
|
status_code = 500
|
|
code = "CONFIGURATION_ERROR"
|
|
|
|
|
|
class ProviderError(AppError):
|
|
status_code = 502
|
|
code = "PROVIDER_ERROR"
|
|
|
|
|
|
class ConflictError(AppError):
|
|
status_code = 409
|
|
code = "CONFLICT"
|
|
|
|
|
|
class RefreshNotDueError(AppError):
|
|
status_code = 409
|
|
code = "REFRESH_NOT_DUE"
|
|
|
|
|
|
class UnauthorizedError(AppError):
|
|
status_code = 401
|
|
code = "UNAUTHORIZED"
|
|
|
|
|
|
class ForbiddenError(AppError):
|
|
status_code = 403
|
|
code = "FORBIDDEN"
|