aboutsummaryrefslogtreecommitdiff
path: root/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'index.js')
-rw-r--r--index.js43
1 files changed, 40 insertions, 3 deletions
diff --git a/index.js b/index.js
index 73a35c3..bd66ffb 100644
--- a/index.js
+++ b/index.js
@@ -31,7 +31,23 @@ const fs = require('fs');
const app = express();
// Get version and build numbers
-const version = (fs.existsSync("./.git/refs/heads/mane") ? fs.readFileSync("./.git/refs/heads/mane").toString().trim().substring(0, 8) : (fs.existsSync("../.git/refs/heads/mane") ? fs.readFileSync("../.git/refs/heads/mane").toString().trim().substring(0, 8) : (fs.existsSync("./version.txt") ? fs.readFileSync("./version.txt").toString().trim() : (fs.existsSync("../version.txt") ? fs.readFileSync("../version.txt").toString().trim().substring(0, 8) : "live"))));
+const version = (fs.existsSync("./.git/refs/heads/mane")
+ ?
+ fs.readFileSync("./.git/refs/heads/mane").toString().trim().substring(0, 8)
+ :
+ (fs.existsSync("../.git/refs/heads/mane")
+ ?
+ fs.readFileSync("../.git/refs/heads/mane").toString().trim().substring(0, 8)
+ :
+ (fs.existsSync("./version.txt")
+ ?
+ fs.readFileSync("./version.txt").toString().trim().substring(0, 8)
+ :
+ (fs.existsSync("../version.txt")
+ ?
+ fs.readFileSync("../version.txt").toString().trim().substring(0, 8)
+ :
+ "live"))));
const build = (fs.existsSync("./build.txt") ? fs.readFileSync("./build.txt").toString().trim() : (fs.existsSync("../build.txt") ? fs.readFileSync("../build.txt").toString().trim() : "dev"));
// Restart manager
@@ -53,6 +69,10 @@ app.get('/servers', (req, res) => {
res.render("servers", { serverCache, version, build });
});
+app.get('/broken', (req, res) => {
+ res.render("broken", { serverCache, version, build });
+});
+
app.get("/plurality", (req, res) => {
res.render("plurality", { pluralCache, version, build });
});
@@ -62,12 +82,13 @@ app.get("/about", (req, res) => {
});
app.get("/projects", (req, res) => {
- res.render("projects", { version, build });
+ res.render("projects", { projectCache, version, build });
});
// API
let serverCache = {};
let pluralCache = {};
+let projectCache = JSON.parse(fs.readFileSync(__dirname + "/data/projects.json").toString());
app.get("/api/servers", (req, res) => {
res.json(serverCache);
@@ -77,6 +98,10 @@ app.get("/api/plural", (req, res) => {
res.json(pluralCache);
});
+app.get("/api/projects", (req, res) => {
+ res.json(projectCache);
+});
+
// Refresh handling
const refresh = require('./refresh/servers');
const pkRefresh = require('./refresh/pluralkit');
@@ -84,6 +109,7 @@ setInterval(cacheReload, 300000);
function cacheReload() {
console.log("Running refresh...");
+ projectCache = JSON.parse(fs.readFileSync(__dirname + "/data/projects.json").toString());
refresh().then(data => {
console.log("Refresh halfway done!");
serverCache = data;
@@ -104,4 +130,15 @@ const server = app.listen(8099, function () {
console.log("Vapor Trail server listening at http://%s:%s", host, port)
cacheReload();
-}) \ No newline at end of file
+})
+
+// Error handling
+app.use((req, res) => {
+ res.status(404);
+ res.render("error", { code: '404', message: 'What are you even looking for?', version, build, process, req, UAParser: require('ua-parser-js') });
+})
+
+app.use(function(err, req, res, next) {
+ res.status(500);
+ res.render("error", { err, code: '500', message: 'Things went pretty downhill.', version, build, process, req, UAParser: require('ua-parser-js') });
+}); \ No newline at end of file