The deal database gateway records a deal's OpenHousing job_no 🟩

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Daniel Roth 2026-07-07 09:54:16 +00:00
parent d33c171494
commit 28c7e44c95

View file

@ -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()