From 0c97fb3d0e74d9dfd47b7db2542401f5f5f93c6d Mon Sep 17 00:00:00 2001 From: Aashish John Date: Mon, 10 Aug 2026 17:30:42 -0400 Subject: [PATCH] chore(db): drop redundant campaign.is_archived checks/joins campaign_contact.archived is kept in sync with campaign.is_archived, so filtering on both (or joining to campaign solely to read is_archived) is dead weight. Removes an unused select in sendMessage, an unnecessary leftJoin in removeOptOut, and an unnecessary join in the releaseMessages raw update. --- src/server/api/lib/send-message.ts | 2 -- src/server/api/root-mutations.ts | 6 ++---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/server/api/lib/send-message.ts b/src/server/api/lib/send-message.ts index 76f5830c6..dab393ba0 100644 --- a/src/server/api/lib/send-message.ts +++ b/src/server/api/lib/send-message.ts @@ -110,7 +110,6 @@ export const sendMessage = async ( .join("campaign", "campaign_contact.campaign_id", "campaign.id") .where({ "campaign_contact.id": parseInt(campaignContactId, 10) }) .whereRaw("campaign_contact.archived = false") - .where({ "campaign.is_archived": false }) .leftJoin("assignment", "campaign_contact.assignment_id", "assignment.id"); if (config.ENABLE_MONTHLY_ORG_MESSAGE_LIMITS) { @@ -133,7 +132,6 @@ export const sendMessage = async ( "campaign_contact.assignment_id as assignment_id", "campaign_contact.message_status as cc_message_status", "campaign.id as campaign_id", - "campaign.is_archived as is_archived", "campaign.organization_id as organization_id", "campaign.timezone as c_timezone", "campaign.texting_hours_start as c_texting_hours_start", diff --git a/src/server/api/root-mutations.ts b/src/server/api/root-mutations.ts index 49d2f2e20..bdae5a5d8 100644 --- a/src/server/api/root-mutations.ts +++ b/src/server/api/root-mutations.ts @@ -1559,10 +1559,9 @@ const rootMutations = { const contactUpdates = r .knex("campaign_contact") .transacting(trx) - .leftJoin("campaign", "campaign_contact.campaign_id", "campaign.id") .where({ "campaign_contact.cell": cell, - "campaign.is_archived": false + "campaign_contact.archived": false }) .pluck("campaign_contact.id") .then((contactIdsRes) => { @@ -2243,10 +2242,9 @@ const rootMutations = { set assignment_id = null from - assignment, campaign + assignment where campaign_contact.campaign_id = ? - and campaign.id = campaign_contact.campaign_id and assignment.id = campaign_contact.assignment_id and is_opted_out = false and message_status = ?