# schemas.py
from typing import List, Dict, Any, Optional
from pydantic import BaseModel, Field



class BulkInsertRequest(BaseModel):
    # documents: List[JSONDocument]
    # collection_name: Optional[str] = "default_collection" design_template
    collection_name: Optional[str] = "design_template"


class BulkInsertResponse(BaseModel):
    success: bool
    message: str


class SearchResult(BaseModel):
    id: str
    score: float
    template_url: str
    template_id: str
    template_name: str
    template_metadata: Dict[str, Any]
    searchable_text: str
    highlights: List[str]

class SearchResponse(BaseModel):
    query: str
    results: List[SearchResult]
    total_results: int

class SearchRequest(BaseModel):
    query: str
    collection_name: str
    limit: int = 5
    score_threshold: float = 0.1
    filters: Optional[dict] = None

