wf-radio/server.js
Gu://em_ 575efff1cb feat: Added authentication system and configManager bases
fix: Fixed some errors related to users
2025-03-31 17:00:28 +02:00

58 lines
1.4 KiB
JavaScript

// --- Imports ---
const express = require("express");
const app = express();
const fs = require("fs");
const path = require("path");
const { getDatabase, connectDatabase, initDatabase } = require('./src/database/index');
const handleError = require('./src/middleware/errors');
// --- Define constants ---
const config_folder = "config";
const config_file_name = "config.json"
const data_folder = "data";
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);
db = initDatabase(config);
// -- Usings ---
app.use(handleError); // Error handling
app.use(express.json()); // Request body handling
// --- Routing ---
app.use("/", require("./src/routes/index"));
app.use("/mods", require("./src/routes/mods"));
app.use("/users", require("./src/routes/users"));
app.use("/login", require("./src/routes/login"));
// --- Launch ---
app.listen(port, () => {
console.log("Server listening on port " + port + "...");
})