Moved sparebank1.ts to bank dir

Signed-off-by: Martin Berg Alstad <git@martials.no>
This commit is contained in:
Martin Berg Alstad
2024-12-22 16:06:20 +01:00
committed by Martin Berg Alstad
parent 966c5f50b3
commit 29b394baf4
2 changed files with 5 additions and 1 deletions

57
src/bank/sparebank1.ts Normal file
View File

@ -0,0 +1,57 @@
// TODO move types
export interface OAuthTokenResponse {
access_token: string
expires_in: number
refresh_token_expires_in: number
refresh_token_absolute_expires_in: number
token_type: "Bearer"
refresh_token: string
}
export interface Transaction {
id: string
date: string
amount: number
description: string
cleanedDescription: string
remoteAccountName: string
[key: string]: string | number | boolean | unknown
}
export type Bank = Sparebank1
export interface Sparebank1 {
accessToken: () => Promise<OAuthTokenResponse>
refreshToken: (refreshToken: string) => Promise<OAuthTokenResponse>
transactionsPastDay: (
accountKeys: ReadonlyArray<string> | string,
accessToken: string,
) => Promise<ReadonlyArray<Transaction>>
}
export class Sparebank1Impl implements Sparebank1 {
private baseUrl = "https://api.sparebank1.no"
// TODO remove?
async accessToken(): Promise<OAuthTokenResponse> {
throw new Error("Not implemented")
// if (response.ok) {
// return await response.json()
// }
// throw new Error(`Failed to get access token. ${response.statusText}`)
}
async refreshToken(refreshToken: string): Promise<OAuthTokenResponse> {
throw new Error("Not implemented")
}
async transactionsPastDay(
accountKeys: ReadonlyArray<string> | string,
accessToken: string,
): Promise<ReadonlyArray<Transaction>> {
throw new Error("Not implemented")
}
}