so far so good... user, meta, notifications, categories
parent
5a589c885a
commit
8dd8412ae3
@ -0,0 +1,30 @@
|
|||||||
|
var categories = require('../categories'),
|
||||||
|
|
||||||
|
SocketCategories = {};
|
||||||
|
|
||||||
|
SocketCategories.getRecentReplies = function(tid, callback, sessionData) {
|
||||||
|
categories.getRecentReplies(tid, sessionData.uid, 4, function(err, replies) {
|
||||||
|
callback(replies);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketCategories.get = function(callback) {
|
||||||
|
categories.getAllCategories(0, function(err, categories) {
|
||||||
|
if(callback) {
|
||||||
|
callback(categories);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketCategories.loadMore = function(data, callback, sessionData) {
|
||||||
|
var start = data.after,
|
||||||
|
end = start + 9;
|
||||||
|
|
||||||
|
categories.getCategoryTopics(data.cid, start, end, sessionData.uid, function(topics) {
|
||||||
|
callback({
|
||||||
|
topics: topics
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = SocketCategories;
|
@ -0,0 +1,38 @@
|
|||||||
|
var meta = require('../meta'),
|
||||||
|
user = require('../user'),
|
||||||
|
|
||||||
|
SocketMeta = {};
|
||||||
|
|
||||||
|
SocketMeta.buildTitle = function(text, callback) {
|
||||||
|
meta.title.build(text, function(err, title) {
|
||||||
|
callback(title);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketMeta.updateHeader = function(data, callback, sessionData) {
|
||||||
|
console.log('HERE', data);
|
||||||
|
if (sessionData.uid) {
|
||||||
|
user.getUserFields(sessionData.uid, data.fields, function(err, fields) {
|
||||||
|
if (!err && fields) {
|
||||||
|
fields.uid = sessionData.uid;
|
||||||
|
callback(fields);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
callback({
|
||||||
|
uid: 0,
|
||||||
|
username: "Anonymous User",
|
||||||
|
email: '',
|
||||||
|
picture: gravatar.url('', {
|
||||||
|
s: '24'
|
||||||
|
}, nconf.get('https')),
|
||||||
|
config: {
|
||||||
|
allowGuestSearching: meta.config.allowGuestSearching
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Exports */
|
||||||
|
|
||||||
|
module.exports = SocketMeta;
|
@ -0,0 +1,17 @@
|
|||||||
|
var user = require('../user'),
|
||||||
|
|
||||||
|
SocketNotifs = {};
|
||||||
|
|
||||||
|
SocketNotifs.get = function(data, callback, sessionData) {
|
||||||
|
user.notifications.get(sessionData.uid, function(notifs) {
|
||||||
|
callback(notifs);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketNotifs.getCount = function(callback, sessionData) {
|
||||||
|
user.notifications.getUnreadCount(sessionData.uid, function(err, count) {
|
||||||
|
callback(err ? err.message : null, count);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = SocketNotifs;
|
@ -0,0 +1,138 @@
|
|||||||
|
var user = require('../user'),
|
||||||
|
topics = require('../topics'),
|
||||||
|
|
||||||
|
SocketUser = {};
|
||||||
|
|
||||||
|
SocketUser.exists = function(data) {
|
||||||
|
if (data.username) {
|
||||||
|
user.exists(utils.slugify(data.username), function(exists) {
|
||||||
|
socket.emit('user.exists', {
|
||||||
|
exists: exists
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.count = function(callback) {
|
||||||
|
user.count(callback);
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.emailExists = function(data) {
|
||||||
|
user.email.exists(socket, data.email);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Password Reset
|
||||||
|
SocketUser.reset = {};
|
||||||
|
|
||||||
|
SocketUser.reset.send = function(data) {
|
||||||
|
user.reset.send(socket, data.email);
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.reset.valid = function(data) {
|
||||||
|
user.reset.validate(socket, data.code);
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.reset.commit = function(data) {
|
||||||
|
user.reset.commit(socket, data.code, data.password);
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.isOnline = function(uid, callback) {
|
||||||
|
callback({
|
||||||
|
online: module.parent.exports.isUserOnline(uid),
|
||||||
|
uid: uid,
|
||||||
|
timestamp: Date.now()
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.changePassword = function(data, callback) {
|
||||||
|
user.changePassword(uid, data, callback);
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.updateProfile = function(data, callback) {
|
||||||
|
user.updateProfile(uid, data, callback);
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.changePicture = function(data, callback) {
|
||||||
|
|
||||||
|
var type = data.type;
|
||||||
|
|
||||||
|
function updateHeader() {
|
||||||
|
user.getUserFields(uid, ['picture'], function(err, fields) {
|
||||||
|
if (!err && fields) {
|
||||||
|
fields.uid = uid;
|
||||||
|
socket.emit('api:updateHeader', fields);
|
||||||
|
callback(true);
|
||||||
|
} else {
|
||||||
|
callback(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type === 'gravatar') {
|
||||||
|
user.getUserField(uid, 'gravatarpicture', function(err, gravatar) {
|
||||||
|
user.setUserField(uid, 'picture', gravatar);
|
||||||
|
updateHeader();
|
||||||
|
});
|
||||||
|
} else if (type === 'uploaded') {
|
||||||
|
user.getUserField(uid, 'uploadedpicture', function(err, uploadedpicture) {
|
||||||
|
user.setUserField(uid, 'picture', uploadedpicture);
|
||||||
|
updateHeader();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
callback(false);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.follow = function(data, callback) {
|
||||||
|
if (uid) {
|
||||||
|
user.follow(uid, data.uid, callback);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.unfollow = function(data, callback) {
|
||||||
|
if (uid) {
|
||||||
|
user.unfollow(uid, data.uid, callback);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.saveSettings = function(data, callback) {
|
||||||
|
if (uid) {
|
||||||
|
user.setUserFields(uid, {
|
||||||
|
showemail: data.showemail
|
||||||
|
}, function(err, result) {
|
||||||
|
callback(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.get_online_users = function(data, callback) {
|
||||||
|
var returnData = [];
|
||||||
|
|
||||||
|
for (var i = 0; i < data.length; ++i) {
|
||||||
|
var uid = data[i];
|
||||||
|
if (module.parent.exports.isUserOnline(uid))
|
||||||
|
returnData.push(uid);
|
||||||
|
else
|
||||||
|
returnData.push(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
callback(returnData);
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.getOnlineAnonCount = function(data, callback) {
|
||||||
|
callback(module.parent.exports.getOnlineAnonCount());
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.getUnreadCount = function(callback, sessionData) {
|
||||||
|
topics.getUnreadTids(sessionData.uid, 0, 19, function(err, tids) {
|
||||||
|
callback(tids.length);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketUser.getActiveUsers = function(callback) {
|
||||||
|
module.parent.exports.emitOnlineUserCount(callback);
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Exports */
|
||||||
|
|
||||||
|
module.exports = SocketUser;
|
Loading…
Reference in New Issue