mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-24 15:25:43 +00:00
a0bdc7b23c
✅ DB Schema: product_warehouse entity and migration ✅ Master Data: added filter params to getall APIs 🚧 Pending: stock_logs implementation and adjustment APIs
65 lines
1.4 KiB
Go
65 lines
1.4 KiB
Go
package dto
|
|
|
|
import (
|
|
"time"
|
|
|
|
entity "gitlab.com/mbugroup/lti-api.git/internal/entities"
|
|
userDTO "gitlab.com/mbugroup/lti-api.git/internal/modules/users/dto"
|
|
)
|
|
|
|
// === DTO Structs ===
|
|
|
|
type AdjustmentBaseDTO struct {
|
|
Id uint `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type AdjustmentListDTO struct {
|
|
AdjustmentBaseDTO
|
|
CreatedUser *userDTO.UserBaseDTO `json:"created_user"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
type AdjustmentDetailDTO struct {
|
|
AdjustmentListDTO
|
|
}
|
|
|
|
// === Mapper Functions ===
|
|
|
|
func ToAdjustmentBaseDTO(e entity.Adjustment) AdjustmentBaseDTO {
|
|
return AdjustmentBaseDTO{
|
|
Id: e.Id,
|
|
Name: e.Name,
|
|
}
|
|
}
|
|
|
|
func ToAdjustmentListDTO(e entity.Adjustment) AdjustmentListDTO {
|
|
var createdUser *userDTO.UserBaseDTO
|
|
if e.CreatedUser.Id != 0 {
|
|
mapped := userDTO.ToUserBaseDTO(e.CreatedUser)
|
|
createdUser = &mapped
|
|
}
|
|
|
|
return AdjustmentListDTO{
|
|
AdjustmentBaseDTO: ToAdjustmentBaseDTO(e),
|
|
CreatedAt: e.CreatedAt,
|
|
UpdatedAt: e.UpdatedAt,
|
|
CreatedUser: createdUser,
|
|
}
|
|
}
|
|
|
|
func ToAdjustmentListDTOs(e []entity.Adjustment) []AdjustmentListDTO {
|
|
result := make([]AdjustmentListDTO, len(e))
|
|
for i, r := range e {
|
|
result[i] = ToAdjustmentListDTO(r)
|
|
}
|
|
return result
|
|
}
|
|
|
|
func ToAdjustmentDetailDTO(e entity.Adjustment) AdjustmentDetailDTO {
|
|
return AdjustmentDetailDTO{
|
|
AdjustmentListDTO: ToAdjustmentListDTO(e),
|
|
}
|
|
}
|