1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 | Object.defineProperty(exports, "__esModule", {
|
5 | value: true
|
6 | });
|
7 | exports["default"] = exports.collectConfigsLog = exports.collectConfigs = exports.TestApi = void 0;
|
8 | var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
9 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
10 | var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
11 | var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
12 | var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
13 | var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
14 | var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
15 | var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
16 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
17 | var _err = _interopRequireDefault(require("@lskjs/err"));
|
18 | var _asyncMapValues = _interopRequireDefault(require("@lskjs/utils/asyncMapValues"));
|
19 | var _bluebird = _interopRequireDefault(require("bluebird"));
|
20 | var _Api2 = _interopRequireDefault(require("./Api"));
|
21 | 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; }
|
22 | 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) { (0, _defineProperty2["default"])(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; }
|
23 | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
24 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
25 | var collectConfigs = function () {
|
26 | var _ref = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee2(m) {
|
27 | return _regenerator["default"].wrap(function _callee2$(_context2) {
|
28 | while (1) switch (_context2.prev = _context2.next) {
|
29 | case 0:
|
30 | _context2.t0 = m.config;
|
31 | _context2.next = 3;
|
32 | return (0, _asyncMapValues["default"])(m.__availableModules, function () {
|
33 | var _ref2 = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee(_, name) {
|
34 | return _regenerator["default"].wrap(function _callee$(_context) {
|
35 | while (1) switch (_context.prev = _context.next) {
|
36 | case 0:
|
37 | _context.t0 = collectConfigs;
|
38 | _context.next = 3;
|
39 | return m.module(name);
|
40 | case 3:
|
41 | _context.t1 = _context.sent;
|
42 | return _context.abrupt("return", (0, _context.t0)(_context.t1));
|
43 | case 5:
|
44 | case "end":
|
45 | return _context.stop();
|
46 | }
|
47 | }, _callee);
|
48 | }));
|
49 | return function (_x2, _x3) {
|
50 | return _ref2.apply(this, arguments);
|
51 | };
|
52 | }());
|
53 | case 3:
|
54 | _context2.t1 = _context2.sent;
|
55 | return _context2.abrupt("return", {
|
56 | config: _context2.t0,
|
57 | modules: _context2.t1
|
58 | });
|
59 | case 5:
|
60 | case "end":
|
61 | return _context2.stop();
|
62 | }
|
63 | }, _callee2);
|
64 | }));
|
65 | return function collectConfigs(_x) {
|
66 | return _ref.apply(this, arguments);
|
67 | };
|
68 | }();
|
69 | exports.collectConfigs = collectConfigs;
|
70 | var collectConfigsLog = function () {
|
71 | var _ref3 = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee4(m) {
|
72 | return _regenerator["default"].wrap(function _callee4$(_context4) {
|
73 | while (1) switch (_context4.prev = _context4.next) {
|
74 | case 0:
|
75 | _context4.t0 = m.config.debug;
|
76 | _context4.t1 = m.config.log;
|
77 | _context4.next = 4;
|
78 | return (0, _asyncMapValues["default"])(m.__availableModules, function () {
|
79 | var _ref4 = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee3(_, name) {
|
80 | return _regenerator["default"].wrap(function _callee3$(_context3) {
|
81 | while (1) switch (_context3.prev = _context3.next) {
|
82 | case 0:
|
83 | _context3.t0 = collectConfigsLog;
|
84 | _context3.next = 3;
|
85 | return m.module(name);
|
86 | case 3:
|
87 | _context3.t1 = _context3.sent;
|
88 | return _context3.abrupt("return", (0, _context3.t0)(_context3.t1));
|
89 | case 5:
|
90 | case "end":
|
91 | return _context3.stop();
|
92 | }
|
93 | }, _callee3);
|
94 | }));
|
95 | return function (_x5, _x6) {
|
96 | return _ref4.apply(this, arguments);
|
97 | };
|
98 | }());
|
99 | case 4:
|
100 | _context4.t2 = _context4.sent;
|
101 | return _context4.abrupt("return", {
|
102 | debug: _context4.t0,
|
103 | log: _context4.t1,
|
104 | modules: _context4.t2
|
105 | });
|
106 | case 6:
|
107 | case "end":
|
108 | return _context4.stop();
|
109 | }
|
110 | }, _callee4);
|
111 | }));
|
112 | return function collectConfigsLog(_x4) {
|
113 | return _ref3.apply(this, arguments);
|
114 | };
|
115 | }();
|
116 | exports.collectConfigsLog = collectConfigsLog;
|
117 | var middleware = function middleware(req, res, next) {
|
118 | req.file = '[some-file]';
|
119 | if (Math.random() < 0.5) {
|
120 | console.log('test.error');
|
121 | next(new Error('test.error'));
|
122 | } else {
|
123 | next();
|
124 | }
|
125 | };
|
126 | var TestApi = function (_Api) {
|
127 | (0, _inherits2["default"])(TestApi, _Api);
|
128 | var _super = _createSuper(TestApi);
|
129 | function TestApi() {
|
130 | (0, _classCallCheck2["default"])(this, TestApi);
|
131 | return _super.apply(this, arguments);
|
132 | }
|
133 | (0, _createClass2["default"])(TestApi, [{
|
134 | key: "getRoutes",
|
135 | value: function getRoutes() {
|
136 | var _this = this;
|
137 | return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(TestApi.prototype), "getRoutes", this).call(this)), {}, {
|
138 | '/middleware/1': function () {
|
139 | var _middleware = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee5(req, res) {
|
140 | return _regenerator["default"].wrap(function _callee5$(_context5) {
|
141 | while (1) switch (_context5.prev = _context5.next) {
|
142 | case 0:
|
143 | _context5.next = 2;
|
144 | return _this.useMiddleware(middleware, req, res);
|
145 | case 2:
|
146 | console.log('req.file', req.file);
|
147 | return _context5.abrupt("return", {
|
148 | file: req.file
|
149 | });
|
150 | case 4:
|
151 | case "end":
|
152 | return _context5.stop();
|
153 | }
|
154 | }, _callee5);
|
155 | }));
|
156 | function middleware1(_x7, _x8) {
|
157 | return _middleware.apply(this, arguments);
|
158 | }
|
159 | return middleware1;
|
160 | }(),
|
161 | '/middleware/2': [middleware, function () {
|
162 | var _ref5 = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee6(req, res) {
|
163 | return _regenerator["default"].wrap(function _callee6$(_context6) {
|
164 | while (1) switch (_context6.prev = _context6.next) {
|
165 | case 0:
|
166 | console.log('req.file', req.file);
|
167 | return _context6.abrupt("return", {
|
168 | file: req.file
|
169 | });
|
170 | case 2:
|
171 | case "end":
|
172 | return _context6.stop();
|
173 | }
|
174 | }, _callee6);
|
175 | }));
|
176 | return function (_x9, _x10) {
|
177 | return _ref5.apply(this, arguments);
|
178 | };
|
179 | }()],
|
180 | '/res/1': function res1() {
|
181 | return 123;
|
182 | },
|
183 | '/res/2': function res2() {
|
184 | return 'Hello';
|
185 | },
|
186 | '/res/3': function res3(req, res) {
|
187 | return res.send('Hello');
|
188 | },
|
189 | '/res/4': function res4() {
|
190 | return {
|
191 | test: 123
|
192 | };
|
193 | },
|
194 | '/res/5': function res5() {
|
195 | return [1, 2, 3, 4];
|
196 | },
|
197 | '/res/6': function res6() {
|
198 | return true;
|
199 | },
|
200 | '/res/7': function res7() {
|
201 | return null;
|
202 | },
|
203 | '/res/8': function res8() {
|
204 | return undefined;
|
205 | },
|
206 | '/res/9': function res9() {
|
207 | return function () {};
|
208 | },
|
209 | '/res/10': function res10() {
|
210 | return /[0-9]ig/;
|
211 | },
|
212 | '/res/11': function res11() {
|
213 | return {
|
214 | __raw: '<html />'
|
215 | };
|
216 | },
|
217 | '/res/12': function res12() {
|
218 | return {
|
219 | __pack: true,
|
220 | some: 123,
|
221 | help: 'me'
|
222 | };
|
223 | },
|
224 | '/res/13': function res13() {
|
225 | return function some() {
|
226 | var secret = 123;
|
227 | return secret;
|
228 | };
|
229 | },
|
230 | '/async/ok': function () {
|
231 | var _asyncOk = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee7() {
|
232 | var delay;
|
233 | return _regenerator["default"].wrap(function _callee7$(_context7) {
|
234 | while (1) switch (_context7.prev = _context7.next) {
|
235 | case 0:
|
236 | delay = 5000;
|
237 | _context7.next = 3;
|
238 | return _bluebird["default"].delay(delay);
|
239 | case 3:
|
240 | return _context7.abrupt("return", {
|
241 | delay: delay
|
242 | });
|
243 | case 4:
|
244 | case "end":
|
245 | return _context7.stop();
|
246 | }
|
247 | }, _callee7);
|
248 | }));
|
249 | function asyncOk() {
|
250 | return _asyncOk.apply(this, arguments);
|
251 | }
|
252 | return asyncOk;
|
253 | }(),
|
254 | '/async/err': function () {
|
255 | var _asyncErr = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee8() {
|
256 | var delay;
|
257 | return _regenerator["default"].wrap(function _callee8$(_context8) {
|
258 | while (1) switch (_context8.prev = _context8.next) {
|
259 | case 0:
|
260 | delay = 5000;
|
261 | _context8.next = 3;
|
262 | return _bluebird["default"].delay(delay);
|
263 | case 3:
|
264 | throw new _err["default"]('ERR_QWE', {
|
265 | delay: delay
|
266 | });
|
267 | case 4:
|
268 | case "end":
|
269 | return _context8.stop();
|
270 | }
|
271 | }, _callee8);
|
272 | }));
|
273 | function asyncErr() {
|
274 | return _asyncErr.apply(this, arguments);
|
275 | }
|
276 | return asyncErr;
|
277 | }(),
|
278 | '/async/404': function () {
|
279 | var _async = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee9() {
|
280 | var delay;
|
281 | return _regenerator["default"].wrap(function _callee9$(_context9) {
|
282 | while (1) switch (_context9.prev = _context9.next) {
|
283 | case 0:
|
284 | delay = 5000;
|
285 | _context9.next = 3;
|
286 | return _bluebird["default"].delay(delay);
|
287 | case 3:
|
288 | throw new _err["default"]('ERR_QWE', {
|
289 | delay: delay,
|
290 | status: 404
|
291 | });
|
292 | case 4:
|
293 | case "end":
|
294 | return _context9.stop();
|
295 | }
|
296 | }, _callee9);
|
297 | }));
|
298 | function async404() {
|
299 | return _async.apply(this, arguments);
|
300 | }
|
301 | return async404;
|
302 | }(),
|
303 | '/async/502': function () {
|
304 | var _async2 = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee10() {
|
305 | var delay;
|
306 | return _regenerator["default"].wrap(function _callee10$(_context10) {
|
307 | while (1) switch (_context10.prev = _context10.next) {
|
308 | case 0:
|
309 | delay = 5000;
|
310 | _context10.next = 3;
|
311 | return _bluebird["default"].delay(delay);
|
312 | case 3:
|
313 | throw new _err["default"]('ERR_QWE', {
|
314 | delay: delay,
|
315 | status: 502
|
316 | });
|
317 | case 4:
|
318 | case "end":
|
319 | return _context10.stop();
|
320 | }
|
321 | }, _callee10);
|
322 | }));
|
323 | function async502() {
|
324 | return _async2.apply(this, arguments);
|
325 | }
|
326 | return async502;
|
327 | }(),
|
328 | '/err/1': function err1() {
|
329 | throw new _err["default"]('TEST_ERROR_CODE');
|
330 | },
|
331 | '/err/2': function err2() {
|
332 | throw {
|
333 | code: 'TEST_ERROR_CODE',
|
334 | message: 'The message text'
|
335 | };
|
336 | },
|
337 | '/err/3': function err3() {
|
338 | throw new Error('The message text');
|
339 | },
|
340 | '/err/4': function err4() {
|
341 | throw new Error('TEST_ERROR_CODE');
|
342 | },
|
343 | '/err/5': function err5() {
|
344 | var error = new Error('The message text');
|
345 | error.code = 'TEST_ERROR_CODE';
|
346 | throw new Error('The message text');
|
347 | },
|
348 | '/err/6': function err6() {
|
349 | throw {};
|
350 | },
|
351 | '/err/7': function err7() {
|
352 | throw null;
|
353 | },
|
354 | '/err/10': function err10() {
|
355 | throw new _err["default"]();
|
356 | },
|
357 | '/err/11': function err11() {
|
358 | throw new _err["default"]('TEST_ERROR_CODE');
|
359 | },
|
360 | '/err/12': function err12() {
|
361 | throw new _err["default"]('TEST_ERROR_CODE', {
|
362 | message: 'The message text'
|
363 | });
|
364 | },
|
365 | '/err/13': function err13() {
|
366 | throw new _err["default"]('TEST_ERROR_CODE', {
|
367 | message: 'The message text'
|
368 | }, {
|
369 | status: 404
|
370 | });
|
371 | },
|
372 | '/err/14': function err14() {
|
373 | throw new _err["default"]({
|
374 | code: 'TEST_ERROR_CODE',
|
375 | message: 'The message text'
|
376 | }, {
|
377 | status: 404
|
378 | });
|
379 | },
|
380 | '/err/15': function err15() {
|
381 | throw new _err["default"]('test.someError', {
|
382 | status: 404
|
383 | });
|
384 | },
|
385 | '/err/16': function err16() {
|
386 | throw new _err["default"]('test.anotherError', {
|
387 | status: 404,
|
388 | data: {
|
389 | hello: 'world'
|
390 | }
|
391 | });
|
392 | },
|
393 | '/err/17': function err17() {
|
394 | throw new Error('err', 'file', 123);
|
395 | },
|
396 | '/err/18': function err18() {
|
397 | throw new _err["default"]({
|
398 | code: 'TEST_ERROR_CODE',
|
399 | message: 'The message text'
|
400 | }, {
|
401 | status: 404
|
402 | });
|
403 | },
|
404 | '/err/19': function err19() {
|
405 | throw new _err["default"]({
|
406 | code: 'TEST_ERROR_CODE',
|
407 | message: 'The message text'
|
408 | }, {
|
409 | status: 404
|
410 | });
|
411 | },
|
412 | '/err/20': function err20() {
|
413 | throw new _err["default"]({
|
414 | code: 'TEST_ERROR_CODE',
|
415 | message: 'The message text'
|
416 | }, {
|
417 | status: 404
|
418 | });
|
419 | },
|
420 | '/err/21': function err21() {
|
421 | throw new _err["default"]('user.notFound', {
|
422 | status: 404
|
423 | });
|
424 | },
|
425 | '/err/22': function err22() {
|
426 | throw new _err["default"]('some.error', {
|
427 | status: 404
|
428 | });
|
429 | },
|
430 | '/err/24': function err24() {
|
431 | throw new _err["default"]('some.error', {
|
432 | status: 404
|
433 | });
|
434 | },
|
435 | '/form': function form(req) {
|
436 | var _req$data = req.data,
|
437 | email = _req$data.email,
|
438 | password = _req$data.password;
|
439 | if (password !== 'password') throw new _err["default"]('auth.passwordInvalud', {
|
440 | status: 400,
|
441 | data: {
|
442 | password: password
|
443 | }
|
444 | });
|
445 | if (email !== 'test@coder24.ru') throw new _err["default"]('auth.emailInvalud', {
|
446 | status: 400,
|
447 | data: {
|
448 | email: email
|
449 | }
|
450 | });
|
451 | return {
|
452 | ok: 123
|
453 | };
|
454 | },
|
455 | '/locale': function locale(req) {
|
456 | _this.log.trace('locale start');
|
457 |
|
458 | return {
|
459 | locale: req.getLocale(),
|
460 | test: req.t('test.hello')
|
461 | };
|
462 | },
|
463 | '/app/config': function appConfig() {
|
464 | return collectConfigs(_this.app);
|
465 | },
|
466 | '/app/config/log': function appConfigLog() {
|
467 | return collectConfigsLog(_this.app);
|
468 | },
|
469 | '/req/auth': function () {
|
470 | var _reqAuth = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee11(req) {
|
471 | return _regenerator["default"].wrap(function _callee11$(_context11) {
|
472 | while (1) switch (_context11.prev = _context11.next) {
|
473 | case 0:
|
474 | return _context11.abrupt("return", req.user);
|
475 | case 1:
|
476 | case "end":
|
477 | return _context11.stop();
|
478 | }
|
479 | }, _callee11);
|
480 | }));
|
481 | function reqAuth(_x11) {
|
482 | return _reqAuth.apply(this, arguments);
|
483 | }
|
484 | return reqAuth;
|
485 | }(),
|
486 | '/req/user': function () {
|
487 | var _reqUser = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee12(req) {
|
488 | return _regenerator["default"].wrap(function _callee12$(_context12) {
|
489 | while (1) switch (_context12.prev = _context12.next) {
|
490 | case 0:
|
491 | return _context12.abrupt("return", req.user);
|
492 | case 1:
|
493 | case "end":
|
494 | return _context12.stop();
|
495 | }
|
496 | }, _callee12);
|
497 | }));
|
498 | function reqUser(_x12) {
|
499 | return _reqUser.apply(this, arguments);
|
500 | }
|
501 | return reqUser;
|
502 | }(),
|
503 | '/req/userId': function () {
|
504 | var _reqUserId = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee13(req) {
|
505 | return _regenerator["default"].wrap(function _callee13$(_context13) {
|
506 | while (1) switch (_context13.prev = _context13.next) {
|
507 | case 0:
|
508 | return _context13.abrupt("return", req.userId || req.user && req.user_id);
|
509 | case 1:
|
510 | case "end":
|
511 | return _context13.stop();
|
512 | }
|
513 | }, _callee13);
|
514 | }));
|
515 | function reqUserId(_x13) {
|
516 | return _reqUserId.apply(this, arguments);
|
517 | }
|
518 | return reqUserId;
|
519 | }(),
|
520 | '/req/:log?': this.req.bind(this),
|
521 | '/user/one': function () {
|
522 | var _userOne = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee14() {
|
523 | var UserModel, user;
|
524 | return _regenerator["default"].wrap(function _callee14$(_context14) {
|
525 | while (1) switch (_context14.prev = _context14.next) {
|
526 | case 0:
|
527 | UserModel = _this.app.UserModel;
|
528 | _context14.next = 3;
|
529 | return UserModel.findOne();
|
530 | case 3:
|
531 | user = _context14.sent;
|
532 | return _context14.abrupt("return", user);
|
533 | case 5:
|
534 | case "end":
|
535 | return _context14.stop();
|
536 | }
|
537 | }, _callee14);
|
538 | }));
|
539 | function userOne() {
|
540 | return _userOne.apply(this, arguments);
|
541 | }
|
542 | return userOne;
|
543 | }(),
|
544 | '/path/*': function path() {
|
545 | return {
|
546 | path: _this.path,
|
547 | paths: _this.paths
|
548 | };
|
549 | }
|
550 | });
|
551 | }
|
552 | }, {
|
553 | key: "req",
|
554 | value: function req(_req) {
|
555 | var res = {
|
556 | params: _req.params,
|
557 | query: _req.query,
|
558 | headers: _req.headers
|
559 | };
|
560 | if (_req.params.log) {
|
561 | this.log.info('req', res);
|
562 | res.body = _req.body;
|
563 | this.log.info('body', _req.body);
|
564 | }
|
565 | return res;
|
566 | }
|
567 | }]);
|
568 | return TestApi;
|
569 | }(_Api2["default"]);
|
570 | exports.TestApi = TestApi;
|
571 | var _default = TestApi;
|
572 | exports["default"] = _default;
|
573 |
|
\ | No newline at end of file |