@saihu/common 1.1.55 → 1.1.56

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.
@@ -1,6 +1,7 @@
1
1
  import { ArgumentsHost } from '@nestjs/common';
2
2
  import { BaseRpcExceptionFilter } from '@nestjs/microservices';
3
3
  export declare class BaseErrorRpcFilter extends BaseRpcExceptionFilter {
4
+ private readonly logger;
4
5
  catch(exception: any, host: ArgumentsHost): import("rxjs").Observable<any>;
5
6
  }
6
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,EAAS,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAgB,MAAM,uBAAuB,CAAC;AAE7E,qBACa,kBAAmB,SAAQ,sBAAsB;IAC5D,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa;CA+B1C"}
1
+ {"version":3,"file":"base-error-rpc.filter.d.ts","sourceRoot":"","sources":["../../src/filters/base-error-rpc.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAgB,MAAM,uBAAuB,CAAC;AAE7E,qBACa,kBAAmB,SAAQ,sBAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa;CAmC1C"}
@@ -5,41 +5,48 @@ 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
- // @saihu/common/src/filters/base-error-rpc.filter.ts
11
11
  const common_1 = require("@nestjs/common");
12
12
  const microservices_1 = require("@nestjs/microservices");
13
- let BaseErrorRpcFilter = class BaseErrorRpcFilter extends microservices_1.BaseRpcExceptionFilter {
13
+ let BaseErrorRpcFilter = BaseErrorRpcFilter_1 = class BaseErrorRpcFilter extends microservices_1.BaseRpcExceptionFilter {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.logger = new common_1.Logger(BaseErrorRpcFilter_1.name);
17
+ }
14
18
  catch(exception, host) {
15
19
  var _a;
16
- // Only transform for RPC
20
+ // Only handle RPC context
17
21
  if (host.getType() !== 'rpc') {
18
22
  return super.catch(exception, host);
19
23
  }
20
- // If it's already RpcException, pass through
24
+ // If it's already an RpcException, pass through
21
25
  if (exception instanceof microservices_1.RpcException) {
22
26
  return super.catch(exception, host);
23
27
  }
24
- // Duck-type check for your BaseError shape
25
- const isBaseErrorLike = ((exception === null || exception === void 0 ? void 0 : exception.name) === 'BaseError' ||
26
- typeof (exception === null || exception === void 0 ? void 0 : exception.code) === 'number') &&
27
- typeof (exception === null || exception === void 0 ? void 0 : exception.message) === 'string';
28
+ // Log the original error for debugging
29
+ this.logger.error('RPC Error caught:', exception);
30
+ // Transform to standardized format
31
+ const isBaseErrorLike = (exception === null || exception === void 0 ? void 0 : exception.name) === 'BaseError' ||
32
+ (typeof (exception === null || exception === void 0 ? void 0 : exception.code) === 'number' &&
33
+ typeof (exception === null || exception === void 0 ? void 0 : exception.message) === 'string');
28
34
  const payload = isBaseErrorLike
29
35
  ? {
30
36
  code: Number(exception.code) || 500,
31
- msg: exception.message,
37
+ msg: exception.message || 'Internal server error',
32
38
  data: (_a = exception.data) !== null && _a !== void 0 ? _a : null,
33
39
  }
34
40
  : {
35
41
  code: 500,
36
- msg: 'Internal server error',
42
+ msg: (exception === null || exception === void 0 ? void 0 : exception.message) || 'Internal server error',
37
43
  data: null,
38
44
  };
45
+ // Always wrap in RpcException before passing to super
39
46
  return super.catch(new microservices_1.RpcException(payload), host);
40
47
  }
41
48
  };
42
49
  exports.BaseErrorRpcFilter = BaseErrorRpcFilter;
43
- exports.BaseErrorRpcFilter = BaseErrorRpcFilter = __decorate([
44
- (0, common_1.Catch)() // <-- catch everything (not just BaseError)
50
+ exports.BaseErrorRpcFilter = BaseErrorRpcFilter = BaseErrorRpcFilter_1 = __decorate([
51
+ (0, common_1.Catch)()
45
52
  ], BaseErrorRpcFilter);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saihu/common",
3
- "version": "1.1.55",
3
+ "version": "1.1.56",
4
4
  "description": "Common utilities for NestJS applications",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",