23 lines
931 B
TypeScript
23 lines
931 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() {
|
||
|
|
return this.serversService.getAllMetrics();
|
||
|
|
}
|
||
|
|
}
|