From 46da751a2dcba705bbc181035ec51ee1526eed0f Mon Sep 17 00:00:00 2001 From: Ivan Schurawel <30599893+is343@users.noreply.github.com> Date: Sat, 14 Dec 2024 01:49:31 -0500 Subject: [PATCH] fix: only parse kbb daily mileage transaction if has previous data --- kbb.js | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/kbb.js b/kbb.js index 6f0bc73..d9fdbb1 100644 --- a/kbb.js +++ b/kbb.js @@ -63,21 +63,23 @@ async function getKBB(URL) { const daily = parseInt(getTagValue(note, 'kbbDailyMileage')); if (mileage && daily) { let lastDate = await getLastTransactionDate(account, undefined, true); - const parts = lastDate.split('-'); - lastDate = new Date(parts[0], parts[1] - 1, parts[2]); - if (lastDate < new Date()) { - let today = new Date(); - today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); - const days = Math.round((today - lastDate) / (1000 * 60 * 60 * 24)); - if (days > 0) { - mileage += days * daily; - - const newNote = note.replace(/kbbMileage:\d+/, `kbbMileage:${mileage}`); - await setAccountNote(account, newNote); - - console.log('daily mileage:', daily); - console.log('days since last update:', days); - console.log('Updated mileage to:', mileage); + if (lastDate) { + const parts = lastDate.split('-'); + lastDate = new Date(parts[0], parts[1] - 1, parts[2]); + if (lastDate < new Date()) { + let today = new Date(); + today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); + const days = Math.round((today - lastDate) / (1000 * 60 * 60 * 24)); + if (days > 0) { + mileage += days * daily; + + const newNote = note.replace(/kbbMileage:\d+/, `kbbMileage:${mileage}`); + await setAccountNote(account, newNote); + + console.log('daily mileage:', daily); + console.log('days since last update:', days); + console.log('Updated mileage to:', mileage); + } } } }