Files
bigcapital/packages/server/src/services/Banking/Plaid/subscribers/PlaidUpdateTransactionsOnItemCreatedSubscriber.ts

35 lines
966 B
TypeScript

import { Inject, Service } from 'typedi';
import { EventSubscriber } from '@/lib/EventPublisher/EventPublisher';
import { IPlaidItemCreatedEventPayload } from '@/interfaces/Plaid';
import events from '@/subscribers/events';
@Service()
export class PlaidUpdateTransactionsOnItemCreatedSubscriber extends EventSubscriber {
@Inject('agenda')
private agenda: any;
/**
* Constructor method.
*/
public attach(bus) {
bus.subscribe(
events.plaid.onItemCreated,
this.handleUpdateTransactionsOnItemCreated
);
}
/**
* Updates the Plaid item transactions
* @param {IPlaidItemCreatedEventPayload} payload - Event payload.
*/
private handleUpdateTransactionsOnItemCreated = async ({
tenantId,
plaidItemId,
plaidAccessToken,
plaidInstitutionId,
}: IPlaidItemCreatedEventPayload) => {
const payload = { tenantId, plaidItemId };
await this.agenda.now('plaid-update-account-transactions', payload);
};
}