Ajusta endpoints

This commit is contained in:
LeoMortari
2025-08-21 17:47:05 -03:00
parent 44a1625631
commit 2ed4a9122d
9 changed files with 131 additions and 69 deletions

View File

@@ -7,11 +7,12 @@ import {
Body,
Query,
} from '@nestjs/common';
import { videos, Prisma, EVideoSituation } from 'generated/prisma';
import { videos, Prisma, video_situation } from 'generated/prisma';
import { VideosService } from './videos.service';
import { VideoResponseDto } from './dto/video-response.dto';
import { PaginatedQueryDto, PaginatedResponse } from './dto/paginated.dto';
import { EBooleanPipe } from './videos.pipe';
@Controller('videos')
export class VideosController {
@@ -20,13 +21,21 @@ export class VideosController {
@Get()
async list(
@Query() query: PaginatedQueryDto,
@Query('situation') situation?: EVideoSituation,
): Promise<PaginatedResponse<VideoResponseDto>> {
return this.videosService.listPaginated(
query.page,
query.perPage,
situation,
);
@Query('situation') situation?: video_situation,
@Query('pageable', new EBooleanPipe(true)) pageable: boolean = true,
): Promise<PaginatedResponse<VideoResponseDto> | VideoResponseDto[]> {
const situacao = situation?.toLocaleUpperCase() as video_situation;
if (pageable || query.page || query.perPage) {
return this.videosService.listPaginated(
Number(query.page ?? 1),
Number(query.perPage ?? 10),
query.direction as 'asc' | 'desc',
situacao,
);
}
return this.videosService.list(situacao);
}
@Get(':id')
@@ -46,9 +55,4 @@ export class VideosController {
async delete(@Param('id') id: string): Promise<videos> {
return this.videosService.delete(Number(id));
}
@Get('situation/:s')
async listBySituation(@Param('s') s: EVideoSituation): Promise<videos[]> {
return this.videosService.listBySituation(s);
}
}