dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/dtos/requests/link.go (about) 1 package requests 2 3 import ( 4 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos" 5 dtoCommon "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/common" 6 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/models" 7 ) 8 9 type LinkDeviceRequest struct { 10 dtoCommon.BaseRequest `json:",inline"` 11 Link dtos.Link `json:"link"` 12 } 13 14 // AddDeviceReqToDeviceModels transforms the AddDeviceRequest DTO array to the Device model array 15 func LinkDeviceReqToLinkModels(addRequests LinkDeviceRequest) (Link models.Link) { 16 Link = dtos.ToLinkModel(addRequests.Link) 17 return Link 18 } 19 20 type UpdateLinkRequest struct { 21 dtoCommon.BaseRequest `json:",inline"` 22 Link dtos.UpdateLink `json:"link"` 23 } 24 25 func ReplaceLinkModelFieldsWithDTO(link *models.Link, patch dtos.UpdateLink) { 26 27 if patch.DeviceId != "" { 28 link.DeviceId = patch.DeviceId 29 } 30 if patch.TargetId != "" { 31 link.TargetId = patch.TargetId 32 } 33 if len(patch.Properties) > 0 { 34 link.Properties = patch.Properties 35 } 36 37 }