From 4dc4f0c55d3f147f5d44182eee713583cc2dc74d Mon Sep 17 00:00:00 2001 From: Rinaldy Adin <16521390@mahasiswa.itb.ac.id> Date: Tue, 28 May 2024 15:11:12 +0700 Subject: [PATCH] add filter by status in regis sidsem --- .../registrasi-sidsem.dto.ts | 5 ++++ .../registrasi-sidsem.service.ts | 30 +++++++++++-------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/registrasi-sidsem/registrasi-sidsem.dto.ts b/src/registrasi-sidsem/registrasi-sidsem.dto.ts index fbead66..5f631f1 100644 --- a/src/registrasi-sidsem/registrasi-sidsem.dto.ts +++ b/src/registrasi-sidsem/registrasi-sidsem.dto.ts @@ -57,6 +57,11 @@ export class GetAllPengajuanSidangReqQueryDto extends SidsemViewQueryDto { @IsOptional() jenisSidang?: TipeSidsemEnum; + @ApiPropertyOptional({ enum: SidsemStatus }) + @IsEnum(SidsemStatus) + @IsOptional() + status?: SidsemStatus; + @IsOptional() @IsNumberString() @ApiPropertyOptional({ description: "default: 1" }) diff --git a/src/registrasi-sidsem/registrasi-sidsem.service.ts b/src/registrasi-sidsem/registrasi-sidsem.service.ts index 1f1b73a..c803fb8 100644 --- a/src/registrasi-sidsem/registrasi-sidsem.service.ts +++ b/src/registrasi-sidsem/registrasi-sidsem.service.ts @@ -1,3 +1,4 @@ +import { HttpService } from "@nestjs/axios"; import { BadRequestException, ForbiddenException, @@ -6,14 +7,23 @@ import { NotFoundException, } from "@nestjs/common"; import { InjectRepository } from "@nestjs/typeorm"; +import * as dayjs from "dayjs"; +import { Request } from "express"; +import { firstValueFrom } from "rxjs"; +import { BerkasSidsem } from "src/entities/berkasSidsem.entity"; +import { KonfigurasiKeyEnum } from "src/entities/konfigurasi.entity"; import { - cmpTipeSidsem, PendaftaranSidsem, SidsemStatus, TipeSidsemEnum, + cmpTipeSidsem, } from "src/entities/pendaftaranSidsem"; +import { RegStatus } from "src/entities/pendaftaranTesis.entity"; +import { Pengguna, RoleEnum } from "src/entities/pengguna.entity"; import { PengujiSidsem } from "src/entities/pengujiSidsem.entity"; -import { DataSource, In, Repository, Brackets } from "typeorm"; +import { KonfigurasiService } from "src/konfigurasi/konfigurasi.service"; +import { RegistrasiTesisService } from "src/registrasi-tesis/registrasi-tesis.service"; +import { Brackets, DataSource, In, Repository } from "typeorm"; import { CreatePengajuanSidsemDto, GetAllPengajuanSidangItemDto, @@ -23,16 +33,6 @@ import { PengajuanSidsemIdDto, UpdateSidsemDetailDto, } from "./registrasi-sidsem.dto"; -import { RegStatus } from "src/entities/pendaftaranTesis.entity"; -import { RegistrasiTesisService } from "src/registrasi-tesis/registrasi-tesis.service"; -import { BerkasSidsem } from "src/entities/berkasSidsem.entity"; -import { Pengguna, RoleEnum } from "src/entities/pengguna.entity"; -import { KonfigurasiService } from "src/konfigurasi/konfigurasi.service"; -import { KonfigurasiKeyEnum } from "src/entities/konfigurasi.entity"; -import * as dayjs from "dayjs"; -import { HttpService } from "@nestjs/axios"; -import { Request } from "express"; -import { firstValueFrom } from "rxjs"; @Injectable() export class RegistrasiSidsemService { @@ -260,6 +260,12 @@ export class RegistrasiSidsemService { }); } + if (query.status) { + baseQuery.andWhere("ps.status = :status", { + status: query.status, + }); + } + if (query.limit) { baseQuery.take(query.limit); baseQuery.skip((query.page - 1) * query.limit); -- GitLab