Skip to content

Commit 051b8fc

Browse files
committed
feat: wip project creation using htmx
1 parent f41e91f commit 051b8fc

7 files changed

Lines changed: 958 additions & 320 deletions

File tree

src/backend/app/db/models.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,8 @@ class DbProject:
325325
odk_token: Optional[str] = None
326326
# GeoJSON data extract stored directly in database (replaces S3 URL approach)
327327
data_extract_geojson: Optional[dict] = None
328+
# GeoJSON task areas/boundaries stored directly in database
329+
task_areas_geojson: Optional[dict] = None
328330

329331
@classmethod
330332
async def one(
@@ -538,8 +540,16 @@ async def update(
538540
if key == "data_extract_geojson" and isinstance(model_dump[key], dict):
539541
# Convert GeoJSON dict to JSON string for JSONB column
540542
model_dump[key] = json.dumps(model_dump[key])
543+
elif key == "task_areas_geojson" and isinstance(model_dump[key], dict):
544+
# Convert GeoJSON dict to JSON string for JSONB column
545+
model_dump[key] = json.dumps(model_dump[key])
541546

542-
placeholders = [f"{key} = %({key})s" for key in model_dump.keys()]
547+
placeholders = []
548+
for key in model_dump.keys():
549+
if key == "task_areas_geojson":
550+
placeholders.append(f"{key} = %({key})s::jsonb")
551+
else:
552+
placeholders.append(f"{key} = %({key})s")
543553

544554
# NOTE we want a trackable hashtag DOMAIN-PROJECT_ID
545555
if "hashtags" in model_dump:

0 commit comments

Comments
 (0)