const express = require('express'); const session = require('express-session'); const path = require('path'); const app = express(); const db = require('./database/db'); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(express.static('public')); app.set('view engine', 'ejs'); app.use(session({ secret: 'your-secret-key', resave: false, saveUninitialized: false })); app.use((req, res, next) => { res.locals.userId = req.session?.userId; res.locals.username = req.session?.username; next(); }); const authMiddleware = (req, res, next) => { if (!req.session.userId) { return res.redirect('/auth/login'); } next(); }; const authRoutes = require('./routes/auth'); const productRoutes = require('./routes/products'); const categoriesRouter = require('./routes/categories'); const stockRoutes = require('./routes/stock'); app.use('/auth', authRoutes); app.get('/', (req, res) => { if (req.session.userId) { res.redirect('/products'); } else { res.redirect('/auth/login'); } }); app.use('/products', authMiddleware, productRoutes); app.use('/categories', authMiddleware, categoriesRouter); app.use('/stock', stockRoutes); app.listen(3000, () => { console.log('Server running on port 3000'); });