from __future__ import annotations from fastapi import HTTPException, status def raise_conflict(*, code: str, message: str, **extra) -> None: detail = { "code": code, "message": message, **extra, } raise HTTPException( status_code=status.HTTP_409_CONFLICT, detail=detail, ) def raise_unprocessable(*, code: str, message: str, **extra) -> None: detail = { "code": code, "message": message, **extra, } raise HTTPException( status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, detail=detail, ) def raise_not_found(*, code: str, message: str, **extra) -> None: detail = { "code": code, "message": message, **extra, } raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, detail=detail, )