summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/common/read-notification.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server/api/common/read-notification.ts')
-rw-r--r--packages/backend/src/server/api/common/read-notification.ts50
1 files changed, 0 insertions, 50 deletions
diff --git a/packages/backend/src/server/api/common/read-notification.ts b/packages/backend/src/server/api/common/read-notification.ts
deleted file mode 100644
index b0d38a9e39..0000000000
--- a/packages/backend/src/server/api/common/read-notification.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { In } from 'typeorm';
-import { publishMainStream } from '@/services/stream.js';
-import { pushNotification } from '@/services/push-notification.js';
-import { User } from '@/models/entities/user.js';
-import { Notification } from '@/models/entities/notification.js';
-import { Notifications, Users } from '@/models/index.js';
-
-export async function readNotification(
- userId: User['id'],
- notificationIds: Notification['id'][],
-) {
- if (notificationIds.length === 0) return;
-
- // Update documents
- const result = await Notifications.update({
- notifieeId: userId,
- id: In(notificationIds),
- isRead: false,
- }, {
- isRead: true,
- });
-
- if (result.affected === 0) return;
-
- if (!await Users.getHasUnreadNotification(userId)) return postReadAllNotifications(userId);
- else return postReadNotifications(userId, notificationIds);
-}
-
-export async function readNotificationByQuery(
- userId: User['id'],
- query: Record<string, any>,
-) {
- const notificationIds = await Notifications.findBy({
- ...query,
- notifieeId: userId,
- isRead: false,
- }).then(notifications => notifications.map(notification => notification.id));
-
- return readNotification(userId, notificationIds);
-}
-
-function postReadAllNotifications(userId: User['id']) {
- publishMainStream(userId, 'readAllNotifications');
- return pushNotification(userId, 'readAllNotifications', undefined);
-}
-
-function postReadNotifications(userId: User['id'], notificationIds: Notification['id'][]) {
- publishMainStream(userId, 'readNotifications', notificationIds);
- return pushNotification(userId, 'readNotifications', { notificationIds });
-}