From 1b1f641c2c048fb6bcf1e4a82e2a33f7246fa0d2 Mon Sep 17 00:00:00 2001 From: vanilia Date: Tue, 14 Oct 2025 13:35:48 +0700 Subject: [PATCH] revised lib and usecase update --- internal/domain/main-entities/internal-reference/dto.go | 3 ++- .../interface/main-handler/internal-reference/handler.go | 2 ++ .../use-case/main-use-case/internal-reference/case.go | 2 ++ .../use-case/main-use-case/internal-reference/helper.go | 9 --------- .../use-case/main-use-case/internal-reference/lib.go | 7 +++---- 5 files changed, 9 insertions(+), 14 deletions(-) diff --git a/internal/domain/main-entities/internal-reference/dto.go b/internal/domain/main-entities/internal-reference/dto.go index 5ac439b9..6c71e6f1 100644 --- a/internal/domain/main-entities/internal-reference/dto.go +++ b/internal/domain/main-entities/internal-reference/dto.go @@ -26,7 +26,8 @@ type FilterDto struct { } type ReadDetailDto struct { - Id uint16 `json:"id"` + Id uint16 `json:"id"` + Includes string `json:"includes"` } type UpdateDto struct { diff --git a/internal/interface/main-handler/internal-reference/handler.go b/internal/interface/main-handler/internal-reference/handler.go index 297cf357..c46c974d 100644 --- a/internal/interface/main-handler/internal-reference/handler.go +++ b/internal/interface/main-handler/internal-reference/handler.go @@ -36,7 +36,9 @@ func (obj myBase) GetDetail(w http.ResponseWriter, r *http.Request) { if id <= 0 { return } + dto := eir.ReadDetailDto{} + sf.UrlQueryParam(&dto, *r.URL) dto.Id = uint16(id) res, err := uir.ReadDetail(dto) rw.DataResponse(w, res, err) diff --git a/internal/use-case/main-use-case/internal-reference/case.go b/internal/use-case/main-use-case/internal-reference/case.go index 44bcd79e..a71699e2 100644 --- a/internal/use-case/main-use-case/internal-reference/case.go +++ b/internal/use-case/main-use-case/internal-reference/case.go @@ -152,6 +152,7 @@ func ReadDetail(input eir.ReadDetailDto) (*d.Data, error) { return err } + //input.Includes = "encounter,unit,doctor" if data, err = ReadDetailData(input, &event, tx); err != nil { return err } @@ -238,6 +239,7 @@ func Update(input eir.UpdateDto) (*d.Data, error) { } // Get Updated Data + rdDto.Includes = "encounter,unit,doctor" if data, err = ReadDetailData(rdDto, &event, tx); err != nil { return err } diff --git a/internal/use-case/main-use-case/internal-reference/helper.go b/internal/use-case/main-use-case/internal-reference/helper.go index 39dbe199..aaef382a 100644 --- a/internal/use-case/main-use-case/internal-reference/helper.go +++ b/internal/use-case/main-use-case/internal-reference/helper.go @@ -21,12 +21,3 @@ func setData[T *ir.CreateDto | *ir.UpdateDto](input T, data *ir.InternalReferenc data.Unit_Id = inputSrc.Unit_Id data.Doctor_Id = inputSrc.Doctor_Id } - -func setDataUpdate(src ir.UpdateDto, dst *ir.InternalReference) *ir.InternalReference { - return &ir.InternalReference{ - Main: dst.Main, - Encounter_Id: src.Encounter_Id, - Unit_Id: src.Unit_Id, - Doctor_Id: src.Doctor_Id, - } -} diff --git a/internal/use-case/main-use-case/internal-reference/lib.go b/internal/use-case/main-use-case/internal-reference/lib.go index 54b862ae..44db86c5 100644 --- a/internal/use-case/main-use-case/internal-reference/lib.go +++ b/internal/use-case/main-use-case/internal-reference/lib.go @@ -81,10 +81,8 @@ func ReadDetailData(input eir.ReadDetailDto, event *pl.Event, dbx ...*gorm.DB) ( tx = dg.I } - preload := "encounter,unit,doctor" - if err := tx. - Scopes(gh.Preload(preload)). + Scopes(gh.Preload(input.Includes)). First(&data, input.Id). Error; err != nil { @@ -99,7 +97,8 @@ func ReadDetailData(input eir.ReadDetailDto, event *pl.Event, dbx ...*gorm.DB) ( func UpdateData(input eir.UpdateDto, data *eir.InternalReference, event *pl.Event, dbx ...*gorm.DB) error { pl.SetLogInfo(event, data, "started", "DBUpdate") - data = setDataUpdate(input, data) + setData(&input, data) + //data = setDataUpdate(input, data) var tx *gorm.DB if len(dbx) > 0 {