api-server/src/modules/admin-servers/admin-servers.controller.ts
WangDL 1776bed47e
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 36s
feat: friendly process names + data disk + public IPs + domains
2026-05-22 13:42:42 +08:00

23 lines
1001 B
TypeScript

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