dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/dtos/transmissionrecord.go (about) 1 // 2 // Copyright (C) 2021 IOTech Ltd 3 // 4 // SPDX-License-Identifier: Apache-2.0 5 6 package dtos 7 8 import ( 9 "encoding/json" 10 11 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/models" 12 ) 13 14 type TransmissionRecord struct { 15 Status string `json:"status,omitempty" validate:"omitempty,oneof='ACKNOWLEDGED' 'FAILED' 'SENT' 'ESCALATED'"` 16 Response string `json:"response,omitempty"` 17 Sent int64 `json:"sent,omitempty"` 18 } 19 20 // String returns a JSON encoded string representation of the object 21 func (tr TransmissionRecord) String() string { 22 out, err := json.Marshal(tr) 23 if err != nil { 24 return err.Error() 25 } 26 return string(out) 27 } 28 29 // ToTransmissionRecordModel transforms a TransmissionRecord DTO to a TransmissionRecord Model 30 func ToTransmissionRecordModel(tr TransmissionRecord) models.TransmissionRecord { 31 var m models.TransmissionRecord 32 m.Status = models.TransmissionStatus(tr.Status) 33 m.Response = tr.Response 34 m.Sent = tr.Sent 35 return m 36 } 37 38 // ToTransmissionRecordModels transforms a TransmissionRecord DTO array to a TransmissionRecord model array 39 func ToTransmissionRecordModels(trs []TransmissionRecord) []models.TransmissionRecord { 40 models := make([]models.TransmissionRecord, len(trs)) 41 for i, tr := range trs { 42 models[i] = ToTransmissionRecordModel(tr) 43 } 44 return models 45 } 46 47 // FromTransmissionRecordModelToDTO transforms a TransmissionRecord Model to a TransmissionRecord DTO 48 func FromTransmissionRecordModelToDTO(tr models.TransmissionRecord) TransmissionRecord { 49 return TransmissionRecord{ 50 Status: string(tr.Status), 51 Response: tr.Response, 52 Sent: tr.Sent, 53 } 54 } 55 56 // FromTransmissionRecordModelsToDTOs transforms a TransmissionRecord model array to a TransmissionRecord DTO array 57 func FromTransmissionRecordModelsToDTOs(trs []models.TransmissionRecord) []TransmissionRecord { 58 dtos := make([]TransmissionRecord, len(trs)) 59 for i, tr := range trs { 60 dtos[i] = FromTransmissionRecordModelToDTO(tr) 61 } 62 return dtos 63 }