import {
  Body,
  Controller,
  Delete,
  Get,
  Param,
  Post,
  Put,
  Query,
  UseGuards,
} from '@nestjs/common';
import { PackageCategoriesService } from './package_categories.service';
import PaginationDto from './dtos/pagination.dto';
import { AuthGuard } from 'src/auth/auth.guard';
import { AddPackageCategoriesDto, EditPackageCategoriesDto } from './dtos/add-package-categories.dto';

@Controller('package-categories')
export class PackageCategoriesController {
  constructor(
    private readonly packageCategoriesService: PackageCategoriesService,
  ) { }

  @Post()
  create(@Body() addPackageCategoriesDto: AddPackageCategoriesDto) {
    return this.packageCategoriesService.create(addPackageCategoriesDto);
  }
  @Put('/:id')
  update(
    @Param('id') id: number,
    @Body() editPackageCategoriesDto: EditPackageCategoriesDto,
  ) {
    return this.packageCategoriesService.update(id, editPackageCategoriesDto);
  }
  @Get()
  findAll(@Query() PaginationDto: PaginationDto) {
    return this.packageCategoriesService.findAll(
      PaginationDto.search,
      PaginationDto.page,
      PaginationDto.limit,
    );
  }
  @Get('/:id')
  findById(@Param('id') id: number) {
    return this.packageCategoriesService.findById(id);
  }
  @Delete('/:id/:hospital_id')
  delete(@Param('id') id: string, @Param('hospital_id') hospital_id: string) {
    return this.packageCategoriesService.delete(Number(id), Number(hospital_id));
  }
}
