api.violets-purgatory.dev/index.js

61 lines
1.7 KiB
JavaScript

const express = require('express'),
path = require('path'),
fs = require('fs'),
WebSocket = require("ws")
var app = express()
const PORT = process.env.PORT || 8080
const staticpath = path.join(__dirname, 'static')
const cachePath = path.join(__dirname, 'cached')
const assetPath = path.join(__dirname, "assets")
const configPath = path.join(__dirname, 'config')
const configFile = path.join(configPath, "config.json")
const announcementFile = path.join(configPath, "announcement.html")
if (!fs.existsSync(configPath)) {
fs.mkdirSync(configPath)
}
if (!fs.existsSync(configFile)) {
fs.writeFileSync(configFile, fs.readFileSync(path.join(assetPath, "defaults/config.json")))
}
if (!fs.existsSync(announcementFile)) {
fs.writeFileSync(announcementFile, ``)
}
const pageUpdater = require('./pageUpdater.js')
var constants = JSON.parse(fs.readFileSync(path.join(__dirname, 'constants.json')))
app.listen(PORT, () => {
console.log("Violet's Purgatory is now listening on port: " + PORT)
})
app.use("/fonts", express.static(path.join(assetPath, "fonts")))
app.use("/cached", express.static(cachePath))
app.use("/imgs", express.static(path.join(assetPath, "Images")))
app.use("/snds", express.static(path.join(assetPath, "Sounds")))
app.use("/emojis", express.static(path.join(cachePath, "emojis")))
if (!fs.existsSync(cachePath)) {
fs.mkdirSync(cachePath)
}
if (!fs.existsSync(path.join(cachePath, "emojis"))) {
fs.mkdirSync(path.join(cachePath, "emojis"))
}
app.use(pageUpdater.middleWare)
process.on('uncaughtException', (err, origin) => {
fs.writeSync(
process.stderr.fd,
`Caught exception: ${err}\n` +
`Exception origin: ${origin}`,
);
});