123
This commit is contained in:
35
backend/shared/response.py
Normal file
35
backend/shared/response.py
Normal file
@@ -0,0 +1,35 @@
|
||||
"""
|
||||
Unified API response format utilities.
|
||||
"""
|
||||
|
||||
from typing import Any, List, Optional
|
||||
|
||||
from fastapi.responses import JSONResponse
|
||||
|
||||
|
||||
def success_response(data: Any = None, message: str = "Operation successful") -> dict:
|
||||
"""Return a standardised success payload."""
|
||||
return {
|
||||
"success": True,
|
||||
"data": data,
|
||||
"message": message,
|
||||
}
|
||||
|
||||
|
||||
def error_response(
|
||||
message: str,
|
||||
code: str,
|
||||
details: Optional[List[dict]] = None,
|
||||
status_code: int = 400,
|
||||
) -> JSONResponse:
|
||||
"""Return a standardised error JSONResponse."""
|
||||
body: dict = {
|
||||
"success": False,
|
||||
"data": None,
|
||||
"message": message,
|
||||
"error": {
|
||||
"code": code,
|
||||
"details": details or [],
|
||||
},
|
||||
}
|
||||
return JSONResponse(status_code=status_code, content=body)
|
||||
Reference in New Issue
Block a user