From c4503aa6b24fa1f58b85c95c405b333d6fbc3d0f Mon Sep 17 00:00:00 2001 From: tamaina Date: Sat, 17 Jul 2021 21:49:45 +0900 Subject: [PATCH] =?UTF-8?q?api/notifications/read=E3=81=AF=E9=85=8D?= =?UTF-8?q?=E5=88=97=E3=81=A7=E5=8F=97=E3=81=91=E4=BB=98=E3=81=91=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/endpoints/notifications/read.ts | 41 +++++++------------ 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/src/server/api/endpoints/notifications/read.ts b/src/server/api/endpoints/notifications/read.ts index fe8e5ba44f..fc99a91b82 100644 --- a/src/server/api/endpoints/notifications/read.ts +++ b/src/server/api/endpoints/notifications/read.ts @@ -1,42 +1,29 @@ import $ from 'cafy'; import { ID } from '@/misc/cafy-id'; -import { publishMainStream } from '../../../../services/stream'; import define from '../../define'; -import { Notifications } from '../../../../models'; import { readNotification } from '../../common/read-notification'; -import { ApiError } from '../../error'; export const meta = { + desc: { + 'ja-JP': '通知を既読にします。', + 'en-US': 'Mark a notification as read.' + }, + tags: ['notifications', 'account'], requireCredential: true as const, - kind: 'write:notifications', - params: { - notificationId: { - validator: $.type(ID), - }, + notificationIds: { + validator: $.arr($.type(ID)), + desc: { + 'ja-JP': '対象の通知のIDの配列', + 'en-US': 'Target notification IDs.' + } + } }, - errors: { - noSuchNotification: { - message: 'No such notification.', - code: 'NO_SUCH_NOTIFICATION', - id: 'efa929d5-05b5-47d1-beec-e6a4dbed011e' - }, - }, + kind: 'write:notifications' }; -export default define(meta, async (ps, user) => { - const notification = await Notifications.findOne({ - notifieeId: user.id, - id: ps.notificationId, - }); - - if (notification == null) { - throw new ApiError(meta.errors.noSuchNotification); - } - - readNotification(user.id, [notification.id]); -}); +export default define(meta, async (ps, user) => readNotification(user.id, ps.notificationIds));