import { Body, Controller, Delete, Get, Param, Post, Put, UsePipes, ValidationPipe } from '@nestjs/common'; import { AlbumService } from './album.service'; import { Album } from './album.entity'; import { CreateAlbumDto } from './dto/create-album.dto'; import { UpdateAlbumDto } from './dto/update-album.dto'; @Controller('album') export class AlbumController { constructor(private readonly albumService: AlbumService) {} @Get() findAll(): Promise { return this.albumService.findAll(); } @Get(':id') findOneById(@Param('id') id: number): Promise { return this.albumService.findOneById(id); } @Post() @UsePipes(new ValidationPipe({ transform: true })) async create(@Body() createAlbumDto: CreateAlbumDto): Promise { return this.albumService.create(createAlbumDto); } @Put(':id') @UsePipes(new ValidationPipe({ transform: true })) async update(@Param('id') id: number, @Body() updateAlbumDto: UpdateAlbumDto): Promise { return this.albumService.update(id, updateAlbumDto); } @Delete(':id') async remove(@Param('id') id: number): Promise { return this.albumService.remove(id); } }