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  }