mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-22 08:48:38 +00:00
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:
parent
d33c171494
commit
28c7e44c95
1 changed files with 13 additions and 2 deletions
|
|
@ -8,7 +8,9 @@ upserts from HubSpot's client_booking_reference property.
|
||||||
|
|
||||||
from typing import Optional
|
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:
|
class DealDatabasePostgresGateway:
|
||||||
|
|
@ -16,7 +18,16 @@ class DealDatabasePostgresGateway:
|
||||||
self._session = session
|
self._session = session
|
||||||
|
|
||||||
def record_job_no(self, deal_id: str, job_no: str) -> None:
|
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]:
|
def job_no_for_deal(self, deal_id: str) -> Optional[str]:
|
||||||
raise NotImplementedError
|
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()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue