diff --git a/src/backend/app/db/postgis_utils.py b/src/backend/app/db/postgis_utils.py index a147a0e765..d1a2b2bc4b 100644 --- a/src/backend/app/db/postgis_utils.py +++ b/src/backend/app/db/postgis_utils.py @@ -15,6 +15,7 @@ # You should have received a copy of the GNU General Public License # along with FMTM. If not, see . # +"""PostGIS and geometry handling helper funcs.""" import datetime @@ -25,11 +26,15 @@ def timestamp(): - """Used in SQL Alchemy models to ensure we refresh timestamp when new models initialised.""" + """Get the current time. + + Used to insert a current timestamp into Pydantic models. + """ return datetime.datetime.utcnow() def geometry_to_geojson(geometry: Geometry, properties: str = {}, id: int = None): + """Convert SQLAlchemy geometry to GeoJSON.""" if geometry: shape = to_shape(geometry) geojson = { @@ -40,9 +45,11 @@ def geometry_to_geojson(geometry: Geometry, properties: str = {}, id: int = None # "bbox": shape.bounds, } return Feature(**geojson) + return {} -def get_centroid(geometry: Geometry, properties: str = {}): +def get_centroid(geometry: Geometry, properties: str = {}, id: int = None): + """Convert SQLAlchemy geometry to Centroid GeoJSON.""" if geometry: shape = to_shape(geometry) point = shape.centroid @@ -50,5 +57,7 @@ def get_centroid(geometry: Geometry, properties: str = {}): "type": "Feature", "geometry": mapping(point), "properties": properties, + "id": id, } return Feature(**geojson) + return {} diff --git a/src/backend/app/projects/project_crud.py b/src/backend/app/projects/project_crud.py index 175abedb09..c33864dd15 100644 --- a/src/backend/app/projects/project_crud.py +++ b/src/backend/app/projects/project_crud.py @@ -15,6 +15,8 @@ # You should have received a copy of the GNU General Public License # along with FMTM. If not, see . # +"""Logic for FMTM project routes.""" + import io import json import os @@ -1919,6 +1921,8 @@ async def convert_to_app_project(db_project: db_models.DbProject): db_project.outline, {"id": db_project.id}, db_project.id ) + app_project.project_tasks = db_project.tasks + return app_project