Some checks failed
Music Collection CI Workflow / test (./backend) (push) Failing after 37s
Music Collection CI Workflow / test (./frontend) (push) Successful in 34s
Music Collection CI Workflow / build-and-push-images (./backend/Dockerfile, git.anatid.net/tabris/music-collection-backend, ./backend) (push) Has been skipped
Music Collection CI Workflow / build-and-push-images (./frontend/Dockerfile, git.anatid.net/tabris/music-collection-frontend, ./frontend) (push) Has been skipped
Music Collection CI Workflow / deploy (push) Has been skipped
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
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<Album[]> {
|
|
return this.albumService.findAll();
|
|
}
|
|
|
|
@Get(':id')
|
|
findOneById(@Param('id') id: number): Promise<Album | null> {
|
|
return this.albumService.findOneById(id);
|
|
}
|
|
|
|
@Post()
|
|
@UsePipes(new ValidationPipe({ transform: true }))
|
|
async create(@Body() createAlbumDto: CreateAlbumDto): Promise<number> {
|
|
return this.albumService.create(createAlbumDto);
|
|
}
|
|
|
|
@Put(':id')
|
|
@UsePipes(new ValidationPipe({ transform: true }))
|
|
async update(@Param('id') id: number, @Body() updateAlbumDto: UpdateAlbumDto): Promise<string> {
|
|
return this.albumService.update(id, updateAlbumDto);
|
|
}
|
|
|
|
@Delete(':id')
|
|
async remove(@Param('id') id: number): Promise<void> {
|
|
return this.albumService.remove(id);
|
|
}
|
|
}
|