Executor / pydantic_mongo_executor_model.py
Soumik Bose
Initial commit
7ccd501
Raw
History Blame
771 Bytes
# --- 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