mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +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 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()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue