wip
This commit is contained in:
		
							parent
							
								
									6e59c82252
								
							
						
					
					
						commit
						e21ab77dd5
					
				
					 2 changed files with 22 additions and 1 deletions
				
			
		| 
						 | 
					@ -3,6 +3,7 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import $ from 'cafy';
 | 
					import $ from 'cafy';
 | 
				
			||||||
import History from '../../models/messaging-history';
 | 
					import History from '../../models/messaging-history';
 | 
				
			||||||
 | 
					import Mute from '../../models/mute';
 | 
				
			||||||
import serialize from '../../serializers/messaging-message';
 | 
					import serialize from '../../serializers/messaging-message';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					@ -17,10 +18,18 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
 | 
				
			||||||
	const [limit = 10, limitErr] = $(params.limit).optional.number().range(1, 100).$;
 | 
						const [limit = 10, limitErr] = $(params.limit).optional.number().range(1, 100).$;
 | 
				
			||||||
	if (limitErr) return rej('invalid limit param');
 | 
						if (limitErr) return rej('invalid limit param');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						const mute = await Mute.find({
 | 
				
			||||||
 | 
							muter_id: user._id,
 | 
				
			||||||
 | 
							deleted_at: { $exists: false }
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get history
 | 
						// Get history
 | 
				
			||||||
	const history = await History
 | 
						const history = await History
 | 
				
			||||||
		.find({
 | 
							.find({
 | 
				
			||||||
			user_id: user._id
 | 
								user_id: user._id,
 | 
				
			||||||
 | 
								partner: {
 | 
				
			||||||
 | 
									$nin: mute.map(m => m.mutee_id)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}, {
 | 
							}, {
 | 
				
			||||||
			limit: limit,
 | 
								limit: limit,
 | 
				
			||||||
			sort: {
 | 
								sort: {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,7 @@ import Message from '../../../models/messaging-message';
 | 
				
			||||||
import { isValidText } from '../../../models/messaging-message';
 | 
					import { isValidText } from '../../../models/messaging-message';
 | 
				
			||||||
import History from '../../../models/messaging-history';
 | 
					import History from '../../../models/messaging-history';
 | 
				
			||||||
import User from '../../../models/user';
 | 
					import User from '../../../models/user';
 | 
				
			||||||
 | 
					import Mute from '../../../models/mute';
 | 
				
			||||||
import DriveFile from '../../../models/drive-file';
 | 
					import DriveFile from '../../../models/drive-file';
 | 
				
			||||||
import serialize from '../../../serializers/messaging-message';
 | 
					import serialize from '../../../serializers/messaging-message';
 | 
				
			||||||
import publishUserStream from '../../../event';
 | 
					import publishUserStream from '../../../event';
 | 
				
			||||||
| 
						 | 
					@ -97,6 +98,17 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
 | 
				
			||||||
	setTimeout(async () => {
 | 
						setTimeout(async () => {
 | 
				
			||||||
		const freshMessage = await Message.findOne({ _id: message._id }, { is_read: true });
 | 
							const freshMessage = await Message.findOne({ _id: message._id }, { is_read: true });
 | 
				
			||||||
		if (!freshMessage.is_read) {
 | 
							if (!freshMessage.is_read) {
 | 
				
			||||||
 | 
								//#region ただしミュートしているユーザーからの通知なら無視
 | 
				
			||||||
 | 
								const mute = await Mute.find({
 | 
				
			||||||
 | 
									muter_id: recipient._id,
 | 
				
			||||||
 | 
									deleted_at: { $exists: false }
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
 | 
								const mutedUserIds = mute.map(m => m.mutee_id.toString());
 | 
				
			||||||
 | 
								if (mutedUserIds.indexOf(user._id.toString()) != -1) {
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								//#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			publishUserStream(message.recipient_id, 'unread_messaging_message', messageObj);
 | 
								publishUserStream(message.recipient_id, 'unread_messaging_message', messageObj);
 | 
				
			||||||
			pushSw(message.recipient_id, 'unread_messaging_message', messageObj);
 | 
								pushSw(message.recipient_id, 'unread_messaging_message', messageObj);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue