import { Controller, Get, Post, Body, Patch, Param, Delete, Query, ParseUUIDPipe, } from '@nestjs/common'; import { IdeasService } from './ideas.service'; import { CreateIdeaDto, UpdateIdeaDto, QueryIdeasDto, ReorderIdeasDto, } from './dto'; @Controller('ideas') export class IdeasController { constructor(private readonly ideasService: IdeasService) {} @Post() create(@Body() createIdeaDto: CreateIdeaDto) { return this.ideasService.create(createIdeaDto); } @Get() findAll(@Query() query: QueryIdeasDto) { return this.ideasService.findAll(query); } @Get('modules') getModules() { return this.ideasService.getModules(); } @Patch('reorder') reorder(@Body() reorderIdeasDto: ReorderIdeasDto) { return this.ideasService.reorder(reorderIdeasDto.items); } @Get(':id') findOne(@Param('id', ParseUUIDPipe) id: string) { return this.ideasService.findOne(id); } @Patch(':id') update( @Param('id', ParseUUIDPipe) id: string, @Body() updateIdeaDto: UpdateIdeaDto, ) { return this.ideasService.update(id, updateIdeaDto); } @Delete(':id') remove(@Param('id', ParseUUIDPipe) id: string) { return this.ideasService.remove(id); } }