Gitlab@Informatics

Skip to content
Snippets Groups Projects
Select Git revision
  • 2883f3a1c3479e1aca6b39ddab6d06c22fcf1079
  • main default protected
2 results

tourController.js

Blame
  • app.js 1.28 KiB
    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');
    });