Files
geozoner-back/app/schemas/activity.py
Redsandy 3ea4fb4771 init
2026-03-14 18:48:57 +03:00

37 lines
763 B
Python

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