mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-07-01 08:59:46 +02:00
fix: missing call_id in gathered_context (#165)
This commit is contained in:
parent
9ce5a8e5e2
commit
13b41437e8
3 changed files with 10 additions and 4 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
""")
|
""")
|
||||||
|
|
|
||||||
|
|
@ -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(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue