From bf319a8acf609211f7c4f95ac0aaf44422e1f6e9 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sun, 16 Nov 2025 15:21:38 +0000 Subject: [PATCH] Added more fixes. --- src/objects/bookings.js | 22 ++++++++++++++-------- src/utils/bookings.js | 4 ---- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/objects/bookings.js b/src/objects/bookings.js index 6024652..c9e6baa 100644 --- a/src/objects/bookings.js +++ b/src/objects/bookings.js @@ -92,21 +92,21 @@ export async function importSmoobuBookings(env) { .filter((booking) => booking !== null); // Get the current cache (source of truth) - const cachedBookings = - (await getBookingsCache(env)).filter( - (booking) => - booking.status !== "cancelled" && booking.status !== "complete" - ) || []; + const cachedBookings = (await getBookingsCache(env)) || []; // Diff Smoobu bookings with cache const { toAdd, toUpdate, toDelete } = diffBookings( smoobuBookings, cachedBookings ); + const filteredToAddBookings = toAdd.filter( + (booking) => booking.status !== "cancelled" && booking.status !== "complete" + ); + console.log("Smoobu bookings:", smoobuBookings.length); console.log( "Add:", - toAdd.length, + filteredToAddBookings.length, "Update:", toUpdate.length, "Delete:", @@ -115,7 +115,7 @@ export async function importSmoobuBookings(env) { // Add new bookings to Notion const added = []; - for (const booking of toAdd) { + for (const booking of filteredToAddBookings) { const res = await addBookingToNotion(env, booking); added.push(res); } @@ -145,7 +145,13 @@ export async function importSmoobuBookings(env) { }); if (added.length > 0 || updated.length > 0 || toDelete.length > 0) { - await storeBookingsCache(env, newCache); + await storeBookingsCache( + env, + newCache.filter( + (booking) => + booking.status !== "cancelled" && booking.status !== "complete" + ) + ); console.log("Imported bookings from Smoobu."); } else { console.log("No changes detected, cache not updated."); diff --git a/src/utils/bookings.js b/src/utils/bookings.js index 2d63177..29c4575 100644 --- a/src/utils/bookings.js +++ b/src/utils/bookings.js @@ -166,10 +166,6 @@ export async function transformSmoobuBooking( convertBookingDatesToISO(booking, property.timezone).departureISO ); - if (status == "complete") { - return null; - } - return { smoobuId: booking.id, reference: booking["reference-id"] || null,