mirror of
https://github.com/cnodejs/nodeclub.git
synced 2025-12-08 19:55:55 +00:00
34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
var Message = require('../proxy').Message;
|
|
var eventproxy = require('eventproxy');
|
|
|
|
exports.index = function (req, res, next) {
|
|
var user_id = req.session.user._id;
|
|
var ep = new eventproxy();
|
|
ep.fail(next);
|
|
|
|
ep.all('has_read_messages', 'hasnot_read_messages', function (has_read_messages, hasnot_read_messages) {
|
|
res.render('message/index', {has_read_messages: has_read_messages, hasnot_read_messages: hasnot_read_messages});
|
|
});
|
|
|
|
ep.all('has_read', 'unread', function (has_read, unread) {
|
|
[has_read, unread].forEach(function (msgs, idx) {
|
|
var epfill = new eventproxy();
|
|
epfill.fail(next);
|
|
epfill.after('message_ready', msgs.length, function (docs) {
|
|
docs = docs.filter(function (doc) {
|
|
return !doc.is_invalid;
|
|
});
|
|
ep.emit(idx === 0 ? 'has_read_messages' : 'hasnot_read_messages', docs);
|
|
});
|
|
msgs.forEach(function (doc) {
|
|
Message.getMessageRelations(doc, epfill.group('message_ready'));
|
|
});
|
|
});
|
|
|
|
Message.updateMessagesToRead(user_id, unread);
|
|
});
|
|
|
|
Message.getReadMessagesByUserId(user_id, ep.done('has_read'));
|
|
Message.getUnreadMessageByUserId(user_id, ep.done('unread'));
|
|
};
|