mirror of
https://github.com/mudita/mudita-center.git
synced 2026-06-13 19:05:21 -04:00
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>
52 lines
1.7 KiB
TypeScript
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)
|
|
}
|
|
}
|