21 lines
434 B
Python
21 lines
434 B
Python
from typing import Optional
|
|
from pydantic import BaseModel
|
|
|
|
class CampBase(BaseModel):
|
|
name: str
|
|
elevation_m: Optional[int] = None
|
|
camp_type: Optional[str] = None
|
|
description: Optional[str] = None
|
|
|
|
class CampCreate(CampBase):
|
|
route_id: int
|
|
location: dict # GeoJSON Point
|
|
|
|
class Camp(CampBase):
|
|
id: int
|
|
route_id: int
|
|
location: Optional[dict] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|