36 lines
889 B
JavaScript
36 lines
889 B
JavaScript
import express from "express";
|
|
import path from "path";
|
|
const app = express();
|
|
import fs from "fs/promises";
|
|
import { getCurrentInterval } from "./scheduleRules.js";
|
|
|
|
const PORT = process.env.PORT || 3000;
|
|
|
|
app.get('/', async (_, res) => {
|
|
const dataStr = await fs.readFile(path.join(__dirname, "db", "current.json"));
|
|
const data = JSON.parse(dataStr);
|
|
|
|
data["status"] = {
|
|
currentUpdateSchedule: getCurrentInterval(),
|
|
};
|
|
|
|
res.json(data);
|
|
});
|
|
|
|
app.get("/status", async (_, res) => {
|
|
const dataStr = await fs.readFile(path.resolve("./volume/customState.json"), {encoding: "utf8"});
|
|
const data = JSON.parse(dataStr);
|
|
|
|
if (data.working) {
|
|
res.json({ working: true })
|
|
} else {
|
|
res.json({ working: data.working, message: data.message })
|
|
}
|
|
})
|
|
|
|
// TODO: Reporting errors
|
|
|
|
app.listen(PORT, () => {
|
|
console.log(`Server is running at http://localhost:${PORT}`);
|
|
});
|