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 }