fix
This commit is contained in:
@@ -17,6 +17,19 @@ class ActivityMetricsResponse(BaseModel):
|
||||
max_hr: int | None = None
|
||||
avg_cadence: int | None = None
|
||||
avg_speed: float | None = None
|
||||
calories: int | None = None
|
||||
|
||||
|
||||
class IntervalResponse(BaseModel):
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
id: UUID
|
||||
start_ts: datetime
|
||||
end_ts: datetime
|
||||
interval_type: str
|
||||
avg_power: float | None = None
|
||||
avg_hr: int | None = None
|
||||
duration: int | None = None
|
||||
|
||||
|
||||
class ActivityResponse(BaseModel):
|
||||
@@ -31,6 +44,7 @@ class ActivityResponse(BaseModel):
|
||||
distance: float | None = None
|
||||
elevation_gain: float | None = None
|
||||
metrics: ActivityMetricsResponse | None = None
|
||||
intervals: list[IntervalResponse] = []
|
||||
|
||||
|
||||
class ActivityListResponse(BaseModel):
|
||||
@@ -50,3 +64,29 @@ class DataPointResponse(BaseModel):
|
||||
longitude: float | None = None
|
||||
altitude: float | None = None
|
||||
temperature: int | None = None
|
||||
|
||||
|
||||
class ZoneItem(BaseModel):
|
||||
zone: int
|
||||
name: str
|
||||
seconds: int
|
||||
percentage: float
|
||||
|
||||
|
||||
class PowerZoneItem(ZoneItem):
|
||||
min_watts: int
|
||||
max_watts: int | None = None
|
||||
|
||||
|
||||
class HrZoneItem(ZoneItem):
|
||||
min_bpm: int
|
||||
max_bpm: int | None = None
|
||||
|
||||
|
||||
class ZonesResponse(BaseModel):
|
||||
power_zones: list[PowerZoneItem] = []
|
||||
hr_zones: list[HrZoneItem] = []
|
||||
|
||||
|
||||
class PowerCurveResponse(BaseModel):
|
||||
curve: dict[int, int] # {duration_seconds: max_power}
|
||||
|
||||
Reference in New Issue
Block a user