dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/dtos/resourceoperation.go (about)

     1  //
     2  // Copyright (C) 2020-2021 IOTech Ltd
     3  //
     4  // SPDX-License-Identifier: Apache-2.0
     5  
     6  package dtos
     7  
     8  import "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/models"
     9  
    10  type ResourceOperation struct {
    11  	DeviceResource string            `json:"deviceResource" yaml:"deviceResource" validate:"required"` // The replacement of Object field
    12  	DefaultValue   string            `json:"defaultValue" yaml:"defaultValue"`
    13  	Mappings       map[string]string `json:"mappings" yaml:"mappings"`
    14  }
    15  
    16  // ToResourceOperationModel transforms the ResourceOperation DTO to the ResourceOperation model
    17  func ToResourceOperationModel(ro ResourceOperation) models.ResourceOperation {
    18  	return models.ResourceOperation{
    19  		DeviceResource: ro.DeviceResource,
    20  		DefaultValue:   ro.DefaultValue,
    21  		Mappings:       ro.Mappings,
    22  	}
    23  }
    24  
    25  // FromResourceOperationModelToDTO transforms the ResourceOperation model to the ResourceOperation DTO
    26  func FromResourceOperationModelToDTO(ro models.ResourceOperation) ResourceOperation {
    27  	return ResourceOperation{
    28  		DeviceResource: ro.DeviceResource,
    29  		DefaultValue:   ro.DefaultValue,
    30  		Mappings:       ro.Mappings,
    31  	}
    32  }
    33  
    34  func ToResourceOperationModels(dtos []ResourceOperation) []models.ResourceOperation {
    35  	resourceOperations := make([]models.ResourceOperation, len(dtos))
    36  	for i, ro := range dtos {
    37  		resourceOperations[i] = ToResourceOperationModel(ro)
    38  	}
    39  	return resourceOperations
    40  }