const Koa = require ( 'koa' ) ; const app = new Koa ( ) ; const views = require ( 'koa-views' ) ; const json = require ( 'koa-json' ) ; const onerror = require ( 'koa-onerror' ) ; const bodyparser = require ( 'koa-bodyparser' ) ; const logger = require ( 'koa-logger' ) ; import * as gateway from './core/gateway' ; import './dal/typeorm/helper' ; onerror ( app ) ; app . use ( bodyparser ( { enableTypes : [ 'json' , 'form' , 'text' ] } ) ) ; app . use ( json ( ) ) ; app . use ( logger ( ) ) ; app . use ( require ( 'koa-static' ) ( __dirname + '/public' ) ) ; app . use ( views ( __dirname + '/views' , { extension : 'ejs' } ) ) ; app . use ( async ( ctx , next ) => { const start = new Date ( ) ; await next ( ) ; } ) ; gateway . registerRoutes ( app ) ; app . on ( 'error' , ( err , ctx ) => { console . error ( 'server error' , err , ctx ) ; } ) ; module . exports = app ;