feat: listen to Stripe integration events

This commit is contained in:
Ahmed Bouhuolia
2024-09-30 23:12:42 +02:00
parent 04fe65b176
commit 904a52f5a1
3 changed files with 36 additions and 0 deletions

View File

@@ -79,6 +79,8 @@ export const PAYMENT_METHOD_DELETED = 'Payment method deleted';
export const INVOICE_PAYMENT_LINK_GENERATED = 'Invoice payment link generated';
export const STRIPE_INTEGRAION_CONNECTED = 'Stripe integration oauth2 connected';
// # Event Groups
export const ACCOUNT_GROUP = 'Account';
export const ITEM_GROUP = 'Item';

View File

@@ -0,0 +1,32 @@
import { Inject, Service } from 'typedi';
import { EventSubscriber } from '@/lib/EventPublisher/EventPublisher';
import { ISaleInvoiceCreatedPayload } from '@/interfaces';
import { PosthogService } from '../PostHog';
import { STRIPE_INTEGRAION_CONNECTED } from '@/constants/event-tracker';
import events from '@/subscribers/events';
@Service()
export class StripeIntegrationEventsTracker extends EventSubscriber {
@Inject()
private posthog: PosthogService;
/**
* Constructor method.
*/
public attach(bus) {
bus.subscribe(
events.stripeIntegration.onOAuthCodeGranted,
this.handleTrackOAuthCodeGrantedTrackEvent
);
}
private handleTrackOAuthCodeGrantedTrackEvent = ({
tenantId,
}: ISaleInvoiceCreatedPayload) => {
this.posthog.trackEvent({
distinctId: `tenant-${tenantId}`,
event: STRIPE_INTEGRAION_CONNECTED,
properties: {},
});
};
}

View File

@@ -15,6 +15,7 @@ import { BankRuleEventsTracker } from './BankRuleEventsTracker';
import { PdfTemplateEventsTracker } from './PdfTemplateEventsTracker';
import { PaymentMethodEventsTracker } from './PaymentMethodEventsTracker';
import { PaymentLinkEventsTracker } from './PaymentLinkEventsTracker';
import { StripeIntegrationEventsTracker } from './StripeIntegrationEventsTracker';
export const EventsTrackerListeners = [
SaleInvoiceEventsTracker,
@@ -34,4 +35,5 @@ export const EventsTrackerListeners = [
PdfTemplateEventsTracker,
PaymentMethodEventsTracker,
PaymentLinkEventsTracker,
StripeIntegrationEventsTracker,
];