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  }