import {
  Controller,
  Get,
  Post,
  Delete,
  Body,
  Param,
  Query,
} from '@nestjs/common';
import { SpacesService } from './spaces.service';
import { CreateReservaDto } from './reserva.dto';

@Controller('reservas')
export class SpacesController {
  constructor(private readonly spacesService: SpacesService) {}

  /**
   * GET /api/reservas?date=YYYY-MM-DD
   * Devuelve todas las reservas (opcionalmente filtradas por fecha)
   */
  @Get()
  findAll(@Query('date') date?: string) {
    return this.spacesService.findAll(date);
  }

  /**
   * POST /api/reservas
   * Crea una nueva reserva
   */
  @Post()
  create(@Body() dto: CreateReservaDto) {
    return this.spacesService.create(dto);
  }

  /**
   * DELETE /api/reservas/:id
   * Elimina una reserva por ID
   */
  @Delete(':id')
  delete(@Param('id') id: string) {
    this.spacesService.delete(id);
    return { message: 'Reserva eliminada correctamente.' };
  }
}
