dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/clients/http/deviceservicecallback.go (about)

     1  //
     2  // Copyright (C) 2020-2023 IOTech Ltd
     3  // Copyright (C) 2023 Intel Corporation
     4  //
     5  // SPDX-License-Identifier: Apache-2.0
     6  
     7  package http
     8  
     9  import (
    10  	"context"
    11  	"path"
    12  
    13  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/clients/http/utils"
    14  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/clients/interfaces"
    15  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/common"
    16  	dtoCommon "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/common"
    17  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/requests"
    18  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/errors"
    19  )
    20  
    21  type deviceServiceCallbackClient struct {
    22  	baseUrl               string
    23  	authInjector          interfaces.AuthenticationInjector
    24  	enableNameFieldEscape bool
    25  }
    26  
    27  // NewDeviceServiceCallbackClient creates an instance of deviceServiceCallbackClient
    28  func NewDeviceServiceCallbackClient(baseUrl string, authInjector interfaces.AuthenticationInjector, enableNameFieldEscape bool) interfaces.DeviceServiceCallbackClient {
    29  	return &deviceServiceCallbackClient{
    30  		baseUrl:               baseUrl,
    31  		authInjector:          authInjector,
    32  		enableNameFieldEscape: enableNameFieldEscape,
    33  	}
    34  }
    35  
    36  func (client *deviceServiceCallbackClient) AddDeviceCallback(ctx context.Context, request requests.AddDeviceRequest) (dtoCommon.BaseResponse, errors.EdgeX) {
    37  	var response dtoCommon.BaseResponse
    38  	err := utils.PostRequestWithRawData(ctx, &response, client.baseUrl, common.ApiDeviceCallbackRoute, nil, request, client.authInjector)
    39  	if err != nil {
    40  		return response, errors.NewCommonEdgeXWrapper(err)
    41  	}
    42  	return response, nil
    43  }
    44  
    45  func (client *deviceServiceCallbackClient) ValidateDeviceCallback(ctx context.Context, request requests.AddDeviceRequest) (dtoCommon.BaseResponse, errors.EdgeX) {
    46  	var response dtoCommon.BaseResponse
    47  	err := utils.PostRequestWithRawData(ctx, &response, client.baseUrl, common.ApiDeviceValidationRoute, nil, request, client.authInjector)
    48  	if err != nil {
    49  		return response, errors.NewCommonEdgeXWrapper(err)
    50  	}
    51  	return response, nil
    52  }
    53  
    54  func (client *deviceServiceCallbackClient) UpdateDeviceCallback(ctx context.Context, request requests.UpdateDeviceRequest) (dtoCommon.BaseResponse, errors.EdgeX) {
    55  	var response dtoCommon.BaseResponse
    56  	err := utils.PutRequest(ctx, &response, client.baseUrl, common.ApiDeviceCallbackRoute, nil, request, client.authInjector)
    57  	if err != nil {
    58  		return response, errors.NewCommonEdgeXWrapper(err)
    59  	}
    60  	return response, nil
    61  }
    62  
    63  func (client *deviceServiceCallbackClient) DeleteDeviceCallback(ctx context.Context, name string) (dtoCommon.BaseResponse, errors.EdgeX) {
    64  	var response dtoCommon.BaseResponse
    65  	requestPath := path.Join(common.ApiDeviceCallbackRoute, common.Name, name)
    66  	err := utils.DeleteRequest(ctx, &response, client.baseUrl, requestPath, client.authInjector)
    67  	if err != nil {
    68  		return response, errors.NewCommonEdgeXWrapper(err)
    69  	}
    70  	return response, nil
    71  }
    72  
    73  func (client *deviceServiceCallbackClient) UpdateDeviceProfileCallback(ctx context.Context, request requests.DeviceProfileRequest) (dtoCommon.BaseResponse, errors.EdgeX) {
    74  	var response dtoCommon.BaseResponse
    75  	err := utils.PutRequest(ctx, &response, client.baseUrl, common.ApiProfileCallbackRoute, nil, request, client.authInjector)
    76  	if err != nil {
    77  		return response, errors.NewCommonEdgeXWrapper(err)
    78  	}
    79  	return response, nil
    80  }
    81  
    82  func (client *deviceServiceCallbackClient) AddProvisionWatcherCallback(ctx context.Context, request requests.AddProvisionWatcherRequest) (dtoCommon.BaseResponse, errors.EdgeX) {
    83  	var response dtoCommon.BaseResponse
    84  	err := utils.PostRequestWithRawData(ctx, &response, client.baseUrl, common.ApiWatcherCallbackRoute, nil, request, client.authInjector)
    85  	if err != nil {
    86  		return response, errors.NewCommonEdgeXWrapper(err)
    87  	}
    88  	return response, nil
    89  }
    90  
    91  func (client *deviceServiceCallbackClient) UpdateProvisionWatcherCallback(ctx context.Context, request requests.UpdateProvisionWatcherRequest) (dtoCommon.BaseResponse, errors.EdgeX) {
    92  	var response dtoCommon.BaseResponse
    93  	err := utils.PutRequest(ctx, &response, client.baseUrl, common.ApiWatcherCallbackRoute, nil, request, client.authInjector)
    94  	if err != nil {
    95  		return response, errors.NewCommonEdgeXWrapper(err)
    96  	}
    97  	return response, nil
    98  }
    99  
   100  func (client *deviceServiceCallbackClient) DeleteProvisionWatcherCallback(ctx context.Context, name string) (dtoCommon.BaseResponse, errors.EdgeX) {
   101  	var response dtoCommon.BaseResponse
   102  	requestPath := common.NewPathBuilder().EnableNameFieldEscape(client.enableNameFieldEscape).
   103  		SetPath(common.ApiWatcherCallbackRoute).SetPath(common.Name).SetNameFieldPath(name).BuildPath()
   104  	err := utils.DeleteRequest(ctx, &response, client.baseUrl, requestPath, client.authInjector)
   105  	if err != nil {
   106  		return response, errors.NewCommonEdgeXWrapper(err)
   107  	}
   108  	return response, nil
   109  }
   110  
   111  func (client *deviceServiceCallbackClient) UpdateDeviceServiceCallback(ctx context.Context, request requests.UpdateDeviceServiceRequest) (dtoCommon.BaseResponse, errors.EdgeX) {
   112  	var response dtoCommon.BaseResponse
   113  	err := utils.PutRequest(ctx, &response, client.baseUrl, common.ApiServiceCallbackRoute, nil, request, client.authInjector)
   114  	if err != nil {
   115  		return response, errors.NewCommonEdgeXWrapper(err)
   116  	}
   117  	return response, nil
   118  }