go-meow
Version:
A modular microservice template built with TypeScript, Express, and Prisma (MongoDB). It includes service scaffolding tools, consistent query utilities with data grouping, Zod validation, structured logging, comprehensive seeding system, and Swagger/OpenA
31 lines (30 loc) • 1.16 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.logActivity = logActivity;
const ACTIVITY_LOG_URL = process.env.ACTIVITY_LOG_URL || "http://localhost:3001/api/activityLog";
async function logActivity(req, payload) {
try {
const activityData = {
userId: payload.userId,
ip: req.ip || req.headers["x-forwarded-for"] || req.socket.remoteAddress || "unknown",
path: req.originalUrl,
method: req.method,
userAgent: req.get("User-Agent"),
action: payload.action,
page: payload.page,
description: payload.description,
organizationId: payload.organizationId,
};
fetch(ACTIVITY_LOG_URL, {
method: "POST",
headers: {
"Content-Type": "application/json",
Cookie: req.headers.cookie || "",
},
body: JSON.stringify(activityData),
}).catch((err) => console.error("Activity log request failed:", err.message));
}
catch (error) {
console.error("Failed to log activity:", error.message);
}
}
;