import { Body, Controller, Post, UseGuards } from '@nestjs/common'; import { JwtAuthGuard } from '../auth/jwt-auth.guard'; import { CurrentUser } from '../auth/current-user.decorator'; import { TenantId } from '../tenant/tenant.decorator'; import { AiAssistantService } from './ai-assistant.service'; import { AiChatRequestDto } from './dto/ai-chat.dto'; import { AiSearchRequestDto } from './dto/ai-search.dto'; @Controller('ai') @UseGuards(JwtAuthGuard) export class AiAssistantController { constructor(private readonly aiAssistantService: AiAssistantService) {} @Post('chat') async chat( @TenantId() tenantId: string, @CurrentUser() user: any, @Body() payload: AiChatRequestDto, ) { return this.aiAssistantService.handleChat( tenantId, user.userId, payload.message, payload.history, payload.context, ); } @Post('search') async search( @TenantId() tenantId: string, @CurrentUser() user: any, @Body() payload: AiSearchRequestDto, ) { return this.aiAssistantService.searchRecords( tenantId, user.userId, payload, ); } }