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