feat: complete reporting and filing workflows

This commit is contained in:
hectorzhao
2026-07-28 20:28:47 +08:00
parent 352a6293b4
commit 99c8c7c68b
52 changed files with 3490 additions and 376 deletions
@@ -99,6 +99,21 @@ export class AdminOperationsController {
return this.operations.sendQuality(date);
}
@Get('signature-quality')
signatureQuality(
@Query('date') date?: string,
@Query('keyword') keyword?: string,
@Query('page') page?: string,
@Query('pageSize') pageSize?: string,
) {
return this.operations.signatureQuality({
date,
keyword,
page: Number(page),
pageSize: Number(pageSize),
});
}
@Get('audit-logs')
auditLogs(
@Query('tenantId') tenantId?: string,
@@ -211,6 +226,8 @@ export class AdminOperationsController {
@Query('state') state?: string,
@Query('failureCategory') failureCategory?: string,
@Query('keyword') keyword?: string,
@Query('updatedAtFrom') updatedAtFrom?: string,
@Query('updatedAtTo') updatedAtTo?: string,
@Query('page') page?: string,
@Query('pageSize') pageSize?: string,
) {
@@ -220,6 +237,8 @@ export class AdminOperationsController {
state,
failureCategory,
keyword,
updatedAtFrom,
updatedAtTo,
page: Number(page),
pageSize: Number(pageSize),
});
@@ -232,6 +251,8 @@ export class AdminOperationsController {
@Query('state') state: string | undefined,
@Query('failureCategory') failureCategory: string | undefined,
@Query('keyword') keyword: string | undefined,
@Query('updatedAtFrom') updatedAtFrom: string | undefined,
@Query('updatedAtTo') updatedAtTo: string | undefined,
@Res() response: DownloadResponse,
) {
const exported = await this.operations.exportDownstreamRecoveryStatuses({
@@ -240,6 +261,8 @@ export class AdminOperationsController {
state,
failureCategory,
keyword,
updatedAtFrom,
updatedAtTo,
});
response.setHeader('Content-Type', 'text/csv; charset=utf-8');
response.setHeader('Content-Disposition', `attachment; filename*=UTF-8''${encodeURIComponent(exported.fileName)}`);