From 53ef9c1b9fb9a3d5fde3724835f9a0122fe582a7 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Tue, 11 Feb 2014 17:57:00 -0500 Subject: [PATCH] new hook - filter:user.settings allows plugins to generate custom user settings on account page --- src/routes/user.js | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/routes/user.js b/src/routes/user.js index 88bb361844..0c8e66609c 100644 --- a/src/routes/user.js +++ b/src/routes/user.js @@ -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'; - user.getUidByUserslug(req.params.userslug, function (err, uid) { + user.getUidByUserslug(req.params.userslug, function(err, uid) { if (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) { return next(err); } - if(!userData) { - return res.json(404, { - error: 'User not found!' - }); - } - - user.getSettings(uid, function(err, settings) { - if(err) { + user.getUserFields(uid, ['username', 'userslug'], function(err, userData) { + if (err) { return next(err); } + if(!userData) { + return res.json(404, { + error: 'User not found!' + }); + } + userData.settings = settings; res.json(userData); }); }); + }); });