mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-06-06 12:47:13 +02:00
* WIP user list - mostly complete
* Some code cleanup / renaming
This commit is contained in:
parent
b2509e9208
commit
e36507fec1
9 changed files with 144 additions and 9 deletions
38
core/user.js
38
core/user.js
|
@ -15,6 +15,7 @@ exports.User = User;
|
|||
exports.getUserIdAndName = getUserIdAndName;
|
||||
exports.getUserName = getUserName;
|
||||
exports.loadProperties = loadProperties;
|
||||
exports.getUserList = getUserList;
|
||||
|
||||
function User() {
|
||||
var self = this;
|
||||
|
@ -482,3 +483,40 @@ function loadProperties(options, cb) {
|
|||
cb(null, properties);
|
||||
});
|
||||
}
|
||||
|
||||
function getUserList(options, cb) {
|
||||
var userList = [];
|
||||
|
||||
var orderClause = 'ORDER BY ' + (options.order || 'user_name');
|
||||
|
||||
userDb.each(
|
||||
'SELECT id, user_name ' +
|
||||
'FROM user ' +
|
||||
orderClause + ';',
|
||||
function userRow(err, row) {
|
||||
userList.push({
|
||||
userId : row.id,
|
||||
userName : row.user_name,
|
||||
});
|
||||
},
|
||||
function usersComplete(err) {
|
||||
options.properties = options.properties || [];
|
||||
async.map(userList, function iter(user, callback) {
|
||||
userDb.each(
|
||||
'SELECT prop_name, prop_value ' +
|
||||
'FROM user_property ' +
|
||||
'WHERE user_id=? AND prop_name IN ("' + options.properties.join('","') + '");',
|
||||
[ user.userId ],
|
||||
function propRow(err, row) {
|
||||
user[row.prop_name] = row.prop_value;
|
||||
},
|
||||
function complete(err) {
|
||||
callback(err, user);
|
||||
}
|
||||
);
|
||||
}, function propsComplete(err, transformed) {
|
||||
cb(err, transformed);
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue