"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 packs_1 = require("./routes/packs"); const pack_service_1 = __importDefault(require("./services/pack_service")); const router = (0, express_1.default)(); /** 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()); /** 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); /** 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; pack_service_1.default.getInitialList().then(() => { httpServer.listen(PORT, () => console.log(`The server is running on port ${PORT}`)); });