feat[BE-127]: create available qty API and inisiate sales order and delivery order

This commit is contained in:
aguhh18
2025-11-07 13:24:48 +07:00
parent ba12320d12
commit 6e69e97d26
24 changed files with 695 additions and 68 deletions
@@ -0,0 +1,64 @@
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 SalesOrdersBaseDTO struct {
Id uint `json:"id"`
Name string `json:"name"`
}
type SalesOrdersListDTO struct {
SalesOrdersBaseDTO
CreatedUser *userDTO.UserBaseDTO `json:"created_user"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type SalesOrdersDetailDTO struct {
SalesOrdersListDTO
}
// === Mapper Functions ===
func ToSalesOrdersBaseDTO(e entity.SalesOrders) SalesOrdersBaseDTO {
return SalesOrdersBaseDTO{
Id: e.Id,
Name: e.Name,
}
}
func ToSalesOrdersListDTO(e entity.SalesOrders) SalesOrdersListDTO {
var createdUser *userDTO.UserBaseDTO
if e.CreatedUser.Id != 0 {
mapped := userDTO.ToUserBaseDTO(e.CreatedUser)
createdUser = &mapped
}
return SalesOrdersListDTO{
SalesOrdersBaseDTO: ToSalesOrdersBaseDTO(e),
CreatedAt: e.CreatedAt,
UpdatedAt: e.UpdatedAt,
CreatedUser: createdUser,
}
}
func ToSalesOrdersListDTOs(e []entity.SalesOrders) []SalesOrdersListDTO {
result := make([]SalesOrdersListDTO, len(e))
for i, r := range e {
result[i] = ToSalesOrdersListDTO(r)
}
return result
}
func ToSalesOrdersDetailDTO(e entity.SalesOrders) SalesOrdersDetailDTO {
return SalesOrdersDetailDTO{
SalesOrdersListDTO: ToSalesOrdersListDTO(e),
}
}