WetterstationServer/models/station.py

37 lines
806 B
Python

from datetime import datetime, timezone
from typing import Optional
from sqlmodel import SQLModel, Field
def utc_now() -> datetime:
return datetime.now(timezone.utc)
class Station(SQLModel, table=True):
id: int = Field(default=None, primary_key=True)
mac: str = Field(unique=True)
name: Optional[str] = Field(default=None)
created_at: datetime = Field(default_factory=utc_now)
indoor_only: bool = Field(default=True)
class StationCreateRequest(SQLModel):
name: str
mac: str
class StationCreateResponse(SQLModel):
id: int
name: str
class StationListResponse(SQLModel):
id: int
name: str
mac: str
indoor_only: bool
class StationUpdateRequest(SQLModel):
id: int
name: str
class StationUpdateResponse(SQLModel):
id: int
name: str