mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 21:41:55 +00:00
fix[BE]: fix naming on project_flock_kandang dto to standarized project
This commit is contained in:
+46
-48
@@ -16,11 +16,13 @@ import (
|
||||
userDTO "gitlab.com/mbugroup/lti-api.git/internal/modules/users/dto"
|
||||
)
|
||||
|
||||
// === DTO Structs (ordered) ===
|
||||
|
||||
type ProjectFlockKandangBaseDTO struct {
|
||||
Id uint `json:"id"`
|
||||
}
|
||||
|
||||
type ProjectFlockCustomDTO struct {
|
||||
type ProjectFlockDTO struct {
|
||||
Id uint `json:"id"`
|
||||
Period int `json:"period"`
|
||||
Flock *flockDTO.FlockBaseDTO `json:"flock,omitempty"`
|
||||
@@ -33,7 +35,7 @@ type ProjectFlockCustomDTO struct {
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
type KandangCustomDTO struct {
|
||||
type KandangDTO struct {
|
||||
Id uint `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Status string `json:"status"`
|
||||
@@ -52,8 +54,8 @@ type AvailableQtyDTO struct {
|
||||
|
||||
type ProjectFlockKandangListDTO struct {
|
||||
ProjectFlockKandangBaseDTO
|
||||
ProjectFlock *ProjectFlockCustomDTO `json:"project_flock,omitempty"`
|
||||
Kandang *KandangCustomDTO `json:"kandang,omitempty"`
|
||||
ProjectFlock *ProjectFlockDTO `json:"project_flock,omitempty"`
|
||||
Kandang *KandangDTO `json:"kandang,omitempty"`
|
||||
Chickins []chickinDTO.ChickinBaseDTO `json:"chickins,omitempty"`
|
||||
AvailableQtys []AvailableQtyDTO `json:"available_qtys,omitempty"`
|
||||
CreatedUser *userDTO.UserBaseDTO `json:"created_user,omitempty"`
|
||||
@@ -65,18 +67,20 @@ type ProjectFlockKandangDetailDTO struct {
|
||||
ProjectFlockKandangListDTO
|
||||
}
|
||||
|
||||
// === Mapper Functions (ordered) ===
|
||||
|
||||
func ToProjectFlockKandangBaseDTO(e entity.ProjectFlockKandang) ProjectFlockKandangBaseDTO {
|
||||
return ProjectFlockKandangBaseDTO{
|
||||
Id: e.Id,
|
||||
}
|
||||
}
|
||||
|
||||
func toProjectFlockCustomDTO(pf *projectFlockDTO.ProjectFlockListDTO) *ProjectFlockCustomDTO {
|
||||
func toProjectFlockDTO(pf *projectFlockDTO.ProjectFlockListDTO) *ProjectFlockDTO {
|
||||
if pf == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &ProjectFlockCustomDTO{
|
||||
return &ProjectFlockDTO{
|
||||
Id: pf.Id,
|
||||
Period: pf.Period,
|
||||
Flock: pf.Flock,
|
||||
@@ -99,28 +103,32 @@ func ToProjectFlockKandangListDTOWithAvailableQty(e entity.ProjectFlockKandang,
|
||||
|
||||
return ProjectFlockKandangListDTO{
|
||||
ProjectFlockKandangBaseDTO: ToProjectFlockKandangBaseDTO(e),
|
||||
ProjectFlock: toProjectFlockCustomDTO(projectFlockSummary),
|
||||
Kandang: buildKandangFromEntity(e.Kandang),
|
||||
Chickins: buildChickins(e.Chickins),
|
||||
AvailableQtys: buildAvailableQtysFromRaw(availableQtysRaw),
|
||||
ProjectFlock: toProjectFlockDTO(projectFlockSummary),
|
||||
Kandang: toKandangDTO(e.Kandang),
|
||||
Chickins: toChickinDTOs(e.Chickins),
|
||||
AvailableQtys: toAvailableQtyDTOsFromRaw(availableQtysRaw),
|
||||
CreatedAt: e.CreatedAt,
|
||||
CreatedUser: buildCreatedUser(e.ProjectFlock),
|
||||
Approval: defaultProjectFlockKandangLatestApproval(e),
|
||||
CreatedUser: toCreatedUserDTO(e.ProjectFlock),
|
||||
Approval: toApprovalDTO(e),
|
||||
}
|
||||
}
|
||||
|
||||
func toKandangCustomDTO(k projectFlockDTO.KandangWithProjectFlockIdDTO) KandangCustomDTO {
|
||||
return KandangCustomDTO{
|
||||
Id: k.Id,
|
||||
Name: k.Name,
|
||||
Status: k.Status,
|
||||
func toKandangDTO(kandang entity.Kandang) *KandangDTO {
|
||||
if kandang.Id == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &KandangDTO{
|
||||
Id: kandang.Id,
|
||||
Name: kandang.Name,
|
||||
Status: kandang.Status,
|
||||
}
|
||||
}
|
||||
|
||||
func defaultProjectFlockKandangLatestApproval(e entity.ProjectFlockKandang) *approvalDTO.ApprovalBaseDTO {
|
||||
func toApprovalDTO(e entity.ProjectFlockKandang) *approvalDTO.ApprovalBaseDTO {
|
||||
if e.LatestApproval != nil {
|
||||
result := approvalDTO.ToApprovalDTO(*e.LatestApproval)
|
||||
return &result
|
||||
mapped := approvalDTO.ToApprovalDTO(*e.LatestApproval)
|
||||
return &mapped
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -134,13 +142,13 @@ func ToProjectFlockKandangListDTO(e entity.ProjectFlockKandang) ProjectFlockKand
|
||||
|
||||
return ProjectFlockKandangListDTO{
|
||||
ProjectFlockKandangBaseDTO: ToProjectFlockKandangBaseDTO(e),
|
||||
ProjectFlock: toProjectFlockCustomDTO(projectFlockSummary),
|
||||
Kandang: buildKandangFromEntity(e.Kandang),
|
||||
Chickins: buildChickins(e.Chickins),
|
||||
AvailableQtys: buildAvailableQtys(e.Chickins),
|
||||
ProjectFlock: toProjectFlockDTO(projectFlockSummary),
|
||||
Kandang: toKandangDTO(e.Kandang),
|
||||
Chickins: toChickinDTOs(e.Chickins),
|
||||
AvailableQtys: toAvailableQtyDTOs(e.Chickins),
|
||||
CreatedAt: e.CreatedAt,
|
||||
CreatedUser: buildCreatedUser(e.ProjectFlock),
|
||||
Approval: defaultProjectFlockKandangLatestApproval(e),
|
||||
CreatedUser: toCreatedUserDTO(e.ProjectFlock),
|
||||
Approval: toApprovalDTO(e),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,7 +166,9 @@ func ToProjectFlockKandangDetailDTO(e entity.ProjectFlockKandang) ProjectFlockKa
|
||||
}
|
||||
}
|
||||
|
||||
func buildProductWarehouseFromMap(pwData map[string]interface{}) *ProductWarehouseDTO {
|
||||
// === Helper Functions (ordered) ===
|
||||
|
||||
func toProductWarehouseDTO(pwData map[string]interface{}) *ProductWarehouseDTO {
|
||||
if pwData == nil {
|
||||
return nil
|
||||
}
|
||||
@@ -172,17 +182,17 @@ func buildProductWarehouseFromMap(pwData map[string]interface{}) *ProductWarehou
|
||||
}
|
||||
|
||||
if pData, ok := pwData["product"].(map[string]interface{}); ok {
|
||||
dto.Product = buildProductFromMap(pData)
|
||||
dto.Product = toProductDTO(pData)
|
||||
}
|
||||
|
||||
if wData, ok := pwData["warehouse"].(map[string]interface{}); ok {
|
||||
dto.Warehouse = buildWarehouseFromMap(wData)
|
||||
dto.Warehouse = toWarehouseDTO(wData)
|
||||
}
|
||||
|
||||
return dto
|
||||
}
|
||||
|
||||
func buildProductFromMap(pData map[string]interface{}) *productDTO.ProductBaseDTO {
|
||||
func toProductDTO(pData map[string]interface{}) *productDTO.ProductBaseDTO {
|
||||
if pData == nil {
|
||||
return nil
|
||||
}
|
||||
@@ -199,7 +209,7 @@ func buildProductFromMap(pData map[string]interface{}) *productDTO.ProductBaseDT
|
||||
return product
|
||||
}
|
||||
|
||||
func buildWarehouseFromMap(wData map[string]interface{}) *warehouseDTO.WarehouseBaseDTO {
|
||||
func toWarehouseDTO(wData map[string]interface{}) *warehouseDTO.WarehouseBaseDTO {
|
||||
if wData == nil {
|
||||
return nil
|
||||
}
|
||||
@@ -219,7 +229,7 @@ func buildWarehouseFromMap(wData map[string]interface{}) *warehouseDTO.Warehouse
|
||||
return warehouse
|
||||
}
|
||||
|
||||
func buildCreatedUser(pf entity.ProjectFlock) *userDTO.UserBaseDTO {
|
||||
func toCreatedUserDTO(pf entity.ProjectFlock) *userDTO.UserBaseDTO {
|
||||
if pf.CreatedUser.Id != 0 {
|
||||
mapped := userDTO.ToUserBaseDTO(pf.CreatedUser)
|
||||
return &mapped
|
||||
@@ -232,19 +242,7 @@ func buildCreatedUser(pf entity.ProjectFlock) *userDTO.UserBaseDTO {
|
||||
return nil
|
||||
}
|
||||
|
||||
func buildKandangFromEntity(kandang entity.Kandang) *KandangCustomDTO {
|
||||
if kandang.Id == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &KandangCustomDTO{
|
||||
Id: kandang.Id,
|
||||
Name: kandang.Name,
|
||||
Status: kandang.Status,
|
||||
}
|
||||
}
|
||||
|
||||
func buildChickins(chickins []entity.ProjectChickin) []chickinDTO.ChickinBaseDTO {
|
||||
func toChickinDTOs(chickins []entity.ProjectChickin) []chickinDTO.ChickinBaseDTO {
|
||||
if len(chickins) == 0 {
|
||||
return nil
|
||||
}
|
||||
@@ -256,7 +254,7 @@ func buildChickins(chickins []entity.ProjectChickin) []chickinDTO.ChickinBaseDTO
|
||||
return result
|
||||
}
|
||||
|
||||
func buildAvailableQtys(chickins []entity.ProjectChickin) []AvailableQtyDTO {
|
||||
func toAvailableQtyDTOs(chickins []entity.ProjectChickin) []AvailableQtyDTO {
|
||||
if len(chickins) == 0 {
|
||||
return nil
|
||||
}
|
||||
@@ -306,7 +304,7 @@ func buildAvailableQtys(chickins []entity.ProjectChickin) []AvailableQtyDTO {
|
||||
return result
|
||||
}
|
||||
|
||||
func buildAvailableQtysFromRaw(availableQtysRaw []map[string]interface{}) []AvailableQtyDTO {
|
||||
func toAvailableQtyDTOsFromRaw(availableQtysRaw []map[string]interface{}) []AvailableQtyDTO {
|
||||
if len(availableQtysRaw) == 0 {
|
||||
return nil
|
||||
}
|
||||
@@ -318,7 +316,7 @@ func buildAvailableQtysFromRaw(availableQtysRaw []map[string]interface{}) []Avai
|
||||
continue
|
||||
}
|
||||
|
||||
pwDTO := buildProductWarehouseFromMap(pwData)
|
||||
pwDTO := toProductWarehouseDTO(pwData)
|
||||
availableQty := 0.0
|
||||
if qty, ok := v["available_qty"].(float64); ok {
|
||||
availableQty = qty
|
||||
|
||||
Reference in New Issue
Block a user