dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/dtos/bulkoperation.go (about) 1 package dtos 2 3 import "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/models" 4 5 type BulkOperation struct { 6 DeviceProfiles []DeviceProfile `json:"deviceProfiles"` 7 Devices []Device `json:"devices"` 8 Application []Application `json:"applications"` 9 Relations []Link `json:"relations"` 10 } 11 12 func ToBulkOperationModel(dto BulkOperation, requestId string) models.BulkOperation { 13 14 model := models.BulkOperation{ 15 DeviceProfiles: nil, 16 Devices: nil, 17 Relations: nil, 18 Applications: nil, 19 RequestId: requestId, 20 } 21 if dto.DeviceProfiles != nil { 22 deviceProfiles := make([]models.DeviceProfile, len(dto.DeviceProfiles)) 23 for i, dp := range dto.DeviceProfiles { 24 deviceProfiles[i] = ToDeviceProfileModel(dp) 25 } 26 model.DeviceProfiles = deviceProfiles 27 } 28 if dto.Devices != nil { 29 devices := make([]models.Device, len(dto.Devices)) 30 for i, d := range dto.Devices { 31 devices[i] = ToDeviceModel(d) 32 } 33 model.Devices = devices 34 } 35 36 if dto.Relations != nil { 37 relations := make([]models.Link, len(dto.Relations)) 38 for i, r := range dto.Relations { 39 relations[i] = ToLinkModel(r) 40 // dereference Device and Target 41 if r.Device != nil { 42 relations[i].Device = ToDeviceModel(*r.Device) 43 } 44 if r.Target != nil { 45 relations[i].Target = ToDeviceModel(*r.Target) 46 } 47 } 48 model.Relations = relations 49 } 50 51 if dto.Application != nil { 52 applications := make([]models.Application, len(dto.Application)) 53 for i, a := range dto.Application { 54 applications[i] = ToApplicationModel(a) 55 } 56 model.Applications = applications 57 } 58 59 return model 60 } 61 62 func FromBulkOperationModelToDTO(bulk models.BulkOperation) BulkOperation { 63 return BulkOperation{} 64 }