From 1233535b20b1486a5ec7b9242f00fbc9b5c4d745 Mon Sep 17 00:00:00 2001 From: Jackson Roberts Date: Wed, 8 Apr 2026 23:23:51 +0000 Subject: [PATCH] fix(dalpuri): populate userIdentifiersByMemberRecId from CwMember table When no User accounts have cwMemberId linked, the context map was empty and all opportunities got primarySalesRepId = null. Now also populate the map from CwMember rows directly (User-linked entries take precedence), so rep identifiers resolve correctly regardless of user account linkage. --- dalpuri/src/sync-by-table.ts | 16 ++++++++++++++++ dalpuri/src/sync.ts | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/dalpuri/src/sync-by-table.ts b/dalpuri/src/sync-by-table.ts index 15d9359..a5ea391 100644 --- a/dalpuri/src/sync-by-table.ts +++ b/dalpuri/src/sync-by-table.ts @@ -294,6 +294,22 @@ const refreshContextFromApi = async ( } } + const cwMembers = await apiPrisma.cwMember.findMany({ + select: { cwMemberId: true, identifier: true }, + }); + for (const member of cwMembers) { + if ( + member.cwMemberId != null && + member.identifier && + !context.userIdentifiersByMemberRecId.has(member.cwMemberId) + ) { + context.userIdentifiersByMemberRecId.set( + member.cwMemberId, + member.identifier + ); + } + } + for (const board of boards) { context.serviceTicketBoardUidsById.set(board.id, board.uid); } diff --git a/dalpuri/src/sync.ts b/dalpuri/src/sync.ts index 6465a71..7d59f50 100644 --- a/dalpuri/src/sync.ts +++ b/dalpuri/src/sync.ts @@ -323,6 +323,22 @@ const refreshContextFromApi = async ( } } + const cwMembers = await apiPrisma.cwMember.findMany({ + select: { cwMemberId: true, identifier: true }, + }); + for (const member of cwMembers) { + if ( + member.cwMemberId != null && + member.identifier && + !context.userIdentifiersByMemberRecId.has(member.cwMemberId) + ) { + context.userIdentifiersByMemberRecId.set( + member.cwMemberId, + member.identifier + ); + } + } + for (const board of boards) { context.serviceTicketBoardUidsById.set(board.id, board.uid); }