base structs as agreed upon

This commit is contained in:
2024-06-26 12:27:54 +02:00
parent c26d9222bd
commit 8e33bd1b3f
2 changed files with 36 additions and 6 deletions

View File

@@ -1,20 +1,30 @@
from typing import Optional
from pydantic import BaseModel
from pydantic import BaseModel, Field
from .landmarktype import LandmarkType
from uuid import uuid4
# Output to frontend
class Landmark(BaseModel) :
# Unique ID of a given landmark
uuid: str = Field(default_factory=uuid4) # TODO implement this ASAP
# Properties of the landmark
name : str
type: LandmarkType # De facto mapping depending on how the query was executed with overpass. Should still EXACTLY correspond to the preferences
location : tuple
osm_type : str
osm_id : int
attractiveness : int
must_do : bool
n_tags : int
time_to_reach : Optional[int] = 0
image_url : Optional[str] = None # TODO future
description : Optional[str] = None # TODO future
duration : Optional[int] = 0 # TODO future
# Additional properties depending on specific tour
must_do : bool
is_secondary : Optional[bool] = False # TODO future
time_to_reach_next : Optional[int] = 0 # TODO fix this in existing code
next_uuid : Optional[str] = None # TODO implement this ASAP