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  }