erp-mecanicas-diesel-backen.../src/modules/audit/services/audit.instance.ts
Adrian Flores Cortes f9ec80b037 [SYNC] feat: Add audit, MFA, and feature flags modules
- Add audit module with controllers, DTOs, middleware and services
- Add MFA controller, routes and services
- Add feature flags module with controllers, DTOs and services
- Update audit entities with proper TypeORM decorators
- Update auth service and DTOs
- Update main.ts configuration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 08:02:07 -06:00

34 lines
1.2 KiB
TypeScript

import { AppDataSource } from '../../../main';
import {
AuditLog,
EntityChange,
LoginHistory,
SensitiveDataAccess,
DataExport,
PermissionChange,
ConfigChange,
} from '../entities/index';
import { AuditService } from './audit.service';
let _auditService: AuditService | null = null;
export const auditService = {
get instance(): AuditService {
if (!_auditService) {
_auditService = new AuditService(
AppDataSource.getRepository(AuditLog),
AppDataSource.getRepository(EntityChange),
AppDataSource.getRepository(LoginHistory),
AppDataSource.getRepository(SensitiveDataAccess),
AppDataSource.getRepository(DataExport),
AppDataSource.getRepository(PermissionChange),
AppDataSource.getRepository(ConfigChange)
);
}
return _auditService;
},
createAuditLog: (...args: Parameters<AuditService['createAuditLog']>) => auditService.instance.createAuditLog(...args),
findAuditLogs: (...args: Parameters<AuditService['findAuditLogs']>) => auditService.instance.findAuditLogs(...args),
findAuditLogsByEntity: (...args: Parameters<AuditService['findAuditLogsByEntity']>) => auditService.instance.findAuditLogsByEntity(...args),
};