diff --git a/back/src/search/search.controller.ts b/back/src/search/search.controller.ts index 5a19871..c0012dc 100644 --- a/back/src/search/search.controller.ts +++ b/back/src/search/search.controller.ts @@ -12,11 +12,14 @@ import { Request, UseGuards, } from '@nestjs/common'; -import { ApiOperation, ApiParam, ApiTags } from '@nestjs/swagger'; +import { ApiOkResponse, ApiOperation, ApiParam, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger'; import { Artist, Genre, Song } from '@prisma/client'; import { JwtAuthGuard } from 'src/auth/jwt-auth.guard'; import { SearchSongDto } from './dto/search-song.dto'; import { SearchService } from './search.service'; +import { Song as _Song } from 'src/_gen/prisma-class/song'; +import { Genre as _Genre } from 'src/_gen/prisma-class/genre'; +import { Artist as _Artist } from 'src/_gen/prisma-class/artist'; @ApiTags('search') @Controller('search') @@ -24,6 +27,9 @@ export class SearchController { constructor(private readonly searchService: SearchService) { } @Get('songs/:query') + @ApiOkResponse({ type: _Song, isArray: true}) + @ApiOperation({ description: "Search a song"}) + @ApiUnauthorizedResponse({ description: "Invalid token"}) @UseGuards(JwtAuthGuard) async searchSong(@Request() req: any, @Param('query') query: string): Promise { try { @@ -37,6 +43,9 @@ export class SearchController { @Get('genres/:query') @UseGuards(JwtAuthGuard) + @ApiUnauthorizedResponse({ description: "Invalid token"}) + @ApiOkResponse({ type: _Genre, isArray: true}) + @ApiOperation({ description: "Search a genre"}) async searchGenre(@Request() req: any, @Param('query') query: string): Promise { try { const ret = await this.searchService.genreByGuess(query, req.user?.id); @@ -49,6 +58,9 @@ export class SearchController { @Get('artists/:query') @UseGuards(JwtAuthGuard) + @ApiOkResponse({ type: _Artist, isArray: true}) + @ApiUnauthorizedResponse({ description: "Invalid token"}) + @ApiOperation({ description: "Search an artist"}) async searchArtists(@Request() req: any, @Param('query') query: string): Promise { try { const ret = await this.searchService.artistByGuess(query, req.user?.id);