46 lines
1.7 KiB
JavaScript
46 lines
1.7 KiB
JavaScript
|
"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}`));
|
||
|
});
|