mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 19:00:55 +00:00
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { Body, Controller, HttpCode, HttpStatus, Post } from '@nestjs/common';
|
|
import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger';
|
|
import { Public } from '@edr/api-common';
|
|
|
|
import { AiBookingRequestDto } from './dto/ai-booking-request.dto';
|
|
import { AiBookingResult } from './types/ai-booking-result.type';
|
|
import { MockAiService } from './mock-ai.service';
|
|
|
|
// @Public() — TODO: swap for real guard when this leaves dev/testing.
|
|
// Safe while public: extracts + validates text only, never creates or
|
|
// dispatches anything.
|
|
@Public()
|
|
@ApiTags('AI Assistant (mock)')
|
|
@Controller('ai')
|
|
export class AiController {
|
|
constructor(private readonly mockAiService: MockAiService) {}
|
|
|
|
@Post('booking/extract')
|
|
@HttpCode(HttpStatus.OK)
|
|
@ApiOperation({
|
|
summary:
|
|
'Mock AI: extract structured booking fields from free-text request',
|
|
})
|
|
@ApiOkResponse({
|
|
description:
|
|
'Extracted fields, validation result, and next-step recommendation',
|
|
})
|
|
extractBooking(@Body() dto: AiBookingRequestDto): AiBookingResult {
|
|
return this.mockAiService.extractBooking(dto.text);
|
|
}
|
|
}
|