feat: Cover more tracking events.

This commit is contained in:
Ahmed Bouhuolia
2024-09-02 15:19:01 +02:00
parent 81c0761fbe
commit ddd17e74b5
8 changed files with 292 additions and 1 deletions

View File

@@ -0,0 +1,59 @@
import { Inject, Service } from 'typedi';
import { EventSubscriber } from '@/lib/EventPublisher/EventPublisher';
import {
IVendorEventCreatedPayload,
IVendorEventEditedPayload,
IVendorEventDeletedPayload,
} from '@/interfaces';
import { PosthogService } from '../PostHog';
import events from '@/subscribers/events';
import {
VENDOR_CREATED,
VENDOR_EDITED,
VENDOR_DELETED,
} from '@/constants/event-tracker';
@Service()
export class VendorEventsTracker extends EventSubscriber {
@Inject()
private posthog: PosthogService;
/**
* Constructor method.
*/
public attach(bus) {
bus.subscribe(events.vendors.onCreated, this.handleTrackVendorCreatedEvent);
bus.subscribe(events.vendors.onEdited, this.handleTrackEditedVendorEvent);
bus.subscribe(events.vendors.onDeleted, this.handleTrackDeletedVendorEvent);
}
private handleTrackVendorCreatedEvent = ({
tenantId,
}: IVendorEventCreatedPayload) => {
this.posthog.trackEvent({
distinctId: `tenant-${tenantId}`,
event: VENDOR_CREATED,
properties: {},
});
};
private handleTrackEditedVendorEvent = ({
tenantId,
}: IVendorEventEditedPayload) => {
this.posthog.trackEvent({
distinctId: `tenant-${tenantId}`,
event: VENDOR_EDITED,
properties: {},
});
};
private handleTrackDeletedVendorEvent = ({
tenantId,
}: IVendorEventDeletedPayload) => {
this.posthog.trackEvent({
distinctId: `tenant-${tenantId}`,
event: VENDOR_DELETED,
properties: {},
});
};
}