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