🐛 Fix chat notification and listing members
This commit is contained in:
@ -181,19 +181,12 @@ public class NotificationService
|
||||
{
|
||||
if (save)
|
||||
{
|
||||
// Create new notification objects for each account instead of reusing
|
||||
var notifications = accounts.Select(x => new Notification
|
||||
var notifications = accounts.Select(x =>
|
||||
{
|
||||
Topic = notification.Topic,
|
||||
Title = notification.Title,
|
||||
Subtitle = notification.Subtitle,
|
||||
Content = notification.Content,
|
||||
Meta = notification.Meta != null ? new Dictionary<string, object>(notification.Meta) : null,
|
||||
Priority = notification.Priority,
|
||||
Account = x,
|
||||
AccountId = x.Id
|
||||
notification.Account = x;
|
||||
notification.AccountId = x.Id;
|
||||
return notification;
|
||||
}).ToList();
|
||||
|
||||
await _db.BulkInsertAsync(notifications);
|
||||
}
|
||||
|
||||
@ -201,20 +194,12 @@ public class NotificationService
|
||||
var subscribers = await _db.NotificationPushSubscriptions
|
||||
.Where(s => accountsId.Contains(s.AccountId))
|
||||
.ToListAsync();
|
||||
|
||||
var tasks = (from subscriber in subscribers
|
||||
let notificationCopy = new Notification
|
||||
{
|
||||
Id = notification.Id,
|
||||
Topic = notification.Topic,
|
||||
Title = notification.Title,
|
||||
Subtitle = notification.Subtitle,
|
||||
Content = notification.Content,
|
||||
Meta = notification.Meta != null ? new Dictionary<string, object>(notification.Meta) : null,
|
||||
Priority = notification.Priority,
|
||||
AccountId = subscriber.AccountId
|
||||
}
|
||||
select _PushSingleNotification(notificationCopy, subscriber)).ToList();
|
||||
var tasks = new List<Task>();
|
||||
foreach (var subscriber in subscribers)
|
||||
{
|
||||
notification.AccountId = subscriber.AccountId;
|
||||
tasks.Add(_PushSingleNotification(notification, subscriber));
|
||||
}
|
||||
|
||||
await Task.WhenAll(tasks);
|
||||
}
|
||||
|
Reference in New Issue
Block a user