1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | exports.default = function (options) {
|
8 | const config = (0, _config2.default)(options);
|
9 | const app = (0, _koa2.default)();
|
10 |
|
11 | app.use(function* injectConfig(next) {
|
12 | this.__defineGetter__('config', () => {
|
13 | return (0, _config2.default)();
|
14 | });
|
15 | yield* next;
|
16 | });
|
17 |
|
18 | app.use((0, _koaBodyparser2.default)());
|
19 | app.use((0, _koaLogger2.default)());
|
20 |
|
21 |
|
22 | app.use((0, _koaStatic2.default)(config.staticPath, {
|
23 | maxage: config.debug ? 0 : 60 * 60 * 24 * 7
|
24 | }));
|
25 |
|
26 |
|
27 | app.keys = config.keys;
|
28 | app.use((0, _koaGenericSession2.default)(config.session, app));
|
29 |
|
30 |
|
31 | const i18n = new _i18n2.default(config.messages);
|
32 |
|
33 | app.use(function* injectI18n(next) {
|
34 | if (this.query.locale) {
|
35 | this.session.locale = this.query.locale;
|
36 | }
|
37 | i18n.setLocale(this.session.locale);
|
38 | yield* next;
|
39 | });
|
40 |
|
41 |
|
42 | app.use((0, _koaView2.default)(config.viewPath, {
|
43 | noCache: config.debug,
|
44 | globals: {
|
45 | pagination: _util.pagination,
|
46 | __: function __(key) {
|
47 | return i18n.message(key);
|
48 | }
|
49 | }
|
50 | }));
|
51 |
|
52 |
|
53 | app.orm = (0, _koaOrm2.default)(config.orm);
|
54 | app.use(app.orm.middleware);
|
55 |
|
56 |
|
57 | (0, _koaCsrf2.default)(app);
|
58 |
|
59 |
|
60 | (0, _error2.default)(app);
|
61 | (0, _flash2.default)(app);
|
62 | (0, _mail2.default)(app, config.mail);
|
63 |
|
64 |
|
65 | (0, _routes2.default)(app, config);
|
66 |
|
67 | return app;
|
68 | };
|
69 |
|
70 | var _koa = require('koa');
|
71 |
|
72 | var _koa2 = _interopRequireDefault(_koa);
|
73 |
|
74 | var _koaView = require('koa-view');
|
75 |
|
76 | var _koaView2 = _interopRequireDefault(_koaView);
|
77 |
|
78 | var _koaBodyparser = require('koa-bodyparser');
|
79 |
|
80 | var _koaBodyparser2 = _interopRequireDefault(_koaBodyparser);
|
81 |
|
82 | var _koaGenericSession = require('koa-generic-session');
|
83 |
|
84 | var _koaGenericSession2 = _interopRequireDefault(_koaGenericSession);
|
85 |
|
86 | var _koaLogger = require('koa-logger');
|
87 |
|
88 | var _koaLogger2 = _interopRequireDefault(_koaLogger);
|
89 |
|
90 | var _koaStatic = require('koa-static');
|
91 |
|
92 | var _koaStatic2 = _interopRequireDefault(_koaStatic);
|
93 |
|
94 | var _koaCsrf = require('koa-csrf');
|
95 |
|
96 | var _koaCsrf2 = _interopRequireDefault(_koaCsrf);
|
97 |
|
98 | var _koaOrm = require('koa-orm');
|
99 |
|
100 | var _koaOrm2 = _interopRequireDefault(_koaOrm);
|
101 |
|
102 | var _i18n = require('./i18n');
|
103 |
|
104 | var _i18n2 = _interopRequireDefault(_i18n);
|
105 |
|
106 | var _config = require('./config');
|
107 |
|
108 | var _config2 = _interopRequireDefault(_config);
|
109 |
|
110 | var _routes = require('./routes');
|
111 |
|
112 | var _routes2 = _interopRequireDefault(_routes);
|
113 |
|
114 | var _error = require('./middlewares/error');
|
115 |
|
116 | var _error2 = _interopRequireDefault(_error);
|
117 |
|
118 | var _flash = require('./middlewares/flash');
|
119 |
|
120 | var _flash2 = _interopRequireDefault(_flash);
|
121 |
|
122 | var _mail = require('./middlewares/mail');
|
123 |
|
124 | var _mail2 = _interopRequireDefault(_mail);
|
125 |
|
126 | var _util = require('./util');
|
127 |
|
128 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
129 |
|
130 | module.exports = exports['default']; |
\ | No newline at end of file |