feat(backend): Audit-Log-Abfrage (Modul 19)
AuditModule um GET /audit-log?entityType=&entityId= erweitert (nur Administrator). Zusaetzlich Jest-E2E-Parallelitaet begrenzt (maxWorkers: 4), um wiederkehrende Verbindungsengpaesse gegen Postgres unter vielen parallelen Testsuiten zu vermeiden.
This commit is contained in:
1 parent
4945e92985
commit
8a6769dbfd
7 files changed
+189
-2
No files matched your search
@@ -1,6 +1,6 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { PrismaService } from '../prisma/prisma.service';
|
||||
import { AuditAction, Prisma } from '../../generated/prisma';
|
||||
import { AuditAction, AuditLog, Prisma } from '../../generated/prisma';
|
||||
|
||||
interface RecordAuditLogInput {
|
||||
entityType: string;
|
||||
@@ -11,6 +11,11 @@ interface RecordAuditLogInput {
|
||||
afterData?: unknown;
|
||||
}
|
||||
|
||||
export interface AuditLogFilter {
|
||||
entityType?: string;
|
||||
entityId?: string;
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
export class AuditLogService {
|
||||
constructor(private readonly prisma: PrismaService) {}
|
||||
@@ -27,4 +32,12 @@ export class AuditLogService {
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
async findAll(filter: AuditLogFilter = {}): Promise<AuditLog[]> {
|
||||
return this.prisma.auditLog.findMany({
|
||||
where: { entityType: filter.entityType, entityId: filter.entityId },
|
||||
orderBy: { timestamp: 'desc' },
|
||||
take: 200,
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user