@nmxjs/api 1.2.14 → 1.2.16

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.
@@ -2,8 +2,9 @@
2
2
  import { NestInterceptor, CallHandler, ExecutionContext } from '@nestjs/common';
3
3
  import type { INotifier } from '@nmxjs/notifications';
4
4
  export declare class RpcExceptionInterceptor implements NestInterceptor {
5
+ protected readonly serviceName: string;
5
6
  protected readonly debug: boolean;
6
7
  protected readonly notifier?: INotifier;
7
- constructor(debug?: boolean, notifier?: INotifier);
8
+ constructor(serviceName: string, debug?: boolean, notifier?: INotifier);
8
9
  intercept(context: ExecutionContext, next: CallHandler): any;
9
10
  }
@@ -16,14 +16,15 @@ const utils_1 = require("@nmxjs/utils");
16
16
  const common_1 = require("@nestjs/common");
17
17
  const constants_1 = require("../constants");
18
18
  let RpcExceptionInterceptor = class RpcExceptionInterceptor {
19
- constructor(debug = false, notifier) {
19
+ constructor(serviceName, debug = false, notifier) {
20
+ this.serviceName = serviceName;
20
21
  this.debug = debug;
21
22
  this.notifier = notifier;
22
23
  }
23
24
  intercept(context, next) {
24
- var _a, _b, _c;
25
+ var _a, _b, _c, _d;
25
26
  const requestId = (0, utils_1.uuid)();
26
- const path = (_c = (_b = (_a = context.getArgByIndex(2)) === null || _a === void 0 ? void 0 : _a.call) === null || _b === void 0 ? void 0 : _b.handler) === null || _c === void 0 ? void 0 : _c.path;
27
+ const path = ((_a = context.getArgByIndex(2)) === null || _a === void 0 ? void 0 : _a.path) || ((_d = (_c = (_b = context.getArgByIndex(2)) === null || _b === void 0 ? void 0 : _b.call) === null || _c === void 0 ? void 0 : _c.handler) === null || _d === void 0 ? void 0 : _d.path);
27
28
  if (this.debug) {
28
29
  common_1.Logger.debug(`Rpc Request: ${(0, utils_1.readableJson)(Object.assign({ requestId, data: context.getArgByIndex(0) }, (path ? { path } : { event: context.getArgByIndex(1).args[0] })))}`);
29
30
  }
@@ -47,7 +48,13 @@ let RpcExceptionInterceptor = class RpcExceptionInterceptor {
47
48
  }
48
49
  common_1.Logger.error(errorMessage);
49
50
  if (this.notifier && !e.silent) {
50
- this.notifier.sendError({ message: errorMessage });
51
+ this.notifier.sendError({
52
+ message: errorMessage.split('\n at')[0],
53
+ code: e.code || 'UNKNOWN RPC',
54
+ path,
55
+ serviceName: this.serviceName,
56
+ params: context.getArgByIndex(0),
57
+ });
51
58
  }
52
59
  throw new microservices_1.RpcException(`${errorMessage}${constants_1.endErrorText}`);
53
60
  }));
