aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/lib')
-rw-r--r--app/src/lib/server/actual.ts10
-rw-r--r--app/src/lib/server/importer.ts11
-rw-r--r--app/src/lib/shared.d.ts5
-rw-r--r--app/src/lib/shared.ts13
4 files changed, 21 insertions, 18 deletions
diff --git a/app/src/lib/server/actual.ts b/app/src/lib/server/actual.ts
index 389f390..4cf0262 100644
--- a/app/src/lib/server/actual.ts
+++ b/app/src/lib/server/actual.ts
@@ -27,15 +27,21 @@ export async function import_transactions(account: string, transactions: Sb1Tran
return instant.toString({ timeZone: "Europe/Oslo" }).split("T")[0]
}
+ function notes(transaction: Sb1Transaction) {
+ const {description,cleanedDescription} =transaction
+ if (description.toLowerCase().trim() === cleanedDescription.toLowerCase().trim()) return undefined
+ return description
+ }
+
const actualMappedTransactions: ImportTransactionEntity[] = transactions.filter(c => c.bookingStatus === "BOOKED").map(c => ({
account,
date: parsedDate(c.date),
amount: c.amount,
- notes: c.description,
+ notes: notes(c),
payee_name: c.cleanedDescription
}))
- actual.importTransactions(account, actualMappedTransactions, { dryRun })
+ return await actual.importTransactions(account, actualMappedTransactions, { dryRun })
}
export async function get_budgets() {
diff --git a/app/src/lib/server/importer.ts b/app/src/lib/server/importer.ts
deleted file mode 100644
index 02cb94c..0000000
--- a/app/src/lib/server/importer.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import sb1 from "./sb1";
-import * as actual from "./actual";
-import type { ImportForm } from "$lib/shared";
-
-async function importSince(form: ImportForm) {
- for (const mapping of form.mappings) {
- const transactions = await sb1.data.get_transactions(mapping.sb1Id);
- if (!transactions?.length) continue
-
- }
-} \ No newline at end of file
diff --git a/app/src/lib/shared.d.ts b/app/src/lib/shared.d.ts
deleted file mode 100644
index e63904b..0000000
--- a/app/src/lib/shared.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export type ImportForm = {
- budgetId: string,
- mappings: Array<{ sb1Id: string, actualId: string }>,
- dryRun: boolean
-} \ No newline at end of file
diff --git a/app/src/lib/shared.ts b/app/src/lib/shared.ts
new file mode 100644
index 0000000..a7cf207
--- /dev/null
+++ b/app/src/lib/shared.ts
@@ -0,0 +1,13 @@
+import * as v from 'valibot'
+
+export type ImportForm = v.InferOutput<typeof ImportForm>
+export const ImportForm = v.object({
+ budgetId: v.string(),
+ mappings: v.array(
+ v.object({
+ sb1Id: v.string(),
+ actualId: v.string()
+ })
+ ),
+ dryRun: v.boolean()
+})