@rsdk/grpc.clients 5.0.4-next.0 → 5.0.5-next.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.0.5-next.0](https://github.com/R-Vision/rsdk/compare/v5.0.4...v5.0.5-next.0) (2024-08-19)
7
+
8
+ ### Bug Fixes
9
+
10
+ * added channelOptions to client and server ([#279](https://github.com/R-Vision/rsdk/issues/279)) ([#281](https://github.com/R-Vision/rsdk/issues/281)) ([ff07265](https://github.com/R-Vision/rsdk/commit/ff072652e81b6b1f9b9f69645edb667a3e427b0a))
11
+
12
+ ## [5.0.4](https://github.com/R-Vision/rsdk/compare/v5.0.4-next.0...v5.0.4) (2024-07-24)
13
+
14
+ **Note:** Version bump only for package @rsdk/grpc.clients
15
+
6
16
  ## [5.0.4-next.0](https://github.com/R-Vision/rsdk/compare/v5.0.3...v5.0.4-next.0) (2024-07-24)
7
17
 
8
18
  **Note:** Version bump only for package @rsdk/grpc.clients
@@ -0,0 +1,5 @@
1
+ import { ChannelOptions } from '@grpc/grpc-js';
2
+ import { Config } from '@rsdk/core';
3
+ export declare class GrpcClientsConfig extends Config {
4
+ channelOptions: ChannelOptions;
5
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GrpcClientsConfig = void 0;
13
+ const core_1 = require("@rsdk/core");
14
+ let GrpcClientsConfig = class GrpcClientsConfig extends core_1.Config {
15
+ channelOptions;
16
+ };
17
+ exports.GrpcClientsConfig = GrpcClientsConfig;
18
+ __decorate([
19
+ (0, core_1.Property)('GRPC_CLIENTS_CHANNEL_OPTIONS', new core_1.JsonParser(), {
20
+ defaultValue: {},
21
+ description: 'Channel options https://www.npmjs.com/package/%40grpc/grpc-js#:~:text=Supported%20Channel%20Options',
22
+ }),
23
+ __metadata("design:type", Object)
24
+ ], GrpcClientsConfig.prototype, "channelOptions", void 0);
25
+ exports.GrpcClientsConfig = GrpcClientsConfig = __decorate([
26
+ (0, core_1.ConfigSection)()
27
+ ], GrpcClientsConfig);
28
+ //# sourceMappingURL=grpc.clients.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc.clients.config.js","sourceRoot":"","sources":["../src/grpc.clients.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qCAAyE;AAGlE,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,aAAM;IAM3C,cAAc,CAAkB;CACjC,CAAA;AAPY,8CAAiB;AAM5B;IALC,IAAA,eAAQ,EAAC,8BAA8B,EAAE,IAAI,iBAAU,EAAE,EAAE;QAC1D,YAAY,EAAE,EAAE;QAChB,WAAW,EACT,qGAAqG;KACxG,CAAC;;yDAC8B;4BANrB,iBAAiB;IAD7B,IAAA,oBAAa,GAAE;GACH,iBAAiB,CAO7B"}
@@ -9,6 +9,8 @@ var GrpcClientOptionsModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.GrpcClientOptionsModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
+ const core_1 = require("@rsdk/core");
13
+ const grpc_clients_config_1 = require("../grpc.clients.config");
12
14
  const di_1 = require("./di");
13
15
  let GrpcClientOptionsModule = GrpcClientOptionsModule_1 = class GrpcClientOptionsModule {
14
16
  static forRoot(options) {
@@ -21,6 +23,7 @@ let GrpcClientOptionsModule = GrpcClientOptionsModule_1 = class GrpcClientOption
21
23
  module: GrpcClientOptionsModule_1,
22
24
  providers: [optionsProvider],
23
25
  exports: [optionsProvider],
26
+ imports: [core_1.PlatformConfigModule.forFeature(grpc_clients_config_1.GrpcClientsConfig)],
24
27
  };
25
28
  }
26
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"options.module.js","sourceRoot":"","sources":["../../src/options/options.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAwC;AAExC,6BAA4C;AAIrC,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAClC,MAAM,CAAC,OAAO,CAAC,OAA2B;QACxC,MAAM,eAAe,GAAG;YACtB,OAAO,EAAE,yBAAoB;YAC7B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,yBAAuB;YAC/B,SAAS,EAAE,CAAC,eAAe,CAAC;YAC5B,OAAO,EAAE,CAAC,eAAe,CAAC;SAC3B,CAAC;IACJ,CAAC;CACF,CAAA;AAdY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,uBAAuB,CAcnC"}
1
+ {"version":3,"file":"options.module.js","sourceRoot":"","sources":["../../src/options/options.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAwC;AACxC,qCAAkD;AAElD,gEAA2D;AAE3D,6BAA4C;AAIrC,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAClC,MAAM,CAAC,OAAO,CAAC,OAA2B;QACxC,MAAM,eAAe,GAAG;YACtB,OAAO,EAAE,yBAAoB;YAC7B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,yBAAuB;YAC/B,SAAS,EAAE,CAAC,eAAe,CAAC;YAC5B,OAAO,EAAE,CAAC,eAAe,CAAC;YAC1B,OAAO,EAAE,CAAC,2BAAoB,CAAC,UAAU,CAAC,uCAAiB,CAAC,CAAC;SAC9D,CAAC;IACJ,CAAC;CACF,CAAA;AAfY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,uBAAuB,CAenC"}
@@ -1,15 +1,17 @@
1
1
  import type { ChannelImplementation } from '@grpc/grpc-js/build/src/channel';
2
2
  import type { Client } from 'nice-grpc';
3
3
  import type { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
4
+ import { GrpcClientsConfig } from '../grpc.clients.config';
4
5
  import { GrpcClientsOptions } from '../options/types';
5
6
  /**
6
7
  * Простое кеш хранилище внутри DI для кеширования на замену статике
7
8
  */
8
9
  export declare class GrpcClientRepository {
10
+ private readonly grpcClientsConfig;
9
11
  private readonly factory;
10
12
  private readonly channels;
11
13
  private readonly clients;
12
- constructor(options?: GrpcClientsOptions);
14
+ constructor(grpcClientsConfig: GrpcClientsConfig, options?: GrpcClientsOptions);
13
15
  resolveChannel(address: string, channelToken: string): ChannelImplementation;
14
16
  resolveClient(definition: CompatServiceDefinition, channel: ChannelImplementation, clientToken: string): Client<CompatServiceDefinition>;
15
17
  }
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.GrpcClientRepository = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const nice_grpc_1 = require("nice-grpc");
18
+ const grpc_clients_config_1 = require("../grpc.clients.config");
18
19
  const exception_mapper_middleware_1 = require("../middleware/exception-mapper.middleware");
19
20
  const tracing_middleware_1 = require("../middleware/tracing.middleware");
20
21
  const di_1 = require("../options/di");
@@ -22,11 +23,13 @@ const di_1 = require("../options/di");
22
23
  * Простое кеш хранилище внутри DI для кеширования на замену статике
23
24
  */
24
25
  let GrpcClientRepository = class GrpcClientRepository {
26
+ grpcClientsConfig;
25
27
  factory;
26
28
  // Caches
27
29
  channels = new Map();
28
30
  clients = new Map();
29
- constructor(options) {
31
+ constructor(grpcClientsConfig, options) {
32
+ this.grpcClientsConfig = grpcClientsConfig;
30
33
  this.factory = (0, nice_grpc_1.createClientFactory)()
31
34
  .use((0, exception_mapper_middleware_1.exceptionMapperMiddleware)())
32
35
  .use((0, tracing_middleware_1.tracingMiddleware)());
@@ -44,6 +47,7 @@ let GrpcClientRepository = class GrpcClientRepository {
44
47
  (0, nice_grpc_1.createChannel)(address, nice_grpc_1.ChannelCredentials.createInsecure(), {
45
48
  // unlimited
46
49
  'grpc.max_receive_message_length': -1,
50
+ ...this.grpcClientsConfig.channelOptions,
47
51
  });
48
52
  this.channels.set(channelToken, channel);
49
53
  return channel;
@@ -57,8 +61,8 @@ let GrpcClientRepository = class GrpcClientRepository {
57
61
  exports.GrpcClientRepository = GrpcClientRepository;
58
62
  exports.GrpcClientRepository = GrpcClientRepository = __decorate([
59
63
  (0, common_1.Injectable)(),
60
- __param(0, (0, common_1.Optional)()),
61
- __param(0, (0, common_1.Inject)(di_1.GRPC_CLIENTS_OPTIONS)),
62
- __metadata("design:paramtypes", [Object])
64
+ __param(1, (0, common_1.Optional)()),
65
+ __param(1, (0, common_1.Inject)(di_1.GRPC_CLIENTS_OPTIONS)),
66
+ __metadata("design:paramtypes", [grpc_clients_config_1.GrpcClientsConfig, Object])
63
67
  ], GrpcClientRepository);
64
68
  //# sourceMappingURL=grpc-client.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-client.repository.js","sourceRoot":"","sources":["../../src/repository/grpc-client.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAA8D;AAE9D,yCAImB;AAGnB,2FAAsF;AACtF,yEAAqE;AACrE,sCAAqD;AAGrD;;GAEG;AAGI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACd,OAAO,CAAgB;IAExC,SAAS;IACQ,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IACtC,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;IAE9E,YAC4C,OAA4B;QAEtE,IAAI,CAAC,OAAO,GAAG,IAAA,+BAAmB,GAAE;aACjC,GAAG,CAAC,IAAA,uDAAyB,GAAE,CAAC;aAChC,GAAG,CAAC,IAAA,sCAAiB,GAAE,CAAC,CAAC;QAE5B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAErC,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,UAAU;gBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,YAAoB;QAClD,uFAAuF;QACvF,sFAAsF;QACtF,kFAAkF;QAElF,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC;YAC/B,IAAA,yBAAa,EAAC,OAAO,EAAE,8BAAkB,CAAC,cAAc,EAAE,EAAE;gBAC1D,YAAY;gBACZ,iCAAiC,EAAE,CAAC,CAAC;aACtC,CAAC,CAAC;QAEL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CACX,UAAmC,EACnC,OAA8B,EAC9B,WAAmB;QAEnB,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAlDY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,yBAAoB,CAAC,CAAA;;GARhC,oBAAoB,CAkDhC"}
1
+ {"version":3,"file":"grpc-client.repository.js","sourceRoot":"","sources":["../../src/repository/grpc-client.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAA8D;AAE9D,yCAImB;AAGnB,gEAA2D;AAC3D,2FAAsF;AACtF,yEAAqE;AACrE,sCAAqD;AAGrD;;GAEG;AAGI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAQZ;IAPF,OAAO,CAAgB;IAExC,SAAS;IACQ,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IACtC,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;IAE9E,YACmB,iBAAoC,EACX,OAA4B;QADrD,sBAAiB,GAAjB,iBAAiB,CAAmB;QAGrD,IAAI,CAAC,OAAO,GAAG,IAAA,+BAAmB,GAAE;aACjC,GAAG,CAAC,IAAA,uDAAyB,GAAE,CAAC;aAChC,GAAG,CAAC,IAAA,sCAAiB,GAAE,CAAC,CAAC;QAE5B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAErC,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,UAAU;gBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,YAAoB;QAClD,uFAAuF;QACvF,sFAAsF;QACtF,kFAAkF;QAElF,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC;YAC/B,IAAA,yBAAa,EAAC,OAAO,EAAE,8BAAkB,CAAC,cAAc,EAAE,EAAE;gBAC1D,YAAY;gBACZ,iCAAiC,EAAE,CAAC,CAAC;gBACrC,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc;aACzC,CAAC,CAAC;QAEL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CACX,UAAmC,EACnC,OAA8B,EAC9B,WAAmB;QAEnB,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEvC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AApDY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,yBAAoB,CAAC,CAAA;qCADL,uCAAiB;GAR5C,oBAAoB,CAoDhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/grpc.clients",
3
- "version": "5.0.4-next.0",
3
+ "version": "5.0.5-next.0",
4
4
  "description": "Grpc clients infrastructure",
5
5
  "license": "Apache License 2.0",
6
6
  "publishConfig": {
@@ -26,5 +26,5 @@
26
26
  "reflect-metadata": "^0.1.12 || ^0.2.0",
27
27
  "rxjs": "^7.8.1"
28
28
  },
29
- "gitHead": "55a97875e0c4c86757c032782c39ab00f05ce5a0"
29
+ "gitHead": "69cc17448de4db247e4fc27ab4d00896271c178a"
30
30
  }
@@ -0,0 +1,12 @@
1
+ import { ChannelOptions } from '@grpc/grpc-js';
2
+ import { Config, ConfigSection, JsonParser, Property } from '@rsdk/core';
3
+
4
+ @ConfigSection()
5
+ export class GrpcClientsConfig extends Config {
6
+ @Property('GRPC_CLIENTS_CHANNEL_OPTIONS', new JsonParser(), {
7
+ defaultValue: {},
8
+ description:
9
+ 'Channel options https://www.npmjs.com/package/%40grpc/grpc-js#:~:text=Supported%20Channel%20Options',
10
+ })
11
+ channelOptions!: ChannelOptions;
12
+ }
@@ -1,5 +1,8 @@
1
1
  import type { DynamicModule } from '@nestjs/common';
2
2
  import { Module } from '@nestjs/common';
3
+ import { PlatformConfigModule } from '@rsdk/core';
4
+
5
+ import { GrpcClientsConfig } from '../grpc.clients.config';
3
6
 
4
7
  import { GRPC_CLIENTS_OPTIONS } from './di';
5
8
  import type { GrpcClientsOptions } from './types';
@@ -17,6 +20,7 @@ export class GrpcClientOptionsModule {
17
20
  module: GrpcClientOptionsModule,
18
21
  providers: [optionsProvider],
19
22
  exports: [optionsProvider],
23
+ imports: [PlatformConfigModule.forFeature(GrpcClientsConfig)],
20
24
  };
21
25
  }
22
26
  }
@@ -8,6 +8,7 @@ import {
8
8
  } from 'nice-grpc';
9
9
  import type { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
10
10
 
11
+ import { GrpcClientsConfig } from '../grpc.clients.config';
11
12
  import { exceptionMapperMiddleware } from '../middleware/exception-mapper.middleware';
12
13
  import { tracingMiddleware } from '../middleware/tracing.middleware';
13
14
  import { GRPC_CLIENTS_OPTIONS } from '../options/di';
@@ -26,6 +27,7 @@ export class GrpcClientRepository {
26
27
  private readonly clients = new Map<string, Client<CompatServiceDefinition>>();
27
28
 
28
29
  constructor(
30
+ private readonly grpcClientsConfig: GrpcClientsConfig,
29
31
  @Optional() @Inject(GRPC_CLIENTS_OPTIONS) options?: GrpcClientsOptions,
30
32
  ) {
31
33
  this.factory = createClientFactory()
@@ -49,6 +51,7 @@ export class GrpcClientRepository {
49
51
  createChannel(address, ChannelCredentials.createInsecure(), {
50
52
  // unlimited
51
53
  'grpc.max_receive_message_length': -1,
54
+ ...this.grpcClientsConfig.channelOptions,
52
55
  });
53
56
 
54
57
  this.channels.set(channelToken, channel);