|
|
|
'use strict';
|
|
|
|
|
|
|
|
const express = require('express')
|
|
|
|
, router = express.Router()
|
|
|
|
, Boards = require(__dirname+'/../db-models/boards.js')
|
|
|
|
, checkAuth = require(__dirname+'/../helpers/check-auth.js')
|
|
|
|
, numberConverter = require(__dirname+'/../helpers/number-converter.js')
|
|
|
|
//page models
|
|
|
|
, home = require(__dirname+'/../models/pages/home.js')
|
|
|
|
, register = require(__dirname+'/../models/pages/register.js')
|
|
|
|
, manage = require(__dirname+'/../models/pages/manage.js')
|
|
|
|
, login = require(__dirname+'/../models/pages/login.js')
|
|
|
|
, board = require(__dirname+'/../models/pages/board.js')
|
|
|
|
, catalog = require(__dirname+'/../models/pages/catalog.js')
|
|
|
|
, thread = require(__dirname+'/../models/pages/thread.js');
|
|
|
|
|
|
|
|
//homepage with board list
|
|
|
|
router.get('/', home);
|
|
|
|
|
|
|
|
//login page
|
|
|
|
router.get('/login', login);
|
|
|
|
|
|
|
|
//registration page
|
|
|
|
router.get('/register', register);
|
|
|
|
|
|
|
|
//logout
|
|
|
|
router.get('/logout', (req, res, next) => {
|
|
|
|
|
|
|
|
if (req.session.authenticated === true) {
|
|
|
|
req.session.destroy();
|
|
|
|
return res.render('message', {
|
|
|
|
'title': 'Success',
|
|
|
|
'message': 'You have been logged out successfully',
|
|
|
|
'redirect': '/'
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
return res.status(400).render('message', {
|
|
|
|
'title': 'Bad request',
|
|
|
|
'message': 'You are not logged in',
|
|
|
|
'redirect': '/login'
|
|
|
|
})
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
//board manage page
|
|
|
|
router.get('/:board/manage', Boards.exists, checkAuth, Boards.canManage, manage);
|
|
|
|
|
|
|
|
// board page/recents
|
|
|
|
router.get('/:board/:page(\\d+)?', Boards.exists, numberConverter, board);
|
|
|
|
|
|
|
|
// thread view page
|
|
|
|
router.get('/:board/thread/:id(\\d+)', Boards.exists, numberConverter, thread);
|
|
|
|
|
|
|
|
// board catalog page
|
|
|
|
router.get('/:board/catalog', Boards.exists, catalog);
|
|
|
|
|
|
|
|
module.exports = router;
|
|
|
|
|