UNPKG

stackpress

Version:

Incept is a content management framework.

36 lines (35 loc) 1.7 kB
import Session from './Session'; export default function plugin(ctx) { ctx.on('config', (_req, _res, ctx) => { if (!ctx.config.get('session')) return; const key = ctx.config.path('session.key', 'session'); const seed = ctx.config.path('session.seed', 'abc123'); const access = ctx.config.path('session.access', {}); ctx.register('session', Session.configure(key, seed, access)); }); ctx.on('listen', (_req, _res, ctx) => { if (!ctx.config.get('auth')) return; ctx.import.on('auth-signup', () => import('./events/signup')); ctx.import.on('auth-signin', () => import('./events/signin')); ctx.import.on('auth-signout', () => import('./events/signout')); ctx.import.on('authorize', () => import('./events/authorize')); ctx.import.on('request', () => import('./pages/authorize')); if (!ctx.config.get('session')) return; ctx.import.on('me', () => import('./events/session')); }); ctx.on('route', (_req, _res, ctx) => { if (!ctx.config.get('auth')) return; ctx.import.all('/auth/signin', () => import('./pages/signin')); ctx.import.all('/auth/signin/:type', () => import('./pages/signin')); ctx.import.all('/auth/signup', () => import('./pages/signup')); ctx.import.all('/auth/signout', () => import('./pages/signout')); ctx.view.all('/auth/signin', 'stackpress/dist/session/views/signin', -100); ctx.view.all('/auth/signin/:type', 'stackpress/dist/session/views/signin', -100); ctx.view.all('/auth/signup', 'stackpress/dist/session/views/signup', -100); }); } ;