File size: 1,170 Bytes
ad87194 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
from typing import Any, Dict, List
from fastapi import HTTPException
from core.models.response_handling_models import ErrorResponse, SuccessResponse, SuccessResponseUsermanagement
def create_success_response(code: int, data: Dict[str, Any]) -> SuccessResponse:
return SuccessResponse(
status="success",
code=code,
data=data
)
def create_error_response(code: int, message: str, details: List[Dict[str, Any]] = None) -> ErrorResponse:
if details is None:
details = []
return ErrorResponse(
status="error",
error={
"message": message,
"details": details
}
)
def raise_http_exception(code: int, message: str, details: List[Dict[str, Any]] = None) -> None:
error_response = create_error_response(code, message, details)
raise HTTPException(status_code=code, detail=error_response.json())
def success_response_user_management(code: int, message: str,
data: Dict[str, Any] = None):
return SuccessResponseUsermanagement(
status="success",
code=code,
message=message,
data=data or {}
)
|