33 lines
1.1 KiB
JavaScript

async function checkSetup(req, res, next) {
console.log("check setup");
const Admin = require('../models/admin');
try {
const adminExists = await Admin.findOne({ setupComplete: true });
if (!adminExists && req.path !== '/admin/setup') {
console.log("attempting to redirect to setup");
return res.redirect('/admin/setup');
}
if (adminExists && req.path === '/admin/setup') {
console.log("attempting to redirect to login");
return res.redirect('/admin/login');
}
next();
} catch (error) {
console.error('Setup check failed:', error);
next(error);
}
}
function requireAuth(req, res, next) {
console.log('Session data in requireAuth:', req.session);
if (req.session && req.session.isAuthenticated) {
console.log('User is authenticated');
next();
} else {
console.log('User is not authenticated, redirecting to login');
res.redirect('/admin/login');
}
}
console.log("Bottom")
module.exports = { requireAuth, checkSetup };