import { Controller, Get, Query, UseGuards } from '@nestjs/common';
import { ApiOperation, ApiQuery, ApiSecurity, ApiTags } from '@nestjs/swagger';
import { AppTokenGuard } from 'src/app-token.guard';
import { EcommercePublicService } from './ecommerce-public.service';

@ApiTags('ecommerce-public')
@ApiSecurity('x-app-key')
@UseGuards(AppTokenGuard)
@Controller({ path: 'ecommerce/public', version: '1' })
export class EcommercePublicController {
  constructor(private readonly service: EcommercePublicService) {}

  @Get('config')
  @ApiOperation({ summary: 'Configuración publicada de la tienda resuelta por subdominio' })
  @ApiQuery({ name: 'subdominio', description: 'Subdominio de la tienda (ej: empresa1)' })
  @ApiQuery({ name: 'preview', required: false, description: 'Token de vista previa (lo emite el panel): devuelve el borrador' })
  getConfig(@Query('subdominio') subdominio: string, @Query('preview') preview?: string) {
    return this.service.getPublicConfig(subdominio, preview);
  }
}
