From ba93fa69f3fbc3714e863ace6818556c175b7356 Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Sat, 30 Aug 2025 19:27:16 -0600 Subject: [PATCH] Add error page and index --- index.js | 13 +++++++++++++ routes/index.js | 10 ++++++++++ views/error.ejs | 18 ++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 routes/index.js create mode 100644 views/error.ejs diff --git a/index.js b/index.js index d721ae9..5beca85 100644 --- a/index.js +++ b/index.js @@ -5,6 +5,8 @@ const SQLiteStore = require('connect-sqlite3')(session); const cors = require("cors"); const bcrypt = require('bcrypt'); +var dbReady = false; + const DSN = `mysql://${process.env.DB_USER || "root"}:${process.env.DB_PASSWORD || ""}@tcp(${process.env.DB_HOST || "127.0.0.1"}:${process.env.DB_PORT || "3306"})/${process.env.DB_NAME}`; const mariadb = require("mariadb"); const fs = require('fs'); @@ -49,6 +51,12 @@ app.use(express.static("public")); app.set("view engine", "ejs"); app.set("views", "./views"); +app.use((req, res, next) => { + if (!dbReady) { + return res.render('error', { error: 'Database is not ready. Please try again later.' }); + } +}); + const routersDir = path.join(__dirname, 'routes'); fs.readdirSync(routersDir).forEach(file => { const router = require(path.join(routersDir, file)); @@ -58,6 +66,10 @@ fs.readdirSync(routersDir).forEach(file => { } }); +app.get('/', (req, res) => { + +}) + app.listen(port, (err) => { if (err) { global.log.error(`Cannot start server: ${err}`); @@ -70,6 +82,7 @@ app.listen(port, (err) => { return conn.query('SELECT 1 FROM ACL LIMIT 1') .then(() => { global.log.info('Database connection validated with ACL table.'); + dbReady = true; conn.release(); }) .catch(err => { diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..317e11c --- /dev/null +++ b/routes/index.js @@ -0,0 +1,10 @@ +const express = require('express'); +const db = global.db; +const router = express.Router(); + +// GET /login +router.get('/', (req, res) => { + res.send("Test") +}); + +module.exports = router; \ No newline at end of file diff --git a/views/error.ejs b/views/error.ejs new file mode 100644 index 0000000..a651983 --- /dev/null +++ b/views/error.ejs @@ -0,0 +1,18 @@ + + + + + Error + + + +
+

Error

+

<%= error %>

+
+ + \ No newline at end of file