miolo 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -1
- package/dist/cli/miolo.cli.iife.bundle.js +374 -0
- package/dist/cli/miolo.cli.iife.bundle.js.map +1 -0
- package/dist/cli/miolo.cli.iife.bundle.min.js +22 -0
- package/dist/cli/miolo.cli.iife.js +76 -0
- package/dist/cli/miolo.cli.iife.js.map +1 -0
- package/dist/cli/miolo.cli.iife.min.js +11 -0
- package/dist/cli/miolo.cli.min.mjs +11 -0
- package/dist/cli/miolo.cli.mjs +69 -0
- package/dist/cli/miolo.cli.mjs.map +1 -0
- package/dist/cli/miolo.cli.umd.bundle.js +375 -0
- package/dist/cli/miolo.cli.umd.bundle.js.map +1 -0
- package/dist/cli/miolo.cli.umd.bundle.min.js +22 -0
- package/dist/cli/miolo.cli.umd.js +77 -0
- package/dist/cli/miolo.cli.umd.js.map +1 -0
- package/dist/cli/miolo.cli.umd.min.js +11 -0
- package/dist/cli-react/miolo.cli-react.iife.bundle.js +1690 -0
- package/dist/cli-react/miolo.cli-react.iife.bundle.js.map +1 -0
- package/dist/cli-react/miolo.cli-react.iife.bundle.min.js +62 -0
- package/dist/cli-react/miolo.cli-react.iife.js +531 -0
- package/dist/cli-react/miolo.cli-react.iife.js.map +1 -0
- package/dist/cli-react/miolo.cli-react.iife.min.js +11 -0
- package/dist/cli-react/miolo.cli-react.min.mjs +11 -0
- package/dist/cli-react/miolo.cli-react.mjs +187 -0
- package/dist/cli-react/miolo.cli-react.mjs.map +1 -0
- package/dist/cli-react/miolo.cli-react.umd.bundle.js +1691 -0
- package/dist/cli-react/miolo.cli-react.umd.bundle.js.map +1 -0
- package/dist/cli-react/miolo.cli-react.umd.bundle.min.js +62 -0
- package/dist/cli-react/miolo.cli-react.umd.js +532 -0
- package/dist/cli-react/miolo.cli-react.umd.js.map +1 -0
- package/dist/cli-react/miolo.cli-react.umd.min.js +11 -0
- package/dist/server/miolo.ico +0 -0
- package/dist/{miolo.cjs → server/miolo.server.cjs} +320 -208
- package/dist/server/miolo.server.min.mjs +11 -0
- package/dist/{miolo.mjs → server/miolo.server.mjs} +292 -159
- package/dist/server/miolo.server.mjs.map +1 -0
- package/dist/{miolo.node.mjs → server/miolo.server.node.mjs} +321 -208
- package/dist/static/img/miolo.ico +0 -0
- package/dist/static/robots.txt +2 -0
- package/logo/favicon/miolo.ico +0 -0
- package/logo/favicon/miolo.png +0 -0
- package/logo/favicon/miolo_apple.png +0 -0
- package/logo/miolo-logo-name_200.png +0 -0
- package/package.json +63 -20
- package/dist/miolo.min.mjs +0 -11
- package/dist/miolo.mjs.map +0 -1
- package/lib/cacher/index.cjs +0 -76
- package/lib/cacher/verify.cjs +0 -27
- package/lib/config/defaults.cjs +0 -287
- package/lib/config/index.cjs +0 -12
- package/lib/emailer/index.cjs +0 -56
- package/lib/emailer/verify.cjs +0 -11
- package/lib/index.cjs +0 -40
- package/lib/logger/index.cjs +0 -91
- package/lib/logger/logger_mail.cjs +0 -56
- package/lib/logger/verify.cjs +0 -22
- package/lib/server/engines/cron/index.cjs +0 -12
- package/lib/server/engines/cron/syscheck.cjs +0 -41
- package/lib/server/engines/socket/index.cjs +0 -40
- package/lib/server/index.cjs +0 -134
- package/lib/server/middleware/auth/basic.cjs +0 -53
- package/lib/server/middleware/auth/guest.cjs +0 -72
- package/lib/server/middleware/auth/passport.cjs +0 -123
- package/lib/server/middleware/body.cjs +0 -50
- package/lib/server/middleware/catcher/index.cjs +0 -58
- package/lib/server/middleware/context.cjs +0 -23
- package/lib/server/middleware/extra.cjs +0 -27
- package/lib/server/middleware/headers.cjs +0 -68
- package/lib/server/middleware/request.cjs +0 -68
- package/lib/server/middleware/session/index.cjs +0 -26
- package/lib/server/middleware/session/store.cjs +0 -10
- package/lib/server/middleware/static.cjs +0 -25
- package/lib/server/routes/catch_js_error.cjs +0 -35
- package/lib/server/routes/html_render.cjs +0 -37
- package/lib/server/routes/robots.cjs +0 -27
- /package/{lib/server/routes → dist/server}/fallback_index.html +0 -0
- /package/{lib/server/static → dist/server}/robots.txt +0 -0
- /package/{lib/server/static/img/favicon.ico → dist/static/img/afialapis.ico} +0 -0
package/lib/server/index.cjs
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.miolo = miolo;
|
|
7
|
-
var _koa = _interopRequireDefault(require("koa"));
|
|
8
|
-
var _config = require("../config");
|
|
9
|
-
var _index = require("../emailer/index.cjs");
|
|
10
|
-
var _index2 = require("../logger/index.cjs");
|
|
11
|
-
var _cron = require("./engines/cron");
|
|
12
|
-
var _calustraRouter = require("calustra-router");
|
|
13
|
-
var _headers = require("./middleware/headers");
|
|
14
|
-
var _body = require("./middleware/body");
|
|
15
|
-
var _catcher = require("./middleware/catcher");
|
|
16
|
-
var _static = require("./middleware/static");
|
|
17
|
-
var _extra = require("./middleware/extra");
|
|
18
|
-
var _request = require("./middleware/request");
|
|
19
|
-
var _session = require("./middleware/session");
|
|
20
|
-
var _robots = require("./routes/robots");
|
|
21
|
-
var _catch_js_error = require("./routes/catch_js_error");
|
|
22
|
-
var _html_render = require("./routes/html_render");
|
|
23
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
28
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
30
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
31
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
32
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
33
|
-
function miolo(_x, _x2, _x3) {
|
|
34
|
-
return _miolo.apply(this, arguments);
|
|
35
|
-
}
|
|
36
|
-
function _miolo() {
|
|
37
|
-
_miolo = _asyncToGenerator(function* (sconfig, render, callback) {
|
|
38
|
-
var _config$http, _config$auth, _config$auth2, _config$auth3;
|
|
39
|
-
// Init some pieces
|
|
40
|
-
var config = (0, _config.init_config)(sconfig);
|
|
41
|
-
var emailer = (0, _index.init_emailer)(config.mail.options, config.mail.defaults);
|
|
42
|
-
var logger = (0, _index2.init_logger)(config.log, emailer);
|
|
43
|
-
config.db.connection.options.log = logger;
|
|
44
|
-
var app = new _koa.default();
|
|
45
|
-
|
|
46
|
-
// attach to app calustra's db methods
|
|
47
|
-
(0, _calustraRouter.useCalustraDbContext)(app, config.db);
|
|
48
|
-
|
|
49
|
-
// attach to app some custom miolo methods
|
|
50
|
-
app.context.miolo = {
|
|
51
|
-
config: _objectSpread({}, config),
|
|
52
|
-
emailer,
|
|
53
|
-
logger,
|
|
54
|
-
db: app.context.db
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
// Compress and body parser
|
|
58
|
-
(0, _body.init_body_middleware)(app);
|
|
59
|
-
|
|
60
|
-
// override koa's undocumented error handler
|
|
61
|
-
(0, _catcher.init_catcher_middleware)(app, logger);
|
|
62
|
-
|
|
63
|
-
// Serve static files
|
|
64
|
-
(0, _static.init_static_middleware)(app, (_config$http = config.http) === null || _config$http === void 0 ? void 0 : _config$http.static);
|
|
65
|
-
|
|
66
|
-
// Feed and log request
|
|
67
|
-
(0, _request.init_request_middleware)(app);
|
|
68
|
-
|
|
69
|
-
// Create context/session
|
|
70
|
-
(0, _session.init_session_middleware)(app, config === null || config === void 0 ? void 0 : config.session);
|
|
71
|
-
|
|
72
|
-
// attach the default robots.txt
|
|
73
|
-
(0, _robots.init_route_robots)(app);
|
|
74
|
-
|
|
75
|
-
// Middleware for catching and logging JS errors
|
|
76
|
-
var catcher_url = config === null || config === void 0 ? void 0 : config.catcher;
|
|
77
|
-
if (catcher_url) {
|
|
78
|
-
(0, _catch_js_error.init_route_catch_js_error)(app, catcher_url);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// auth middleware
|
|
82
|
-
if (config !== null && config !== void 0 && (_config$auth = config.auth) !== null && _config$auth !== void 0 && _config$auth.guest) {
|
|
83
|
-
var {
|
|
84
|
-
init_guest_auth_middleware
|
|
85
|
-
} = yield Promise.resolve().then(() => _interopRequireWildcard(require("./middleware/auth/guest.cjs")));
|
|
86
|
-
init_guest_auth_middleware(app, config.auth.guest, config === null || config === void 0 ? void 0 : config.session, logger);
|
|
87
|
-
}
|
|
88
|
-
if (config !== null && config !== void 0 && (_config$auth2 = config.auth) !== null && _config$auth2 !== void 0 && _config$auth2.basic) {
|
|
89
|
-
var {
|
|
90
|
-
init_basic_auth_middleware
|
|
91
|
-
} = yield Promise.resolve().then(() => _interopRequireWildcard(require("./middleware/auth/basic.cjs")));
|
|
92
|
-
init_basic_auth_middleware(app, config.auth.basic);
|
|
93
|
-
}
|
|
94
|
-
if (config !== null && config !== void 0 && (_config$auth3 = config.auth) !== null && _config$auth3 !== void 0 && _config$auth3.passport) {
|
|
95
|
-
var {
|
|
96
|
-
init_passport_auth_middleware
|
|
97
|
-
} = yield Promise.resolve().then(() => _interopRequireWildcard(require("./middleware/auth/passport.cjs")));
|
|
98
|
-
init_passport_auth_middleware(app, config.auth.passport);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Routes to /crud
|
|
102
|
-
if (config !== null && config !== void 0 && config.routes) {
|
|
103
|
-
(0, _calustraRouter.useCalustraRouter)(app, config.db, config.routes);
|
|
104
|
-
}
|
|
105
|
-
// Socket.io
|
|
106
|
-
// const io= init_socket(logger)
|
|
107
|
-
// io.attach(app)
|
|
108
|
-
|
|
109
|
-
// extra middlewares
|
|
110
|
-
var extra_middlewares = config === null || config === void 0 ? void 0 : config.middlewares;
|
|
111
|
-
if (extra_middlewares) {
|
|
112
|
-
(0, _extra.init_extra_middlewares)(app, extra_middlewares);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// CORS and other headers
|
|
116
|
-
(0, _headers.init_headers_middleware)(app, config.http, logger);
|
|
117
|
-
|
|
118
|
-
// Middleware for html render
|
|
119
|
-
if (render == undefined || render.html != undefined) {
|
|
120
|
-
(0, _html_render.init_route_html_render)(app, render === null || render === void 0 ? void 0 : render.html);
|
|
121
|
-
} else if (render.middleware != undefined) {
|
|
122
|
-
app.use(render.middleware);
|
|
123
|
-
}
|
|
124
|
-
app.listen(config.http.port, config.http.hostname, function () {
|
|
125
|
-
logger.info("miolo is listening on ".concat(config.http.hostname, ":").concat(config.http.port));
|
|
126
|
-
(0, _cron.init_cron)(logger);
|
|
127
|
-
if (callback != undefined) {
|
|
128
|
-
callback();
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
return app;
|
|
132
|
-
});
|
|
133
|
-
return _miolo.apply(this, arguments);
|
|
134
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.init_basic_auth_middleware = void 0;
|
|
7
|
-
var _koaMount = _interopRequireDefault(require("koa-mount"));
|
|
8
|
-
var _basicAuth = _interopRequireDefault(require("basic-auth"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
11
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
12
|
-
var init_basic_auth_middleware = (app, options) => {
|
|
13
|
-
var {
|
|
14
|
-
auth_user,
|
|
15
|
-
realm,
|
|
16
|
-
paths
|
|
17
|
-
} = options;
|
|
18
|
-
if (!realm) {
|
|
19
|
-
realm = 'Secure Area';
|
|
20
|
-
}
|
|
21
|
-
function basic_auth_middleware(_x, _x2) {
|
|
22
|
-
return _basic_auth_middleware.apply(this, arguments);
|
|
23
|
-
}
|
|
24
|
-
function _basic_auth_middleware() {
|
|
25
|
-
_basic_auth_middleware = _asyncToGenerator(function* (ctx, next) {
|
|
26
|
-
ctx.user = null;
|
|
27
|
-
var au_user = (0, _basicAuth.default)(ctx);
|
|
28
|
-
var unauth_err = () => {
|
|
29
|
-
return ctx.throw(401, null, {
|
|
30
|
-
headers: {
|
|
31
|
-
'WWW-Authenticate': 'Basic realm="' + realm.replace(/"/g, '\\"') + '"'
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
if (!au_user) {
|
|
36
|
-
return unauth_err();
|
|
37
|
-
}
|
|
38
|
-
var user = yield auth_user(au_user.name, au_user.pass);
|
|
39
|
-
if (user === false || user == undefined) {
|
|
40
|
-
return unauth_err();
|
|
41
|
-
}
|
|
42
|
-
ctx.user = user;
|
|
43
|
-
yield next();
|
|
44
|
-
});
|
|
45
|
-
return _basic_auth_middleware.apply(this, arguments);
|
|
46
|
-
}
|
|
47
|
-
if (paths == undefined || paths.length == 0) {
|
|
48
|
-
app.use(basic_auth_middleware);
|
|
49
|
-
} else {
|
|
50
|
-
paths.map(p => app.use((0, _koaMount.default)(p, basic_auth_middleware)));
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
exports.init_basic_auth_middleware = init_basic_auth_middleware;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.init_guest_auth_middleware = void 0;
|
|
7
|
-
var _jwtSimple = _interopRequireDefault(require("jwt-simple"));
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
10
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
11
|
-
function _guest_token_make_with_jwt(session, logger) {
|
|
12
|
-
var buid = Math.random().toString();
|
|
13
|
-
var secret = session === null || session === void 0 ? void 0 : session.secret;
|
|
14
|
-
if (!secret) {
|
|
15
|
-
secret = 'miolo_unsafe_secret';
|
|
16
|
-
logger.error('Guest token made with an unsafe secret string. Please, configure your own through session.secret.');
|
|
17
|
-
}
|
|
18
|
-
var payload = {
|
|
19
|
-
admin: false,
|
|
20
|
-
buid: buid
|
|
21
|
-
};
|
|
22
|
-
return _jwtSimple.default.encode(payload, secret);
|
|
23
|
-
}
|
|
24
|
-
function _get_cookie_properties(session) {
|
|
25
|
-
var _session$options;
|
|
26
|
-
var maxAge = session === null || session === void 0 ? void 0 : (_session$options = session.options) === null || _session$options === void 0 ? void 0 : _session$options.maxAge;
|
|
27
|
-
if (isNaN(maxAge)) {
|
|
28
|
-
maxAge = 86400;
|
|
29
|
-
}
|
|
30
|
-
var expires = new Date();
|
|
31
|
-
expires.setSeconds(expires.getSeconds() + maxAge);
|
|
32
|
-
return {
|
|
33
|
-
expires,
|
|
34
|
-
httpOnly: false
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
var init_guest_auth_middleware = (app, options, session, logger) => {
|
|
38
|
-
var _make_guest_token = () => {
|
|
39
|
-
try {
|
|
40
|
-
var {
|
|
41
|
-
make_guest_token
|
|
42
|
-
} = options;
|
|
43
|
-
if (make_guest_token != undefined) {
|
|
44
|
-
return make_guest_token(session || {});
|
|
45
|
-
}
|
|
46
|
-
} catch (_) {}
|
|
47
|
-
return _guest_token_make_with_jwt(session || {}, logger);
|
|
48
|
-
};
|
|
49
|
-
function guest_auth_middleware(_x, _x2) {
|
|
50
|
-
return _guest_auth_middleware.apply(this, arguments);
|
|
51
|
-
}
|
|
52
|
-
function _guest_auth_middleware() {
|
|
53
|
-
_guest_auth_middleware = _asyncToGenerator(function* (ctx, next) {
|
|
54
|
-
// Try to get our token from headers (server) or cookies (client)
|
|
55
|
-
var token = ctx.cookies.get('token') || ctx.headers['token'];
|
|
56
|
-
if (token === undefined || token.length == 0) {
|
|
57
|
-
token = yield _make_guest_token();
|
|
58
|
-
logger.debug("Guest token conceeded");
|
|
59
|
-
}
|
|
60
|
-
var options = _get_cookie_properties(session);
|
|
61
|
-
ctx.cookies.set('token', token, options);
|
|
62
|
-
ctx.user = {
|
|
63
|
-
name: 'guest',
|
|
64
|
-
token
|
|
65
|
-
};
|
|
66
|
-
yield next();
|
|
67
|
-
});
|
|
68
|
-
return _guest_auth_middleware.apply(this, arguments);
|
|
69
|
-
}
|
|
70
|
-
app.use(guest_auth_middleware);
|
|
71
|
-
};
|
|
72
|
-
exports.init_guest_auth_middleware = init_guest_auth_middleware;
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.init_passport_auth_middleware = void 0;
|
|
7
|
-
var _koaPassport = _interopRequireDefault(require("koa-passport"));
|
|
8
|
-
var _passportLocal = _interopRequireDefault(require("passport-local"));
|
|
9
|
-
var _router = _interopRequireDefault(require("@koa/router"));
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
12
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
13
|
-
// passport: {
|
|
14
|
-
// get_user_id: (user, done) => done(null, user.id), // default
|
|
15
|
-
// find_user_by_id: (id, done) => done(null, {id: 1}), // ok=> done(null, user) err=> done(error, null)
|
|
16
|
-
// local_auth_user: (username, password, done) => done(null, {id: 1})
|
|
17
|
-
// // auth=> done(null, user) noauth=> done(null, false, {message: ''}) err=> done(error, null)
|
|
18
|
-
// }
|
|
19
|
-
|
|
20
|
-
var def_get_user_id = (user, done, miolo) => done(null, user.id);
|
|
21
|
-
var def_find_user_by_id = (id, done, miolo) => {
|
|
22
|
-
var err = Error('You need to define auth.passport.find_user_by_id');
|
|
23
|
-
done(err, null);
|
|
24
|
-
};
|
|
25
|
-
var def_local_auth_user = (username, password, done, miolo) => {
|
|
26
|
-
var err = Error('You need to define auth.passport.local_auth_user');
|
|
27
|
-
done(err, null);
|
|
28
|
-
};
|
|
29
|
-
var init_passport_auth_middleware = (app, options) => {
|
|
30
|
-
var {
|
|
31
|
-
get_user_id,
|
|
32
|
-
find_user_by_id,
|
|
33
|
-
local_auth_user,
|
|
34
|
-
url_login,
|
|
35
|
-
url_logout,
|
|
36
|
-
url_login_redirect,
|
|
37
|
-
url_logout_redirect
|
|
38
|
-
} = options;
|
|
39
|
-
|
|
40
|
-
//const local_options = {}
|
|
41
|
-
|
|
42
|
-
// fallback funcs
|
|
43
|
-
var get_user_id_f = get_user_id || def_get_user_id;
|
|
44
|
-
var find_user_by_id_f = find_user_by_id || def_find_user_by_id;
|
|
45
|
-
var local_auth_user_f = local_auth_user || def_local_auth_user;
|
|
46
|
-
var url_login_f = url_login || '/login';
|
|
47
|
-
var url_logout_f = url_logout || '/logout';
|
|
48
|
-
|
|
49
|
-
// init passport
|
|
50
|
-
var serialize_user = (user, done) => {
|
|
51
|
-
process.nextTick(function () {
|
|
52
|
-
get_user_id_f(user, done, app.context.miolo);
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
var deserialize_user = (id, done) => {
|
|
56
|
-
process.nextTick(function () {
|
|
57
|
-
find_user_by_id_f(id, done, app.context.miolo);
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
var local_strategy = new _passportLocal.default.Strategy((username, password, done) => {
|
|
61
|
-
local_auth_user_f(username, password, done, app.context.miolo);
|
|
62
|
-
});
|
|
63
|
-
_koaPassport.default.serializeUser(serialize_user);
|
|
64
|
-
_koaPassport.default.deserializeUser(deserialize_user);
|
|
65
|
-
_koaPassport.default.use(local_strategy);
|
|
66
|
-
app.use(_koaPassport.default.initialize());
|
|
67
|
-
app.use(_koaPassport.default.session());
|
|
68
|
-
|
|
69
|
-
// handle auth routes
|
|
70
|
-
var handleLogIn = (ctx, next) => {
|
|
71
|
-
return _koaPassport.default.authenticate('local', function (err, user, info, _status) {
|
|
72
|
-
if (user === false) {
|
|
73
|
-
ctx.body = {
|
|
74
|
-
success: false,
|
|
75
|
-
user: undefined,
|
|
76
|
-
authenticated: false,
|
|
77
|
-
info: info,
|
|
78
|
-
error: err
|
|
79
|
-
};
|
|
80
|
-
ctx.throw(401);
|
|
81
|
-
} else {
|
|
82
|
-
ctx.body = {
|
|
83
|
-
success: true,
|
|
84
|
-
user: user,
|
|
85
|
-
authenticated: true
|
|
86
|
-
};
|
|
87
|
-
if (url_login_redirect != undefined) {
|
|
88
|
-
ctx.redirect(url_login_redirect);
|
|
89
|
-
}
|
|
90
|
-
return ctx.login(user);
|
|
91
|
-
}
|
|
92
|
-
})(ctx);
|
|
93
|
-
};
|
|
94
|
-
var handleLogOut = /*#__PURE__*/function () {
|
|
95
|
-
var _ref = _asyncToGenerator(function* (ctx, next) {
|
|
96
|
-
if (ctx.isAuthenticated()) {
|
|
97
|
-
ctx.logout();
|
|
98
|
-
ctx.body = {
|
|
99
|
-
success: true
|
|
100
|
-
};
|
|
101
|
-
if (url_logout_redirect != undefined) {
|
|
102
|
-
ctx.redirect(url_logout_redirect);
|
|
103
|
-
}
|
|
104
|
-
} else {
|
|
105
|
-
ctx.body = {
|
|
106
|
-
success: false
|
|
107
|
-
};
|
|
108
|
-
ctx.throw(401);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
return function handleLogOut(_x, _x2) {
|
|
112
|
-
return _ref.apply(this, arguments);
|
|
113
|
-
};
|
|
114
|
-
}();
|
|
115
|
-
|
|
116
|
-
// Init the router
|
|
117
|
-
var login_router = new _router.default();
|
|
118
|
-
login_router.post(url_login_f, handleLogIn);
|
|
119
|
-
login_router.get(url_logout_f, handleLogOut);
|
|
120
|
-
login_router.post(url_logout_f, handleLogOut);
|
|
121
|
-
app.use(login_router.routes());
|
|
122
|
-
};
|
|
123
|
-
exports.init_passport_auth_middleware = init_passport_auth_middleware;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.init_body_middleware = void 0;
|
|
7
|
-
var _koaBetterBody = _interopRequireDefault(require("koa-better-body"));
|
|
8
|
-
var _koaConvert = _interopRequireDefault(require("koa-convert"));
|
|
9
|
-
var _koaCompress = _interopRequireDefault(require("koa-compress"));
|
|
10
|
-
var _zlib = require("zlib");
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
//import koa_body_parser from 'koa-bodyparser'
|
|
13
|
-
|
|
14
|
-
var init_body_middleware = app => {
|
|
15
|
-
// Compress
|
|
16
|
-
|
|
17
|
-
app.use((0, _koaCompress.default)({
|
|
18
|
-
filter: function filter(content_type) {
|
|
19
|
-
return content_type == 'application/json' || content_type == 'text/html';
|
|
20
|
-
},
|
|
21
|
-
//threshold: 2048,
|
|
22
|
-
flush: _zlib.Z_SYNC_FLUSH
|
|
23
|
-
}));
|
|
24
|
-
|
|
25
|
-
// body parser - koa-better-body
|
|
26
|
-
|
|
27
|
-
// koa-better-body needs some customization in order to
|
|
28
|
-
// work for koa-passport
|
|
29
|
-
// By default it save POST params in request.fields. But koa-passport
|
|
30
|
-
// expects that values in request.body.
|
|
31
|
-
// We will copy request.fields and request.files in request.body.
|
|
32
|
-
// 1.- It could be done rough this option parameters;
|
|
33
|
-
// https://github.com/rkusa/koa-passport/issues/33#issuecomment-122611613
|
|
34
|
-
// https://github.com/tunnckoCore/opensource/tree/master/%40packages/koa-better-body#options
|
|
35
|
-
// {fields: 'body', files: 'body',}
|
|
36
|
-
// But this will cause errors on other packagers (for example, calustra-router)
|
|
37
|
-
// 2.- but still need to know how dangerous it is to touch request.body (as by default,
|
|
38
|
-
// koa-better-body is saving some async function in request.body)
|
|
39
|
-
// We patch the .body on the `request` middleware
|
|
40
|
-
|
|
41
|
-
app.use((0, _koaConvert.default)((0, _koaBetterBody.default)({
|
|
42
|
-
formLimit: '100mb',
|
|
43
|
-
jsonLimit: '100mb',
|
|
44
|
-
bufferLimit: '100mb'
|
|
45
|
-
})));
|
|
46
|
-
|
|
47
|
-
// body parser - koa-bodyparser
|
|
48
|
-
//app.use(koa_body_parser())
|
|
49
|
-
};
|
|
50
|
-
exports.init_body_middleware = init_body_middleware;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.init_catcher_middleware = init_catcher_middleware;
|
|
7
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
8
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
9
|
-
/**
|
|
10
|
-
* Middleware for catching errors thrown in routes
|
|
11
|
-
* @param ctx
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
var _ONLY_WARN = [401];
|
|
15
|
-
function init_catcher_middleware(app, logger) {
|
|
16
|
-
function catcher_middleware(_x) {
|
|
17
|
-
return _catcher_middleware.apply(this, arguments);
|
|
18
|
-
}
|
|
19
|
-
function _catcher_middleware() {
|
|
20
|
-
_catcher_middleware = _asyncToGenerator(function* (err) {
|
|
21
|
-
if (!err) return;
|
|
22
|
-
|
|
23
|
-
// Get HTML status code
|
|
24
|
-
var status = err.status || 400;
|
|
25
|
-
var type = this.accepts(['text', 'json', 'html']);
|
|
26
|
-
if (!type) {
|
|
27
|
-
status = 406;
|
|
28
|
-
err.message = 'Unsupported type';
|
|
29
|
-
} else if (typeof status != 'number') {
|
|
30
|
-
status = 500;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Log the error depending on the status
|
|
34
|
-
|
|
35
|
-
if (_ONLY_WARN.indexOf(status) >= 0) {
|
|
36
|
-
logger.warn("".concat(this.method, " ").concat(this.url, " - ").concat(status, ": ").concat(err.message));
|
|
37
|
-
} else {
|
|
38
|
-
logger.error(err);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Nothing we can do here other than delegate to the app-level handler and log.
|
|
42
|
-
if (this.headerSent || !this.writable) {
|
|
43
|
-
logger.debug('headers were already sent, returning early');
|
|
44
|
-
err.headerSent = true;
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Prepare response a bit
|
|
49
|
-
this.type = 'json';
|
|
50
|
-
this.status = status;
|
|
51
|
-
this.body = JSON.stringify(this.body || '', null, 2);
|
|
52
|
-
this.length = Buffer.byteLength(this.body);
|
|
53
|
-
this.res.end(this.body);
|
|
54
|
-
});
|
|
55
|
-
return _catcher_middleware.apply(this, arguments);
|
|
56
|
-
}
|
|
57
|
-
app.context.onerror = catcher_middleware;
|
|
58
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.init_context_middleware = void 0;
|
|
7
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
8
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
9
|
-
var init_context_middleware = (app, miolo) => {
|
|
10
|
-
function context_middleware(_x, _x2) {
|
|
11
|
-
return _context_middleware.apply(this, arguments);
|
|
12
|
-
}
|
|
13
|
-
function _context_middleware() {
|
|
14
|
-
_context_middleware = _asyncToGenerator(function* (ctx, next) {
|
|
15
|
-
// Assign miolo stuff to ctx
|
|
16
|
-
ctx.miolo = miolo;
|
|
17
|
-
yield next();
|
|
18
|
-
});
|
|
19
|
-
return _context_middleware.apply(this, arguments);
|
|
20
|
-
}
|
|
21
|
-
app.use(context_middleware);
|
|
22
|
-
};
|
|
23
|
-
exports.init_context_middleware = init_context_middleware;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.init_extra_middlewares = void 0;
|
|
7
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
8
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
9
|
-
var init_extra_middlewares = (app, middlewares) => {
|
|
10
|
-
if (middlewares == undefined || middlewares.length == 0) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
middlewares.map(midw => {
|
|
14
|
-
function extra_middleware(_x, _x2) {
|
|
15
|
-
return _extra_middleware.apply(this, arguments);
|
|
16
|
-
}
|
|
17
|
-
function _extra_middleware() {
|
|
18
|
-
_extra_middleware = _asyncToGenerator(function* (ctx, next) {
|
|
19
|
-
yield midw(ctx);
|
|
20
|
-
yield next();
|
|
21
|
-
});
|
|
22
|
-
return _extra_middleware.apply(this, arguments);
|
|
23
|
-
}
|
|
24
|
-
app.use(extra_middleware);
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
exports.init_extra_middlewares = init_extra_middlewares;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.init_headers_middleware = void 0;
|
|
7
|
-
var _cors = _interopRequireDefault(require("@koa/cors"));
|
|
8
|
-
var _koaProxies = _interopRequireDefault(require("koa-proxies"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
11
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
12
|
-
var _if_options = (http, field, callback) => {
|
|
13
|
-
try {
|
|
14
|
-
var val = http[field];
|
|
15
|
-
if (val != undefined && val != false) {
|
|
16
|
-
return callback(val);
|
|
17
|
-
}
|
|
18
|
-
} catch (_) {}
|
|
19
|
-
};
|
|
20
|
-
var _cors_options = options => {
|
|
21
|
-
if (typeof options == 'object') {
|
|
22
|
-
return options;
|
|
23
|
-
}
|
|
24
|
-
return {};
|
|
25
|
-
};
|
|
26
|
-
var _proxy_options = options => {
|
|
27
|
-
var _options, _options2, _options3, _options4;
|
|
28
|
-
if (options == undefined) {
|
|
29
|
-
options = {};
|
|
30
|
-
}
|
|
31
|
-
var tpath = ((_options = options) === null || _options === void 0 ? void 0 : _options.path) || '/';
|
|
32
|
-
var target = ((_options2 = options) === null || _options2 === void 0 ? void 0 : _options2.target) || "https://proxy.miolo.com";
|
|
33
|
-
var changeOrigin = ((_options3 = options) === null || _options3 === void 0 ? void 0 : _options3.changeOrigin) != undefined ? options.changeOrigin : true;
|
|
34
|
-
var logs = ((_options4 = options) === null || _options4 === void 0 ? void 0 : _options4.logs) != undefined ? options.logs : true;
|
|
35
|
-
var toptions = {
|
|
36
|
-
target,
|
|
37
|
-
changeOrigin,
|
|
38
|
-
logs
|
|
39
|
-
};
|
|
40
|
-
return [tpath, toptions];
|
|
41
|
-
};
|
|
42
|
-
var init_headers_middleware = (app, http, logger) => {
|
|
43
|
-
_if_options(http, 'cors', options => {
|
|
44
|
-
if (options == 'simple') {
|
|
45
|
-
logger.debug("Setting CORS the simple way");
|
|
46
|
-
app.use( /*#__PURE__*/function () {
|
|
47
|
-
var _ref = _asyncToGenerator(function* (ctx, next) {
|
|
48
|
-
ctx.set('Access-Control-Allow-Origin', '*');
|
|
49
|
-
ctx.set('Access-Control-Expose-Headers', 'SourceMap,X-SourceMap');
|
|
50
|
-
yield next();
|
|
51
|
-
});
|
|
52
|
-
return function (_x, _x2) {
|
|
53
|
-
return _ref.apply(this, arguments);
|
|
54
|
-
};
|
|
55
|
-
}());
|
|
56
|
-
} else {
|
|
57
|
-
var coptions = _cors_options(options);
|
|
58
|
-
logger.debug("Setting CORS headers for ".concat(JSON.stringify(coptions)));
|
|
59
|
-
app.use((0, _cors.default)(coptions));
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
_if_options(http, 'proxy', options => {
|
|
63
|
-
var [tpath, toptions] = _proxy_options(options);
|
|
64
|
-
logger.debug("Setting Proxy for ".concat(tpath, " to ").concat(toptions.target, " "));
|
|
65
|
-
app.use((0, _koaProxies.default)(tpath, toptions));
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
exports.init_headers_middleware = init_headers_middleware;
|