1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = routes;
|
7 |
|
8 | var _koaRouter = require('koa-router');
|
9 |
|
10 | var _koaRouter2 = _interopRequireDefault(_koaRouter);
|
11 |
|
12 | var _oauth = require('./oauth');
|
13 |
|
14 | var _oauth2 = _interopRequireDefault(_oauth);
|
15 |
|
16 | var _user = require('./controllers/user');
|
17 |
|
18 | var user = _interopRequireWildcard(_user);
|
19 |
|
20 | var _admin = require('./controllers/admin');
|
21 |
|
22 | var admin = _interopRequireWildcard(_admin);
|
23 |
|
24 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
25 |
|
26 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27 |
|
28 | function* csrf(next) {
|
29 | this.assertCSRF(this.request.body);
|
30 | yield next;
|
31 | }
|
32 |
|
33 | function routes(app, config) {
|
34 | const R = config.routes;
|
35 | const oauth = (0, _oauth2.default)(config);
|
36 | const router = (0, _koaRouter2.default)();
|
37 |
|
38 | router.get(R.home, user.checkLogin, user.home);
|
39 |
|
40 |
|
41 | router.get(R.login, user.login);
|
42 | router.get(R.logout, user.logout);
|
43 | router.post(R.send_token, user.sendToken);
|
44 | router.post(R.session, csrf, user.session);
|
45 |
|
46 |
|
47 | router.get(R.password_reset, user.passwordResetPage);
|
48 | router.post(R.password_reset, csrf, user.passwordReset);
|
49 |
|
50 |
|
51 | router.get(R.password_change, user.passwordChangePage);
|
52 | router.post(R.password_change, csrf, user.passwordChange);
|
53 |
|
54 |
|
55 | router.get(R.user, oauth.authenticate, user.getInfo);
|
56 |
|
57 |
|
58 | router.get(R.authorize, user.checkLogin, oauth.authorize);
|
59 | router.post(R.access_token, oauth.accessToken);
|
60 |
|
61 |
|
62 | router.get(R.admin.users, admin.checkLogin, admin.userList);
|
63 | router.post(R.admin.search_user, admin.checkLogin, admin.searchUser);
|
64 | router.get(R.admin.clients, admin.checkLogin, admin.clientList);
|
65 | router.post(R.admin.send_totp, csrf, admin.checkLogin, admin.sendTotp);
|
66 | router.post(R.admin.add_client, csrf, admin.checkLogin, admin.addClient);
|
67 | router.post(R.admin.generate_secret, csrf, admin.checkLogin, admin.generateSecret);
|
68 | router.get(R.admin.roles, admin.checkLogin, admin.roleList);
|
69 | router.post(R.admin.add_role, csrf, admin.checkLogin, admin.addRole);
|
70 | router.post(R.admin.delete_role, csrf, admin.checkLogin, admin.deleteRole);
|
71 |
|
72 | app.use(function* injectParams(next) {
|
73 | this.state._csrf = this.csrf;
|
74 | this.state.logo = config.logo;
|
75 | this.state.favicon = config.favicon;
|
76 | this._routes = this.state._routes = R;
|
77 | yield* next;
|
78 | });
|
79 | app.use(router.routes());
|
80 | app.use(router.allowedMethods());
|
81 | }
|
82 | module.exports = exports['default']; |
\ | No newline at end of file |