From 0abdc2ae6f864ab4d1d37db163e567d7971447eb Mon Sep 17 00:00:00 2001 From: Habib Fatkhul Rohman Date: Mon, 1 Dec 2025 11:51:13 +0700 Subject: [PATCH] feat: update QuarantineResponse and QuarantineLineResponse to use pkgdto.IdNameResponse for better structure --- modules/quarantine/dto/quarantine_dto.go | 55 +++++++++++------------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/modules/quarantine/dto/quarantine_dto.go b/modules/quarantine/dto/quarantine_dto.go index d15485e..8f69f4d 100644 --- a/modules/quarantine/dto/quarantine_dto.go +++ b/modules/quarantine/dto/quarantine_dto.go @@ -2,6 +2,7 @@ package dto import ( "github.com/Caknoooo/go-gin-clean-starter/database/entities" + pkgdto "github.com/Caknoooo/go-gin-clean-starter/pkg/dto" "github.com/Caknoooo/go-gin-clean-starter/pkg/utils" ) @@ -68,29 +69,26 @@ type QuarantineLineUpdateRequest struct { } type QuarantineResponse struct { - ID string `json:"id"` - DocumentNumber string `json:"document_number"` - DocumentDate string `json:"document_date"` - Status string `json:"status"` - WarehouseID string `json:"warehouse_id"` - ZonaID string `json:"zona_id"` - ClientID string `json:"client_id"` - Warehouse string `json:"warehouse"` - Zona string `json:"zona"` - Client string `json:"client"` - QuarantineLines []QuarantineLineResponse `json:"quarantine_lines,omitempty"` + ID string `json:"id"` + DocumentNumber string `json:"document_number"` + DocumentDate string `json:"document_date"` + Status string `json:"status"` + Warehouse pkgdto.IdNameResponse `json:"warehouse"` + Zona pkgdto.IdNameResponse `json:"zona"` + Client pkgdto.IdNameResponse `json:"client"` + // QuarantineLines []QuarantineLineResponse `json:"quarantine_lines,omitempty"` } type QuarantineLineResponse struct { - ID string `json:"id"` - QuarantineID string `json:"quarantine_id"` - StorageID string `json:"storage_id"` - ProductID string `json:"product_id"` - ClientID string `json:"client_id"` - Product string `json:"product"` - Storage string `json:"storage"` - Quarantine string `json:"quarantine"` - Client string `json:"client"` + ID string `json:"id"` + QuarantineID string `json:"quarantine_id"` + StorageID string `json:"storage_id"` + ProductID string `json:"product_id"` + ClientID string `json:"client_id"` + Product pkgdto.IdNameResponse `json:"product"` + Storage pkgdto.IdNameResponse `json:"storage"` + Quarantine pkgdto.IdNameResponse `json:"quarantine"` + Client pkgdto.IdNameResponse `json:"client"` } func MapQuarantineToResponse(entity entities.TInventoryQuarantineEntity, lines []entities.TInventoryQuarantineLineEntity) QuarantineResponse { @@ -99,12 +97,9 @@ func MapQuarantineToResponse(entity entities.TInventoryQuarantineEntity, lines [ DocumentNumber: entity.DocumentNumber, DocumentDate: utils.DateTimeToString(entity.DocumentDate), Status: entity.Status, - WarehouseID: entity.WarehouseID.String(), - ZonaID: entity.ZonaID.String(), - ClientID: entity.ClientID.String(), - Warehouse: entity.Warehouse.Name, - Zona: entity.Zona.Name, - Client: entity.Client.Name, + Warehouse: pkgdto.IdNameResponse{ID: entity.WarehouseID.String(), Name: entity.Warehouse.Name}, + Zona: pkgdto.IdNameResponse{ID: entity.ZonaID.String(), Name: entity.Zona.Name}, + Client: pkgdto.IdNameResponse{ID: entity.ClientID.String(), Name: entity.Client.Name}, } return resp } @@ -116,10 +111,10 @@ func MapQuarantineLineToResponse(line entities.TInventoryQuarantineLineEntity) Q StorageID: line.StorageID.String(), ProductID: line.ProductID.String(), ClientID: line.ClientID.String(), - Product: line.Product.Name, - Storage: line.StorageID.String(), // gunakan StorageID, karena field Name tidak ada - Quarantine: line.Quarantine.DocumentNumber, - Client: line.Client.Name, + Product: pkgdto.IdNameResponse{ID: line.ProductID.String(), Name: line.Product.Name}, + Storage: pkgdto.IdNameResponse{ID: line.StorageID.String(), Name: "line.Storage.Name"}, + Quarantine: pkgdto.IdNameResponse{ID: line.QuarantineID.String(), Name: line.Quarantine.DocumentNumber}, + Client: pkgdto.IdNameResponse{ID: line.ClientID.String(), Name: line.Client.Name}, } }