mirror of
https://github.com/Akif9748/akf-forum.git
synced 2024-11-01 03:25:04 +03:00
34 lines
1 KiB
JavaScript
34 lines
1 KiB
JavaScript
|
const { UserModel } = require("../models")
|
||
|
const { Router } = require("express");
|
||
|
const app = Router();
|
||
|
const fs = require("fs");
|
||
|
|
||
|
app.use(async (req, res, next) => {
|
||
|
if (await UserModel.exists({ admin: true })) return res.error(400, "You have already setuped the site.");
|
||
|
next();
|
||
|
});
|
||
|
app.get("/", async (req, res) => res.reply("setup"))
|
||
|
app.post("/", async (req, res) => {
|
||
|
let original = {};
|
||
|
|
||
|
try {
|
||
|
original = JSON.parse(fs.readFileSync("./config.json", "utf8"));
|
||
|
} catch (e) {
|
||
|
try {
|
||
|
original = JSON.parse(fs.readFileSync("./config.json.example", "utf8"));
|
||
|
// eslint-disable-next-line no-empty
|
||
|
} catch (e) { }
|
||
|
}
|
||
|
|
||
|
const content = req.body;
|
||
|
|
||
|
for (const key in content)
|
||
|
if (key in original && content[key])
|
||
|
original[key] = content[key];
|
||
|
|
||
|
fs.writeFileSync("./config.json", JSON.stringify(original, null, 4));
|
||
|
require.cache[require.resolve("../config.json")] = require("../config.json");
|
||
|
res.redirect("/register");
|
||
|
})
|
||
|
|
||
|
module.exports = app;
|