from pydantic import BaseModel from typing import List from datetime import datetime from app.schemas.plagiarism_schemas import MatchDetail class ReportSummary(BaseModel): id: str # MongoDB’s ObjectId as string name: str date: datetime similarity: float # highest sentence‐level similarity (0–100) sources: List[str] # unique list of source titles used word_count: int time_spent: str # e.g. "00:00" flagged: bool # true if similarity > 70% class ReportDetail(BaseModel): id: str name: str content: str plagiarism_data: List[MatchDetail]