Files
bigcapital/packages/server/src/lib/Plaid/Plaid.ts
2024-07-29 19:49:20 +02:00

31 lines
930 B
TypeScript

import { Configuration, PlaidApi, PlaidEnvironments } from 'plaid';
import config from '@/config';
// Wrapper for the Plaid client. This allows us to easily log data for all Plaid client requests.
export class PlaidClientWrapper {
private static instance: PlaidClientWrapper;
private client: PlaidApi;
private constructor() {
// Initialize the Plaid client.
const configuration = new Configuration({
basePath: PlaidEnvironments[config.plaid.env],
baseOptions: {
headers: {
'PLAID-CLIENT-ID': config.plaid.clientId,
'PLAID-SECRET': config.plaid.secret,
'Plaid-Version': '2020-09-14',
},
},
});
this.client = new PlaidApi(configuration);
}
public static getClient(): PlaidApi {
if (!PlaidClientWrapper.instance) {
PlaidClientWrapper.instance = new PlaidClientWrapper();
}
return PlaidClientWrapper.instance.client;
}
}