File size: 771 Bytes
7ccd501 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# --- Mongo Models ---
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 |