1
0
Files
bigcapital/packages/server-nest/src/modules/EventsTracker/events/AccountEventsTracker.ts
T
2025-01-08 11:59:55 +02:00

53 lines
1.3 KiB
TypeScript

import { Injectable } from '@nestjs/common';
import {
IAccountEventCreatedPayload,
IAccountEventEditedPayload,
IAccountEventDeletedPayload,
} from '../../Accounts/Accounts.types';
import { EventTrackerService } from '../EventTracker.service';
import {
ACCOUNT_CREATED,
ACCOUNT_EDITED,
ACCOUNT_DELETED,
ACCOUNT_VIEWED,
} from '../event-tracker';
import { events } from '@/common/events/events';
import { OnEvent } from '@nestjs/event-emitter';
@Injectable()
export class AccountEventsTracker {
constructor(public readonly posthog: EventTrackerService) {}
@OnEvent(events.accounts.onCreated)
public handleTrackAccountCreatedEvent({}: IAccountEventCreatedPayload) {
this.posthog.trackEvent({
event: ACCOUNT_CREATED,
properties: {},
});
}
@OnEvent(events.accounts.onEdited)
public handleTrackEditedAccountEvent({}: IAccountEventEditedPayload) {
this.posthog.trackEvent({
event: ACCOUNT_EDITED,
properties: {},
});
}
@OnEvent(events.accounts.onDeleted)
public handleTrackDeletedAccountEvent({}: IAccountEventDeletedPayload) {
this.posthog.trackEvent({
event: ACCOUNT_DELETED,
properties: {},
});
}
@OnEvent(events.accounts.onViewed)
public handleTrackAccountViewedEvent({}) {
this.posthog.trackEvent({
event: ACCOUNT_VIEWED,
properties: {},
});
}
}