| 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 {} | |
| ) | |