dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/clients/http/application.go (about) 1 package http 2 3 import ( 4 "context" 5 "net/url" 6 "strconv" 7 "strings" 8 9 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/clients/http/utils" 10 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/clients/interfaces" 11 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/common" 12 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/responses" 13 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/errors" 14 ) 15 16 type ApplicationClient struct { 17 baseUrl string 18 authInjector interfaces.AuthenticationInjector 19 } 20 21 // NewApplicationClient creates an instance of ApplicationClient 22 func NewApplicationClient(baseUrl string, authInjector interfaces.AuthenticationInjector) interfaces.ApplicationClient { 23 return &ApplicationClient{ 24 baseUrl: baseUrl, 25 authInjector: authInjector, 26 } 27 } 28 29 func (dc ApplicationClient) AllApplications(ctx context.Context, labels []string, offset int, limit int) (res responses.MultiApplicationsResponse, err errors.EdgeX) { 30 requestParams := url.Values{} 31 if len(labels) > 0 { 32 requestParams.Set(common.Labels, strings.Join(labels, common.CommaSeparator)) 33 } 34 requestParams.Set(common.Offset, strconv.Itoa(offset)) 35 requestParams.Set(common.Limit, strconv.Itoa(limit)) 36 err = utils.GetRequest(ctx, &res, dc.baseUrl, common.ApiAllApplicationRoute, requestParams, dc.authInjector) 37 if err != nil { 38 return res, errors.NewCommonEdgeXWrapper(err) 39 } 40 return res, nil 41 }