dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/dtos/autoevent.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 ( 9 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/models" 10 ) 11 12 type AutoEvent struct { 13 Interval string `json:"interval" yaml:"interval" validate:"required,edgex-dto-duration"` 14 OnChange bool `json:"onChange" yaml:"onChange"` 15 SourceName string `json:"sourceName" yaml:"sourceName" validate:"required"` 16 } 17 18 // ToAutoEventModel transforms the AutoEvent DTO to the AutoEvent model 19 func ToAutoEventModel(a AutoEvent) models.AutoEvent { 20 return models.AutoEvent{ 21 Interval: a.Interval, 22 OnChange: a.OnChange, 23 SourceName: a.SourceName, 24 } 25 } 26 27 // ToAutoEventModels transforms the AutoEvent DTO array to the AutoEvent model array 28 func ToAutoEventModels(autoEventDTOs []AutoEvent) []models.AutoEvent { 29 autoEventModels := make([]models.AutoEvent, len(autoEventDTOs)) 30 for i, a := range autoEventDTOs { 31 autoEventModels[i] = ToAutoEventModel(a) 32 } 33 return autoEventModels 34 } 35 36 // FromAutoEventModelToDTO transforms the AutoEvent model to the AutoEvent DTO 37 func FromAutoEventModelToDTO(a models.AutoEvent) AutoEvent { 38 return AutoEvent{ 39 Interval: a.Interval, 40 OnChange: a.OnChange, 41 SourceName: a.SourceName, 42 } 43 } 44 45 // FromAutoEventModelsToDTOs transforms the AutoEvent model array to the AutoEvent DTO array 46 func FromAutoEventModelsToDTOs(autoEvents []models.AutoEvent) []AutoEvent { 47 dtos := make([]AutoEvent, len(autoEvents)) 48 for i, a := range autoEvents { 49 dtos[i] = FromAutoEventModelToDTO(a) 50 } 51 return dtos 52 }