fix: 过滤通知 outbox 空扫描审计

This commit is contained in:
湛兮
2026-06-12 04:03:21 +08:00
parent e1ab0366f0
commit 08d48164fa
+22 -3
View File
@@ -84,13 +84,19 @@ export class AuditService {
orderBy: { orderBy: {
createdAt: 'desc', createdAt: 'desc',
}, },
take: 50, take: 200,
}); });
return records.map((record) => this.toSummary(record)); return records
.map((record) => this.toSummary(record))
.filter((record) => !this.isEmptyRetryTick(record))
.slice(0, 50);
} }
return [...this.memoryRecords].slice(-50).reverse(); return [...this.memoryRecords]
.reverse()
.filter((record) => !this.isEmptyRetryTick(record))
.slice(0, 50);
} }
private sanitize(input: AuditRecordInput): SanitizedAuditRecordInput { private sanitize(input: AuditRecordInput): SanitizedAuditRecordInput {
@@ -155,6 +161,19 @@ export class AuditService {
return value; return value;
} }
private isEmptyRetryTick(record: AuditRecordSummary): boolean {
if (record.action !== 'NOTIFICATION_OUTBOX_RETRY_TICK_COMPLETED') {
return false;
}
return (
record.after?.totalCandidates === 0 &&
record.after.sentCount === 0 &&
record.after.skippedCount === 0 &&
record.after.failedCount === 0
);
}
private databaseClient(): PrismaService | undefined { private databaseClient(): PrismaService | undefined {
if ( if (
!this.config?.get('USE_DATABASE_READS', { infer: true }) || !this.config?.get('USE_DATABASE_READS', { infer: true }) ||