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

     1  //
     2  // Copyright (C) 2021 IOTech Ltd
     3  //
     4  // SPDX-License-Identifier: Apache-2.0
     5  
     6  package interfaces
     7  
     8  import (
     9  	"context"
    10  
    11  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/common"
    12  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/requests"
    13  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/responses"
    14  	"dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/errors"
    15  )
    16  
    17  // SubscriptionClient defines the interface for interactions with the Subscription endpoint on the EdgeX Foundry support-notifications service.
    18  type SubscriptionClient interface {
    19  	// Add adds new subscriptions.
    20  	Add(ctx context.Context, reqs []requests.AddSubscriptionRequest) ([]common.BaseWithIdResponse, errors.EdgeX)
    21  	// Update updates subscriptions.
    22  	Update(ctx context.Context, reqs []requests.UpdateSubscriptionRequest) ([]common.BaseResponse, errors.EdgeX)
    23  	// AllSubscriptions queries subscriptions with offset and limit
    24  	AllSubscriptions(ctx context.Context, offset int, limit int) (responses.MultiSubscriptionsResponse, errors.EdgeX)
    25  	// SubscriptionsByCategory queries subscriptions with category, offset and limit
    26  	SubscriptionsByCategory(ctx context.Context, category string, offset int, limit int) (responses.MultiSubscriptionsResponse, errors.EdgeX)
    27  	// SubscriptionsByLabel queries subscriptions with label, offset and limit
    28  	SubscriptionsByLabel(ctx context.Context, label string, offset int, limit int) (responses.MultiSubscriptionsResponse, errors.EdgeX)
    29  	// SubscriptionsByReceiver queries subscriptions with receiver, offset and limit
    30  	SubscriptionsByReceiver(ctx context.Context, receiver string, offset int, limit int) (responses.MultiSubscriptionsResponse, errors.EdgeX)
    31  	// SubscriptionByName query subscription by name.
    32  	SubscriptionByName(ctx context.Context, name string) (responses.SubscriptionResponse, errors.EdgeX)
    33  	// DeleteSubscriptionByName deletes a subscription by name.
    34  	DeleteSubscriptionByName(ctx context.Context, name string) (common.BaseResponse, errors.EdgeX)
    35  }