@nocobase/plugin-error-handler 0.9.1-alpha.1 → 0.9.2-alpha.1
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/lib/error-handler.js +1 -19
- package/lib/index.js +0 -1
- package/lib/locale/pt-BR.d.ts +7 -0
- package/lib/locale/pt-BR.js +13 -0
- package/lib/server.js +0 -33
- package/package.json +3 -3
- package/src/locale/pt-BR.ts +6 -0
package/lib/error-handler.js
CHANGED
|
@@ -4,29 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ErrorHandler = void 0;
|
|
7
|
-
|
|
8
7
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
9
|
-
|
|
10
8
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
-
|
|
12
9
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
-
|
|
14
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); } }
|
|
15
|
-
|
|
16
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); }); }; }
|
|
17
|
-
|
|
18
12
|
class ErrorHandler {
|
|
19
13
|
constructor() {
|
|
20
14
|
this.handlers = [];
|
|
21
15
|
}
|
|
22
|
-
|
|
23
16
|
register(guard, render) {
|
|
24
17
|
this.handlers.push({
|
|
25
18
|
guard,
|
|
26
19
|
render
|
|
27
20
|
});
|
|
28
21
|
}
|
|
29
|
-
|
|
30
22
|
defaultHandler(err, ctx) {
|
|
31
23
|
ctx.status = err.statusCode || err.status || 500;
|
|
32
24
|
ctx.body = {
|
|
@@ -35,12 +27,10 @@ class ErrorHandler {
|
|
|
35
27
|
code: err.code
|
|
36
28
|
}]
|
|
37
29
|
};
|
|
38
|
-
|
|
39
30
|
if (ctx.status === 500) {
|
|
40
31
|
console.error(err);
|
|
41
32
|
}
|
|
42
33
|
}
|
|
43
|
-
|
|
44
34
|
middleware() {
|
|
45
35
|
const self = this;
|
|
46
36
|
return /*#__PURE__*/function () {
|
|
@@ -49,14 +39,11 @@ class ErrorHandler {
|
|
|
49
39
|
yield next();
|
|
50
40
|
} catch (err) {
|
|
51
41
|
ctx.log.error(err);
|
|
52
|
-
|
|
53
42
|
var _iterator = _createForOfIteratorHelper(self.handlers),
|
|
54
|
-
|
|
55
|
-
|
|
43
|
+
_step;
|
|
56
44
|
try {
|
|
57
45
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
58
46
|
const handler = _step.value;
|
|
59
|
-
|
|
60
47
|
if (handler.guard(err)) {
|
|
61
48
|
return handler.render(err, ctx);
|
|
62
49
|
}
|
|
@@ -66,19 +53,14 @@ class ErrorHandler {
|
|
|
66
53
|
} finally {
|
|
67
54
|
_iterator.f();
|
|
68
55
|
}
|
|
69
|
-
|
|
70
56
|
self.defaultHandler(err, ctx);
|
|
71
57
|
}
|
|
72
58
|
});
|
|
73
|
-
|
|
74
59
|
function errorHandler(_x, _x2) {
|
|
75
60
|
return _errorHandler.apply(this, arguments);
|
|
76
61
|
}
|
|
77
|
-
|
|
78
62
|
return errorHandler;
|
|
79
63
|
}();
|
|
80
64
|
}
|
|
81
|
-
|
|
82
65
|
}
|
|
83
|
-
|
|
84
66
|
exports.ErrorHandler = ErrorHandler;
|
package/lib/index.js
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = {
|
|
8
|
+
"unique violation": "{{field}} deve ser único",
|
|
9
|
+
"notNull violation": "violação de não nulo",
|
|
10
|
+
"Validation error": "erro de validação de {{field}}",
|
|
11
|
+
"notNull Violation": "{{field}} não pode ser nulo"
|
|
12
|
+
};
|
|
13
|
+
exports.default = _default;
|
package/lib/server.js
CHANGED
|
@@ -4,92 +4,65 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PluginErrorHandler = void 0;
|
|
7
|
-
|
|
8
7
|
function _jsonSchema() {
|
|
9
8
|
const data = require("@formily/json-schema");
|
|
10
|
-
|
|
11
9
|
_jsonSchema = function _jsonSchema() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _server() {
|
|
19
15
|
const data = require("@nocobase/server");
|
|
20
|
-
|
|
21
16
|
_server = function _server() {
|
|
22
17
|
return data;
|
|
23
18
|
};
|
|
24
|
-
|
|
25
19
|
return data;
|
|
26
20
|
}
|
|
27
|
-
|
|
28
21
|
function _lodash() {
|
|
29
22
|
const data = _interopRequireDefault(require("lodash"));
|
|
30
|
-
|
|
31
23
|
_lodash = function _lodash() {
|
|
32
24
|
return data;
|
|
33
25
|
};
|
|
34
|
-
|
|
35
26
|
return data;
|
|
36
27
|
}
|
|
37
|
-
|
|
38
28
|
function _sequelize() {
|
|
39
29
|
const data = require("sequelize");
|
|
40
|
-
|
|
41
30
|
_sequelize = function _sequelize() {
|
|
42
31
|
return data;
|
|
43
32
|
};
|
|
44
|
-
|
|
45
33
|
return data;
|
|
46
34
|
}
|
|
47
|
-
|
|
48
35
|
var _errorHandler = require("./error-handler");
|
|
49
|
-
|
|
50
36
|
var _en_US = _interopRequireDefault(require("./locale/en_US"));
|
|
51
|
-
|
|
52
37
|
var _zh_CN = _interopRequireDefault(require("./locale/zh_CN"));
|
|
53
|
-
|
|
54
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
55
|
-
|
|
56
39
|
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); } }
|
|
57
|
-
|
|
58
40
|
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); }); }; }
|
|
59
|
-
|
|
60
41
|
class PluginErrorHandler extends _server().Plugin {
|
|
61
42
|
constructor(...args) {
|
|
62
43
|
super(...args);
|
|
63
44
|
this.errorHandler = new _errorHandler.ErrorHandler();
|
|
64
45
|
this.i18nNs = 'error-handler';
|
|
65
46
|
}
|
|
66
|
-
|
|
67
47
|
beforeLoad() {
|
|
68
48
|
this.registerSequelizeValidationErrorHandler();
|
|
69
49
|
}
|
|
70
|
-
|
|
71
50
|
registerSequelizeValidationErrorHandler() {
|
|
72
51
|
const findFieldTitle = (instance, path, tFunc) => {
|
|
73
52
|
if (!instance) {
|
|
74
53
|
return path;
|
|
75
54
|
}
|
|
76
|
-
|
|
77
55
|
const model = instance.constructor;
|
|
78
56
|
const collection = this.db.modelCollection.get(model);
|
|
79
57
|
const field = collection.getField(path);
|
|
80
|
-
|
|
81
58
|
const fieldOptions = _jsonSchema().Schema.compile(field === null || field === void 0 ? void 0 : field.options, {
|
|
82
59
|
t: tFunc
|
|
83
60
|
});
|
|
84
|
-
|
|
85
61
|
const title = _lodash().default.get(fieldOptions, 'uiSchema.title', path);
|
|
86
|
-
|
|
87
62
|
return title;
|
|
88
63
|
};
|
|
89
|
-
|
|
90
64
|
this.errorHandler.register(err => {
|
|
91
65
|
var _err$errors;
|
|
92
|
-
|
|
93
66
|
return (err === null || err === void 0 ? void 0 : (_err$errors = err.errors) === null || _err$errors === void 0 ? void 0 : _err$errors.length) && err instanceof _sequelize().BaseError;
|
|
94
67
|
}, (err, ctx) => {
|
|
95
68
|
ctx.body = {
|
|
@@ -105,22 +78,16 @@ class PluginErrorHandler extends _server().Plugin {
|
|
|
105
78
|
ctx.status = 400;
|
|
106
79
|
});
|
|
107
80
|
}
|
|
108
|
-
|
|
109
81
|
load() {
|
|
110
82
|
var _this = this;
|
|
111
|
-
|
|
112
83
|
return _asyncToGenerator(function* () {
|
|
113
84
|
_this.app.i18n.addResources('zh-CN', _this.i18nNs, _zh_CN.default);
|
|
114
|
-
|
|
115
85
|
_this.app.i18n.addResources('en-US', _this.i18nNs, _en_US.default);
|
|
116
|
-
|
|
117
86
|
_this.app.use(_this.errorHandler.middleware(), {
|
|
118
87
|
before: 'cors',
|
|
119
88
|
tag: 'errorHandler'
|
|
120
89
|
});
|
|
121
90
|
})();
|
|
122
91
|
}
|
|
123
|
-
|
|
124
92
|
}
|
|
125
|
-
|
|
126
93
|
exports.PluginErrorHandler = PluginErrorHandler;
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-error-handler",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2-alpha.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"main": "./lib/index.js",
|
|
7
7
|
"types": "./lib/index.d.ts",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@formily/json-schema": "^2.0.15",
|
|
10
|
-
"@nocobase/server": "0.9.
|
|
10
|
+
"@nocobase/server": "0.9.2-alpha.1"
|
|
11
11
|
},
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "git+https://github.com/nocobase/nocobase.git",
|
|
15
15
|
"directory": "packages/plugin-error-handler"
|
|
16
16
|
},
|
|
17
|
-
"gitHead": "
|
|
17
|
+
"gitHead": "a4f103eb0144f07205aff7b2a6be8ea6aa1330df"
|
|
18
18
|
}
|