diff --git a/applications/abri/abri_trigger_request.py b/applications/abri/abri_trigger_request.py index 0a9346ca9..f272be7bd 100644 --- a/applications/abri/abri_trigger_request.py +++ b/applications/abri/abri_trigger_request.py @@ -11,13 +11,16 @@ from typing import Dict, List, Literal, Optional, Tuple from pydantic import BaseModel, ConfigDict, Field, model_validator -AbriFlow = Literal["amend_job", "log_job", "sync_tenant_data"] +AbriFlow = Literal["amend_job", "log_job", "sync_tenant_data", "abandon_job"] # The deal fields each flow reads; hubspot_deal_id is always required. +# abandon_job needs no field beyond the deal id (the outcome is optional, only +# feeding the reason-mapping seam). _FIELDS_BY_FLOW: Dict[AbriFlow, Tuple[str, ...]] = { "amend_job": ("confirmed_survey_date",), "log_job": ("place_ref", "deal_name", "confirmed_survey_date"), "sync_tenant_data": ("place_ref",), + "abandon_job": (), } @@ -30,6 +33,7 @@ class AbriTriggerRequest(BaseModel): deal_name: Optional[str] = None confirmed_survey_date: Optional[date] = None confirmed_survey_time: Optional[str] = None + outcome: Optional[str] = None @model_validator(mode="after") def _each_fired_flow_has_its_fields(self) -> "AbriTriggerRequest":