diff --git a/app/controllers/welcome.js b/app/controllers/welcome.js index f92320e..f761fc6 100644 --- a/app/controllers/welcome.js +++ b/app/controllers/welcome.js @@ -23,23 +23,29 @@ class WelcomeController extends SiteController { captcha.loadFont(path.join(this.dtp.config.root, 'client', 'fonts', 'Dirty Sweb.ttf')); + function preventUserAccess (req, res, next) { + if (req.user) { + return res.redirect(301, '/'); + } + return next(); + } + const router = express.Router(); this.dtp.app.use('/welcome', welcomeLimiter, async (req, res, next) => { res.locals.currentView = 'welcome'; return next(); }, router); - router.get('/core-member', this.getWelcomeCoreMember.bind(this)); + router.get('/core-member', preventUserAccess, this.getWelcomeCoreMember.bind(this)); router.get('/signup/captcha', this.getSignupCaptcha.bind(this)); - router.get('/signup', this.getSignupView.bind(this)); - router.get('/login', this.getLoginView.bind(this)); - router.get('/', this.getHomeView.bind(this)); + router.get('/signup', preventUserAccess, this.getSignupView.bind(this)); + router.get('/login', preventUserAccess, this.getLoginView.bind(this)); + router.get('/', preventUserAccess, this.getHomeView.bind(this)); return router; } async getWelcomeCoreMember (req, res) { - await this.checkForUser(req, res); res.render('welcome/core-member'); } @@ -59,33 +65,19 @@ class WelcomeController extends SiteController { } async getSignupView (req, res) { - await this.checkForUser(req, res); req.session.captcha = req.session.captcha || { }; req.session.captcha.signup = captcha.randomText(4 + Math.floor(Math.random()*4)); res.render('welcome/signup'); } async getLoginView (req, res) { - await this.checkForUser(req, res); res.locals.loginResult = req.session.loginResult; res.render('welcome/login'); } - async getHomeView (req, res, next) { - try { - await this.checkForUser(req, res); - res.render('welcome/index'); - } catch (error) { - return next(error); - } + async getHomeView (req, res) { + res.render('welcome/index'); } - - async checkForUser (req, res) { - if (req.user) { - res.redirect(301, '/'); - } - } - } module.exports = {