from pydantic import BaseModel from typing import List, Optional from datetime import date from enum import Enum class ParseFormat(str, Enum): apple = "apple" obsidian = "obsidian" text = "text" class ParseRequest(BaseModel): data: str format: ParseFormat class ApproachResponse(BaseModel): weight: float reps: int class ExerciseResponse(BaseModel): name: str splitted_weight: bool = False approaches: List[ApproachResponse] class ParseResponse(BaseModel): date: date exercises: Optional[List[ExerciseResponse]]