62 lines
1.2 KiB
TypeScript
62 lines
1.2 KiB
TypeScript
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);
|
|
}
|
|
}
|