This commit is contained in:
xds
2026-03-16 12:12:56 +03:00
commit 9d886076d6
63 changed files with 4482 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
from datetime import datetime
from uuid import UUID
from pydantic import BaseModel
class ActivityMetricsResponse(BaseModel):
model_config = {"from_attributes": True}
tss: float | None = None
normalized_power: float | None = None
intensity_factor: float | None = None
variability_index: float | None = None
avg_power: float | None = None
max_power: int | None = None
avg_hr: int | None = None
max_hr: int | None = None
avg_cadence: int | None = None
avg_speed: float | None = None
class ActivityResponse(BaseModel):
model_config = {"from_attributes": True}
id: UUID
rider_id: UUID
name: str | None = None
activity_type: str
date: datetime
duration: int
distance: float | None = None
elevation_gain: float | None = None
metrics: ActivityMetricsResponse | None = None
class ActivityListResponse(BaseModel):
items: list[ActivityResponse]
total: int
class DataPointResponse(BaseModel):
model_config = {"from_attributes": True}
timestamp: datetime
power: int | None = None
heart_rate: int | None = None
cadence: int | None = None
speed: float | None = None
latitude: float | None = None
longitude: float | None = None
altitude: float | None = None
temperature: int | None = None