From ac36e106ef9eb8c41ccd1b0a5eff43e48112972b Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Sat, 13 Jun 2026 14:46:54 -0400 Subject: [PATCH] feat(10-03): export loadClientForUser and triggerTargetedResync from outboxWorker - Add export keyword to loadClientForUser (line 271) - Add export keyword to triggerTargetedResync (line 302) - Function bodies unchanged (no behavior change, no node-cron reintroduced) - Enables credentialSync.ts shared helper to call post-credential full-member sync --- apps/api/src/broker/outboxWorker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/api/src/broker/outboxWorker.ts b/apps/api/src/broker/outboxWorker.ts index 2b9a2a7..608167e 100644 --- a/apps/api/src/broker/outboxWorker.ts +++ b/apps/api/src/broker/outboxWorker.ts @@ -268,7 +268,7 @@ const RESYNC_TIMEOUT_MS = 10_000; * * T-03-13: decrypted password is never logged. */ -async function loadClientForUser(userId: number): Promise { +export async function loadClientForUser(userId: number): Promise { const rows = await db .select() .from(memberCredentials) @@ -299,7 +299,7 @@ async function loadClientForUser(userId: number): Promise { * widening the window the decrypted app password lives in memory (T-03-13). When a cache * is supplied, the decrypted client is built at most once per userId per drain cycle. */ -async function triggerTargetedResync( +export async function triggerTargetedResync( calendarUrl: string, userId: number, clientCache?: Map,