🚀 Daily is now Bank agnostic
- Separated createDir into a new file fs.ts - Moved mapTransactions into Bank interface - Take interval as input into importTransactions
This commit is contained in:
@ -1,41 +1,45 @@
|
||||
import type {
|
||||
Bank,
|
||||
BookingStatus,
|
||||
TransactionResponse,
|
||||
Interval,
|
||||
Transaction,
|
||||
} from "@/bank/sparebank1.ts"
|
||||
import dayjs from "dayjs"
|
||||
import { ActualTransaction } from "@/actual.ts"
|
||||
import { bankTransactionIntoActualTransaction } from "@/mappings.ts"
|
||||
|
||||
export class BankStub implements Bank {
|
||||
async transactionsPastDay(
|
||||
async fetchTransactions(
|
||||
_interval: Interval,
|
||||
_accountIds: ReadonlyArray<string> | string,
|
||||
): Promise<TransactionResponse> {
|
||||
): Promise<ReadonlyArray<ActualTransaction>> {
|
||||
const someFields = {
|
||||
date: dayjs("2019-08-20").unix(),
|
||||
cleanedDescription: "Test transaction",
|
||||
remoteAccountName: "Test account",
|
||||
bookingStatus: "BOOKED" as BookingStatus,
|
||||
accountKey: "1",
|
||||
}
|
||||
return {
|
||||
transactions: [
|
||||
{
|
||||
id: "1",
|
||||
nonUniqueId: "1",
|
||||
amount: 100,
|
||||
...someFields,
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
nonUniqueId: "2",
|
||||
amount: 200,
|
||||
...someFields,
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
nonUniqueId: "3",
|
||||
amount: -50,
|
||||
...someFields,
|
||||
},
|
||||
],
|
||||
}
|
||||
const bankTransactions: ReadonlyArray<Transaction> = [
|
||||
{
|
||||
id: "1",
|
||||
nonUniqueId: "1",
|
||||
amount: 100,
|
||||
...someFields,
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
nonUniqueId: "2",
|
||||
amount: 200,
|
||||
...someFields,
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
nonUniqueId: "3",
|
||||
amount: -50,
|
||||
...someFields,
|
||||
},
|
||||
]
|
||||
return bankTransactions.map(bankTransactionIntoActualTransaction)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user