routers.js 835 Bytes
import Router from 'koa-router';

import index from './actions/index';
import projects from './actions/projects';
import servers from './actions/servers';
import login from './actions/login';

const noAuth = new Router();
const base = new Router();

export default function (app) {

    noAuth.use('', login.routes(), login.allowedMethods());
    app.use(noAuth.routes(), noAuth.allowedMethods());
    app.use(async (ctx, next) => {

        if (ctx.session && ctx.session.user) {
            await next();
        } else {
            ctx.redirect('/login');
        }
    });

    base.use('/projects', projects.routes(), projects.allowedMethods());
    base.use('/servers', servers.routes(), servers.allowedMethods());

    base.use('', index.routes(), index.allowedMethods());

    app.use(base.routes(), base.allowedMethods());

}