diff options
Diffstat (limited to 'src/server/api/endpoints')
| -rw-r--r-- | src/server/api/endpoints/i/read_all_messaging_messages.ts | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/server/api/endpoints/i/read_all_messaging_messages.ts b/src/server/api/endpoints/i/read_all_messaging_messages.ts new file mode 100644 index 0000000000..a1fe82c4cb --- /dev/null +++ b/src/server/api/endpoints/i/read_all_messaging_messages.ts @@ -0,0 +1,42 @@ +import User from '../../../../models/user'; +import { publishMainStream } from '../../../../stream'; +import Message from '../../../../models/messaging-message'; +import define from '../../define'; + +export const meta = { + desc: { + 'ja-JP': 'トークメッセージをすべて既読にします。', + 'en-US': 'Mark all talk messages as read.' + }, + + requireCredential: true, + + kind: 'account-write', + + params: { + } +}; + +export default define(meta, (ps, user) => new Promise(async (res, rej) => { + // Update documents + await Message.update({ + recipientId: user._id, + isRead: false + }, { + $set: { + isRead: true + } + }, { + multi: true + }); + + User.update({ _id: user._id }, { + $set: { + hasUnreadMessagingMessage: false + } + }); + + publishMainStream(user._id, 'readAllMessagingMessages'); + + res(); +})); |