From 505770ec0a196efca2a33636e1314c61d5873741 Mon Sep 17 00:00:00 2001
From: arieljovananda88 <jovanandaa@gmail.com>
Date: Mon, 27 May 2024 09:40:29 +0700
Subject: [PATCH] fix: get dosuji names with id

---
 .../pendaftaran_sidsem/entity/pendaftaran_sidsem.go  |  2 +-
 .../internal/repository/pendaftaran_sidsem.go        | 12 ++++++------
 .../internal/usecase/pendaftaran_sidsem.go           |  7 +------
 .../internal/usecase/repository.go                   |  2 +-
 4 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/src/module/pendaftaran_sidsem/entity/pendaftaran_sidsem.go b/src/module/pendaftaran_sidsem/entity/pendaftaran_sidsem.go
index 5aac01a..034e9a6 100644
--- a/src/module/pendaftaran_sidsem/entity/pendaftaran_sidsem.go
+++ b/src/module/pendaftaran_sidsem/entity/pendaftaran_sidsem.go
@@ -210,7 +210,7 @@ type DetailSidSemTA struct {
 	Email         string         `json:"email"`
 	JalurPilihan  string         `json:"jalur_pilihan"`
 	DosbingName   string         `json:"dosbing_name"`
-	DosujiName    []string       `json:"dosuji_name"`
+	DosujiName    []Dosuji       `json:"dosuji_name"`
 	Tipe          string         `json:"tipe"`
 	JudulProposal string         `json:"judul_proposal"`
 	Deskripsi     string         `json:"deskripsi"`
diff --git a/src/module/pendaftaran_sidsem/internal/repository/pendaftaran_sidsem.go b/src/module/pendaftaran_sidsem/internal/repository/pendaftaran_sidsem.go
index 8390dea..e6497a2 100644
--- a/src/module/pendaftaran_sidsem/internal/repository/pendaftaran_sidsem.go
+++ b/src/module/pendaftaran_sidsem/internal/repository/pendaftaran_sidsem.go
@@ -550,16 +550,16 @@ func (repo *PendaftaranSidSemRepo) GetRemainingDetailSidSem(idPendaftaranSidSem
 	return remDet, nil
 }
 
-func (repo *PendaftaranSidSemRepo) GetDosujiNamePlaceholder(idSidsem string) ([]entity.DosbingName, error) {
-	var dosbingName []entity.DosbingName
+func (repo *PendaftaranSidSemRepo) GetDosujiNamePlaceholder(idSidsem string) ([]entity.Dosuji, error) {
+	var dosUji []entity.Dosuji
 
-	query := ` SELECT p.nama FROM pengguna p JOIN penguji_sidsem ps ON p.id = ps.dosen_id JOIN pendaftaran_sidsem pd ON pd.id = ps.sidsem_id WHERE pd.id = ?`
+	query := ` SELECT p.id, p.nama FROM pengguna p JOIN penguji_sidsem ps ON p.id = ps.dosen_id JOIN pendaftaran_sidsem pd ON pd.id = ps.sidsem_id WHERE pd.id = ?`
 
-	if err := repo.DBRead.Raw(query, idSidsem).Scan(&dosbingName).Error; err != nil {
-		return []entity.DosbingName{}, err
+	if err := repo.DBRead.Raw(query, idSidsem).Scan(&dosUji).Error; err != nil {
+		return []entity.Dosuji{}, err
 	}
 
-	return dosbingName, nil
+	return dosUji, nil
 }
 
 func (repo *PendaftaranSidSemRepo) GetSidSemJudDes(idSidsem string) (entity.TipeJudulDesc, error) {
diff --git a/src/module/pendaftaran_sidsem/internal/usecase/pendaftaran_sidsem.go b/src/module/pendaftaran_sidsem/internal/usecase/pendaftaran_sidsem.go
index 4beb95d..f540e58 100644
--- a/src/module/pendaftaran_sidsem/internal/usecase/pendaftaran_sidsem.go
+++ b/src/module/pendaftaran_sidsem/internal/usecase/pendaftaran_sidsem.go
@@ -219,11 +219,6 @@ func (uc *PendaftaranSidSemUc) GetSidSemDetailTA(idSidsem string) (entity.Detail
 		return entity.DetailSidSemTA{}, err
 	}
 
-	var dosujiNameList []string
-	for _, dosujiName := range dosujiNames {
-		dosujiNameList = append(dosujiNameList, dosujiName.Nama)
-	}
-
 	judDes, err := uc.pendaftaransidsemrepo.GetSidSemJudDes(idSidsem)
 	if err != nil {
 		return entity.DetailSidSemTA{}, err
@@ -253,7 +248,7 @@ func (uc *PendaftaranSidSemUc) GetSidSemDetailTA(idSidsem string) (entity.Detail
 		Email:         infoTopik.Email,
 		JalurPilihan:  infoTopik.JalurPilihan,
 		DosbingName:   dosbingName.Nama,
-		DosujiName:    dosujiNameList,
+		DosujiName:    dosujiNames,
 		Tipe:          remDet.Tipe,
 		JudulProposal: judDes.JudulProposal,
 		Deskripsi:     judDes.Deskripsi,
diff --git a/src/module/pendaftaran_sidsem/internal/usecase/repository.go b/src/module/pendaftaran_sidsem/internal/usecase/repository.go
index f649d16..c4caf27 100644
--- a/src/module/pendaftaran_sidsem/internal/usecase/repository.go
+++ b/src/module/pendaftaran_sidsem/internal/usecase/repository.go
@@ -24,7 +24,7 @@ type PendaftaranSidSemRepository interface {
 	IsRegisteredSidsem(idMahasiswa string, tipe string) (string, error)
 	GetInfoTopikMahasiswa(idMahasiswa string) (entity.InfoTopikMahasiswa, error)
 	GetRemainingDetailSidSem(idMahasiswa string) (entity.RemainingDetailSidSem, error)
-	GetDosujiNamePlaceholder(idSidsem string) ([]entity.DosbingName, error)
+	GetDosujiNamePlaceholder(idSidsem string) ([]entity.Dosuji, error)
 	GetSidSemJudDes(idSidsem string) (entity.TipeJudulDesc, error)
 	GetSidSemBerkas(idSidsem string) ([]entity.BerkasSidSem, error)
 	GetRuanganName(idSidsem string) (string, error)
-- 
GitLab