import * as express from 'express';
import * as logger from 'morgan';
import * as bodyParser from 'body-parser';
import * as cors from "cors"

import TemplateRouter from "./router/TemplateRouter"

// Criando as configurações para o ExpressJS
class App {

  public express: express.Application;

  constructor() {
    this.express = express();
    this.middleware();
    this.routesRegister();
  }

  private middleware(): void {
    this.express.use(logger('dev'));
    this.express.use(bodyParser.json());
    this.express.use(bodyParser.urlencoded({ extended: false }));
    this.express.use(cors({origin: true}));
  }

  private routesRegister(): void {     
    this.express.use('/api/v1/template', TemplateRouter);
    
  }
}
export default new App().express;