Skip to content

Commit

Permalink
Merge pull request #682 from bigcapitalhq/listen-stripe-integration-e…
Browse files Browse the repository at this point in the history
…vents

feat: Listen to Stripe integration events
  • Loading branch information
abouolia authored Sep 30, 2024
2 parents 04fe65b + 904a52f commit 7ceb785
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 0 deletions.
2 changes: 2 additions & 0 deletions packages/server/src/constants/event-tracker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down
Original file line number Diff line number Diff line change
@@ -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: {},
});
};
}
2 changes: 2 additions & 0 deletions packages/server/src/services/EventsTracker/events/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -34,4 +35,5 @@ export const EventsTrackerListeners = [
PdfTemplateEventsTracker,
PaymentMethodEventsTracker,
PaymentLinkEventsTracker,
StripeIntegrationEventsTracker,
];

0 comments on commit 7ceb785

Please sign in to comment.