diff options
Diffstat (limited to 'bucky/app/router.js')
| -rw-r--r-- | bucky/app/router.js | 368 |
1 files changed, 0 insertions, 368 deletions
diff --git a/bucky/app/router.js b/bucky/app/router.js deleted file mode 100644 index 7380a22..0000000 --- a/bucky/app/router.js +++ /dev/null @@ -1,368 +0,0 @@ -var multer = require('multer')() -var auth = require('../util/auth') -var middleware = require('../util/middleware') -var util = require('../util/util') - -var db = require('../db') -var bucky = require('./bucky') -var search = require('../search/middleware') -var fortune = require('../db/fortune') -var federate = require('./federate') - -module.exports = function(app){ - app.all('*', middleware.ensureLocals) - - auth.init() - - app.get("/", - middleware.ensureAuthenticated, - function(req, res){ - res.redirect('/index') - }) - app.get("/index", middleware.ensureAuthenticated, function(req, res){ - res.render("pages/index", { - title: fortune("titles"), - hoot_text: fortune("hoots"), - }) - }) - app.get("/index/:keyword", middleware.ensureAuthenticated, function(req, res){ - res.render("pages/index", { - title: fortune("titles"), - hoot_text: fortune("hoots"), - }) - }) - app.get("/keywords", middleware.ensureAuthenticated, function(req, res){ - res.render("pages/keywords", {}) - }) - 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, - function(req, res){ - res.render("pages/post", {title: "Start a new thread"}) - } - ) - app.get("/post/:keyword", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/post", {title: "Start a new thread"}) - } - ) - app.get("/comment/:id/edit", middleware.ensureAuthenticated, function(req, res){ - res.render("pages/comment_form", {title: "Edit comment"}) - }) - - app.get("/profile", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/profile", {title: "profile for " + util.sanitize(req.user.get('username'))}) - }) - app.get("/profile/:username", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/profile", {title: "profile for " + util.sanitize(req.params.username)}) - }) - app.get("/profile/:username/edit", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/profile_form", {title: "edit your profile"}) - }) - - /* users */ - - app.get("/api/user/:username", - middleware.ensureAuthenticated, - bucky.ensureUser, - bucky.sanitizeUser, - function(req, res) { - res.json(res.user) - }) - app.post("/api/user/:username", - middleware.ensureAuthenticated, - bucky.ensureUser, - bucky.checkUserPrivacy, - multer.single("avatar"), - bucky.updateProfile, - auth.changePassword, - bucky.uploadAvatar, - bucky.saveUser, - function(req, res){ - res.json(util.sanitizeUser(res.user)) - }) - app.put("/api/checkUsernames", - middleware.ensureAuthenticated, - bucky.checkUsernames, - function(req, res){ - res.send({ usernames: res.usernames }) - }) - - - /* threads */ - - app.get("/api/index", - bucky.ensureLastlog, - middleware.ensureAuthenticated, - bucky.ensureLatestThreads, - bucky.filterPrivateThreads, - bucky.ensureCommentCountsForThreads, - bucky.ensureFileCountsForThreads, - bucky.ensureKeywordsForThreads, - bucky.ensureHootbox, - bucky.bumpLastSeen, - function(req, res){ - res.json({ - threads: res.threads, - hootbox: res.hootbox, - lastlog: res.lastlog, - }) - }) - app.get("/api/keyword/:keyword", - bucky.ensureLastlog, - middleware.ensureAuthenticated, - bucky.ensureThreadsForKeyword, - bucky.filterPrivateThreads, - bucky.ensureCommentCountsForThreads, - bucky.ensureFileCountsForThreads, - bucky.ensureKeywordsForThreads, - bucky.ensureHootbox, - function(req, res){ - res.json({ - keyword: res.keyword, - threads: res.threads, - hootbox: res.hootbox, - lastlog: res.lastlog, - }) - }) - app.get("/api/thread/:id", - middleware.ensureAuthenticated, - bucky.ensureThread, - bucky.checkThreadPrivacy, - bucky.bumpViewCount, - bucky.ensureKeywordForThread, - bucky.ensureCommentsForThread, - bucky.ensureFilesForThread, - // bucky.ensureThreadUsers, - bucky.prepareThread, - bucky.bumpLastSeen, - function(req, res){ - res.json({ - thread: res.thread, - comments: res.comments, - files: res.files, - keyword: res.keyword, - }) - }) - app.post("/api/thread", - middleware.ensureAuthenticated, - multer.array("files"), - bucky.verifyFilesOrComment, - bucky.createThread, - bucky.createOptionalFiles, - bucky.createOptionalComment, - function(req, res){ - res.json(res.thread) - }) - app.put("/api/thread/:id", - middleware.ensureAuthenticated, - bucky.ensureThread, - bucky.checkThreadPrivacy, - bucky.updateThreadSettings, - function(req, res){ - res.json({ status: 'ok' }) - }) - app.delete("/api/thread/:id", - middleware.ensureAuthenticated, - bucky.ensureThread, - bucky.checkThreadPrivacy, - bucky.ensureCommentsForThread, - bucky.ensureFilesForThread, - bucky.destroyThread, - function(req, res){ - res.sendStatus(200) - }) - - /* comments */ - - app.post("/api/thread/:id/comment", - middleware.ensureAuthenticated, - bucky.ensureThread, - // ensure thread privacy - multer.array("files"), - bucky.verifyFilesOrComment, - bucky.createOptionalFiles, - bucky.createOptionalComment, - bucky.bumpThreadRevisions, - function(req, res){ - res.json({ - comment: res.comment - }) - }) - app.get("/api/comment/:id", - middleware.ensureAuthenticated, - bucky.ensureComment, - function(req, res){ - res.json({ comment: res.comment }) - }) - // edit a comment - app.put("/api/comment/:id", - middleware.ensureAuthenticated, - bucky.ensureComment, - bucky.checkCommentPrivacy, - bucky.ensureCommentThread, - bucky.updateComment, - bucky.bumpThreadRevisions, - function(req, res){ - res.json({ comment: res.comment }) - }) - // delete a comment - app.delete("/api/comment/:id", - middleware.ensureAuthenticated, - bucky.ensureComment, - bucky.checkCommentPrivacy, - bucky.destroyComment, - function(req, res){ - res.sendStatus(200) - }) - - /* search */ - - app.get("/search/", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/search", {title: "search" }) - }) - app.get("/api/search", - middleware.ensureAuthenticated, - search.search, - search.getThreads, - search.getComments, - search.getFiles, - search.logQuery, - search.success - ) - - /* keywords */ - - app.get("/api/keywords", - middleware.ensureAuthenticated, - bucky.ensureKeywords, - function(req, res){ - res.json({ - keywords: res.keywords, - }) - }) - app.get("/api/keywords/statistics", - middleware.ensureAuthenticated, - bucky.ensureKeywords, - bucky.ensureThreadGroups, - function(req, res){ - res.json({ - keywords: res.keywords, - threadGroups: res.threadGroups, - }) - }) - app.get("/api/keyword/:keyword", - middleware.ensureAuthenticated, - bucky.ensureKeyword, - bucky.ensureThreadsForKeyword, - bucky.filterPrivateThreads, - bucky.ensureCommentCountsForThreads, - bucky.ensureFileCountsForThreads, - bucky.ensureKeywordsForThreads, - function(req, res){ - res.json({ - keyword: res.keyword, - threads: res.threads, - }) - }) - - /* mail */ - - app.get("/mail/", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/mailbox", {title: "your inbox" }) - }) - app.get("/mail/compose", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/compose", { - title: "new message", - subject: fortune("subjects"), - verb: "wrote", - }) - }) - app.get("/mail/:box", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/mailbox", { title: "your " + util.sanitize(req.params.box) }) - }) - app.get("/mail/compose/:username", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/compose", { - title: "new message", - subject: fortune("subjects"), - verb: "wrote", - }) - }) - app.get("/mail/read/:id", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/message", { - title: "read message" - }) - }) - app.get("/mail/reply/:id", - middleware.ensureAuthenticated, - function(req, res){ - res.render("pages/compose", { - title: "reply to message", - subject: fortune("subjects"), - verb: fortune("mail-verbs"), - }) - }) - app.get("/api/mailbox/:box", - middleware.ensureAuthenticated, - bucky.ensureMailboxes, - bucky.ensureMailboxCounts, - bucky.ensureMessages, - function(req, res){ - res.json({ - user: { id: req.user.get("id"), username: req.user.get("username") }, - messages: res.messages, - boxes: res.boxes, - }) - }) - app.get("/api/message/:id", - middleware.ensureAuthenticated, - bucky.ensureMessage, - bucky.markMessageUnread, - function(req, res){ - res.json({ - message: res.message, - }) - }) - app.post("/api/mail/send", - middleware.ensureAuthenticated, - bucky.ensureRecipient, - bucky.sendMessage, - bucky.deleteDraft, - function(req, res){ - res.json({ status: "ok" }) - }) - app.delete("/api/message/:id", - middleware.ensureAuthenticated, - bucky.ensureMessage, - bucky.destroyMessage, - function(req, res){ - res.json({ status: "ok" }) - }) - - auth.route(app) -} |
