mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 06:40:31 +00:00
feat: listen to Stripe integration events
This commit is contained in:
@@ -79,6 +79,8 @@ export const PAYMENT_METHOD_DELETED = 'Payment method deleted';
|
|||||||
|
|
||||||
export const INVOICE_PAYMENT_LINK_GENERATED = 'Invoice payment link generated';
|
export const INVOICE_PAYMENT_LINK_GENERATED = 'Invoice payment link generated';
|
||||||
|
|
||||||
|
export const STRIPE_INTEGRAION_CONNECTED = 'Stripe integration oauth2 connected';
|
||||||
|
|
||||||
// # Event Groups
|
// # Event Groups
|
||||||
export const ACCOUNT_GROUP = 'Account';
|
export const ACCOUNT_GROUP = 'Account';
|
||||||
export const ITEM_GROUP = 'Item';
|
export const ITEM_GROUP = 'Item';
|
||||||
|
|||||||
@@ -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: {},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -15,6 +15,7 @@ import { BankRuleEventsTracker } from './BankRuleEventsTracker';
|
|||||||
import { PdfTemplateEventsTracker } from './PdfTemplateEventsTracker';
|
import { PdfTemplateEventsTracker } from './PdfTemplateEventsTracker';
|
||||||
import { PaymentMethodEventsTracker } from './PaymentMethodEventsTracker';
|
import { PaymentMethodEventsTracker } from './PaymentMethodEventsTracker';
|
||||||
import { PaymentLinkEventsTracker } from './PaymentLinkEventsTracker';
|
import { PaymentLinkEventsTracker } from './PaymentLinkEventsTracker';
|
||||||
|
import { StripeIntegrationEventsTracker } from './StripeIntegrationEventsTracker';
|
||||||
|
|
||||||
export const EventsTrackerListeners = [
|
export const EventsTrackerListeners = [
|
||||||
SaleInvoiceEventsTracker,
|
SaleInvoiceEventsTracker,
|
||||||
@@ -34,4 +35,5 @@ export const EventsTrackerListeners = [
|
|||||||
PdfTemplateEventsTracker,
|
PdfTemplateEventsTracker,
|
||||||
PaymentMethodEventsTracker,
|
PaymentMethodEventsTracker,
|
||||||
PaymentLinkEventsTracker,
|
PaymentLinkEventsTracker,
|
||||||
|
StripeIntegrationEventsTracker,
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user