2023-06-11 17:18:44 +02:00
|
|
|
"use strict";
|
|
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
|
|
};
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
|
const http_1 = __importDefault(require("http"));
|
|
|
|
const express_1 = __importDefault(require("express"));
|
|
|
|
const morgan_1 = __importDefault(require("morgan"));
|
|
|
|
const os_1 = __importDefault(require("os"));
|
|
|
|
const packs_1 = require("./routes/packs");
|
|
|
|
const global_1 = require("./routes/global");
|
|
|
|
const pack_service_1 = __importDefault(require("./services/pack_service"));
|
|
|
|
const router = (0, express_1.default)();
|
|
|
|
const fileUpload = require("express-fileupload");
|
|
|
|
/** Logging */
|
|
|
|
router.use((0, morgan_1.default)("dev"));
|
|
|
|
/** Parse the request */
|
|
|
|
router.use(express_1.default.urlencoded({ extended: false }));
|
|
|
|
/** Takes care of JSON data */
|
|
|
|
router.use(express_1.default.json());
|
|
|
|
/** File Upload */
|
|
|
|
router.use(fileUpload({
|
|
|
|
useTempFiles: true,
|
|
|
|
tempFileDir: `${os_1.default.homedir()}/beatloads/tmp`,
|
|
|
|
createParentPath: true,
|
|
|
|
uriDecodeFileNames: true,
|
|
|
|
safeFileNames: true,
|
|
|
|
preserveExtension: true,
|
|
|
|
debug: true,
|
|
|
|
}));
|
|
|
|
/** RULES OF OUR API */
|
|
|
|
router.use((req, res, next) => {
|
|
|
|
// set the CORS policy
|
|
|
|
res.header("Access-Control-Allow-Origin", "*");
|
|
|
|
// set the CORS headers
|
|
|
|
res.header("Access-Control-Allow-Headers", "origin, X-Requested-With,Content-Type,Accept, Authorization");
|
|
|
|
// set the CORS method headers
|
|
|
|
if (req.method === "OPTIONS") {
|
|
|
|
res.header("Access-Control-Allow-Methods", "GET POST");
|
|
|
|
return res.status(200).json({});
|
|
|
|
}
|
|
|
|
next();
|
|
|
|
});
|
|
|
|
/** Routes */
|
|
|
|
router.use("/", packs_1.packRoutes);
|
|
|
|
router.use("/", global_1.globalRoutes);
|
|
|
|
/** Error handling */
|
|
|
|
router.use((req, res, next) => {
|
|
|
|
const error = new Error("not found");
|
|
|
|
return res.status(404).json({
|
|
|
|
message: error.message,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
/** Server */
|
|
|
|
const httpServer = http_1.default.createServer(router);
|
|
|
|
const PORT = process.env.PORT ?? 6060;
|
|
|
|
const start = performance.now();
|
|
|
|
pack_service_1.default.getInitialList().then(() => {
|
|
|
|
httpServer.listen(PORT, () => console.log(`The server is running on port ${PORT}`));
|
|
|
|
console.log("initialized with ", pack_service_1.default.getPackList().length, "packs in ", Math.round(performance.now() - start), "ms");
|
|
|
|
});
|