@saihu/common 1.1.61 → 1.1.63
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/dist/filters/base-error-rpc.filter.d.ts +2 -2
- package/dist/filters/base-error-rpc.filter.d.ts.map +1 -1
- package/dist/filters/base-error-rpc.filter.js +38 -8
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/index.d.ts.map +1 -1
- package/dist/filters/index.js +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ArgumentsHost } from '@nestjs/common';
|
|
2
2
|
import { BaseRpcExceptionFilter } from '@nestjs/microservices';
|
|
3
|
-
import { BaseError } from '../dto/base-res.dto';
|
|
4
3
|
export declare class BaseErrorRpcFilter extends BaseRpcExceptionFilter {
|
|
5
|
-
|
|
4
|
+
private readonly logger;
|
|
5
|
+
catch(exception: any, host: ArgumentsHost): import("rxjs").Observable<any>;
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=base-error-rpc.filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-error-rpc.filter.d.ts","sourceRoot":"","sources":["../../src/filters/base-error-rpc.filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"base-error-rpc.filter.d.ts","sourceRoot":"","sources":["../../src/filters/base-error-rpc.filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAgB,MAAM,uBAAuB,CAAC;AAG7E,qBACa,kBAAmB,SAAQ,sBAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa;CAwC1C"}
|
|
@@ -5,26 +5,56 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var BaseErrorRpcFilter_1;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.BaseErrorRpcFilter = void 0;
|
|
10
11
|
// @saihu/common/src/filters/base-error-rpc.filter.ts
|
|
11
12
|
const common_1 = require("@nestjs/common");
|
|
12
13
|
const microservices_1 = require("@nestjs/microservices");
|
|
13
14
|
const base_res_dto_1 = require("../dto/base-res.dto");
|
|
14
|
-
let BaseErrorRpcFilter = class BaseErrorRpcFilter extends microservices_1.BaseRpcExceptionFilter {
|
|
15
|
+
let BaseErrorRpcFilter = BaseErrorRpcFilter_1 = class BaseErrorRpcFilter extends microservices_1.BaseRpcExceptionFilter {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.logger = new common_1.Logger(BaseErrorRpcFilter_1.name);
|
|
19
|
+
}
|
|
15
20
|
catch(exception, host) {
|
|
16
21
|
var _a;
|
|
17
|
-
//
|
|
22
|
+
// Skip if already an RpcException
|
|
23
|
+
if (exception instanceof microservices_1.RpcException) {
|
|
24
|
+
return super.catch(exception, host);
|
|
25
|
+
}
|
|
26
|
+
// Check if it's a BaseError using duck-typing
|
|
27
|
+
// This is more reliable than instanceof for serialized errors
|
|
28
|
+
const isBaseErrorLike = exception &&
|
|
29
|
+
typeof exception === 'object' &&
|
|
30
|
+
exception.name === 'BaseError' &&
|
|
31
|
+
typeof exception.code === 'number' &&
|
|
32
|
+
typeof exception.message === 'string';
|
|
33
|
+
if (isBaseErrorLike || exception instanceof base_res_dto_1.BaseError) {
|
|
34
|
+
const payload = {
|
|
35
|
+
code: exception.code,
|
|
36
|
+
msg: exception.message,
|
|
37
|
+
data: (_a = exception.data) !== null && _a !== void 0 ? _a : null,
|
|
38
|
+
};
|
|
39
|
+
this.logger.log(`BaseError caught: [${payload.code}] ${payload.msg}`);
|
|
40
|
+
return super.catch(new microservices_1.RpcException(payload), host);
|
|
41
|
+
}
|
|
42
|
+
// Handle all other errors
|
|
43
|
+
this.logger.error('Unhandled RPC error:', {
|
|
44
|
+
name: exception === null || exception === void 0 ? void 0 : exception.name,
|
|
45
|
+
message: exception === null || exception === void 0 ? void 0 : exception.message,
|
|
46
|
+
code: exception === null || exception === void 0 ? void 0 : exception.code,
|
|
47
|
+
stack: exception === null || exception === void 0 ? void 0 : exception.stack,
|
|
48
|
+
});
|
|
18
49
|
const payload = {
|
|
19
|
-
code:
|
|
20
|
-
msg: exception.message,
|
|
21
|
-
data:
|
|
50
|
+
code: 500,
|
|
51
|
+
msg: (exception === null || exception === void 0 ? void 0 : exception.message) || 'Internal server error',
|
|
52
|
+
data: null,
|
|
22
53
|
};
|
|
23
|
-
// Delegate to the base filter with a proper RpcException
|
|
24
54
|
return super.catch(new microservices_1.RpcException(payload), host);
|
|
25
55
|
}
|
|
26
56
|
};
|
|
27
57
|
exports.BaseErrorRpcFilter = BaseErrorRpcFilter;
|
|
28
|
-
exports.BaseErrorRpcFilter = BaseErrorRpcFilter = __decorate([
|
|
29
|
-
(0, common_1.Catch)(
|
|
58
|
+
exports.BaseErrorRpcFilter = BaseErrorRpcFilter = BaseErrorRpcFilter_1 = __decorate([
|
|
59
|
+
(0, common_1.Catch)() // Catch everything
|
|
30
60
|
], BaseErrorRpcFilter);
|
package/dist/filters/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
|
package/dist/filters/index.js
CHANGED
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./base-error.filter"), exports);
|
|
18
|
+
__exportStar(require("./base-error-rpc.filter"), exports);
|
|
18
19
|
__exportStar(require("./validation-exception.filter"), exports);
|