refactor: events tracker to nestjs

This commit is contained in:
Ahmed Bouhuolia
2025-01-08 11:59:55 +02:00
parent fdfb766587
commit 52362a43ab
33 changed files with 1417 additions and 10 deletions

View File

@@ -0,0 +1,43 @@
import { Injectable } from '@nestjs/common';
import {
IVendorEventCreatedPayload,
IVendorEventEditedPayload,
IVendorEventDeletedPayload,
} from '../../Vendors/types/Vendors.types';
import { EventTrackerService } from '../EventTracker.service';
import { events } from '@/common/events/events';
import {
VENDOR_CREATED,
VENDOR_EDITED,
VENDOR_DELETED,
} from '../event-tracker';
import { OnEvent } from '@nestjs/event-emitter';
@Injectable()
export class VendorEventsTracker {
constructor(public readonly posthog: EventTrackerService) {}
@OnEvent(events.vendors.onCreated)
public handleTrackVendorCreatedEvent({}: IVendorEventCreatedPayload) {
this.posthog.trackEvent({
event: VENDOR_CREATED,
properties: {},
});
}
@OnEvent(events.vendors.onEdited)
public handleTrackEditedVendorEvent({}: IVendorEventEditedPayload) {
this.posthog.trackEvent({
event: VENDOR_EDITED,
properties: {},
});
}
@OnEvent(events.vendors.onDeleted)
public handleTrackDeletedVendorEvent({}: IVendorEventDeletedPayload) {
this.posthog.trackEvent({
event: VENDOR_DELETED,
properties: {},
});
}
}