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

20 lines
735 B
Python

import uuid
from datetime import datetime, timezone
from sqlmodel import SQLModel, Field
class Activity(SQLModel, table=True):
__tablename__ = "activities"
id: uuid.UUID = Field(default_factory=uuid.uuid4, primary_key=True)
user_id: uuid.UUID = Field(foreign_key="users.id", index=True)
type: str = Field(max_length=16) # run | cycle | walk | hike
started_at: datetime | None = None
ended_at: datetime | None = None
distance_m: float | None = None
raw_gpx: str | None = None # deleted after 30 days (privacy)
status: str = Field(
default="pending", max_length=16
) # pending | completed | failed
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))