2021-10-14 10:54:58 -04:00

32 lines
865 B
JavaScript
Executable File

'use strict';
const path = require('path');
const koaStatic = require('koa-static');
const session = require('koa-session');
const swaggerUi = require('swagger-ui-dist');
// TODO: delete when refactoring documentation plugin for v4
module.exports = async ({ strapi }) => {
const sessionConfig = strapi.config.get('plugin.documentation').session;
strapi.server.app.keys = sessionConfig.secretKeys;
strapi.server.app.use(session(sessionConfig, strapi.server.app));
strapi.server.routes([
{
method: 'GET',
path: '/plugins/documentation/(.*)',
async handler(ctx, next) {
ctx.url = path.basename(ctx.url);
return koaStatic(swaggerUi.getAbsoluteFSPath(), {
maxage: sessionConfig.cookie.maxAge,
defer: true,
})(ctx, next);
},
config: {
auth: false,
},
},
]);
};