mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 13:20:31 +00:00
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_EDITED = 'Bank rule edited';
|
||||||
export const BANK_RULE_DELETED = 'Bank rule deleted';
|
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
|
// # 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,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 { VendorEventsTracker } from './VendorEventsTracker';
|
||||||
import { ManualJournalEventsTracker } from './ManualJournalEventsTracker';
|
import { ManualJournalEventsTracker } from './ManualJournalEventsTracker';
|
||||||
import { BankRuleEventsTracker } from './BankRuleEventsTracker';
|
import { BankRuleEventsTracker } from './BankRuleEventsTracker';
|
||||||
|
import { PdfTemplateEventsTracker } from './PdfTemplateEventsTracker';
|
||||||
|
import { PaymentMethodEventsTracker } from './PaymentMethodEventsTracker';
|
||||||
|
import { PaymentLinkEventsTracker } from './PaymentLinkEventsTracker';
|
||||||
|
|
||||||
export const EventsTrackerListeners = [
|
export const EventsTrackerListeners = [
|
||||||
SaleInvoiceEventsTracker,
|
SaleInvoiceEventsTracker,
|
||||||
@@ -28,4 +31,7 @@ export const EventsTrackerListeners = [
|
|||||||
VendorEventsTracker,
|
VendorEventsTracker,
|
||||||
ManualJournalEventsTracker,
|
ManualJournalEventsTracker,
|
||||||
BankRuleEventsTracker,
|
BankRuleEventsTracker,
|
||||||
|
PdfTemplateEventsTracker,
|
||||||
|
PaymentMethodEventsTracker,
|
||||||
|
PaymentLinkEventsTracker,
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user