From 29afc54be581ffa8c3ce52b72209f9fa188167ee Mon Sep 17 00:00:00 2001 From: Chiquita Ahsanunnisa <16521248@mahasiswa.itb.ac.id> Date: Sat, 4 May 2024 17:25:04 +0700 Subject: [PATCH] fix: wrong search query --- .../registrasi-sidsem.controller.ts | 6 +++-- .../registrasi-sidsem.dto.ts | 4 ++-- .../registrasi-sidsem.service.ts | 22 ++++++++++--------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/registrasi-sidsem/registrasi-sidsem.controller.ts b/src/registrasi-sidsem/registrasi-sidsem.controller.ts index 3cc510a..0b86f03 100644 --- a/src/registrasi-sidsem/registrasi-sidsem.controller.ts +++ b/src/registrasi-sidsem/registrasi-sidsem.controller.ts @@ -13,6 +13,7 @@ import { import { ApiBearerAuth, ApiCookieAuth, + ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags, @@ -24,6 +25,7 @@ import { CreatePengajuanSidsemDto, GetAllPengajuanSidangReqQueryDto, GetAllPengajuanSidangRespDto, + GetOnePengajuanSidangRespDto, PengajuanSidsemIdDto, SidsemMhsIdParamDto, UpdateSidsemDetailDto, @@ -48,7 +50,7 @@ import { export class RegistrasiSidsemController { constructor(private readonly regisSidsemService: RegistrasiSidsemService) {} - @ApiOkResponse({ type: PengajuanSidsemIdDto }) + @ApiCreatedResponse({ type: PengajuanSidsemIdDto }) @Roles(RoleEnum.S2_MAHASISWA) @Post() async create(@Req() req: Request, @Body() dto: CreatePengajuanSidsemDto) { @@ -76,7 +78,7 @@ export class RegistrasiSidsemController { ); } - @ApiOkResponse({ type: PengajuanSidsemIdDto }) + @ApiOkResponse({ type: GetOnePengajuanSidangRespDto }) @Roles(...HIGH_AUTHORITY_ROLES, ...DOSEN, RoleEnum.S2_MAHASISWA) @Get("/mahasiswa/:mhsId") async findOne(@Req() req: Request, @Param() param: SidsemMhsIdParamDto) { diff --git a/src/registrasi-sidsem/registrasi-sidsem.dto.ts b/src/registrasi-sidsem/registrasi-sidsem.dto.ts index 46b2856..6e3495e 100644 --- a/src/registrasi-sidsem/registrasi-sidsem.dto.ts +++ b/src/registrasi-sidsem/registrasi-sidsem.dto.ts @@ -117,9 +117,9 @@ export class GetOnePengajuanSidangRespDto extends GetAllPengajuanSidangItemDto { judulTopik: string; @ApiProperty() deskripsiTopik: string; - @ApiProperty({ isArray: true }) + @ApiProperty({ type: [String] }) dosenPembimbing: string[]; - @ApiProperty({ isArray: true }) + @ApiProperty({ type: [String] }) dosenPenguji: string[]; } diff --git a/src/registrasi-sidsem/registrasi-sidsem.service.ts b/src/registrasi-sidsem/registrasi-sidsem.service.ts index 0c25202..de643d6 100644 --- a/src/registrasi-sidsem/registrasi-sidsem.service.ts +++ b/src/registrasi-sidsem/registrasi-sidsem.service.ts @@ -166,24 +166,26 @@ export class RegistrasiSidsemService { "latest", "latest.latest_pendaftaranTesisId = ps.pendaftaranTesisId AND ps.waktuPengiriman = latest.latestPengiriman", ) - .innerJoin("ps.pendaftaranTesis", "pt") - .innerJoin("ps.berkasSidsem", "berkasSidsem") - .innerJoin("pt.dosenBimbingan", "dosenBimbingan") - .innerJoin("dosenBimbingan.dosen", "dosen") - .innerJoin("pt.mahasiswa", "mahasiswa") + .leftJoin("ps.pendaftaranTesis", "pt") + .leftJoin("ps.berkasSidsem", "berkasSidsem") + .leftJoin("pt.dosenBimbingan", "dosenBimbingan") + .leftJoin("dosenBimbingan.dosen", "dosen") + .leftJoin("pt.mahasiswa", "mahasiswa") .where("mahasiswa.aktif = true") .orderBy("ps.waktuPengiriman", "DESC"); if (idPembimbing) { - baseQuery.andWhere("dosenBimbingan.dosenId = :idPembimbing", { - idPembimbing, - }); + baseQuery + .innerJoin("pt.dosenBimbingan", "dosenBimbinganFilter") + .andWhere("dosenBimbinganFilter.idDosen = :idPembimbing", { + idPembimbing, + }); } if (idPenguji) { baseQuery - .innerJoin("ps.penguji", "penguji") - .andWhere("penguji.idDosen = :idPenguji", { + .innerJoin("ps.penguji", "pengujiFilter") + .andWhere("pengujiFilter.idDosen = :idPenguji", { idPenguji, }); } -- GitLab