import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
import { PaysService } from './pays.service';
import { CreatePaysDto } from './dto/create-pays.dto';
import { UpdatePaysDto } from './dto/update-pays.dto';
import { ResponseService } from 'src/services/response/response.service';

@Controller('pays')
export class PaysController {
  constructor(private readonly paysService: PaysService, private responseService: ResponseService) {}

  @Post()
  async create(@Body() createPayDto: CreatePaysDto) {
    return this.responseService.success(
      'Pays créé', 
      await this.paysService.create(createPayDto)
    );
  }

  @Get()
  async findAll() {
    return this.responseService.success(
      'Tous les pays',
      await this.paysService.findAll()
    );
  }

  @Get(':id')
  async findOne(@Param('id') id: string) {
    return this.responseService.success(
      '',
      await this.paysService.findOne(+id)
    );
  }

  @Patch(':id')
  async update(@Param('id') id: string, @Body() updatePayDto: UpdatePaysDto) {
    return this.responseService.success(
      'Pays mis à jour',
      await this.paysService.update(+id, updatePayDto)
    );
  }

  @Delete(':id')
  async remove(@Param('id') id: string) {
    await this.paysService.remove(+id)
    return this.responseService.success(
      'Pays supprimé',
      null
    );
  }
}
