From 1bc8343738a39bc2ab0d471cb537b770b4e82e85 Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Tue, 28 Apr 2026 16:33:53 +0000 Subject: [PATCH] identify site notes files after file upload so we can save them to epc_property table --- backend/app/db/models/epc_property.py | 1 + backend/pashub_fetcher/handler/handler.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/backend/app/db/models/epc_property.py b/backend/app/db/models/epc_property.py index 2a47d57d..50523fbb 100644 --- a/backend/app/db/models/epc_property.py +++ b/backend/app/db/models/epc_property.py @@ -20,6 +20,7 @@ class EpcPropertyModel(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) property_id: Optional[int] = Field(default=None) portfolio_id: Optional[int] = Field(default=None) + uploaded_file_id: Optional[int] = Field(default=None) # Identity / admin uprn: Optional[int] = Field(default=None) diff --git a/backend/pashub_fetcher/handler/handler.py b/backend/pashub_fetcher/handler/handler.py index 01f1a881..fc1f4f80 100644 --- a/backend/pashub_fetcher/handler/handler.py +++ b/backend/pashub_fetcher/handler/handler.py @@ -8,6 +8,7 @@ from backend.app.config import get_settings from backend.app.db.connection import db_session from backend.app.db.models.uploaded_file import ( FileSourceEnum, + FileTypeEnum, UploadedFile, ) from backend.pashub_fetcher.core_files import infer_file_type @@ -141,8 +142,22 @@ def upload_job_to_s3_and_update_db( with db_session() as session: session.add_all(uploaded_files) + + # Ensure IDs are generated + session.flush() + + results = [ + {"file": file.s3_file_key, "type": file.file_type, "id": file.id} + for file in uploaded_files + ] + session.commit() + for result in results: + if FileTypeEnum(result["type"]) == FileTypeEnum.RD_SAP_SITE_NOTE: + # upload site notes to epc_property table + continue + pass