From a745b9096edc80365e6cb4c086fc81eca7ad9171 Mon Sep 17 00:00:00 2001 From: Torben Sorensen Date: Mon, 1 Dec 2025 22:29:52 -0800 Subject: [PATCH] ai 'chat' is helping now --- src/services/db/flyer.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/services/db/flyer.ts b/src/services/db/flyer.ts index dedbdb9b..d499b25b 100644 --- a/src/services/db/flyer.ts +++ b/src/services/db/flyer.ts @@ -129,10 +129,11 @@ export async function findFlyerByChecksum(checksum: string): Promise & { store_name: string }, - items: Omit[] + items?: Omit[] ): Promise { const client = await getPool().connect(); - logger.debug('[DB createFlyerAndItems] Starting transaction to create flyer.', { flyerData: { name: flyerData.file_name, store_name: flyerData.store_name }, itemCount: items.length }); + const safeItems = items ?? []; + logger.debug('[DB createFlyerAndItems] Starting transaction to create flyer.', { flyerData: { name: flyerData.file_name, store_name: flyerData.store_name }, itemCount: safeItems.length }); try { await client.query('BEGIN'); logger.debug('[DB createFlyerAndItems] BEGIN transaction successful.'); @@ -167,7 +168,7 @@ export async function createFlyerAndItems( const newFlyer = newFlyerRes.rows[0]; // Prepare and insert all flyer items - if (items.length > 0) { + if (safeItems.length > 0) { const itemInsertQuery = ` INSERT INTO public.flyer_items ( flyer_id, item, price_display, price_in_cents, quantity, @@ -181,7 +182,7 @@ export async function createFlyerAndItems( // The query now directly calls the `suggest_master_item_for_flyer_item` function // on the database side, passing the item name (`item.item`) as the argument. // This is more efficient than making a separate DB call for each item to get the suggestion. - for (const item of items) { + for (const item of safeItems) { const itemValues = [ newFlyer.flyer_id, item.item,