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 }