31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
|
|
import { ApiTags, ApiOperation, ApiBearerAuth } from '@nestjs/swagger';
|
||
|
|
import { Controller, Get, Param, Query, UseGuards } from '@nestjs/common';
|
||
|
|
import { AdminAuditLogService } from './admin-audit-log.service';
|
||
|
|
import { QueryAuditLogsDto } from './dto/query-audit-logs.dto';
|
||
|
|
import { AdminAuthGuard } from '../../common/guards/admin-auth.guard';
|
||
|
|
import { AdminRolesGuard } from '../../common/guards/admin-roles.guard';
|
||
|
|
import { AdminRoles } from '../../common/decorators/admin-roles.decorator';
|
||
|
|
import { AdminRole } from '../../common/types/admin-role.enum';
|
||
|
|
|
||
|
|
@ApiTags('admin-audit-log')
|
||
|
|
@Controller('admin-api/audit-logs')
|
||
|
|
@UseGuards(AdminAuthGuard, AdminRolesGuard)
|
||
|
|
@AdminRoles(AdminRole.ADMIN)
|
||
|
|
export class AdminAuditLogController {
|
||
|
|
constructor(private readonly auditLogService: AdminAuditLogService) {}
|
||
|
|
|
||
|
|
@Get()
|
||
|
|
@ApiBearerAuth()
|
||
|
|
@ApiOperation({ summary: '获取审计日志列表' })
|
||
|
|
async list(@Query() query: QueryAuditLogsDto) {
|
||
|
|
return this.auditLogService.list(query);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get(':id')
|
||
|
|
@ApiBearerAuth()
|
||
|
|
@ApiOperation({ summary: '获取审计日志详情' })
|
||
|
|
async getById(@Param('id') id: string) {
|
||
|
|
return this.auditLogService.getById(id);
|
||
|
|
}
|
||
|
|
}
|