UNPKG

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

33 lines (32 loc) 1.26 kB
const AUDIT_LOG_URL = process.env.AUDIT_LOG_URL || "http://localhost:3001/api/auditLog"; export async function logAudit(req, payload) { try { const auditData = { userId: payload.userId, action: payload.action, resource: payload.resource, severity: payload.severity, entityType: payload.entityType, entityId: payload.entityId, changesBefore: payload.changesBefore, changesAfter: payload.changesAfter, description: payload.description, organizationId: payload.organizationId, userAgent: req.get("User-Agent"), ip: req.ip || req.headers["x-forwarded-for"] || req.socket.remoteAddress || "unknown", path: req.originalUrl, method: req.method, }; fetch(AUDIT_LOG_URL, { method: "POST", headers: { "Content-Type": "application/json", Cookie: req.headers.cookie || "", }, body: JSON.stringify(auditData), }).catch((err) => console.error("Audit log request failed:", err.message)); } catch (error) { console.error("Failed to log audit event:", error.message); } }