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 }