from fastapi import HTTPException from starlette.status import ( HTTP_400_BAD_REQUEST, HTTP_401_UNAUTHORIZED, HTTP_403_FORBIDDEN, HTTP_404_NOT_FOUND, HTTP_500_INTERNAL_SERVER_ERROR, HTTP_409_CONFLICT, ) def bad_request_exception(detail: str = "Bad Request"): return HTTPException(status_code=HTTP_400_BAD_REQUEST, detail=detail) def unauthorized_exception(detail: str = "Unauthorized"): return HTTPException(status_code=HTTP_401_UNAUTHORIZED, detail=detail) def forbidden_exception(detail: str = "Forbidden"): return HTTPException(status_code=HTTP_403_FORBIDDEN, detail=detail) def not_found_exception(detail: str = "Not Found"): return HTTPException(status_code=HTTP_404_NOT_FOUND, detail=detail) def internal_server_error_exception(detail: str = "Internal Server Error"): return HTTPException(status_code=HTTP_500_INTERNAL_SERVER_ERROR, detail=detail) def conflict_exception(detail: str = "Conflict"): return HTTPException(status_code=HTTP_409_CONFLICT, detail=detail)