UNPKG

ts-mean

Version:

Boilerplate for a TS-MEAN App

44 lines (43 loc) 2.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const express = require("express"); const welcome_html_router_1 = require("./endpoints/welcome-html-router"); const login_router_1 = require("./endpoints/login-router"); const simple_crud_router_1 = require("./endpoints/simple-crud-router"); const user_router_1 = require("./endpoints/user-router"); const bodyParser = require("body-parser"); const auth_1 = require("@tsmean/auth"); // Creates and configures an ExpressJS web server. class Router { // Run configuration methods on the Express instance. constructor() { this.appRouter = express(); this.appRouter.use(bodyParser.json()); this.appRouter.use(bodyParser.urlencoded({ extended: false })); // passport config auth_1.passportInit.init(this.appRouter); this.routes(); } // Configure API endpoints. routes() { /* This is just to get up and running, and to make sure what we've got is * working so far. This function will change when we start to add more * API endpoints */ const router = express.Router(); // Allow CORS since frontend is served completely independently this.appRouter.use(function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT ,DELETE, PATCH'); res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); next(); }); this.appRouter.use('/', welcome_html_router_1.welcomeHtmlRouter); // API this.appRouter.use('/api/v1/', login_router_1.loginRouter); this.appRouter.use('/api/v1/', user_router_1.userRouter); // The simpleCrudRouter one should stay last, since it covers quite a broad range of requests and if it's moved above // it will steal away the endpoints of the more specific implementations this.appRouter.use('/api/v1/', simple_crud_router_1.simpleCrudRouter); } } exports.router = new Router().appRouter;