Skip to content

Commit cded66e

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents afd792f + 01a9809 commit cded66e

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

src/server/api/routers/bankTransactions.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ export const bankTransactionsRouter = createTRPCRouter({
2828
if (provider === 'GOCARDLESS') {
2929
// Deprecated
3030
const res = await bankTransactionService
31-
.getProvider()
32-
.connectToBank(institutionId, ctx.session.user.preferredLanguage);
31+
?.getProvider()
32+
?.connectToBank(institutionId, ctx.session.user.preferredLanguage);
3333

3434
if (!res) {
3535
throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: 'Failed to link to bank' });
@@ -68,7 +68,7 @@ export const bankTransactionsRouter = createTRPCRouter({
6868
)
6969
.mutation(async ({ input: publicToken, ctx }) => {
7070
if (whichBankConnectionConfigured() === 'PLAID') {
71-
const res = await bankTransactionService.getProvider().exchangePublicToken?.(publicToken);
71+
const res = await bankTransactionService?.getProvider()?.exchangePublicToken?.(publicToken);
7272

7373
if (!res) {
7474
throw new TRPCError({

src/server/api/services/bankTransactions/bankTransactionService.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,32 @@ export class BankTransactionService {
2828
: this.connectedProvider === 'PLAID'
2929
? new PlaidService()
3030
: null;
31-
32-
if (!this.provider) {
33-
throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: 'Provider not found' });
34-
}
3531
}
3632

37-
getProvider(): AbstractBankTransactionService {
33+
getProvider(): AbstractBankTransactionService | null {
3834
if (!this.provider) {
39-
throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: 'Provider not found' });
35+
return null;
4036
}
37+
4138
return this.provider;
4239
}
4340

4441
async getTransactions(userId: number, token?: string): Promise<TransactionOutput | undefined> {
42+
if (!this.provider) {
43+
return;
44+
}
45+
4546
return this.provider?.getTransactions(userId, token);
4647
}
4748

4849
async connectToBank(
4950
id?: string,
5051
preferredLanguage?: string,
5152
): Promise<{ institutionId: string; authLink: string } | undefined> {
53+
if (!this.provider) {
54+
return;
55+
}
56+
5257
const res = this.provider?.connectToBank(id, preferredLanguage);
5358
if (!res) {
5459
throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', message: 'Failed to link to bank' });

0 commit comments

Comments
 (0)