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.instance.createAuditLog(...args), findAuditLogs: (...args: Parameters) => auditService.instance.findAuditLogs(...args), findAuditLogsByEntity: (...args: Parameters) => auditService.instance.findAuditLogsByEntity(...args), };