← Files TeleCallARCHIVED FILE

src/services/analyticsService.ts

834 Bytes · Sep 30, 2026 · 23:16 UTC

↓ Download file

import { AnalyticsEvent, AnalyticsEventType } from '../types/analytics';

export class AnalyticsService {
  private events: AnalyticsEvent[] = [];

  public logEvent(
    eventType: AnalyticsEventType,
    payload: AnalyticsEvent['payload'] = {}
  ): AnalyticsEvent {
    const event: AnalyticsEvent = {
      id: `evt_${Date.now()}_${Math.random().toString(36).substring(2, 7)}`,
      timestamp: new Date().toISOString(),
      eventType,
      payload
    };

    this.events.push(event);
    return event;
  }

  public getEvents(): AnalyticsEvent[] {
    return [...this.events];
  }

  public getEventsByType(type: AnalyticsEventType): AnalyticsEvent[] {
    return this.events.filter(e => e.eventType === type);
  }

  public clear(): void {
    this.events = [];
  }
}

export const analyticsService = new AnalyticsService();

SHA-256: 1dad27a0f0b178bb982b96584859c0cf4405a3e82bdb7a5360024d249f52523f