import { Body, Controller, HttpCode, Post, Res } from '@nestjs/common';
import { Response } from 'express';
import { McpRequestHandler } from '../mcp/mcp-request-handler.service';

@Controller()
export class RpcController {
  constructor(private readonly requestHandler: McpRequestHandler) {}

  @Post('/rpc')
  @HttpCode(200)
  async rpc(@Body() body: unknown, @Res() res: Response): Promise<void> {
    const response = await this.requestHandler.handle(body);
    if (!response) {
      res.status(204).send();
      return;
    }

    res.json(response);
  }
}
