const express = require('express'); const router = express.Router(); const Models = require('../../models'); const bCrypt = require('bcrypt-nodejs'); //-------------------------- // Index //-------------------------- router.get('/', function(req, res) { var loggedIn = false; if (req.session.user) loggedIn = true; Models.FreshPost.findAll({ order: [['id', 'DESC']] }) .then(function(posts) { let title = 'Fipamo Dashboard'; let welcome = ''; !loggedIn ? (welcome = 'Hello.') : (welcome = 'Welcome back, ' + req.session.user.handle); let filtered = []; for (let index = 0; index < posts.length; index++) { let item = posts[index].post; if (typeof item.deleted == 'undefined' || item.deleted == false) { filtered.push(posts[index]); } else { continue; } } res.render('dash/index', { title: title, welcome: welcome, user_status: loggedIn, items: filtered }); }) .then(() => { //console.log(value); }) .catch(() => { //next(err); }); }); //-------------------------- // Login //-------------------------- /* Handle Login POST */ router.post('/login', function(req, res) { Models.User.findOne({ where: { handle: req.body.handle } }) .then(user => { if (!isValidPassword(user, req.body.password)) { return res.json({ message: 'CHECK YOUR PASSWORD' }); } let session = req.session; session.user = user; res.redirect('/@/dashboard'); }) .catch(() => { return res.json({ message: 'NOT FOUND, HAWS' }); }); }); //-------------------------- // Logout //-------------------------- router.post('/logout', function(req, res) { req.logout(); return res.json({ message: 'LOGGED OUT' }); }); module.exports = router; var isValidPassword = function(user, password) { return bCrypt.compareSync(password, user.password); };