from datetime import datetime
from typing import List, Optional

from fastapi import File as FastAPIFile
from fastapi import UploadFile, status
from pydantic import BaseModel, Field, computed_field

from src.apps.files.models.file import File
from src.apps.files.schemas.file import FileResponseSchema
from src.apps.web_crawler.models.web_crawler import WebCrawlerFiles
from src.core.exceptions import APIException
from src.utils.enums import WebCrawlerFileType
from src.utils.helpers.functions import get_file_header


class SaveMatchedRequest(BaseModel):
    wineDbId: str
    wineHistory: Optional[str] = None
    wineOriginalKeyword: Optional[str] = None
    historyType: Optional[str] = None
    wineVintage: Optional[str] = None
    wineBottleSize: Optional[str] = None
    wineRetailer: str
    validationType: Optional[str] = None
