summaryrefslogtreecommitdiff
path: root/src/server/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api')
-rw-r--r--src/server/api/common/read-notification.ts23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/server/api/common/read-notification.ts b/src/server/api/common/read-notification.ts
index f686446c5c..effa61e8b5 100644
--- a/src/server/api/common/read-notification.ts
+++ b/src/server/api/common/read-notification.ts
@@ -4,9 +4,6 @@ import { Notification } from '../../../models/entities/notification';
import { Notifications, Users } from '../../../models';
import { In } from 'typeorm';
-/**
- * Mark notifications as read
- */
export async function readNotification(
userId: User['id'],
notificationIds: Notification['id'][]
@@ -19,6 +16,26 @@ export async function readNotification(
isRead: true
});
+ post(userId);
+}
+
+export async function readNotificationByQuery(
+ userId: User['id'],
+ query: Record<string, any>
+) {
+ // Update documents
+ await Notifications.update({
+ ...query,
+ notifieeId: userId,
+ isRead: false
+ }, {
+ isRead: true
+ });
+
+ post(userId);
+}
+
+async function post(userId: User['id']) {
if (!await Users.getHasUnreadNotification(userId)) {
// 全ての(いままで未読だった)通知を(これで)読みましたよというイベントを発行
publishMainStream(userId, 'readAllNotifications');