// static variables import express from "express"; const app = express(); const port = 4000; import { loginUser } from "./database.js"; app.use(express.urlencoded({ extended: true })); app.set("view engine", "ejs"); import path from "path"; import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); app.listen(port, () => { console.log(`Server is running on http://localhost:${port}`); }); // Middleware to parse JSON bodies app.use(express.json()); // Middleware to serve static files from the 'public' directory app.use(express.static("public")); // Main code below // Route to handle GET requests to the root URL app.get("/", (req, res) => { res.render("login.ejs", { error: null, reload: false }); }); // Route to handle user login app.post("/login", (req, res) => { loginUser(req.body.username, req.body.password).then((result) => { if (result.success) { res .status(200) .render("dashboard.ejs", { sqlResult: result, newLink: `/dashboard/${result.user.id}`, }); } else { res .status(401) .render("login.ejs", { error: result.message, reload: true }); } }); }); // error handling code app.use((err, req, res, next) => { console.error(err.stack); res.status(500).send("Something broke!"); });