import uuid from datetime import datetime from pydantic import BaseModel, Field class DocumentResponse(BaseModel): id: uuid.UUID user_id: uuid.UUID filename: str original_filename: str mime_type: str file_size: int doc_type: str processing_status: str extracted_text: str | None = None metadata: dict | None = Field(None, alias="metadata_") created_at: datetime model_config = {"from_attributes": True, "populate_by_name": True} class DocumentListResponse(BaseModel): documents: list[DocumentResponse] class UpdateDocumentRequest(BaseModel): doc_type: str | None = None class DocumentSearchRequest(BaseModel): query: str = Field(min_length=1, max_length=500)