diff options
Diffstat (limited to 'week-7/Final4/blog/routes/index.js')
| -rw-r--r-- | week-7/Final4/blog/routes/index.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/week-7/Final4/blog/routes/index.js b/week-7/Final4/blog/routes/index.js new file mode 100644 index 0000000..4586e7b --- /dev/null +++ b/week-7/Final4/blog/routes/index.js @@ -0,0 +1,47 @@ +var SessionHandler = require('./session') + , ContentHandler = require('./content') + , ErrorHandler = require('./error').errorHandler; + +module.exports = exports = function(app, db) { + + var sessionHandler = new SessionHandler(db); + var contentHandler = new ContentHandler(db); + + // Middleware to see if a user is logged in + app.use(sessionHandler.isLoggedInMiddleware); + + // The main page of the blog + app.get('/', contentHandler.displayMainPage); + + // The main page of the blog, filtered by tag + app.get('/tag/:tag', contentHandler.displayMainPageByTag); + + // A single post, which can be commented on + app.get("/post/:permalink", contentHandler.displayPostByPermalink); + app.post('/newcomment', contentHandler.handleNewComment); + app.get("/post_not_found", contentHandler.displayPostNotFound); + + // Displays the form allowing a user to add a new post. Only works for logged in users + app.get('/newpost', contentHandler.displayNewPostPage); + app.post('/newpost', contentHandler.handleNewPost); + + // Used to process a like on a blog post + app.post('/like', contentHandler.handleLike); + + // Login form + app.get('/login', sessionHandler.displayLoginPage); + app.post('/login', sessionHandler.handleLoginRequest); + + // Logout page + app.get('/logout', sessionHandler.displayLogoutPage); + + // Welcome page + app.get("/welcome", sessionHandler.displayWelcomePage); + + // Signup form + app.get('/signup', sessionHandler.displaySignupPage); + app.post('/signup', sessionHandler.handleSignup); + + // Error handling middleware + app.use(ErrorHandler); +} |
