summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-05-29 01:22:39 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-05-29 01:22:39 +0900
commitab16fb3a3fff96a4fa2bc1fc0e56a87c129a4625 (patch)
tree26de7290eede6b42a661f328adce965a889f9887 /src/server/api/endpoints
parenttypo (diff)
downloadsharkey-ab16fb3a3fff96a4fa2bc1fc0e56a87c129a4625.tar.gz
sharkey-ab16fb3a3fff96a4fa2bc1fc0e56a87c129a4625.tar.bz2
sharkey-ab16fb3a3fff96a4fa2bc1fc0e56a87c129a4625.zip
#1634
Diffstat (limited to 'src/server/api/endpoints')
-rw-r--r--src/server/api/endpoints/messaging/messages.ts7
-rw-r--r--src/server/api/endpoints/messaging/messages/create.ts7
-rw-r--r--src/server/api/endpoints/messaging/unread.ts29
-rw-r--r--src/server/api/endpoints/notifications/get_unread_count.ts28
-rw-r--r--src/server/api/endpoints/notifications/mark_as_read_all.ts11
5 files changed, 15 insertions, 67 deletions
diff --git a/src/server/api/endpoints/messaging/messages.ts b/src/server/api/endpoints/messaging/messages.ts
index 0338aba68a..9c3a48334b 100644
--- a/src/server/api/endpoints/messaging/messages.ts
+++ b/src/server/api/endpoints/messaging/messages.ts
@@ -1,6 +1,3 @@
-/**
- * Module dependencies
- */
import $ from 'cafy'; import ID from '../../../../cafy-id';
import Message from '../../../../models/messaging-message';
import User from '../../../../models/user';
@@ -9,10 +6,6 @@ import read from '../../common/read-messaging-message';
/**
* Get messages
- *
- * @param {any} params
- * @param {any} user
- * @return {Promise<any>}
*/
module.exports = (params, user) => new Promise(async (res, rej) => {
// Get 'userId' parameter
diff --git a/src/server/api/endpoints/messaging/messages/create.ts b/src/server/api/endpoints/messaging/messages/create.ts
index db471839e7..41238de1e1 100644
--- a/src/server/api/endpoints/messaging/messages/create.ts
+++ b/src/server/api/endpoints/messaging/messages/create.ts
@@ -91,6 +91,13 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
publishMessagingIndexStream(message.recipientId, 'message', messageObj);
publishUserStream(message.recipientId, 'messaging_message', messageObj);
+ // Update flag
+ User.update({ _id: recipient._id }, {
+ $set: {
+ hasUnreadMessagingMessage: true
+ }
+ });
+
// 3秒経っても(今回作成した)メッセージが既読にならなかったら「未読のメッセージがありますよ」イベントを発行する
setTimeout(async () => {
const freshMessage = await Message.findOne({ _id: message._id }, { isRead: true });
diff --git a/src/server/api/endpoints/messaging/unread.ts b/src/server/api/endpoints/messaging/unread.ts
deleted file mode 100644
index 1d83af501d..0000000000
--- a/src/server/api/endpoints/messaging/unread.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Module dependencies
- */
-import Message from '../../../../models/messaging-message';
-import Mute from '../../../../models/mute';
-
-/**
- * Get count of unread messages
- */
-module.exports = (params, user) => new Promise(async (res, rej) => {
- const mute = await Mute.find({
- muterId: user._id,
- deletedAt: { $exists: false }
- });
- const mutedUserIds = mute.map(m => m.muteeId);
-
- const count = await Message
- .count({
- userId: {
- $nin: mutedUserIds
- },
- recipientId: user._id,
- isRead: false
- });
-
- res({
- count: count
- });
-});
diff --git a/src/server/api/endpoints/notifications/get_unread_count.ts b/src/server/api/endpoints/notifications/get_unread_count.ts
deleted file mode 100644
index 9766366ff1..0000000000
--- a/src/server/api/endpoints/notifications/get_unread_count.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Module dependencies
- */
-import Notification from '../../../../models/notification';
-import Mute from '../../../../models/mute';
-
-/**
- * Get count of unread notifications
- */
-module.exports = (params, user) => new Promise(async (res, rej) => {
- const mute = await Mute.find({
- muterId: user._id
- });
- const mutedUserIds = mute.map(m => m.muteeId);
-
- const count = await Notification
- .count({
- notifieeId: user._id,
- notifierId: {
- $nin: mutedUserIds
- },
- isRead: false
- });
-
- res({
- count: count
- });
-});
diff --git a/src/server/api/endpoints/notifications/mark_as_read_all.ts b/src/server/api/endpoints/notifications/mark_as_read_all.ts
index dce3cb4663..7a48ca3e62 100644
--- a/src/server/api/endpoints/notifications/mark_as_read_all.ts
+++ b/src/server/api/endpoints/notifications/mark_as_read_all.ts
@@ -1,8 +1,6 @@
-/**
- * Module dependencies
- */
import Notification from '../../../../models/notification';
import event from '../../../../publishers/stream';
+import User from '../../../../models/user';
/**
* Mark as read all notifications
@@ -23,6 +21,13 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
// Response
res();
+ // Update flag
+ User.update({ _id: user._id }, {
+ $set: {
+ hasUnreadNotification: false
+ }
+ });
+
// 全ての通知を読みましたよというイベントを発行
event(user._id, 'read_all_notifications');
});