DeviceBridge/Providers/IStorageProvider.cs (21 lines of code) (raw):

// Copyright (c) Microsoft Corporation. All rights reserved. using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using DeviceBridge.Models; using NLog; namespace DeviceBridge.Providers { public interface IStorageProvider { Task<List<DeviceSubscription>> ListAllSubscriptionsOrderedByDeviceId(Logger logger); Task<List<DeviceSubscription>> ListDeviceSubscriptions(Logger logger, string deviceId); Task<DeviceSubscription> GetDeviceSubscription(Logger logger, string deviceId, DeviceSubscriptionType subscriptionType, CancellationToken cancellationToken); Task<DeviceSubscription> CreateOrUpdateDeviceSubscription(Logger logger, string deviceId, DeviceSubscriptionType subscriptionType, string callbackUrl, CancellationToken cancellationToken); Task DeleteDeviceSubscription(Logger logger, string deviceId, DeviceSubscriptionType subscriptionType, CancellationToken cancellationToken); Task GcHubCache(Logger logger); Task RenewHubCacheEntries(Logger logger, List<string> deviceIds); Task AddOrUpdateHubCacheEntry(Logger logger, string deviceId, string hub); Task<List<HubCacheEntry>> ListHubCacheEntries(Logger logger); Task Exec(Logger logger, string sql); } }