fix: missing call_id in gathered_context (#165)

This commit is contained in:
Sabiha Khan 2026-02-18 21:13:28 +05:30 committed by GitHub
parent 9ce5a8e5e2
commit 13b41437e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 4 deletions

View file

@ -28,6 +28,7 @@ class WorkflowRunClient(BaseDBClient):
user_id: int, user_id: int,
call_type: CallType = CallType.OUTBOUND, call_type: CallType = CallType.OUTBOUND,
initial_context: dict = None, initial_context: dict = None,
gathered_context: dict = None,
campaign_id: int = None, campaign_id: int = None,
queued_run_id: int = None, queued_run_id: int = None,
) -> WorkflowRunModel: ) -> WorkflowRunModel:
@ -79,6 +80,7 @@ class WorkflowRunClient(BaseDBClient):
mode=mode, mode=mode,
definition_id=current_def.id if current_def else None, definition_id=current_def.id if current_def else None,
initial_context=initial_context or workflow.template_context_variables, initial_context=initial_context or workflow.template_context_variables,
gathered_context=gathered_context or {},
campaign_id=campaign_id, campaign_id=campaign_id,
queued_run_id=queued_run_id, queued_run_id=queued_run_id,
storage_backend=current_backend.value, storage_backend=current_backend.value,

View file

@ -425,7 +425,6 @@ async def _create_inbound_workflow_run(
"caller_number": normalized_data.from_number, "caller_number": normalized_data.from_number,
"called_number": normalized_data.to_number, "called_number": normalized_data.to_number,
"direction": "inbound", "direction": "inbound",
"call_id": call_id,
"account_id": normalized_data.account_id, "account_id": normalized_data.account_id,
"provider": provider, "provider": provider,
"data_source": data_source, "data_source": data_source,
@ -433,6 +432,9 @@ async def _create_inbound_workflow_run(
"to_country": normalized_data.to_country, "to_country": normalized_data.to_country,
"raw_webhook_data": normalized_data.raw_data, "raw_webhook_data": normalized_data.raw_data,
}, },
gathered_context={
"call_id": call_id,
},
) )
logger.info( logger.info(
@ -1273,11 +1275,11 @@ async def handle_vobiz_hangup_callback_by_workflow(
try: try:
db_client = WorkflowRunClient() db_client = WorkflowRunClient()
async with db_client.async_session() as session: async with db_client.async_session() as session:
# Fetch workflow run with matching call_id in initial_context # Fetch workflow run with matching call_id in gathered_context
query = text(""" query = text("""
SELECT id FROM workflow_runs SELECT id FROM workflow_runs
WHERE workflow_id = :workflow_id WHERE workflow_id = :workflow_id
AND CAST(initial_context AS jsonb) @> CAST(:call_id_json AS jsonb) AND CAST(gathered_context AS jsonb) @> CAST(:call_id_json AS jsonb)
ORDER BY created_at DESC ORDER BY created_at DESC
LIMIT 1 LIMIT 1
""") """)

View file

@ -468,9 +468,11 @@ class ARIConnection:
"caller_number": caller_number, "caller_number": caller_number,
"called_number": called_number, "called_number": called_number,
"direction": "inbound", "direction": "inbound",
"call_id": call_id,
"provider": "ari", "provider": "ari",
}, },
gathered_context={
"call_id": call_id,
},
) )
logger.info( logger.info(