import { Controller, Get, Query } from '@nestjs/common';
import { ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger';
import { QzService } from './qz.service';

@ApiTags('QZ Tray')
@Controller({ path: 'qz', version: '1' })
export class QzController {
  constructor(private readonly qzService: QzService) {}

  @Get('sign')
  @ApiOperation({ summary: 'Firma un request de QZ Tray con la clave privada del servidor' })
  @ApiQuery({ name: 'request', description: 'Contenido a firmar (provisto por QZ Tray)' })
  sign(@Query('request') request: string): string {
    return this.qzService.sign(request ?? '');
  }

  @Get('certificate')
  @ApiOperation({ summary: 'Retorna el certificado público para QZ Tray' })
  getCertificate(): string {
    return this.qzService.getCertificate();
  }
}
