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