litebb/routes/index.js

1const express = require("express"); 2const router = express.Router(); 3 4const authMiddleware = require("../middlewares/auth.middleware"); 5 6const userController = require("../controllers/user.controller"); 7const userValidator = require("../validators/user.validator"); 8 9const settingsController = require("../controllers/settings.controller"); 10const settingsValidator = require("../validators/settings.validator"); 11 12const generalController = require("../controllers/general.controller"); 13 14const replyController = require("../controllers/reply.controller"); 15const replyValidator = require("../validators/reply.validator"); 16 17const postController = require("../controllers/post.controller"); 18const postValidator = require("../validators/post.validator"); 19 20router.get("/", authMiddleware.addUserMeta, generalController.getIndexPage); 21 22// auth and user 23router.get("/login", userController.loginForm); 24router.get("/signup", userController.signUpForm); 25router.get("/forgot-password", userController.forgotPasswordForm); 26router.get( 27 "/u/:username", 28 authMiddleware.isSessionActive, 29 authMiddleware.addUserMeta, 30 userController.userProfilePage, 31); 32 33router.post( 34 "/signup", 35 userValidator.signUpNewUser, 36 userController.signupNewUser, 37); 38router.post("/login", userValidator.loginUser, userController.loginUser); 39router.get("/logout", userController.logoutUser); 40router.post( 41 "/forgot-password", 42 userValidator.sendForgotPasswordMail, 43 userController.sendForgotPasswordMail, 44); 45router.get( 46 "/reset-password", 47 userValidator.getResetPasswordForm, 48 userController.getResetPasswordForm, 49); 50router.post( 51 "/reset-password", 52 userValidator.resetPassword, 53 userController.resetPassword, 54); 55router.post( 56 "/change-password", 57 authMiddleware.isSessionActive, 58 authMiddleware.addUserMeta, 59 userValidator.changeUserPassword, 60 userController.changeUserPassword, 61); 62router.post( 63 "/update-profile", 64 authMiddleware.isSessionActive, 65 authMiddleware.addUserMeta, 66 userValidator.updateUserProfile, 67 userController.updateUserProfile, 68); 69 70// settings 71router.get( 72 "/settings", 73 authMiddleware.isSessionActive, 74 authMiddleware.addUserMeta, 75 authMiddleware.isAdmin, 76 settingsController.getSettingsPage, 77); 78router.get( 79 "/settings/new-board", 80 authMiddleware.isSessionActive, 81 authMiddleware.addUserMeta, 82 authMiddleware.isAdmin, 83 settingsController.getNewBoardPage, 84); 85 86router.post( 87 "/settings/new-board", 88 authMiddleware.isSessionActive, 89 authMiddleware.addUserMeta, 90 authMiddleware.isAdmin, 91 settingsValidator.createNewBoard, 92 settingsController.createNewBoard, 93); 94 95// boards 96router.get( 97 "/b/:board_slug", 98 authMiddleware.addUserMeta, 99 generalController.getBoardIndexPage, 100); 101 102// posts 103router.get( 104 "/p/:post_slug", 105 authMiddleware.addUserMeta, 106 postController.getPostPage, 107); 108router.get( 109 "/p/:post_slug/edit", 110 authMiddleware.addUserMeta, 111 postController.getPostEditPage, 112); 113router.get( 114 "/b/:board_slug/new-post", 115 authMiddleware.isSessionActive, 116 postController.getNewPostPage, 117); 118router.post( 119 "/b/:board_id/new-post", 120 authMiddleware.isSessionActive, 121 postValidator.createPost, 122 postController.createPost, 123); 124router.post( 125 "/p/:post_id/update", 126 authMiddleware.isSessionActive, 127 authMiddleware.addUserMeta, 128 postValidator.updatePost, 129 postController.updatePost, 130); // html forms only does post for submission 131 132// replies 133router.get( 134 "/p/:post_slug/new-reply", 135 authMiddleware.isSessionActive, 136 replyController.getNewReplyPage, 137); 138router.post( 139 "/p/:post_id/new-reply", 140 authMiddleware.isSessionActive, 141 replyValidator.createNewReply, 142 replyController.createNewReply, 143); 144 145module.exports = router;