"""Utilidades para estandarizar respuestas en los servicios.""" from typing import Any, Dict, List, Optional def create_service_response( success: bool = True, message: str = "Operación completada exitosamente", data: Optional[Dict[str, Any]] = None, errors: Optional[List[str]] = None, warnings: Optional[List[str]] = None, metadata: Optional[Dict[str, Any]] = None ) -> Dict[str, Any]: """ Crea una respuesta estandarizada para los servicios. Args: success: Indica si la operación fue exitosa message: Mensaje principal de la respuesta data: Datos principales de la respuesta errors: Lista de errores si los hay warnings: Lista de advertencias si las hay metadata: Metadatos adicionales de la operación Returns: Dict con estructura estandarizada de respuesta """ response = { "success": success, "message": message, "data": data or {}, } if errors: response["errors"] = errors if warnings: response["warnings"] = warnings if metadata: response["metadata"] = metadata return response def create_error_response( message: str, errors: Optional[List[str]] = None, data: Optional[Dict[str, Any]] = None, metadata: Optional[Dict[str, Any]] = None ) -> Dict[str, Any]: """ Crea una respuesta de error estandarizada. Args: message: Mensaje principal de error errors: Lista detallada de errores data: Datos adicionales del error metadata: Metadatos del error Returns: Dict con estructura estandarizada de error """ return create_service_response( success=False, message=message, data=data, errors=errors, metadata=metadata )