diff --git a/src/Core/NotificationHub/NotificationHubPushRegistrationService.cs b/src/Core/NotificationHub/NotificationHubPushRegistrationService.cs index e8067c9eaf..4986061a13 100644 --- a/src/Core/NotificationHub/NotificationHubPushRegistrationService.cs +++ b/src/Core/NotificationHub/NotificationHubPushRegistrationService.cs @@ -13,15 +13,18 @@ public class NotificationHubPushRegistrationService : IPushRegistrationService private readonly IInstallationDeviceRepository _installationDeviceRepository; private readonly INotificationHubPool _notificationHubPool; private readonly IServiceProvider _serviceProvider; + private readonly IOrganizationUserRepository _organizationUserRepository; public NotificationHubPushRegistrationService( IInstallationDeviceRepository installationDeviceRepository, INotificationHubPool notificationHubPool, - IServiceProvider serviceProvider) + IServiceProvider serviceProvider, + IOrganizationUserRepository organizationUserRepository) { _installationDeviceRepository = installationDeviceRepository; _notificationHubPool = notificationHubPool; _serviceProvider = serviceProvider; + _organizationUserRepository = organizationUserRepository; } public async Task CreateOrUpdateRegistrationAsync(string pushToken, string deviceId, string userId, @@ -48,6 +51,12 @@ public class NotificationHubPushRegistrationService : IPushRegistrationService installation.Tags.Add("deviceIdentifier:" + identifier); } + foreach (var organizationUserDetails in await _organizationUserRepository.GetManyDetailsByUserAsync( + Guid.Parse(userId), OrganizationUserStatusType.Confirmed)) + { + installation.Tags.Add($"organizationId:{organizationUserDetails.OrganizationId}"); + } + string payloadTemplate = null, messageTemplate = null, badgeMessageTemplate = null; switch (type) {