"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"); });