-
Federico Hurtado authoredFederico Hurtado authored
index.js 1.52 KiB
const express = require("express");
const session = require("express-session");
const cors = require("cors");
require("dotenv").config();
const app = express();
app.use(express.json());
app.use(cors());
app.use(
session({
secret: "this is totally secret",
resave: false,
saveUninitialized: false,
cookie: { secure: true },
})
);
// create connection to db and run initialization file
const { pool } = require("./config/database/database.config");
// establish port
const port = process.env.PORT || 3000;
// set up CAS
const passport = require("passport");
const casStrategy = require("./config/auth/auth.cas");
app.use(passport.initialize());
app.use(passport.session());
passport.use(casStrategy);
passport.serializeUser(function (user, done) {
done(null, user.username);
});
passport.deserializeUser(function (username, done) {
done(null, {
username,
});
});
// Set Current User
app.use(function (req, res, next) {
res.locals.currentUser = req.user;
next();
});
// import routes
require("./config/auth/auth.routes")(app);
// Basic route to check if server is running
app.get("/api", (req, res) => {
res.send("Hello World! This app is running.");
});
async function testDBConnection() {
try {
const [results] = await pool.query("SELECT 1");
console.log("Database connection test successful. Results:", results);
} catch (err) {
console.error("Error testing database connection:", err);
}
}
testDBConnection();
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});