From 1b553537125d5bff2283e314966d8e4ce0e41f7d Mon Sep 17 00:00:00 2001 From: arieljovananda88 <jovanandaa@gmail.com> Date: Mon, 27 May 2024 09:17:00 +0700 Subject: [PATCH] feat: get multilple dosuji names --- .../pendaftaran_sidsem/entity/pendaftaran_sidsem.go | 2 +- .../internal/repository/pendaftaran_sidsem.go | 6 +++--- .../internal/usecase/pendaftaran_sidsem.go | 10 +++++++--- .../pendaftaran_sidsem/internal/usecase/repository.go | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/module/pendaftaran_sidsem/entity/pendaftaran_sidsem.go b/src/module/pendaftaran_sidsem/entity/pendaftaran_sidsem.go index b5d63ab..5aac01a 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 []string `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 a1462a2..8390dea 100644 --- a/src/module/pendaftaran_sidsem/internal/repository/pendaftaran_sidsem.go +++ b/src/module/pendaftaran_sidsem/internal/repository/pendaftaran_sidsem.go @@ -550,13 +550,13 @@ 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.DosbingName, error) { + var dosbingName []entity.DosbingName 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 = ?` if err := repo.DBRead.Raw(query, idSidsem).Scan(&dosbingName).Error; err != nil { - return entity.DosbingName{}, err + return []entity.DosbingName{}, err } return dosbingName, nil diff --git a/src/module/pendaftaran_sidsem/internal/usecase/pendaftaran_sidsem.go b/src/module/pendaftaran_sidsem/internal/usecase/pendaftaran_sidsem.go index 5cbeb7e..4beb95d 100644 --- a/src/module/pendaftaran_sidsem/internal/usecase/pendaftaran_sidsem.go +++ b/src/module/pendaftaran_sidsem/internal/usecase/pendaftaran_sidsem.go @@ -214,11 +214,16 @@ func (uc *PendaftaranSidSemUc) GetSidSemDetailTA(idSidsem string) (entity.Detail return entity.DetailSidSemTA{}, err } - dosujiName, err := uc.pendaftaransidsemrepo.GetDosujiNamePlaceholder(idSidsem) + dosujiNames, err := uc.pendaftaransidsemrepo.GetDosujiNamePlaceholder(idSidsem) if err != nil { 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 @@ -242,14 +247,13 @@ func (uc *PendaftaranSidSemUc) GetSidSemDetailTA(idSidsem string) (entity.Detail return entity.DetailSidSemTA{}, err } } - detailSidsemTA := entity.DetailSidSemTA{ IDMahasiswa: infoTopik.IDMahasiswa, Nama: infoTopik.Nama, Email: infoTopik.Email, JalurPilihan: infoTopik.JalurPilihan, DosbingName: dosbingName.Nama, - DosujiName: dosujiName.Nama, + DosujiName: dosujiNameList, 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 e0e6d57..f649d16 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.DosbingName, error) GetSidSemJudDes(idSidsem string) (entity.TipeJudulDesc, error) GetSidSemBerkas(idSidsem string) ([]entity.BerkasSidSem, error) GetRuanganName(idSidsem string) (string, error) -- GitLab