diff options
Diffstat (limited to 'bucky/app')
| -rw-r--r-- | bucky/app/bucky.js | 21 | ||||
| -rw-r--r-- | bucky/app/router.js | 6 |
2 files changed, 26 insertions, 1 deletions
diff --git a/bucky/app/bucky.js b/bucky/app/bucky.js index ab30e85..9d8d0a7 100644 --- a/bucky/app/bucky.js +++ b/bucky/app/bucky.js @@ -112,6 +112,21 @@ var bucky = module.exports = { } }) }, + prepareThread: function (req, res, next){ + var thread = res.thread + if (thread) { + var settings + try { + settings = JSON.parse(thread.get('settings') || '{}') + } catch(e) { + settings = {} + } + res.thread.set("settings", settings) + res.thread.set("display", res.thread.get("display").toString()) + res.thread.set("allowed", res.thread.get("allowed").toString()) + } + next() + }, ensureCommentThread: function (req, res, next){ if (! res.comment) { return res.sendStatus(404) @@ -135,9 +150,15 @@ var bucky = module.exports = { if (! keyword) return next() db.getKeyword(keyword).then(function(keyword){ res.keyword = keyword + if (keyword) { + keyword.set("threads", keyword.get("threads").toString()) + keyword.set("ops", keyword.get("ops").toString()) + keyword.set("display", keyword.get("display").toString()) + } next() }) }, + ensureCommentsForThread: function (req, res, next){ db.getCommentsForThread(res.thread.get('id')).then(function(comments){ res.comments = comments diff --git a/bucky/app/router.js b/bucky/app/router.js index 1dfb0bd..fc5c7ea 100644 --- a/bucky/app/router.js +++ b/bucky/app/router.js @@ -30,6 +30,9 @@ module.exports = function(app){ app.get("/details/:id", middleware.ensureAuthenticated, function(req, res){ res.render("pages/details", {}) }) + app.get("/details/:id/settings", middleware.ensureAuthenticated, function(req, res){ + res.render("pages/details", {}) + }) app.get("/post/", middleware.ensureAuthenticated, @@ -102,10 +105,11 @@ module.exports = function(app){ app.get("/api/thread/:id", middleware.ensureAuthenticated, bucky.ensureThread, + bucky.bumpViewCount, bucky.ensureKeywordForThread, bucky.ensureCommentsForThread, bucky.ensureFilesForThread, - bucky.bumpViewCount, + bucky.prepareThread, function(req, res){ res.json({ thread: res.thread, |
