pushNotifCount method for real-time updating of notification bell + favicon for multiple tabs (closes #219)

This commit is contained in:
Julian Lam
2013-12-10 22:05:37 -05:00
parent 538356846d
commit c313c4501b
5 changed files with 43 additions and 14 deletions

View File

@@ -14,8 +14,9 @@ var bcrypt = require('bcrypt'),
emailjsServer = emailjs.server.connect(meta.config['email:smtp:host'] || '127.0.0.1'),
groups = require('./groups'),
notifications = require('./notifications'),
topics = require('./topics');
topics = require('./topics'),
websockets = require('./websockets');
(function(User) {
'use strict';
@@ -864,6 +865,17 @@ var bcrypt = require('bcrypt'),
}
};
User.pushNotifCount = function(uid) {
User.notifications.getUnreadCount(uid, function(err, count) {
console.log('unread count is', count);
if (!err) {
websockets.in('uid_' + uid).emit('event:notifications.updateCount', count);
} else {
winston.warn('[User.pushNotifCount] Count not retrieve unread notifications count to push to uid ' + uid + '\'s client(s)');
}
});
};
User.email = {
exists: function(socket, email, callback) {
User.getUidByEmail(email, function(err, exists) {