23 lines
975 B
TypeScript
23 lines
975 B
TypeScript
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);
|
|
}
|
|
} |