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 }); } }