From 3df4a6270f20208d343a71c4bd9bccb73ee96658 Mon Sep 17 00:00:00 2001 From: Erika Miguel Date: Wed, 10 Apr 2024 23:38:45 -0400 Subject: [PATCH] Wrap in try catch --- classes/WorkbookParser.tsx | 130 ++++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 59 deletions(-) diff --git a/classes/WorkbookParser.tsx b/classes/WorkbookParser.tsx index e5f976e..0f59ccc 100644 --- a/classes/WorkbookParser.tsx +++ b/classes/WorkbookParser.tsx @@ -66,26 +66,30 @@ class AmexWorkbookParser extends CsvWorkbookParser { date: new Date(row['Date']).setHours(12), cost: parseFloat(row['Amount']) } - - const response = await fetch('/api/purchase/duplicate', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(costData) - }); - - const responseBody = await response.json(); - - const duplicates = responseBody.result; - - return { - date: new Date(row['Date']), - name: row['Description'], - cost: parseFloat(row['Amount']), - category: row['Category'], - duplicates, - payment: false + + try { + const response = await fetch('/api/purchase/duplicate', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(costData) + }); + + const responseBody = await response.json(); + + const duplicates = responseBody.result; + + return { + date: new Date(row['Date']), + name: row['Description'], + cost: parseFloat(row['Amount']), + category: row['Category'], + duplicates, + payment: false + } + } catch (error) { + console.error(error) } })); } @@ -114,26 +118,30 @@ class ChaseWorkbookParser extends CsvWorkbookParser { date: new Date(row['Transaction Date']).setHours(12), cost: parseFloat(row['Amount']) * -1 } - - const response = await fetch('/api/purchase/duplicate', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(costData) - }); - - const responseBody = await response.json(); - - const duplicates = responseBody.result; - - return { - date: new Date(row['Transaction Date']), - name: row['Description'], - cost: parseFloat(row['Amount']) * -1, - category: row['Category'], - duplicates, - payment: false + + try { + const response = await fetch('/api/purchase/duplicate', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(costData) + }); + + const responseBody = await response.json(); + + const duplicates = responseBody.result; + + return { + date: new Date(row['Transaction Date']), + name: row['Description'], + cost: parseFloat(row['Amount']) * -1, + category: row['Category'], + duplicates, + payment: false + } + } catch (error) { + console.error(error) } })); } @@ -163,26 +171,30 @@ class GeminiWorkbookParser extends CsvWorkbookParser { date: new Date(row['Transaction Post Date']).setHours(12), cost: parseFloat(row['Amount']) } - - const response = await fetch('/api/purchase/duplicate', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(costData) - }); - - const responseBody = await response.json(); - - const duplicates = responseBody.result; - return { - date: new Date(row['Transaction Post Date']), - name: row['Description of Transaction'], - cost: parseFloat(row['Amount']), - category: '', - duplicates, - payment: false + try { + const response = await fetch('/api/purchase/duplicate', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(costData) + }); + + const responseBody = await response.json(); + + const duplicates = responseBody.result; + + return { + date: new Date(row['Transaction Post Date']), + name: row['Description of Transaction'], + cost: parseFloat(row['Amount']), + category: '', + duplicates, + payment: false + } + } catch (error) { + console.error(error) } }) );