This commit is contained in:
Redsandy
2026-03-14 18:48:57 +03:00
parent 1d1350fc13
commit 3ea4fb4771
40 changed files with 2150 additions and 0 deletions

36
app/schemas/activity.py Normal file
View File

@@ -0,0 +1,36 @@
import uuid
from datetime import datetime
from pydantic import BaseModel
class GpsPoint(BaseModel):
lat: float
lon: float
timestamp: datetime | None = None
altitude: float | None = None
hdop: float | None = None
class ActivityCreate(BaseModel):
type: str # run | cycle | walk | hike
started_at: datetime
ended_at: datetime
gps_track: list[GpsPoint]
class ActivityRead(BaseModel):
id: uuid.UUID
user_id: uuid.UUID
type: str
started_at: datetime | None
ended_at: datetime | None
distance_m: float | None
status: str
created_at: datetime
class ActivityDetail(ActivityRead):
"""Activity with zone info attached."""
zone_id: uuid.UUID | None = None
area_m2: float | None = None