Deploy full Fitness AI Agents backend: auth, DB, watch sync, GPS routes, AI analysis
6cc9547 verified | from pydantic import BaseModel | |
| from typing import Optional | |
| from datetime import datetime | |
| class WatchReading(BaseModel): | |
| timestamp: datetime | |
| heart_rate: Optional[float] = None | |
| steps: Optional[int] = None | |
| calories_burned: Optional[float] = None | |
| active_calories: Optional[float] = None | |
| distance_meters: Optional[float] = None | |
| sleep_hours: Optional[float] = None | |
| spo2: Optional[float] = None # blood oxygen % | |
| hrv: Optional[float] = None # heart rate variability | |
| class WorkoutSession(BaseModel): | |
| timestamp: datetime | |
| workout_type: str # running, cycling, weightlifting, etc. | |
| duration_minutes: float | |
| avg_heart_rate: Optional[float] = None | |
| max_heart_rate: Optional[float] = None | |
| ending_heart_rate: Optional[float] = None # BPM at end/cool-down | |
| calories_burned: Optional[float] = None | |
| distance_meters: Optional[float] = None | |
| notes: Optional[str] = None | |
| class WatchSyncPayload(BaseModel): | |
| readings: list[WatchReading] = [] | |
| workouts: list[WorkoutSession] = [] | |
| device: Optional[str] = None # "apple_watch", "garmin", "fitbit", etc. | |
| app_version: Optional[str] = None | |