from datetime import datetime from pydantic import BaseModel class DocumentShareOut(BaseModel): id: str document_id: str group_id: str shared_by_user_id: str can_delete: bool created_at: datetime model_config = {"from_attributes": True} class DocumentShareCreate(BaseModel): group_id: str can_delete: bool = False class SharedDocumentOut(BaseModel): """DocumentOut fields plus sharing context for the 'Shared with me' view.""" id: str user_id: str filename: str title: str | None file_size: int status: str document_type: str | None extracted_data: str | None tags: str | None error_message: str | None created_at: datetime processed_at: datetime | None categories: list = [] source: str = "upload" share_count: int = 0 viewer_can_delete: bool = False # Sharing context shared_by_user_id: str shared_via_group_id: str model_config = {"from_attributes": True}