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.sync().then(f => { Models.FreshPost.findAll( { order: [ ['id', 'DESC'] ], limit: 5 }).then(function(posts) { 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: 'Dashboard', user_status: loggedIn, items: filtered }); }).then(function(value) { //console.log(value); }).catch(function(err) { //next(err); }) }).catch(err => { console.log("ERR: " + err); }) }); //-------------------------- // SETTINGS //-------------------------- router.get('/settings/', function(req, res) { if (req.session.user) { res.render('dash/settings', { title: 'Dashboard | Settings', mode: 'admin' }); } else { res.redirect('/@/dashboard'); } }); //-------------------------- // Login //-------------------------- /* Handle Login POST */ router.post('/login', function(req, res, next) { 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(err => { return res.json( { message: 'NOT FOUND, HAWS' }); }) }); //-------------------------- // Logout //-------------------------- router.post('/logout', function(req, res, next) { req.logout(); return res.json( { message: 'LOGGED OUT' }); }); module.exports = router; var isValidPassword = function(user, password) { return bCrypt.compareSync(password, user.password); }