@@ -56,6 +63,6 @@ let RpcExceptionInterceptor = class RpcExceptionInterceptor {
56
63
  exports.RpcExceptionInterceptor = RpcExceptionInterceptor;
57
64
  exports.RpcExceptionInterceptor = RpcExceptionInterceptor = __decorate([
58
65
  (0, common_1.Injectable)(),
59
- __metadata("design:paramtypes", [Boolean, Object])
66
+ __metadata("design:paramtypes", [String, Boolean, Object])
60
67
  ], RpcExceptionInterceptor);
61
68
  //# sourceMappingURL=RpcExceptionInterceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcExceptionInterceptor.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/utils/RpcExceptionInterceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAuC;AACvC,yDAAqD;AACrD,wCAAkD;AAClD,2CAAoG;AACpG,4CAA4C;AAIrC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAA+B,QAAiB,KAAK,EAAqB,QAAoB;QAA/D,UAAK,GAAL,KAAK,CAAiB;QAAqB,aAAQ,GAAR,QAAQ,CAAY;IAAG,CAAC;IAE3F,SAAS,CAAC,OAAyB,EAAE,IAAiB;;QAC3D,MAAM,SAAS,GAAG,IAAA,YAAI,GAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,0CAAE,IAAI,0CAAE,OAAO,0CAAE,IAAI,CAAC;QAE3D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CACV,gBAAgB,IAAA,oBAAY,kBAC1B,SAAS,EACT,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAClE,EAAE,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,UAAG,EAAC,IAAI,CAAC,EAAE;YACT,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CACV,iBAAiB,IAAA,oBAAY,EAAC;oBAC5B,SAAS;oBACT,IAAI;iBACL,CAAC,EAAE,CACL,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EACF,IAAA,iBAAU,EAAC,CAAC,CAAC,EAAE;YACb,MAAM,WAAW,GAAa,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAY,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CACV,iBAAiB,IAAA,oBAAY,EAAC;oBAC5B,SAAS;oBACT,KAAK,EAAE;wBACL,OAAO,EAAE,YAAY;qBACtB;iBACF,CAAC,EAAE,CACL,CAAC;YACJ,CAAC;YACD,eAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,4BAAY,CAAC,GAAG,YAAY,GAAG,wBAAY,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAhDY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;;GACA,uBAAuB,CAgDnC"}
1
+ {"version":3,"file":"RpcExceptionInterceptor.js","sourceRoot":"","sources":["../../../src/ApiRouterCore/utils/RpcExceptionInterceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAuC;AACvC,yDAAqD;AACrD,wCAAkD;AAClD,2CAAoG;AACpG,4CAA4C;AAIrC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAA+B,WAAmB,EAAqB,QAAiB,KAAK,EAAqB,QAAoB;QAAvG,gBAAW,GAAX,WAAW,CAAQ;QAAqB,UAAK,GAAL,KAAK,CAAiB;QAAqB,aAAQ,GAAR,QAAQ,CAAY;IAAG,CAAC;IAEnI,SAAS,CAAC,OAAyB,EAAE,IAAiB;;QAC3D,MAAM,SAAS,GAAG,IAAA,YAAI,GAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAA,MAAA,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,0CAAE,IAAI,MAAI,MAAA,MAAA,MAAA,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,0CAAE,IAAI,0CAAE,OAAO,0CAAE,IAAI,CAAA,CAAC;QAE7F,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CACV,gBAAgB,IAAA,oBAAY,kBAC1B,SAAS,EACT,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAClE,EAAE,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,UAAG,EAAC,IAAI,CAAC,EAAE;YACT,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CACV,iBAAiB,IAAA,oBAAY,EAAC;oBAC5B,SAAS;oBACT,IAAI;iBACL,CAAC,EAAE,CACL,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,EACF,IAAA,iBAAU,EAAC,CAAC,CAAC,EAAE;YACb,MAAM,WAAW,GAAa,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAY,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CACV,iBAAiB,IAAA,oBAAY,EAAC;oBAC5B,SAAS;oBACT,KAAK,EAAE;wBACL,OAAO,EAAE,YAAY;qBACtB;iBACF,CAAC,EAAE,CACL,CAAC;YACJ,CAAC;YACD,eAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACtB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,aAAa;oBAC7B,IAAI;oBACJ,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,4BAAY,CAAC,GAAG,YAAY,GAAG,wBAAY,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAtDY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;;GACA,uBAAuB,CAsDnC"}
@@ -9,7 +9,10 @@ function transformParseJson(key, data) {
9
9
  }
10
10
  for (const path of jsonFieldsKeys) {
11
11
  const [firstKey, secondKey] = path.split('.');
12
- if (firstKey && !secondKey && typeof data[firstKey] !== 'undefined') {
12
+ if (firstKey && !secondKey && typeof data[firstKey] === 'undefined') {
13
+ continue;
14
+ }
15
+ if (firstKey && !secondKey) {
13
16
  data[firstKey] = JSON.parse(data[firstKey]);
14
17
  }
15
18
  else if (Array.isArray(data[firstKey])) {
@@ -1 +1 @@
1
- {"version":3,"file":"transformParseJson.js","sourceRoot":"","sources":["../../../src/ApiService/utils/transformParseJson.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAExD,SAAgB,kBAAkB,CAAI,GAAW,EAAE,IAAO;IACxD,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,QAAQ,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,gDAsBC"}
1
+ {"version":3,"file":"transformParseJson.js","sourceRoot":"","sources":["../../../src/ApiService/utils/transformParseJson.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAExD,SAAgB,kBAAkB,CAAI,GAAW,EAAE,IAAO;IACxD,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,QAAQ,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YACpE,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA1BD,gDA0BC"}
@@ -9,7 +9,10 @@ function transformStringifyJson(key, data) {
9
9
  }
10
10
  for (const path of jsonFieldsKeys) {
11
11
  const [firstKey, secondKey] = path.split('.');
12
- if (firstKey && !secondKey && typeof data[firstKey] !== 'undefined') {
12
+ if (firstKey && !secondKey && typeof data[firstKey] === 'undefined') {
13
+ continue;
14
+ }
15
+ if (firstKey && !secondKey) {
13
16
  data[firstKey] = JSON.stringify(data[firstKey]);
14
17
  }
15
18
  else if (Array.isArray(data[firstKey])) {
@@ -1 +1 @@
1
- {"version":3,"file":"transformStringifyJson.js","sourceRoot":"","sources":["../../../src/ApiService/utils/transformStringifyJson.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAExD,SAAgB,sBAAsB,CAAI,GAAW,EAAE,IAAO;IAC5D,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,QAAQ,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,wDAsBC"}
1
+ {"version":3,"file":"transformStringifyJson.js","sourceRoot":"","sources":["../../../src/ApiService/utils/transformStringifyJson.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAExD,SAAgB,sBAAsB,CAAI,GAAW,EAAE,IAAO;IAC5D,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,QAAQ,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YACpE,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA1BD,wDA0BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nmxjs/api",
3
- "version": "1.2.14",
3
+ "version": "1.2.16",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/types.d.ts CHANGED
@@ -71,7 +71,14 @@ declare module '@nmxjs/config' {
71
71
  const getConfig: () => IConfig;
72
72
  }
73
73
  declare module '@nmxjs/notifications' {
74
+ interface INotificationSendErrorOptions {
75
+ message: string;
76
+ code: string;
77
+ params?: Record<string, unknown>;
78
+ serviceName?: string;
79
+ path?: string;
80
+ }
74
81
  interface INotifier {
75
- sendError(error: { message: string }): void;
82
+ sendError(error: INotificationSendErrorOptions): void;
76
83
  }
77
84
  }