summaryrefslogtreecommitdiff
path: root/src/api/endpoints
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2017-06-13 02:12:30 +0900
committersyuilo <syuilotan@yahoo.co.jp>2017-06-13 02:12:30 +0900
commit5880b90f599cfc7eeab714d61f3fc8b9f3be7e0f (patch)
tree44e10eb1357e3cf14a5ede825a0e0b67e22f0c99 /src/api/endpoints
parentv2086 (diff)
downloadsharkey-5880b90f599cfc7eeab714d61f3fc8b9f3be7e0f.tar.gz
sharkey-5880b90f599cfc7eeab714d61f3fc8b9f3be7e0f.tar.bz2
sharkey-5880b90f599cfc7eeab714d61f3fc8b9f3be7e0f.zip
[API] Refactor and Bug fix
Diffstat (limited to 'src/api/endpoints')
-rw-r--r--src/api/endpoints/messaging/messages.ts31
1 files changed, 2 insertions, 29 deletions
diff --git a/src/api/endpoints/messaging/messages.ts b/src/api/endpoints/messaging/messages.ts
index b3a5c57f6c..7b270924eb 100644
--- a/src/api/endpoints/messaging/messages.ts
+++ b/src/api/endpoints/messaging/messages.ts
@@ -5,8 +5,7 @@ import $ from 'cafy';
import Message from '../../models/messaging-message';
import User from '../../models/user';
import serialize from '../../serializers/messaging-message';
-import publishUserStream from '../../event';
-import { publishMessagingStream } from '../../event';
+import read from '../../common/read-messaging-message';
/**
* Get messages
@@ -98,32 +97,6 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
// Mark as read all
if (markAsRead) {
- const ids = messages
- .filter(m => m.is_read == false)
- .filter(m => m.recipient_id.equals(user._id))
- .map(m => m._id);
-
- // Update documents
- await Message.update({
- _id: { $in: ids }
- }, {
- $set: { is_read: true }
- }, {
- multi: true
- });
-
- // Publish event
- publishMessagingStream(recipient._id, user._id, 'read', ids.map(id => id.toString()));
-
- const count = await Message
- .count({
- recipient_id: user._id,
- is_read: false
- });
-
- if (count == 0) {
- // 全ての(いままで未読だった)メッセージを(これで)読みましたよというイベントを発行
- publishUserStream(user._id, 'read_all_messaging_messages');
- }
+ read(user._id, recipient._id, messages);
}
});