33 lines
822 B
TypeScript
33 lines
822 B
TypeScript
import Koa from 'koa';
|
|
import bodyparser from 'koa-bodyparser';
|
|
import cookie from 'koa-cookie';
|
|
import session from 'koa-session';
|
|
|
|
import passport from './passport';
|
|
import { performanceLogger, perfromanceTimer } from './middleware/performance';
|
|
import { errorHandler } from './middleware/errorHandler';
|
|
import { authRouter } from './controllers/auth';
|
|
import { SESSION_KEY } from '../constants/env';
|
|
|
|
const app: Koa = new Koa();
|
|
|
|
app.use(errorHandler);
|
|
app.use(perfromanceTimer);
|
|
app.use(performanceLogger);
|
|
app.use(bodyparser());
|
|
app.use(cookie());
|
|
|
|
app.keys = [SESSION_KEY];
|
|
app.use(session({}, app));
|
|
|
|
app.use(passport.initialize());
|
|
app.use(passport.session());
|
|
|
|
app.use(authRouter.routes());
|
|
app.use(authRouter.allowedMethods());
|
|
|
|
// Application error logging.
|
|
app.on('error', console.error);
|
|
|
|
export default app;
|