Fix audit service circular dependency

This commit is contained in:
2026-04-23 21:12:48 -05:00
parent 892fb31c18
commit b24d17b98e
+4 -1
View File
@@ -1,5 +1,4 @@
const auditRepository = require('./audit.repository'); const auditRepository = require('./audit.repository');
const certificatesService = require('../certificates/certificates.service');
const logEvent = async ({ type, userId = null, email = null, ip = null, userAgent = null, metadata = null } = {}) => { const logEvent = async ({ type, userId = null, email = null, ip = null, userAgent = null, metadata = null } = {}) => {
await auditRepository.saveEvent({ type, userId, email, ip, userAgent, metadata }); await auditRepository.saveEvent({ type, userId, email, ip, userAgent, metadata });
@@ -37,6 +36,10 @@ const getEvents = async (filters = {}) => {
}; };
const purgeUserEvents = async ({ actorUserId, actorEmail, actorRole, certPassword, ip, userAgent }) => { const purgeUserEvents = async ({ actorUserId, actorEmail, actorRole, certPassword, ip, userAgent }) => {
// Lazy-load to avoid the circular dependency:
// audit.service -> certificates.service -> audit.service
const certificatesService = require('../certificates/certificates.service');
if (actorRole === 'admin') { if (actorRole === 'admin') {
const error = new Error('La cuenta administradora no puede eliminar logs.'); const error = new Error('La cuenta administradora no puede eliminar logs.');
error.statusCode = 403; error.statusCode = 403;