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}`); });