|
|
| |
| from typing import Any, Dict, List, Optional, Union |
| from pydantic import BaseModel, Field |
|
|
|
|
| class ExecutorPayload(BaseModel): |
| mongo_uri: str = Field(..., description="MongoDB connection string") |
| db_name: str = Field(..., description="Target Database Name") |
| collection_name: str = Field(..., description="Target Collection Name") |
| generated_query: Union[Dict, List, str] = Field(..., description="The query to execute (Find dict or Aggregation list)") |
| user_query: Optional[str] = Field(None, description="Original user question for logging context") |
| limited: bool = False |
| limit_rows: int = 20 |
|
|
| class ExecutorResponse(BaseModel): |
| status: str |
| count: int |
| data: Any |
| duration_seconds: float |
| request_id: str |