31 lines
No EOL
574 B
Python
31 lines
No EOL
574 B
Python
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]] |