diff options
Diffstat (limited to 'bucky/app')
| -rw-r--r-- | bucky/app/bucky.js | 18 | ||||
| -rw-r--r-- | bucky/app/router.js | 20 |
2 files changed, 38 insertions, 0 deletions
diff --git a/bucky/app/bucky.js b/bucky/app/bucky.js index e7455ad..ab30e85 100644 --- a/bucky/app/bucky.js +++ b/bucky/app/bucky.js @@ -324,6 +324,24 @@ var bucky = module.exports = { }) }, + /* PROFILE */ + + ensureUser: function (req, res, next){ + var username = util.sanitizeName(req.params.username) + if (! username) { + return res.sendStatus(404) + } + db.getUserByUsername(username).then(function(user){ + if (user) { + res.user = util.sanitizeUser(user) + next() + } + else { + res.sendStatus(404) + } + }) + }, + /* MAIL */ ensureMailboxes: function (req, res, next){ diff --git a/bucky/app/router.js b/bucky/app/router.js index ac176bc..1dfb0bd 100644 --- a/bucky/app/router.js +++ b/bucky/app/router.js @@ -47,6 +47,19 @@ module.exports = function(app){ res.render("pages/editcomment", {title: "Edit comment"}) }) + app.get("/profile", + middleware.ensureAuthenticated, + function(req, res){ + res.render("pages/profile", {title: "profile: " + util.sanitize(req.user.get('username'))}) + } + ) + app.get("/profile/:username", + middleware.ensureAuthenticated, + function(req, res){ + res.render("pages/profile", {title: "profile: " + util.sanitize(req.params.username)}) + } + ) + app.get("/api/index", bucky.ensureLastlog, middleware.ensureAuthenticated, @@ -63,6 +76,13 @@ module.exports = function(app){ }) }) + app.get("/api/user/:username", + middleware.ensureAuthenticated, + bucky.ensureUser, + function(req, res) { + res.json(res.user) + } + ) app.get("/api/keyword/:keyword", bucky.ensureLastlog, middleware.ensureAuthenticated, |
