Files

37 lines
958 B
Python

"""WorkoutSession Pydantic schemas."""
from pydantic import BaseModel
from typing import Optional
from datetime import datetime
class WorkoutSessionBase(BaseModel):
"""Base schema for workout session."""
start_time: datetime
end_time: Optional[datetime] = None
activity_type: str
activity_type_id: Optional[int] = None
duration_seconds: int = 0
distance_meters: float = 0.0
calories: float = 0.0
avg_pace: Optional[float] = None
max_pace: Optional[float] = None
min_pace: Optional[float] = None
avg_hr: Optional[int] = None
max_hr: Optional[int] = None
min_hr: Optional[int] = None
notes: Optional[str] = None
class WorkoutSessionCreate(WorkoutSessionBase):
"""Schema for creating a workout session."""
pass
class WorkoutSessionResponse(WorkoutSessionBase):
"""Schema for workout session response."""
id: int
user_id: int
class Config:
from_attributes = True