summaryrefslogtreecommitdiff
path: root/bucky/app
diff options
context:
space:
mode:
Diffstat (limited to 'bucky/app')
-rw-r--r--bucky/app/bucky.js18
-rw-r--r--bucky/app/router.js20
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,