From 786696919edf45a9befd69ca1d47fa13cb564ae5 Mon Sep 17 00:00:00 2001
From: Rinaldy Adin <16521390@mahasiswa.itb.ac.id>
Date: Tue, 28 May 2024 22:58:16 +0700
Subject: [PATCH] add dosen id to response in sidsem

---
 .../registrasi-sidsem.dto.ts                  | 20 +++++++++++++------
 .../registrasi-sidsem.service.ts              | 14 ++++++++-----
 2 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/src/registrasi-sidsem/registrasi-sidsem.dto.ts b/src/registrasi-sidsem/registrasi-sidsem.dto.ts
index 5f631f1..aacdc06 100644
--- a/src/registrasi-sidsem/registrasi-sidsem.dto.ts
+++ b/src/registrasi-sidsem/registrasi-sidsem.dto.ts
@@ -73,6 +73,14 @@ export class GetAllPengajuanSidangReqQueryDto extends SidsemViewQueryDto {
   limit?: number;
 }
 
+class NameAndId {
+  @ApiProperty()
+  id: string;
+
+  @ApiProperty()
+  nama: string;
+}
+
 export class GetAllPengajuanSidangItemDto {
   @ApiProperty({ example: "550e8400-e29b-41d4-a716-446655440000" })
   idPengajuanSidsem: string;
@@ -98,8 +106,8 @@ export class GetAllPengajuanSidangItemDto {
   @ApiProperty({ enum: SidsemStatus })
   status: SidsemStatus;
 
-  @ApiProperty({ type: [String] })
-  dosenPembimbing: string[];
+  @ApiProperty({ type: [NameAndId] })
+  dosenPembimbing: NameAndId[];
 
   @ApiProperty({ type: [BerkasSidsem] })
   berkasSidsem: BerkasSidsem[];
@@ -122,10 +130,10 @@ export class GetOnePengajuanSidangRespDto extends GetAllPengajuanSidangItemDto {
   judulTopik: string;
   @ApiProperty()
   deskripsiTopik: string;
-  @ApiProperty({ type: [String] })
-  dosenPembimbing: string[];
-  @ApiProperty({ type: [String] })
-  dosenPenguji: string[];
+  @ApiProperty({ type: [NameAndId] })
+  dosenPembimbing: NameAndId[];
+  @ApiProperty({ type: [NameAndId] })
+  dosenPenguji: NameAndId[];
 
   @ApiProperty()
   judulSidsem: string;
diff --git a/src/registrasi-sidsem/registrasi-sidsem.service.ts b/src/registrasi-sidsem/registrasi-sidsem.service.ts
index 9a319de..abc6c5d 100644
--- a/src/registrasi-sidsem/registrasi-sidsem.service.ts
+++ b/src/registrasi-sidsem/registrasi-sidsem.service.ts
@@ -281,9 +281,10 @@ export class RegistrasiSidsemService {
       jenisSidang: res.tipe,
       ruangan: res.ruangan,
       status: res.status,
-      dosenPembimbing: res.pendaftaranTesis.dosenBimbingan.map(
-        (dosen) => dosen.dosen.nama,
-      ),
+      dosenPembimbing: res.pendaftaranTesis.dosenBimbingan.map(({ dosen }) => ({
+        nama: dosen.nama,
+        id: dosen.id,
+      })),
       berkasSidsem: res.berkasSidsem,
     }));
 
@@ -344,9 +345,12 @@ export class RegistrasiSidsemService {
       judulSidsem: latest.judulSidsem,
       deskripsiSidsem: latest.deskripsiSidsem,
       dosenPembimbing: latest.pendaftaranTesis.dosenBimbingan.map(
-        ({ dosen: { nama } }) => nama,
+        ({ dosen: { nama, id } }) => ({ nama, id }),
       ),
-      dosenPenguji: latest.penguji.map(({ dosen: { nama } }) => nama),
+      dosenPenguji: latest.penguji.map(({ dosen: { nama, id } }) => ({
+        nama,
+        id,
+      })),
     };
 
     return data;
-- 
GitLab