import { Body, Controller, Delete, Get, Param, Post, Put, UsePipes, ValidationPipe } from '@nestjs/common'; import { DeleteResult } from 'typeorm'; import { SongService } from './song.service'; import { Song } from './song.entity'; import { CreateSongDto } from './dto/create-song.dto'; import { UpdateSongDto } from './dto/update-song.dto'; @Controller('song') export class SongController { constructor(private readonly songService: SongService) {} @Get() findAll(): Promise { return this.songService.findAll(); } @Get(':id') findOneById(@Param('id') id: number): Promise { return this.songService.findOneById(id); } @Post() @UsePipes(new ValidationPipe({ transform: true })) async create(@Body() createSongDto: CreateSongDto): Promise { return this.songService.create(createSongDto); } @Put(':id') @UsePipes(new ValidationPipe({ transform: true })) async update(@Param('id') id: number, @Body() updateSongDto: UpdateSongDto): Promise { return this.songService.update(id, updateSongDto); } @Delete(':id') async remove(@Param('id') id: number): Promise { return this.songService.remove(id); } }