diff options
Diffstat (limited to 'app/src/lib/server/sb1.ts')
| -rw-r--r-- | app/src/lib/server/sb1.ts | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/app/src/lib/server/sb1.ts b/app/src/lib/server/sb1.ts index c060af5..1d6b869 100644 --- a/app/src/lib/server/sb1.ts +++ b/app/src/lib/server/sb1.ts @@ -24,12 +24,7 @@ type Transaction = { const auth = { async is_ready(): Promise<boolean> { const token = await this.get_access_token() - const ping = await fetch("https://developer.sparebank1.no/helloworld/ping", { - headers: { - "Authorization": "Bearer " + token - } - }) - return ping.ok + return token !== "" }, async get_auth_info() { const entity = await db.select({ @@ -39,7 +34,8 @@ const auth = { }).from(syncSession) if (!entity[0]) return undefined const { tokens, accessTokenCreated, refreshTokenCreated } = entity[0] - const tokensParsed = JSON.parse(tokens ?? "") + if (!tokens) return undefined + const tokensParsed = JSON.parse(tokens) if (!tokensParsed) return undefined const refreshTokenExpires = Temporal.Instant.fromEpochMilliseconds(Number(refreshTokenCreated)).add({ seconds: tokensParsed?.refresh_token_expires_in }) const accessTokenExpires = Temporal.Instant.fromEpochMilliseconds(Number(accessTokenCreated)).add({ seconds: tokensParsed?.expires_in }) @@ -56,22 +52,20 @@ const auth = { }) const authorizeUrl = new URL("https://api.sparebank1.no/oauth/authorize"); - authorizeUrl.searchParams.set("client_id", SB1_ID); authorizeUrl.searchParams.set("state", state); authorizeUrl.searchParams.set("redirect_uri", SB1_REDIRECT_URI); authorizeUrl.searchParams.set("finInst", SB1_FIN_INST); authorizeUrl.searchParams.set("response_type", "code"); - return authorizeUrl.toString() }, async get_access_token() { const entity = await db.select({ tokens: syncSession.tokens }).from(syncSession) - const { tokens } = entity[0] - if (!tokens) return null - const parsed = JSON.parse(tokens) as Sb1Tokens + const res = entity[0] + if (!res?.tokens) return null + const parsed = JSON.parse(res.tokens) as Sb1Tokens return parsed.access_token as string }, async refresh_tokem() { @@ -127,15 +121,20 @@ const data = { async get_transactions(accountKey: string) { const token = await auth.get_access_token() if (token) return undefined - const url = new URL( - "https://api.sparebank1.no/personal/banking/transactions", - ); + const url = new URL("https://api.sparebank1.no/personal/banking/transactions/transactions") + console.log(token) url.searchParams.set("accountKey", accountKey); - const response = await fetch(url, { + console.log(accountKey) + const response = await fetch("https://api.sparebank1.no/personal/banking/transactions" + new URLSearchParams({ + "accountKey": accountKey, + "fromDate": "", + "toDate": "" + }), { headers: { Authorization: `Bearer ${token}`, }, }); + const json = await response.json() return (await response.json())["transactions"] as Transaction[]; } |
