package dto import ( entity "gitlab.com/mbugroup/lti-api.git/internal/entities" uomDTO "gitlab.com/mbugroup/lti-api.git/internal/modules/master/uoms/dto" ) // === DTO Structs === type SupplierNonstockDTO struct { Id uint `json:"id"` Name string `json:"name"` Price float64 `json:"price"` Uom *uomDTO.UomRelationDTO `json:"uom,omitempty"` Flags []string `json:"flags"` } // === Mapper Functions === func toSupplierNonstockDTOs(relations []entity.NonstockSupplier) []SupplierNonstockDTO { if len(relations) == 0 { return nil } result := make([]SupplierNonstockDTO, 0, len(relations)) for _, relation := range relations { Nonstock := relation.Nonstock if Nonstock.Id == 0 { continue } flags := make([]string, len(Nonstock.Flags)) for i, f := range Nonstock.Flags { flags[i] = f.Name } var uomRef *uomDTO.UomRelationDTO if Nonstock.Uom.Id != 0 { mapped := uomDTO.ToUomRelationDTO(Nonstock.Uom) uomRef = &mapped } result = append(result, SupplierNonstockDTO{ Id: Nonstock.Id, Name: Nonstock.Name, Price: relation.Price, Uom: uomRef, Flags: flags, }) } return result }