Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import routesLoader from './utils/routesLoader';
require('./bootstrap');
const app = new Koa();
require('koa-qs')(app);
if (process.env.NODE_ENV === 'development') {
app.use(logger());
}
app
.use(bodyParser())
.use(cors());
app.use(koaSwagger({
swaggerOptions: {
url: '/swagger.json', // example path to json
},
}));
app.use(async (ctx, next) => {
if (ctx.path === '/swagger.json') {
await koaSend(ctx, ctx.path);
} else {
await next();
}
});
if (!global.isFirstStart) {
routesLoader(`${__dirname}/routes`).then((files) => {
files.forEach((route) => {
public constructor({config, logger}: IServerOptions) {
this.api = new KoaRouter();
this.koa = new Koa();
this.logger = logger;
koaQs(this.koa);
this.api
.get('/', ctx => ctx.body = 'Data Hub')
.use('/healthcheck', healthcheck([{
async healthcheck(): Promise {
}
}]))
.use('/data', dataRoutes());
const swaggerUI = koaSwagger({
routePrefix: '/api-docs',
swaggerOptions: {
spec: require(path.join(__dirname, '../docs/swagger/openapi.json'))
},
});
this.koa
.use(koaBunyanLogger(this.logger))
.use(koaBunyanLogger.requestIdContext())
.use(koaBunyanLogger.requestLogger())
.use(errorResponder)
.use(this.api.routes())
.use(this.api.allowedMethods())
.use(swaggerUI);
}
public constructor({logger}: IServerOptions) {
this.api = new KoaRouter();
this.koa = new Koa();
this.logger = logger;
koaQs(this.koa);
this.api
.get('/', ctx => ctx.body = 'Snapshots Service')
.use('/healthcheck', healthcheck([{
async healthcheck(): Promise {
}
}]))
.use('/snapshots', snapshots());
const swaggerUI = koaSwagger({
routePrefix: '/api-docs',
swaggerOptions: {
spec: require(path.join(__dirname, '../docs/swagger/openapi.json'))
},
});
this.koa
.use(koaBunyanLogger(this.logger))
.use(koaBunyanLogger.requestIdContext())
.use(koaBunyanLogger.requestLogger())
.use(errorResponder)
.use(this.api.routes())
.use(this.api.allowedMethods())
.use(swaggerUI);
}
public constructor({config, logger, storageDriver, auth}: ServerOptions) {
this.api = new KoaRouter();
this.koa = new Koa();
this.logger = logger;
this.api
.get('/', ctx => ctx.body = 'Attachment Storage Service')
.use('/healthcheck', healthcheck([storageDriver]))
.use('/objects', objects(storageDriver, auth))
.use('/batch', batch(storageDriver, auth));
const swaggerUI = koaSwagger({
routePrefix: '/api-docs',
swaggerOptions: {
spec: require(path.join(__dirname, '../docs/swagger/openapi.json'))
},
});
this.koa
.use(koaBunyanLogger(this.logger))
.use(koaBunyanLogger.requestIdContext())
.use(koaBunyanLogger.requestLogger())
.use(errorResponder)
.use(this.api.routes())
.use(this.api.allowedMethods())
.use(swaggerUI);
}