Files
mudita-center/libs/core/analytic-data-tracker/controllers/analytic-data-tracker.controller.ts
patryk-sierzega c85ceed34c [CP-2260] Setup Nx (#1607)
Co-authored-by: Daniel Karski <daniel.karski5q@gmail.com>
Co-authored-by: Oskar Michalkiewicz <32848134+OskarMichalkiewicz@users.noreply.github.com>
Co-authored-by: Łukasz Kowalczyk <freelancer.lukasz.kowalczyk@gmail.com>
Co-authored-by: Michał Kurczewski <michalkurczewski94@gmail.com>
Co-authored-by: mkurczewski <michal@kurczewski.dev>
2023-12-12 14:40:04 +01:00

52 lines
1.7 KiB
TypeScript

/**
* Copyright (c) Mudita sp. z o.o. All rights reserved.
* For licensing, see https://github.com/mudita/mudita-center/blob/master/LICENSE.md
*/
import { IpcEvent } from "Core/core/decorators"
import { IpcAnalyticDataTrackerEvent } from "Core/analytic-data-tracker/constants"
import {
AnalyticDataTrackerClass,
VisitorMetadata,
} from "Core/analytic-data-tracker/services"
import { TrackEvent } from "Core/analytic-data-tracker/types"
export class AnalyticDataTrackerController {
constructor(private tracker: AnalyticDataTrackerClass) {}
@IpcEvent(IpcAnalyticDataTrackerEvent.Track)
public async track(event: TrackEvent): Promise<void> {
await this.tracker.track(event)
}
@IpcEvent(IpcAnalyticDataTrackerEvent.TrackUnique)
public async trackUnique(event: TrackEvent): Promise<void> {
await this.tracker.trackUnique(event)
}
@IpcEvent(IpcAnalyticDataTrackerEvent.TrackWithoutDeviceCheck)
public async trackWithoutDeviceCheck(event: TrackEvent): Promise<void> {
await this.tracker.track(event, false)
}
@IpcEvent(IpcAnalyticDataTrackerEvent.TrackUniqueWithoutDeviceCheck)
public async trackUniqueWithoutDeviceCheck(event: TrackEvent): Promise<void> {
await this.tracker.trackUnique(event, false)
}
@IpcEvent(IpcAnalyticDataTrackerEvent.ToggleTracking)
public toggleTracking(flag: boolean): void {
this.tracker.toggleTracking(flag)
}
@IpcEvent(IpcAnalyticDataTrackerEvent.SetExternalUsageDevice)
public setExternalUsageDevice(flag: boolean): void {
this.tracker.setExternalUsageDevice(flag)
}
@IpcEvent(IpcAnalyticDataTrackerEvent.SetVisitorMetadata)
public setVisitorMetadata(visitorMetadata: VisitorMetadata): void {
this.tracker.setVisitorMetadata(visitorMetadata)
}
}