feat: Track pdf templates Posthog events
This commit is contained in:
@@ -69,6 +69,16 @@ export const BANK_RULE_CREATED = 'Bank rule created';
|
||||
export const BANK_RULE_EDITED = 'Bank rule edited';
|
||||
export const BANK_RULE_DELETED = 'Bank rule deleted';
|
||||
|
||||
export const PDF_TEMPLATE_CREATED = 'PDF template created';
|
||||
export const PDF_TEMPLATE_EDITED = 'PDF template edited';
|
||||
export const PDF_TEMPLATE_DELETED = 'PDF template deleted';
|
||||
export const PDF_TEMPLATE_ASSIGNED_DEFAULT = 'PDF template assigned as default';
|
||||
|
||||
export const PAYMENT_METHOD_EDITED = 'Payment method edited';
|
||||
export const PAYMENT_METHOD_DELETED = 'Payment method deleted';
|
||||
|
||||
export const INVOICE_PAYMENT_LINK_GENERATED = 'Invoice payment link generated';
|
||||
|
||||
// # Event Groups
|
||||
export const ACCOUNT_GROUP = 'Account';
|
||||
export const ITEM_GROUP = 'Item';
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
import { Inject, Service } from 'typedi';
|
||||
import { EventSubscriber } from '@/lib/EventPublisher/EventPublisher';
|
||||
import { PosthogService } from '../PostHog';
|
||||
import { INVOICE_PAYMENT_LINK_GENERATED } from '@/constants/event-tracker';
|
||||
import events from '@/subscribers/events';
|
||||
|
||||
@Service()
|
||||
export class PaymentLinkEventsTracker extends EventSubscriber {
|
||||
@Inject()
|
||||
private posthog: PosthogService;
|
||||
|
||||
/**
|
||||
* Constructor method.
|
||||
*/
|
||||
public attach(bus) {
|
||||
bus.subscribe(
|
||||
events.saleInvoice.onPublicLinkGenerated,
|
||||
this.handleTrackInvoicePublicLinkGeneratedEvent
|
||||
);
|
||||
}
|
||||
|
||||
public handleTrackInvoicePublicLinkGeneratedEvent({ tenantId }) {
|
||||
this.posthog.trackEvent({
|
||||
distinctId: `tenant-${tenantId}`,
|
||||
event: INVOICE_PAYMENT_LINK_GENERATED,
|
||||
properties: {},
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
import { Inject, Service } from 'typedi';
|
||||
import { EventSubscriber } from '@/lib/EventPublisher/EventPublisher';
|
||||
import { PosthogService } from '../PostHog';
|
||||
import events from '@/subscribers/events';
|
||||
import {
|
||||
PAYMENT_METHOD_EDITED,
|
||||
PAYMENT_METHOD_DELETED,
|
||||
} from '@/constants/event-tracker';
|
||||
|
||||
@Service()
|
||||
export class PaymentMethodEventsTracker extends EventSubscriber {
|
||||
@Inject()
|
||||
private posthog: PosthogService;
|
||||
|
||||
/**
|
||||
* Constructor method.
|
||||
*/
|
||||
public attach(bus) {
|
||||
bus.subscribe(
|
||||
events.paymentMethod.onEdited,
|
||||
this.handleTrackPaymentMethodEditedEvent
|
||||
);
|
||||
bus.subscribe(
|
||||
events.paymentMethod.onDeleted,
|
||||
this.handleTrackPaymentMethodDeletedEvent
|
||||
);
|
||||
}
|
||||
|
||||
private handleTrackPaymentMethodEditedEvent = ({ tenantId }) => {
|
||||
this.posthog.trackEvent({
|
||||
distinctId: `tenant-${tenantId}`,
|
||||
event: PAYMENT_METHOD_EDITED,
|
||||
properties: {},
|
||||
});
|
||||
};
|
||||
|
||||
private handleTrackPaymentMethodDeletedEvent = ({ tenantId }) => {
|
||||
this.posthog.trackEvent({
|
||||
distinctId: `tenant-${tenantId}`,
|
||||
event: PAYMENT_METHOD_DELETED,
|
||||
properties: {},
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
import { Inject, Service } from 'typedi';
|
||||
import {
|
||||
PDF_TEMPLATE_CREATED,
|
||||
PDF_TEMPLATE_EDITED,
|
||||
PDF_TEMPLATE_DELETED,
|
||||
PDF_TEMPLATE_ASSIGNED_DEFAULT,
|
||||
} from '@/constants/event-tracker';
|
||||
import { PosthogService } from '../PostHog';
|
||||
import { EventSubscriber } from '@/lib/EventPublisher/EventPublisher';
|
||||
import events from '@/subscribers/events';
|
||||
|
||||
@Service()
|
||||
export class PdfTemplateEventsTracker extends EventSubscriber {
|
||||
@Inject()
|
||||
private posthog: PosthogService;
|
||||
|
||||
public attach(bus) {
|
||||
bus.subscribe(
|
||||
events.pdfTemplate.onCreated,
|
||||
this.handleTrackPdfTemplateCreatedEvent
|
||||
);
|
||||
bus.subscribe(
|
||||
events.pdfTemplate.onEdited,
|
||||
this.handleTrackEditedPdfTemplateEvent
|
||||
);
|
||||
bus.subscribe(
|
||||
events.pdfTemplate.onDeleted,
|
||||
this.handleTrackDeletedPdfTemplateEvent
|
||||
);
|
||||
bus.subscribe(
|
||||
events.pdfTemplate.onAssignedDefault,
|
||||
this.handleTrackAssignedAsDefaultPdfTemplateEvent
|
||||
);
|
||||
}
|
||||
|
||||
private handleTrackPdfTemplateCreatedEvent = ({ tenantId }) => {
|
||||
this.posthog.trackEvent({
|
||||
distinctId: `tenant-${tenantId}`,
|
||||
event: PDF_TEMPLATE_CREATED,
|
||||
properties: {},
|
||||
});
|
||||
};
|
||||
|
||||
private handleTrackEditedPdfTemplateEvent = ({ tenantId }) => {
|
||||
this.posthog.trackEvent({
|
||||
distinctId: `tenant-${tenantId}`,
|
||||
event: PDF_TEMPLATE_EDITED,
|
||||
properties: {},
|
||||
});
|
||||
};
|
||||
|
||||
private handleTrackDeletedPdfTemplateEvent = ({ tenantId }) => {
|
||||
this.posthog.trackEvent({
|
||||
distinctId: `tenant-${tenantId}`,
|
||||
event: PDF_TEMPLATE_DELETED,
|
||||
properties: {},
|
||||
});
|
||||
};
|
||||
|
||||
private handleTrackAssignedAsDefaultPdfTemplateEvent = ({ tenantId }) => {
|
||||
this.posthog.trackEvent({
|
||||
distinctId: `tenant-${tenantId}`,
|
||||
event: PDF_TEMPLATE_ASSIGNED_DEFAULT,
|
||||
properties: {},
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -12,6 +12,9 @@ import { CustomerEventsTracker } from './CustomerEventsTracker';
|
||||
import { VendorEventsTracker } from './VendorEventsTracker';
|
||||
import { ManualJournalEventsTracker } from './ManualJournalEventsTracker';
|
||||
import { BankRuleEventsTracker } from './BankRuleEventsTracker';
|
||||
import { PdfTemplateEventsTracker } from './PdfTemplateEventsTracker';
|
||||
import { PaymentMethodEventsTracker } from './PaymentMethodEventsTracker';
|
||||
import { PaymentLinkEventsTracker } from './PaymentLinkEventsTracker';
|
||||
|
||||
export const EventsTrackerListeners = [
|
||||
SaleInvoiceEventsTracker,
|
||||
@@ -28,4 +31,7 @@ export const EventsTrackerListeners = [
|
||||
VendorEventsTracker,
|
||||
ManualJournalEventsTracker,
|
||||
BankRuleEventsTracker,
|
||||
PdfTemplateEventsTracker,
|
||||
PaymentMethodEventsTracker,
|
||||
PaymentLinkEventsTracker,
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user