beatstar_api/build/server.js

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