from pydantic import BaseModel, Field from datetime import datetime from typing import Optional from schemas.base import BaseSchema from fastapi import UploadFile # For additional metadata about the upload class FileMetadata(BaseModel): source: str = Field(..., title="Source") type: str = Field(..., title="Type") # optional service: Optional[str] = Field(None, title="Service") # For the response after upload class FileUploadResponse(BaseSchema): id: str filename: str type: str file_size_kb: float source: str status: str service: str class FileDeleteResponse(BaseModel): id: str status: str class GetPreparedFilesResponse(BaseModel): files: list[FileUploadResponse]