public PushNotificationsApiController(IPushSubscriptionStore subscriptionStore, IPushNotificationService notificationService, IPushNotificationsQueue pushNotificationsQueue, IOptions <Miscellenous> misc) { _subscriptionStore = subscriptionStore; _notificationService = notificationService; _pushNotificationsQueue = pushNotificationsQueue; _miscellenous = misc.Value; }
private async Task DequeueMessagesAsync() { while (!_stopTokenSource.IsCancellationRequested) { PushMessageEx pushmessage = await _messagesQueue.DequeueAsync(_stopTokenSource.Token); if (!_stopTokenSource.IsCancellationRequested) { using (IServiceScope serviceScope = _serviceProvider.CreateScope()) { IPushSubscriptionStore subscriptionStore = serviceScope.ServiceProvider.GetRequiredService <IPushSubscriptionStore>(); //await subscriptionStore.ForEachSubscriptionAsync((PushSubscription subscription) => //{ // // Fire-and-forget // _notificationService.SendNotificationAsync(subscription, message, _stopTokenSource.Token); //}, _stopTokenSource.Token); await subscriptionStore.ForEachSubscriptionAsyncEx((SWSubscription sub) => { PushSubscription subscription = new PushSubscription(); subscription.Endpoint = sub.Endpoint; subscription.SetKey(PushEncryptionKeyName.Auth, sub.Auth); subscription.SetKey(PushEncryptionKeyName.P256DH, sub.P256DH); // subscription.Keys // Fire-and-forget _notificationService.SendNotificationAsync(subscription, pushmessage.pushmessage, _stopTokenSource.Token); }, _stopTokenSource.Token); } } } }
public PushNotificationsApiController(IPushSubscriptionStore subscriptionStore, IPushNotificationService notificationService, IPushNotificationsQueue pushNotificationsQueue, IMQTTClientService mqttClientService) { _subscriptionStore = subscriptionStore; _notificationService = notificationService; _pushNotificationsQueue = pushNotificationsQueue; _mqttClientService = mqttClientService; }
public PwaController( IServiceWorkerBuilder serviceWorkerBuilder, IGeneratePwaInitScript serviceWorkerInitScriptGenerator, IOptions <PwaOptions> pwaOptionsAccessor, IOptions <PushClientSettings> pushSettingsAccessor, IPushSubscriptionStore subscriptionStore, IPushNotificationService notificationService, IPushNotificationsQueue pushNotificationsQueue, IUserIdResolver userIdResolver, ITenantIdResolver tenantIdResolver, IResourceHelper resourceHelper ) { _serviceWorkerBuilder = serviceWorkerBuilder; _serviceWorkerInitScriptGenerator = serviceWorkerInitScriptGenerator; _options = pwaOptionsAccessor.Value; _pushSettings = pushSettingsAccessor.Value; _subscriptionStore = subscriptionStore; _notificationService = notificationService; _pushNotificationsQueue = pushNotificationsQueue; _userIdResolver = userIdResolver; _tenantIdResolver = tenantIdResolver; _resourceHelper = resourceHelper; }
public PushService(PushServiceClient pushClient, IPushSubscriptionStore subscriptionStore, ILogger <IPushService> logger, IPushSubscriptionStoreAccessorProvider subscriptionStoreAccessorProvider) { _pushClient = pushClient; _subscriptionStore = subscriptionStore; _logger = logger; _subscriptionStoreAccessorProvider = subscriptionStoreAccessorProvider; }
public WebPushController( IPushSubscriptionStore subscriptionStore, IPushNotificationService notificationService, UserManager <ApplicationUser> userManager, ILogger <WebPushController> logger, IHttpContextAccessor contextAccessor) : base(contextAccessor, userManager, logger) { _subscriptionStore = subscriptionStore; _notificationService = notificationService; }
public void Dispose() { PushSubscriptionStore = null; if (!(_serviceScope is null)) { _serviceScope.Dispose(); _serviceScope = null; } }
public PushServicePushNotificationService( PushServiceClient pushClient, IPushSubscriptionStore pushSubscriptionStore, ILogger <PushServicePushNotificationService> logger ) { _pushClient = pushClient; _pushSubscriptionStore = pushSubscriptionStore; _logger = logger; }
public PushNotificationsApiController( IPushSubscriptionStore subscriptionStore, IPushNotificationService notificationService, IPushNotificationService pushNotificationService, IPushNotificationsQueue pushNotificationsQueue, IJwtFactory jwtFactory, DataDbContect context, IHttpContextAccessor acceessor) { _subscriptionStore = subscriptionStore; _notificationService = notificationService; _pushNotificationsQueue = pushNotificationsQueue; _pushNotificationService = pushNotificationService; _jwtFactory = jwtFactory; _context = context; _acceessor = acceessor; }
public SupportChatService(UserManager <ApplicationUser> userManager, IOptions <ChatSettings> chatSettings, IConfiguration options, IPushSubscriptionStore subscriptionStore, IPushNotificationService notificationService, HubLifetimeManager <ChatHub> hub, SlackSupportClient slackSupport) { _chatSettings = chatSettings.Value; _notificationService = notificationService; _hub = hub; _options = options; _userManager = userManager; _subscriptionStore = subscriptionStore; _slackSupport = slackSupport; }
public ChatController( IHttpContextAccessor contextAccessor, UserManager <ApplicationUser> userManager, ILogger <ChatController> logger, IOptions <ChatSettings> chatSettings, IOptions <AppSettings> appSettings, IPushSubscriptionStore subscriptionStore, IPushNotificationService notificationService, HubLifetimeManager <ChatHub> hub, IMapper mapper, IUnitOfWork unitOfWork, IChatRepository chatRepository, ISupportChatService supportChatService) : base(contextAccessor, userManager, logger) { _chatRepository = chatRepository; _unitOfWork = unitOfWork; _chatSettings = chatSettings.Value; _appSettings = appSettings.Value; _subscriptionStore = subscriptionStore; _notificationService = notificationService; _hub = hub; _mapper = mapper; _supportChatService = supportChatService; }
private async Task DequeueMessagesAsync() { while (!_stopTokenSource.IsCancellationRequested) { PushMessage message = await _messagesQueue.DequeueAsync(_stopTokenSource.Token); if (!_stopTokenSource.IsCancellationRequested) { using (IServiceScope serviceScope = _serviceProvider.CreateScope()) { IPushSubscriptionStore subscriptionStore = serviceScope.ServiceProvider.GetRequiredService <IPushSubscriptionStore>(); await subscriptionStore.ForEachSubscriptionAsync((PushSubscription subscription) => { // Fire-and-forget _notificationService.SendNotificationAsync(subscription, message, _stopTokenSource.Token); }, _stopTokenSource.Token); } } } }
public DebugController(IOptions <StorageSettings> settings, IOptions <AppSettings> appSettings, HubLifetimeManager <DebugHub> hub, IConfiguration config, IPageParser pageParser, IOptions <HelpersSettings> helpersSettings, IOptions <AudioFileStorageSettings> audioFileStorageSettings, IOptions <ImageFileStorageSettings> imageFileStorageSettings, IOptions <JwtIssuerOptions> jwtIssuerOptions, IPushSubscriptionStore subscriptionStore, IEntryRepository entryRepository, UserManager <ApplicationUser> userManager, ILogger <DebugController> logger, IMapper mapper, IPushNotificationService notificationService, IPodcastRepository podcastRepository, IUnitOfWork unitOfWork, IHttpContextAccessor contextAccessor, IMailSender mailSender) : base(contextAccessor, userManager, logger) { _appSettings = appSettings.Value; _storageSettings = settings.Value; _helpersSettings = helpersSettings.Value; _audioFileStorageSettings = audioFileStorageSettings.Value; _imageFileStorageSettings = imageFileStorageSettings.Value; _jwtIssuerOptions = jwtIssuerOptions.Value; _hub = hub; _config = config; _pageParser = pageParser; _mapper = mapper; _subscriptionStore = subscriptionStore; _entryRepository = entryRepository; _notificationService = notificationService; _podcastRepository = podcastRepository; _unitOfWork = unitOfWork; _mailSender = mailSender; }
public CosmosDbPushSubscriptionStoreAccessor(IPushSubscriptionStore pushSubscriptionStore) { PushSubscriptionStore = pushSubscriptionStore; }
internal void NotifySubscribers(IPushNotificationsQueue pushNotificationsQueue, IPushSubscriptionStore subscriptionStore, string districtWiseCasesUrl) { subscriptionStore.ForEachSubscriptionAsync((subscription) => { var currentDistrictCases = GetLatestCountForDistrict(subscription.District, districtWiseCasesUrl); if (currentDistrictCases > subscription.LatestConfirmedCase) { pushNotificationsQueue.Enqueue(new Lib.Net.Http.WebPush.PushMessage($"Cases in your District {subscription.District} has increased the new number is {currentDistrictCases}") { Topic = "Covid 19 Alert", Urgency = Lib.Net.Http.WebPush.PushMessageUrgency.High }); subscription.LatestConfirmedCase = currentDistrictCases; subscriptionStore.UpdateSubscriptionAsync(subscription); } }); }
public HomeController(IBlogService blogService, IPushSubscriptionStore subscriptionStore, PushServiceClient pushClient) { _blogService = blogService; _subscriptionStore = subscriptionStore; _pushClient = pushClient; }
public LiteDatabasePushSubscriptionStoreAccessorProvider(IPushSubscriptionStore pushSubscriptionStore) { _pushSubscriptionStore = pushSubscriptionStore; }
public SqlitePushSubscriptionStoreAccessor(IServiceScope serviceScope) { _serviceScope = serviceScope; PushSubscriptionStore = _serviceScope.ServiceProvider.GetService <IPushSubscriptionStore>(); }
public AllSubscribersPushNotificationRecipientProvider( IPushSubscriptionStore pushSubscriptionStore ) { _pushSubscriptionStore = pushSubscriptionStore; }
public PushNotificationsApiController(IPushSubscriptionStore subscriptionStore, IPushNotificationService notificationService) { _subscriptionStore = subscriptionStore; _notificationService = notificationService; }
public AllButCurrentUserPushNotificationRecipientProvider(IPushSubscriptionStore pushSubscriptionStore) { _pushSubscriptionStore = pushSubscriptionStore; }
public SqlitePushSubscriptionStoreAccessor(IPushSubscriptionStore pushSubscriptionStore) { PushSubscriptionStore = pushSubscriptionStore; }
public SingleUserPushNotificationRecipientProvider( IPushSubscriptionStore pushSubscriptionStore ) { _pushSubscriptionStore = pushSubscriptionStore; }
public LiteDatabasePushSubscriptionStoreAccessor(IPushSubscriptionStore pushSubscriptionStore) { PushSubscriptionStore = pushSubscriptionStore; }
public CosmosDbPushSubscriptionStoreAccessorProvider(IPushSubscriptionStore pushSubscriptionStore) { _pushSubscriptionStore = pushSubscriptionStore; }