import { ApiTags, ApiOperation, ApiBearerAuth } from '@nestjs/swagger'; import { Controller, Post, Body, UseGuards } from '@nestjs/common'; import { AdminAiChatService } from './admin-ai-chat.service'; import { AiChatDto } from './dto/ai-chat.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 type { AdminRole } from '../../common/types/admin-role.enum'; @ApiTags('admin-ai-chat') @Controller('admin-api/ai') @UseGuards(AdminAuthGuard, AdminRolesGuard) export class AdminAiChatController { constructor(private readonly aiChatService: AdminAiChatService) {} @Post('chat') @AdminRoles('SUPER_ADMIN' as AdminRole) @ApiBearerAuth() @ApiOperation({ summary: 'AI 对话(仅超级管理员)' }) async chat(@Body() dto: AiChatDto) { return this.aiChatService.chat(dto); } }