protofolio / backend /src /modules /analytics /analytics.controller.ts
moustafa7
Initial commit
81d1e4c
Raw History Blame Contribute Delete
802 Bytes
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);
}
}