2024-03-15 20:41:09 +00:00

47 lines
1.2 KiB
JavaScript

import { Config } from "@db_models"
export default async () => {
let serverConfig = await Config.findOne({ key: "server" }).catch(() => {
return false
})
if (!serverConfig) {
console.log("Server config DB is not created, creating it...")
serverConfig = new Config({
key: "server",
value: {
setup: false,
},
})
await serverConfig.save()
}
const setupScriptsCompleted = (serverConfig.value?.setup) ?? false
if (!setupScriptsCompleted) {
console.log("⚠️ Server setup is not complete, running setup proccess.")
let setupScript = await import("./setup")
setupScript = setupScript.default ?? setupScript
try {
for await (let script of setupScript) {
await script()
}
console.log("✅ Server setup complete.")
await Config.updateOne({ key: "server" }, { value: { setup: true } })
serverConfig = await Config.findOne({ key: "server" })
return resolve()
} catch (error) {
console.log("❌ Server setup failed.")
console.error(error)
process.exit(1)
}
}
}