from __future__ import annotations from fastapi import HTTPException, status def raise_conflict( *, code: str, message: str, details: dict | None = None, ) -> None: payload: dict = { "code": code, "message": message, } if details is not None: payload["details"] = details raise HTTPException( status_code=status.HTTP_409_CONFLICT, detail=payload, ) def raise_unprocessable( *, code: str, message: str, details: dict | None = None, ) -> None: payload: dict = { "code": code, "message": message, } if details is not None: payload.update(details) raise HTTPException( status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, detail=payload, )