import { EntitySubscriberInterface, InsertEvent, UpdateEvent, RemoveEvent, DataSource } from 'typeorm'; import { EntityAuditService } from '../services/entity-audit.service'; import { AuditContextService } from '../services/audit-context.service'; import { DefaultAuditStrategy } from '../services/audit-strategy.service'; /** * 实体审计订阅者 */ export declare class EntityAuditSubscriber implements EntitySubscriberInterface { private readonly entityAuditService; private readonly contextService; private readonly auditStrategy; private readonly logger; constructor(entityAuditService: EntityAuditService, contextService: AuditContextService, auditStrategy: DefaultAuditStrategy, dataSource: DataSource); /** * 在实体插入后记录审计日志 */ afterInsert(event: InsertEvent): Promise; /** * 在实体更新后记录审计日志 */ afterUpdate(event: UpdateEvent): Promise; /** * 在实体删除前记录审计日志 */ beforeRemove(event: RemoveEvent): Promise; /** * 计算变更字段 */ private calculateChangedFields; /** * 检查是否启用了审计 */ private isAuditEnabled; }