import { Controller, Get, Post, Body, Patch, Param, Delete, ParseIntPipe, Query, DefaultValuePipe } from '@nestjs/common';
import { SettingsService } from './settings.service';
import { CreateSettingDto } from './dto/create-setting.dto';
import { UpdateSettingDto } from './dto/update-setting.dto';
import { ApiTags } from '@nestjs/swagger';

@Controller('settings')
@ApiTags('settings')
export class SettingsController {
    constructor(private readonly settingsService: SettingsService) {}

    @Post()
    create(@Body() createSettingDto: CreateSettingDto) {
        return this.settingsService.create(createSettingDto);
    }

    @Get()
    findAll() {
        return this.settingsService.findAll();
    }

    @Get(':name')
    findOne(@Param('name') name: string) {
        return this.settingsService.findOne(name);
    }

    @Get('/id/:id')
    findOneById(@Param('id') id: string) {
        return this.settingsService.findOneById(+id);
    }

    @Patch(':id')
    update(@Param('id') id: string, @Body() updateSettingDto: UpdateSettingDto) {
        return this.settingsService.update(+id, updateSettingDto);
    }

    @Delete(':id')
    remove(@Param('id') id: string) {
        return this.settingsService.remove(+id);
    }
}
