28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
import { Controller, Get, Query } from '@nestjs/common';
|
|
import { ApiTags, ApiOperation, ApiBearerAuth, ApiQuery } from '@nestjs/swagger';
|
|
import { DashboardService } from '../../application/services/dashboard.service';
|
|
|
|
@ApiTags('Audit')
|
|
@ApiBearerAuth()
|
|
@Controller('audit-logs')
|
|
export class AuditController {
|
|
constructor(private readonly dashboardService: DashboardService) {}
|
|
|
|
@Get()
|
|
@ApiOperation({ summary: '获取审计日志' })
|
|
@ApiQuery({ name: 'adminId', required: false })
|
|
@ApiQuery({ name: 'action', required: false })
|
|
@ApiQuery({ name: 'resource', required: false })
|
|
@ApiQuery({ name: 'page', required: false, type: Number })
|
|
@ApiQuery({ name: 'pageSize', required: false, type: Number })
|
|
async getAuditLogs(
|
|
@Query('adminId') adminId?: string,
|
|
@Query('action') action?: string,
|
|
@Query('resource') resource?: string,
|
|
@Query('page') page?: number,
|
|
@Query('pageSize') pageSize?: number,
|
|
) {
|
|
return this.dashboardService.getAuditLogs({ adminId, action, resource, page: page ?? 1, pageSize: pageSize ?? 50 });
|
|
}
|
|
}
|