Merge pull request #1196 from Hestia-Homes/feautre/additional_properties_for_tracking

Feautre/additional properties for tracking
This commit is contained in:
Jun-te Kim 2026-06-08 16:19:34 +01:00 committed by GitHub
commit 0ccb0e0bf9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 36 additions and 6 deletions

View file

@ -9,7 +9,7 @@
// Optional, just makes getting from Downloads (local env) easier
"source=${localEnv:HOME},target=/home/vscode,type=bind"
],
"forwardPorts": [8081],
"forwardPorts": ["model-sal:8080"],
"customizations": {
"vscode": {
"extensions": [

View file

@ -12,7 +12,10 @@ services:
networks:
- model-net
ports:
- "8081:8080"
# Host port left unspecified so Docker assigns a free one — lets multiple
# worktrees of this repo run at once without colliding. VS Code's
# forwardPorts (in devcontainer.json) forwards container :8080 to your machine.
- "8080"
networks:
model-net:

View file

@ -42,9 +42,9 @@
"containerEnv": {
"PYTHONFLAGS": "-Xfrozen_modules=off"
},
"forwardPorts": [8000],
"forwardPorts": ["model-backend:8000"],
"portsAttributes": {
"8000": {
"model-backend:8000": {
"label": "FastAPI",
"onAutoForward": "notify"
}

View file

@ -10,7 +10,10 @@ services:
USER_GID: ${GID:-1000}
command: sleep infinity
ports:
- "8000:8000"
# Host port left unspecified so Docker assigns a free one — lets multiple
# worktrees of this repo run at once without colliding. VS Code's
# forwardPorts (in devcontainer.json) forwards container :8000 to your machine.
- "8000"
volumes:
- ../../:/workspaces/model
- ~/.gitconfig:/home/vscode/.gitconfig:ro
@ -30,7 +33,10 @@ services:
image: postgres:17.4
restart: unless-stopped
ports:
- 5432:5432
# Dynamic host port (see model-backend above) so a second worktree's db
# doesn't collide on 5432. Reach it from inside the container via host
# "db:5432"; from your machine, use the forwarded port VS Code reports.
- "5432"
environment:
- PGDATABASE=tech_team_local_db
- POSTGRES_USER=postgres

View file

@ -82,6 +82,11 @@ class HubspotDealData(SQLModel, table=True):
domna_survey_required: Optional[bool] = Field(default=None)
domna_survey_date: Optional[datetime] = Field(default=None)
date_booking_made: Optional[datetime] = Field(default=None)
last_contact_date: Optional[datetime] = Field(default=None)
last_outbound_call: Optional[datetime] = Field(default=None)
last_outbound_email: Optional[datetime] = Field(default=None)
created_at: Optional[datetime] = Field(
sa_column=Column(
DateTime(timezone=True),

View file

@ -347,6 +347,10 @@ class HubspotClient:
"sent_to_iw_for_pricing",
"osmosis_survey_required",
"osmosis_survey_date",
"date_booking_made",
"last_contact_date",
"last_outbound_call",
"last_outbound_email",
],
)
)

View file

@ -293,6 +293,10 @@ class HubspotDataToDb:
deal_data.get("osmosis_survey_required")
),
"domna_survey_date": parse_hs_date(deal_data.get("osmosis_survey_date")),
"date_booking_made": parse_hs_date(deal_data.get("date_booking_made")),
"last_contact_date": parse_hs_date(deal_data.get("last_contact_date")),
"last_outbound_call": parse_hs_date(deal_data.get("last_outbound_call")),
"last_outbound_email": parse_hs_date(deal_data.get("last_outbound_email")),
}.items():
setattr(existing, attr, value)
@ -391,6 +395,10 @@ class HubspotDataToDb:
deal_data.get("osmosis_survey_required")
),
domna_survey_date=parse_hs_date(deal_data.get("osmosis_survey_date")),
date_booking_made=parse_hs_date(deal_data.get("date_booking_made")),
last_contact_date=parse_hs_date(deal_data.get("last_contact_date")),
last_outbound_call=parse_hs_date(deal_data.get("last_outbound_call")),
last_outbound_email=parse_hs_date(deal_data.get("last_outbound_email")),
)
def _handle_existing_photo_upload(

View file

@ -114,6 +114,10 @@ class HubspotDealDiffer:
("property_halted_date", "property_halted_date"),
("sent_to_iw_for_pricing", "sent_to_installer_for_pricing"),
("osmosis_survey_date", "domna_survey_date"),
("date_booking_made", "date_booking_made"),
("last_contact_date", "last_contact_date"),
("last_outbound_call", "last_outbound_call"),
("last_outbound_email", "last_outbound_email"),
]
for hs_field, db_field in date_fields: