import { Response } from "express"; import { AnalyticsService } from "./analytics.service"; import { ApiResponse } from "../../utils/apiResponse"; import { AuthRequest } from "../../types"; const analyticsService = new AnalyticsService(); export class AnalyticsController { async track(req: any, res: Response) { const { page } = req.body; const visitorIp = req.ip || req.connection.remoteAddress; const userAgent = req.headers["user-agent"]; const referer = req.headers.referer; await analyticsService.track(page, visitorIp, userAgent, referer); return ApiResponse.success(res, null, "Tracked"); } async getDashboard(req: AuthRequest, res: Response) { const dashboard = await analyticsService.getDashboard(); return ApiResponse.success(res, dashboard); } }