summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/messaging
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2018-06-18 14:43:56 +0900
committerGitHub <noreply@github.com>2018-06-18 14:43:56 +0900
commit5d3943ffa8cb4090c5c111397e266d255cc2212b (patch)
tree46f692fb21005bdc89499ea012c2436e8a2e90c0 /src/server/api/endpoints/messaging
parentNew translations ja.yml (Spanish) (diff)
parentyatta (diff)
downloadmisskey-5d3943ffa8cb4090c5c111397e266d255cc2212b.tar.gz
misskey-5d3943ffa8cb4090c5c111397e266d255cc2212b.tar.bz2
misskey-5d3943ffa8cb4090c5c111397e266d255cc2212b.zip
Merge branch 'master' into l10n_master
Diffstat (limited to 'src/server/api/endpoints/messaging')
-rw-r--r--src/server/api/endpoints/messaging/history.ts6
-rw-r--r--src/server/api/endpoints/messaging/messages.ts11
-rw-r--r--src/server/api/endpoints/messaging/messages/create.ts14
-rw-r--r--src/server/api/endpoints/messaging/unread.ts29
4 files changed, 13 insertions, 47 deletions
diff --git a/src/server/api/endpoints/messaging/history.ts b/src/server/api/endpoints/messaging/history.ts
index ec97642f17..713ba9dd7f 100644
--- a/src/server/api/endpoints/messaging/history.ts
+++ b/src/server/api/endpoints/messaging/history.ts
@@ -1,15 +1,13 @@
-/**
- * Module dependencies
- */
import $ from 'cafy';
import History from '../../../../models/messaging-history';
import Mute from '../../../../models/mute';
import { pack } from '../../../../models/messaging-message';
+import { ILocalUser } from '../../../../models/user';
/**
* Show messaging history
*/
-module.exports = (params, user) => new Promise(async (res, rej) => {
+module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'limit' parameter
const [limit = 10, limitErr] = $.num.optional().range(1, 100).get(params.limit);
if (limitErr) return rej('invalid limit param');
diff --git a/src/server/api/endpoints/messaging/messages.ts b/src/server/api/endpoints/messaging/messages.ts
index 0338aba68a..3eb20ec06b 100644
--- a/src/server/api/endpoints/messaging/messages.ts
+++ b/src/server/api/endpoints/messaging/messages.ts
@@ -1,20 +1,13 @@
-/**
- * Module dependencies
- */
import $ from 'cafy'; import ID from '../../../../cafy-id';
import Message from '../../../../models/messaging-message';
-import User from '../../../../models/user';
+import User, { ILocalUser } from '../../../../models/user';
import { pack } from '../../../../models/messaging-message';
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) => {
+module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'userId' parameter
const [recipientId, recipientIdErr] = $.type(ID).get(params.userId);
if (recipientIdErr) return rej('invalid userId param');
diff --git a/src/server/api/endpoints/messaging/messages/create.ts b/src/server/api/endpoints/messaging/messages/create.ts
index db471839e7..b3e4f6a8cd 100644
--- a/src/server/api/endpoints/messaging/messages/create.ts
+++ b/src/server/api/endpoints/messaging/messages/create.ts
@@ -1,11 +1,8 @@
-/**
- * Module dependencies
- */
import $ from 'cafy'; import ID from '../../../../../cafy-id';
import Message from '../../../../../models/messaging-message';
import { isValidText } from '../../../../../models/messaging-message';
import History from '../../../../../models/messaging-history';
-import User from '../../../../../models/user';
+import User, { ILocalUser } from '../../../../../models/user';
import Mute from '../../../../../models/mute';
import DriveFile from '../../../../../models/drive-file';
import { pack } from '../../../../../models/messaging-message';
@@ -17,7 +14,7 @@ import config from '../../../../../config';
/**
* Create a message
*/
-module.exports = (params, user) => new Promise(async (res, rej) => {
+module.exports = (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'userId' parameter
const [recipientId, recipientIdErr] = $.type(ID).get(params.userId);
if (recipientIdErr) return rej('invalid userId param');
@@ -91,6 +88,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
- });
-});