new hook - filter:user.settings allows plugins to generate custom user settings on account page

v1.18.x
psychobunny 11 years ago
parent ad9209ec38
commit 53ef9c1b9f

@ -266,10 +266,10 @@ var fs = require('fs'),
}); });
}); });
app.get('/api/user/:userslug/settings', function (req, res, next) { app.get('/api/user/:userslug/settings', function(req, res, next) {
var callerUID = req.user ? req.user.uid : '0'; var callerUID = req.user ? req.user.uid : '0';
user.getUidByUserslug(req.params.userslug, function (err, uid) { user.getUidByUserslug(req.params.userslug, function(err, uid) {
if (err) { if (err) {
return next(err); return next(err);
} }
@ -286,26 +286,27 @@ var fs = require('fs'),
}); });
} }
user.getUserFields(uid, ['username', 'userslug'], function (err, userData) { plugins.fireHook('filter:user.settings', [], function(err, settings) {
if (err) { if (err) {
return next(err); return next(err);
} }
if(!userData) { user.getUserFields(uid, ['username', 'userslug'], function(err, userData) {
return res.json(404, { if (err) {
error: 'User not found!'
});
}
user.getSettings(uid, function(err, settings) {
if(err) {
return next(err); return next(err);
} }
if(!userData) {
return res.json(404, {
error: 'User not found!'
});
}
userData.settings = settings; userData.settings = settings;
res.json(userData); res.json(userData);
}); });
}); });
}); });
}); });

Loading…
Cancel
Save