From 28c7e44c955d4b7bfa430878fbab4fcc8a9cdb4e Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Tue, 7 Jul 2026 09:54:16 +0000 Subject: [PATCH] =?UTF-8?q?The=20deal=20database=20gateway=20records=20a?= =?UTF-8?q?=20deal's=20OpenHousing=20job=5Fno=20=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- .../deal_database_postgres_gateway.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/repositories/hubspot_deals/deal_database_postgres_gateway.py b/repositories/hubspot_deals/deal_database_postgres_gateway.py index 56accf947..29c1868ec 100644 --- a/repositories/hubspot_deals/deal_database_postgres_gateway.py +++ b/repositories/hubspot_deals/deal_database_postgres_gateway.py @@ -8,7 +8,9 @@ upserts from HubSpot's client_booking_reference property. from typing import Optional -from sqlmodel import Session +from sqlmodel import Session, select + +from backend.app.db.models.hubspot_deal_data import HubspotDealData class DealDatabasePostgresGateway: @@ -16,7 +18,16 @@ class DealDatabasePostgresGateway: self._session = session def record_job_no(self, deal_id: str, job_no: str) -> None: - raise NotImplementedError + deal = self._find_deal(deal_id) + if deal is None: + raise ValueError(f"HubSpot deal {deal_id} not found") + deal.job_no = job_no + self._session.add(deal) + self._session.commit() def job_no_for_deal(self, deal_id: str) -> Optional[str]: raise NotImplementedError + + def _find_deal(self, deal_id: str) -> Optional[HubspotDealData]: + statement = select(HubspotDealData).where(HubspotDealData.deal_id == deal_id) + return self._session.exec(statement).first()