2020-09-15 19:40:54 -05:00

46 lines
1.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var express = require("express");
var mongoose = require("mongoose");
var path = require("path");
var body_parser_1 = require("body-parser");
var apiRoute_1 = require("../Routes/apiRoute.js");
var Server = /** @class */ (function () {
function Server() {
this.createApp();
this.createRoutes();
this.setOptions();
}
Server.prototype.createApp = function () {
this.app = express();
this.app.use(body_parser_1.json());
this.app.use(express.static(path.join(process.cwd(), '/web/build')));
this.connectToDatabase();
};
Server.prototype.createRoutes = function () {
this.app.use('/api', apiRoute_1.default);
this.app.use('/', function (request, response, next) {
response.sendFile(path.join(process.cwd(), './web/build/index.html'));
});
};
Server.prototype.connectToDatabase = function () {
mongoose.connect(process.env.DBCONNECTION, {
useCreateIndex: true,
useNewUrlParser: true,
useUnifiedTopology: true
}, function () {
console.log('Connected to Database');
});
};
Server.prototype.setOptions = function () {
this.app.use(function (request, response, next) {
response.header('Access-Control-Allow-Origin', request.headers.origin || '*');
response.header('Access-Control-Allow-Methods', 'GET,POST,PUT,PATCH,HEAD,DELETE,OPTIONS');
response.header('Access-Control-Allow-Headers', 'Content-Type,x-requested-with');
next();
});
};
return Server;
}());
exports.default = Server;
//# sourceMappingURL=Server.js.map