dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/dtos/protocolproperties.go (about) 1 // 2 // Copyright (C) 2020-2023 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 // ProtocolProperties contains the device connection information in key/value pair 11 type ProtocolProperties map[string]any 12 13 // ToProtocolPropertiesModel transforms the ProtocolProperties DTO to the ProtocolProperties model 14 func ToProtocolPropertiesModel(p ProtocolProperties) models.ProtocolProperties { 15 protocolProperties := make(models.ProtocolProperties) 16 for k, v := range p { 17 protocolProperties[k] = v 18 } 19 return protocolProperties 20 } 21 22 // ToProtocolModels transforms the Protocol DTO map to the Protocol model map 23 func ToProtocolModels(protocolDTOs map[string]ProtocolProperties) map[string]models.ProtocolProperties { 24 protocolModels := make(map[string]models.ProtocolProperties) 25 // Foreach the ProtocolProperties and copy values directly because the data type is map[string]string 26 for k, protocolProperties := range protocolDTOs { 27 protocolModels[k] = ToProtocolPropertiesModel(protocolProperties) 28 } 29 return protocolModels 30 } 31 32 // FromProtocolPropertiesModelToDTO transforms the ProtocolProperties model to the ProtocolProperties DTO 33 func FromProtocolPropertiesModelToDTO(p models.ProtocolProperties) ProtocolProperties { 34 dto := make(ProtocolProperties) 35 // Foreach the ProtocolProperties and copy values directly because the data type is map[string]string 36 for k, v := range p { 37 dto[k] = v 38 } 39 return dto 40 } 41 42 // FromProtocolModelsToDTOs transforms the Protocol model map to the Protocol DTO map 43 func FromProtocolModelsToDTOs(protocolModels map[string]models.ProtocolProperties) map[string]ProtocolProperties { 44 dtos := make(map[string]ProtocolProperties) 45 for k, protocolProperties := range protocolModels { 46 dtos[k] = FromProtocolPropertiesModelToDTO(protocolProperties) 47 } 48 return dtos 49 }