import { Controller, Get, UseGuards } from '@nestjs/common'; import { ApiTags, ApiBearerAuth, ApiOperation } from '@nestjs/swagger'; import { AdminServersService } from './admin-servers.service'; 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 type { AdminRole } from '../../common/types/admin-role.enum'; @ApiTags('admin-servers') @Controller('admin-api/servers') @UseGuards(AdminAuthGuard, AdminRolesGuard) @ApiBearerAuth() export class AdminServersController { constructor(private readonly serversService: AdminServersService) {} @Get('metrics') @AdminRoles('SUPER_ADMIN' as AdminRole) @ApiOperation({ summary: '服务器实时指标(仅超级管理员)' }) async getMetrics(): Promise<{ servers: import("./admin-servers.service").ServerInfo[] }> { return this.serversService.getAllMetrics(); } }