47 lines
1 KiB
JavaScript
47 lines
1 KiB
JavaScript
![]() |
// --- Define constants ---
|
||
|
|
||
|
const express = require("express");
|
||
|
const app = express();
|
||
|
const fs = require("fs");
|
||
|
const path = require("path");
|
||
|
const { MySQLDatabase, SQLiteDatabase, connectDatabase } = require('./database');
|
||
|
|
||
|
|
||
|
const config_folder = path.join(__dirname, "config");
|
||
|
const config_file_name = "config.json"
|
||
|
const data_folder = path.join(__dirname, "db");
|
||
|
const sqlite_file_name = "sqlite.db"
|
||
|
|
||
|
const default_port = 8000
|
||
|
|
||
|
// --- Load configuration ---
|
||
|
|
||
|
// var declaration
|
||
|
let db;
|
||
|
let config;
|
||
|
|
||
|
// Load config
|
||
|
try {
|
||
|
config = JSON.parse(fs.readFileSync(path.join(config_folder, config_file_name)));
|
||
|
console.debug("Loaded config");
|
||
|
} catch (err) {
|
||
|
console.error("Couldn't read config file: ", err);
|
||
|
process.exit(1);
|
||
|
}
|
||
|
|
||
|
// vars definition
|
||
|
const port = config.port || default_port;
|
||
|
console.debug("Port: ", port);
|
||
|
|
||
|
// Database connection
|
||
|
db = connectDatabase(config.database);
|
||
|
|
||
|
// --- Routing ---
|
||
|
|
||
|
app.use("/mods", require("./routes/mods"));
|
||
|
|
||
|
// --- Launch ---
|
||
|
|
||
|
app.listen(port, () => {
|
||
|
console.log("Server listening on port " + port);
|
||
|
})
|