Duffer Derek

Current Path : /var/www/idmc.bitkit.dk/httpdocs/
Upload File :
Current File : /var/www/idmc.bitkit.dk/httpdocs/app.js

const express = require("express");
const bodyParser = require("body-parser");
const app = express();
const pool = require("./db"); // Import the pool instead of a single connection

const session = require("express-session");
const MySQLStore = require("express-mysql-session")(session);
const { sessionSecretKey } = require("./constants");

const mmRouters = require("./routes/marketing-manager");
const adminRouters = require("./routes/admin");
const dmcRouters = require("./routes/dmc");
const sdRouters = require("./routes/sales-director");
const publicRouters = require("./routes/public-routes");

// Test database connection
pool.getConnection((err, connection) => {
  if (err) {
    console.error('Database connection failed:', err);
    process.exit(1);
  } else {
    console.log('Database connected successfully.');
    connection.release(); // Release the connection back to the pool
  }
});

// Configure session store using express-mysql-session
const sessionStore = new MySQLStore(
  {
    expiration: 1000 * 60 * 60 * 24, // Session expiration time (milliseconds)
    createDatabaseTable: true,
    schema: {
      tableName: "sessions",
      columnNames: {
        session_id: "session_id",
        expires: "expires",
        data: "data",
      },
    },
  },
  pool // Pass the pool to the session store
);

app.use(
  session({
    key: "IDMC",
    secret: sessionSecretKey,
    store: sessionStore,
    resave: false,
    saveUninitialized: false,
  })
);

app.set("view engine", "ejs");

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(express.static("public"));
app.use(publicRouters);
app.use(mmRouters);
app.use(adminRouters);
app.use(dmcRouters);
app.use(sdRouters);

// 404 Handler
app.use((req, res) => {
  res.status(404).render("404", { message: "" });
});

// Start server
app.listen(3013, () => {
  console.log('Server is running on port 3013');
});

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists