From b96238335e283ad350ff2780cb6d82a45d07d706 Mon Sep 17 00:00:00 2001 From: Aashish John Date: Sun, 9 Nov 2025 21:07:11 -0400 Subject: [PATCH] feat(copy-campaign): copy van mappings --- src/server/api/lib/campaign.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/server/api/lib/campaign.ts b/src/server/api/lib/campaign.ts index eb452bea1..893be9f8a 100644 --- a/src/server/api/lib/campaign.ts +++ b/src/server/api/lib/campaign.ts @@ -368,6 +368,26 @@ export const copyCampaign = async (options: CopyCampaignOptions) => { [newCampaign.id, campaignId] ); + // Copy External System Mappings + await trx.raw( + ` + insert into all_external_sync_question_response_configuration (system_id, campaign_id, interaction_step_id, question_response_value) + select + system_id, + parent_step.campaign_id, + parent_step.id, + question_response_value + from all_external_sync_question_response_configuration ext + join interaction_step parent_step on parent_step.campaign_id = ? and exists ( + select 1 from interaction_step child_step + where child_step.parent_interaction_id = parent_step.id + and answer_option = question_response_value + ) + where ext.campaign_id = ? + `, + [newCampaign.id, campaignId] + ); + return newCampaign; };