Files
MobilityOps-Public/backend/app/core/errors.py
T

32 lines
762 B
Python

from __future__ import annotations
import uuid
from typing import Any
class AppError(Exception):
def __init__(
self,
code: str,
message: str,
status_code: int = 400,
details: dict[str, Any] | None = None,
) -> None:
super().__init__(message)
self.code = code
self.message = message
self.status_code = status_code
self.details = details or {}
self.correlation_id = str(uuid.uuid4())
def error_body(code: str, message: str, correlation_id: str, details: dict[str, Any]) -> dict:
return {
"error": {
"code": code,
"message": message,
"correlation_id": correlation_id,
"details": details,
}
}