@conduitplatform/grpc-sdk 0.14.7 → 0.15.0-rc.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.
Files changed (160) hide show
  1. package/dist/classes/ConduitActiveSchema.d.ts +12 -12
  2. package/dist/classes/ConduitActiveSchema.js +2 -2
  3. package/dist/classes/ConduitActiveSchema.js.map +1 -1
  4. package/dist/classes/ConduitModule.d.ts +5 -4
  5. package/dist/classes/ConduitModule.js +21 -7
  6. package/dist/classes/ConduitModule.js.map +1 -1
  7. package/dist/classes/ConduitParser.d.ts +5 -2
  8. package/dist/classes/ConduitParser.js +8 -5
  9. package/dist/classes/ConduitParser.js.map +1 -1
  10. package/dist/classes/ConduitSchema.d.ts +3 -4
  11. package/dist/classes/ConduitSchema.js +2 -9
  12. package/dist/classes/ConduitSchema.js.map +1 -1
  13. package/dist/classes/ConduitServiceModule.d.ts +1 -0
  14. package/dist/classes/ConduitServiceModule.js +2 -1
  15. package/dist/classes/ConduitServiceModule.js.map +1 -1
  16. package/dist/classes/GrpcServer.d.ts +2 -0
  17. package/dist/classes/GrpcServer.js +11 -1
  18. package/dist/classes/GrpcServer.js.map +1 -1
  19. package/dist/classes/HealthCheck.js +2 -3
  20. package/dist/classes/HealthCheck.js.map +1 -1
  21. package/dist/classes/ManagedModule.d.ts +16 -7
  22. package/dist/classes/ManagedModule.js +45 -21
  23. package/dist/classes/ManagedModule.js.map +1 -1
  24. package/dist/classes/ModuleManager.d.ts +0 -1
  25. package/dist/classes/ModuleManager.js +26 -30
  26. package/dist/classes/ModuleManager.js.map +1 -1
  27. package/dist/classes/index.d.ts +0 -7
  28. package/dist/classes/index.js +0 -7
  29. package/dist/classes/index.js.map +1 -1
  30. package/dist/helpers/index.d.ts +0 -2
  31. package/dist/helpers/index.js +0 -2
  32. package/dist/helpers/index.js.map +1 -1
  33. package/dist/helpers/wrapGrpcFunctions.d.ts +1 -1
  34. package/dist/helpers/wrapGrpcFunctions.js +14 -4
  35. package/dist/helpers/wrapGrpcFunctions.js.map +1 -1
  36. package/dist/index.d.ts +6 -6
  37. package/dist/index.js +25 -52
  38. package/dist/index.js.map +1 -1
  39. package/dist/interfaces/ConduitSchemaExtension.d.ts +5 -0
  40. package/dist/interfaces/ConduitSchemaExtension.js +3 -0
  41. package/dist/interfaces/ConduitSchemaExtension.js.map +1 -0
  42. package/dist/interfaces/Indexable.d.ts +1 -0
  43. package/dist/interfaces/Model.d.ts +1 -1
  44. package/dist/interfaces/index.d.ts +1 -3
  45. package/dist/interfaces/index.js +1 -3
  46. package/dist/interfaces/index.js.map +1 -1
  47. package/dist/metrics/MetricsServer.d.ts +1 -2
  48. package/dist/metrics/MetricsServer.js +0 -11
  49. package/dist/metrics/MetricsServer.js.map +1 -1
  50. package/dist/metrics/clientMiddleware.d.ts +2 -0
  51. package/dist/metrics/clientMiddleware.js +265 -0
  52. package/dist/metrics/clientMiddleware.js.map +1 -0
  53. package/dist/metrics/index.d.ts +3 -0
  54. package/dist/metrics/index.js +55 -3
  55. package/dist/metrics/index.js.map +1 -1
  56. package/dist/modules/admin/index.d.ts +3 -9
  57. package/dist/modules/admin/index.js +1 -92
  58. package/dist/modules/admin/index.js.map +1 -1
  59. package/dist/modules/authorization/index.d.ts +13 -0
  60. package/dist/modules/authorization/index.js +53 -0
  61. package/dist/modules/authorization/index.js.map +1 -0
  62. package/dist/modules/config/index.d.ts +1 -3
  63. package/dist/modules/config/index.js +3 -25
  64. package/dist/modules/config/index.js.map +1 -1
  65. package/dist/modules/database/index.d.ts +27 -18
  66. package/dist/modules/database/index.js +23 -25
  67. package/dist/modules/database/index.js.map +1 -1
  68. package/dist/modules/index.d.ts +2 -0
  69. package/dist/modules/index.js +2 -0
  70. package/dist/modules/index.js.map +1 -1
  71. package/dist/modules/router/index.d.ts +2 -2
  72. package/dist/modules/router/index.js.map +1 -1
  73. package/dist/protoUtils/authentication.d.ts +1 -1
  74. package/dist/protoUtils/authentication.js +4 -4
  75. package/dist/protoUtils/authentication.js.map +1 -1
  76. package/dist/protoUtils/authorization.d.ts +293 -0
  77. package/dist/protoUtils/authorization.js +727 -0
  78. package/dist/protoUtils/authorization.js.map +1 -0
  79. package/dist/protoUtils/core.d.ts +1 -40
  80. package/dist/protoUtils/core.js +15 -21
  81. package/dist/protoUtils/core.js.map +1 -1
  82. package/dist/protoUtils/database.d.ts +28 -64
  83. package/dist/protoUtils/database.js +69 -209
  84. package/dist/protoUtils/database.js.map +1 -1
  85. package/dist/protoUtils/email.js +2 -2
  86. package/dist/protoUtils/email.js.map +1 -1
  87. package/dist/{classes → routing}/ConduitRouteReturn.d.ts +1 -1
  88. package/dist/{classes → routing}/ConduitRouteReturn.js +9 -1
  89. package/dist/routing/ConduitRouteReturn.js.map +1 -0
  90. package/dist/{classes/Routing → routing}/RouteBuilder.d.ts +5 -8
  91. package/dist/{classes/Routing → routing}/RouteBuilder.js +1 -1
  92. package/dist/routing/RouteBuilder.js.map +1 -0
  93. package/dist/routing/RoutingJsonConstructor.d.ts +3 -0
  94. package/dist/routing/RoutingJsonConstructor.js +29 -0
  95. package/dist/routing/RoutingJsonConstructor.js.map +1 -0
  96. package/dist/{classes/Routing → routing}/RoutingManager.d.ts +11 -6
  97. package/dist/{classes/Routing → routing}/RoutingManager.js +43 -58
  98. package/dist/routing/RoutingManager.js.map +1 -0
  99. package/dist/routing/RoutingUtilities.d.ts +15 -0
  100. package/dist/{helpers → routing}/RoutingUtilities.js +14 -10
  101. package/dist/routing/RoutingUtilities.js.map +1 -0
  102. package/dist/routing/index.d.ts +7 -0
  103. package/dist/routing/index.js +24 -0
  104. package/dist/routing/index.js.map +1 -0
  105. package/dist/routing/interfaces/ConduitMiddleware.d.ts +11 -0
  106. package/dist/routing/interfaces/ConduitMiddleware.js +3 -0
  107. package/dist/routing/interfaces/ConduitMiddleware.js.map +1 -0
  108. package/dist/routing/interfaces/ConduitRoute.d.ts +8 -0
  109. package/dist/routing/interfaces/ConduitRoute.js +3 -0
  110. package/dist/routing/interfaces/ConduitRoute.js.map +1 -0
  111. package/dist/routing/interfaces/ConduitSocket.d.ts +5 -0
  112. package/dist/routing/interfaces/ConduitSocket.js +3 -0
  113. package/dist/routing/interfaces/ConduitSocket.js.map +1 -0
  114. package/dist/{interfaces → routing/interfaces}/Route.d.ts +7 -4
  115. package/dist/{interfaces → routing/interfaces}/Route.js +0 -0
  116. package/dist/routing/interfaces/Route.js.map +1 -0
  117. package/dist/{interfaces → routing/interfaces}/Socket.d.ts +3 -3
  118. package/dist/{interfaces/Middleware.js → routing/interfaces/Socket.js} +1 -1
  119. package/dist/routing/interfaces/Socket.js.map +1 -0
  120. package/dist/routing/interfaces/index.d.ts +6 -0
  121. package/dist/routing/interfaces/index.js +23 -0
  122. package/dist/routing/interfaces/index.js.map +1 -0
  123. package/dist/routing/interfaces/types.d.ts +32 -0
  124. package/dist/routing/interfaces/types.js +3 -0
  125. package/dist/routing/interfaces/types.js.map +1 -0
  126. package/dist/{helpers → routing}/wrapRouterFunctions.d.ts +1 -2
  127. package/dist/{helpers → routing}/wrapRouterFunctions.js +2 -12
  128. package/dist/routing/wrapRouterFunctions.js.map +1 -0
  129. package/dist/types/db.d.ts +24 -0
  130. package/dist/types/db.js +3 -0
  131. package/dist/types/db.js.map +1 -0
  132. package/dist/types/index.d.ts +0 -29
  133. package/dist/types/index.js.map +1 -1
  134. package/package.json +3 -2
  135. package/dist/classes/ConduitMiddleware.d.ts +0 -8
  136. package/dist/classes/ConduitMiddleware.js +0 -26
  137. package/dist/classes/ConduitMiddleware.js.map +0 -1
  138. package/dist/classes/ConduitRoute.d.ts +0 -12
  139. package/dist/classes/ConduitRoute.js +0 -44
  140. package/dist/classes/ConduitRoute.js.map +0 -1
  141. package/dist/classes/ConduitRouteReturn.js.map +0 -1
  142. package/dist/classes/ConduitSchemaExtension.d.ts +0 -7
  143. package/dist/classes/ConduitSchemaExtension.js +0 -19
  144. package/dist/classes/ConduitSchemaExtension.js.map +0 -1
  145. package/dist/classes/ConduitSocket.d.ts +0 -9
  146. package/dist/classes/ConduitSocket.js +0 -27
  147. package/dist/classes/ConduitSocket.js.map +0 -1
  148. package/dist/classes/Routing/RouteBuilder.js.map +0 -1
  149. package/dist/classes/Routing/RoutingManager.js.map +0 -1
  150. package/dist/helpers/RoutingJsonConstructor.d.ts +0 -9
  151. package/dist/helpers/RoutingJsonConstructor.js +0 -89
  152. package/dist/helpers/RoutingJsonConstructor.js.map +0 -1
  153. package/dist/helpers/RoutingUtilities.d.ts +0 -13
  154. package/dist/helpers/RoutingUtilities.js.map +0 -1
  155. package/dist/helpers/wrapRouterFunctions.js.map +0 -1
  156. package/dist/interfaces/Middleware.d.ts +0 -7
  157. package/dist/interfaces/Middleware.js.map +0 -1
  158. package/dist/interfaces/Route.js.map +0 -1
  159. package/dist/interfaces/Socket.js +0 -9
  160. package/dist/interfaces/Socket.js.map +0 -1
@@ -1,19 +1,19 @@
1
- import { ConduitModel, ConduitModelOptions } from '../interfaces';
1
+ import { ConduitModel, ConduitSchemaOptions } from '../interfaces';
2
2
  import { ConduitSchema } from './ConduitSchema';
3
3
  import { DatabaseProvider } from '../modules';
4
- import { Query } from '../interfaces';
4
+ import { Query } from '../types/db';
5
5
  export declare class ConduitActiveSchema<T> extends ConduitSchema {
6
6
  private readonly dbInstance;
7
- constructor(dbInstance: DatabaseProvider, name: string, fields?: ConduitModel, schemaOptions?: ConduitModelOptions, collectionName?: string);
8
- findOne(query: Query, select?: string, populate?: string | string[]): Promise<T | null>;
9
- findMany(query: Query, select?: string, skip?: number, limit?: number, sort?: {
7
+ constructor(dbInstance: DatabaseProvider, name: string, fields?: ConduitModel, modelOptions?: ConduitSchemaOptions, collectionName?: string);
8
+ findOne(query: Query<T>, select?: string, populate?: string | string[]): Promise<T | null>;
9
+ findMany(query: Query<T>, select?: string, skip?: number, limit?: number, sort?: {
10
10
  [key: string]: number;
11
11
  } | string[], populate?: string | string[]): Promise<T[]>;
12
- create(query: Query): Promise<T>;
13
- createMany(query: Query): Promise<T[]>;
14
- findByIdAndUpdate(id: string, document: Query, updateProvidedOnly?: boolean, populate?: string | string[]): Promise<T | null>;
15
- updateMany(filterQuery: Query, query: Query, updateProvidedOnly?: boolean): Promise<any>;
16
- deleteOne(query: Query): Promise<any>;
17
- deleteMany(query: Query): Promise<any>;
18
- countDocuments(query: Query): Promise<number>;
12
+ create(query: Query<T>): Promise<T>;
13
+ createMany(query: Query<T>): Promise<T[]>;
14
+ findByIdAndUpdate(id: string, document: Query<T>, updateProvidedOnly?: boolean, populate?: string | string[]): Promise<T | null>;
15
+ updateMany(filterQuery: Query<T>, query: Query<T>, updateProvidedOnly?: boolean): Promise<any>;
16
+ deleteOne(query: Query<T>): Promise<any>;
17
+ deleteMany(query: Query<T>): Promise<any>;
18
+ countDocuments(query: Query<T>): Promise<number>;
19
19
  }
@@ -19,8 +19,8 @@ exports.ConduitActiveSchema = void 0;
19
19
  var ConduitSchema_1 = require("./ConduitSchema");
20
20
  var ConduitActiveSchema = /** @class */ (function (_super) {
21
21
  __extends(ConduitActiveSchema, _super);
22
- function ConduitActiveSchema(dbInstance, name, fields, schemaOptions, collectionName) {
23
- var _this = _super.call(this, name, fields !== null && fields !== void 0 ? fields : {}, schemaOptions, collectionName) || this;
22
+ function ConduitActiveSchema(dbInstance, name, fields, modelOptions, collectionName) {
23
+ var _this = _super.call(this, name, fields !== null && fields !== void 0 ? fields : {}, modelOptions, collectionName) || this;
24
24
  _this.dbInstance = dbInstance;
25
25
  return _this;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConduitActiveSchema.js","sourceRoot":"","sources":["../../src/classes/ConduitActiveSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,iDAAgD;AAIhD;IAA4C,uCAAa;IAGvD,6BACE,UAA4B,EAC5B,IAAY,EACZ,MAAqB,EACrB,aAAmC,EACnC,cAAuB;QALzB,YAOE,kBAAM,IAAI,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,EAAE,aAAa,EAAE,cAAc,CAAC,SAEzD;QADC,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;;IAC/B,CAAC;IAED,qCAAO,GAAP,UACE,KAAY,EACZ,MAAe,EACf,QAA4B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,sCAAQ,GAAR,UACE,KAAY,EACZ,MAAe,EACf,IAAa,EACb,KAAc,EACd,IAA2C,EAC3C,QAA4B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC7B,IAAI,CAAC,IAAI,EACT,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,oCAAM,GAAN,UAAO,KAAY;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,wCAAU,GAAV,UAAW,KAAY;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,+CAAiB,GAAjB,UACE,EAAU,EACV,QAAe,EACf,kBAA4B,EAC5B,QAA4B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CACtC,IAAI,CAAC,IAAI,EACT,EAAE,EACF,QAAQ,EACR,kBAAkB,EAClB,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,wCAAU,GAAV,UAAW,WAAkB,EAAE,KAAY,EAAE,kBAA4B;QACvE,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACvF,CAAC;IAED,uCAAS,GAAT,UAAU,KAAY;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,wCAAU,GAAV,UAAW,KAAY;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,4CAAc,GAAd,UAAe,KAAY;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IACH,0BAAC;AAAD,CAAC,AA/ED,CAA4C,6BAAa,GA+ExD;AA/EY,kDAAmB"}
1
+ {"version":3,"file":"ConduitActiveSchema.js","sourceRoot":"","sources":["../../src/classes/ConduitActiveSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,iDAAgD;AAIhD;IAA4C,uCAAa;IAGvD,6BACE,UAA4B,EAC5B,IAAY,EACZ,MAAqB,EACrB,YAAmC,EACnC,cAAuB;QALzB,YAOE,kBAAM,IAAI,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,SAExD;QADC,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;;IAC/B,CAAC;IAED,qCAAO,GAAP,UACE,KAAe,EACf,MAAe,EACf,QAA4B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,sCAAQ,GAAR,UACE,KAAe,EACf,MAAe,EACf,IAAa,EACb,KAAc,EACd,IAA2C,EAC3C,QAA4B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC7B,IAAI,CAAC,IAAI,EACT,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,oCAAM,GAAN,UAAO,KAAe;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,wCAAU,GAAV,UAAW,KAAe;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,+CAAiB,GAAjB,UACE,EAAU,EACV,QAAkB,EAClB,kBAA4B,EAC5B,QAA4B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CACtC,IAAI,CAAC,IAAI,EACT,EAAE,EACF,QAAQ,EACR,kBAAkB,EAClB,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,wCAAU,GAAV,UAAW,WAAqB,EAAE,KAAe,EAAE,kBAA4B;QAC7E,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACvF,CAAC;IAED,uCAAS,GAAT,UAAU,KAAe;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,wCAAU,GAAV,UAAW,KAAe;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,4CAAc,GAAd,UAAe,KAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IACH,0BAAC;AAAD,CAAC,AA/ED,CAA4C,6BAAa,GA+ExD;AA/EY,kDAAmB"}
@@ -4,17 +4,18 @@ import { Channel, Client } from 'nice-grpc';
4
4
  import { HealthDefinition } from '../protoUtils/grpc_health_check';
5
5
  import { EventEmitter } from 'events';
6
6
  export declare class ConduitModule<T extends CompatServiceDefinition> {
7
+ readonly _clientName: string;
8
+ private readonly _serviceName;
9
+ private readonly _serviceUrl;
10
+ private readonly _grpcToken?;
7
11
  active: boolean;
8
12
  private _client?;
9
13
  private _healthClient?;
10
14
  protected channel?: Channel;
11
15
  protected protoPath?: string;
12
16
  protected type?: T;
13
- protected readonly _clientName: string;
14
- protected readonly _serviceUrl: string;
15
17
  protected readonly healthCheckEmitter: EventEmitter;
16
- protected readonly _grpcToken?: string;
17
- constructor(clientName: string, serviceName: string, serviceUrl: string, grpcToken?: string);
18
+ constructor(_clientName: string, _serviceName: string, _serviceUrl: string, _grpcToken?: string | undefined);
18
19
  initializeClient(type: T): Client<T>;
19
20
  openConnection(): void;
20
21
  get client(): Client<T> | undefined;
@@ -46,15 +46,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.ConduitModule = void 0;
47
47
  var interceptors_1 = require("../interceptors");
48
48
  var nice_grpc_1 = require("nice-grpc");
49
+ var nice_grpc_client_middleware_retry_1 = require("nice-grpc-client-middleware-retry");
49
50
  var grpc_health_check_1 = require("../protoUtils/grpc_health_check");
50
51
  var events_1 = require("events");
51
52
  var ConduitModule = /** @class */ (function () {
52
- function ConduitModule(clientName, serviceName, serviceUrl, grpcToken) {
53
+ function ConduitModule(_clientName, _serviceName, _serviceUrl, _grpcToken) {
54
+ this._clientName = _clientName;
55
+ this._serviceName = _serviceName;
56
+ this._serviceUrl = _serviceUrl;
57
+ this._grpcToken = _grpcToken;
53
58
  this.active = false;
54
59
  this.healthCheckEmitter = new events_1.EventEmitter();
55
- this._clientName = clientName;
56
- this._serviceUrl = serviceUrl;
57
- this._grpcToken = grpcToken;
58
60
  }
59
61
  ConduitModule.prototype.initializeClient = function (type) {
60
62
  if (this._client)
@@ -64,14 +66,25 @@ var ConduitModule = /** @class */ (function () {
64
66
  return this._client;
65
67
  };
66
68
  ConduitModule.prototype.openConnection = function () {
69
+ // ConduitGrpcSdk.Logger.log(`Opening connection for ${this._serviceName}`);
67
70
  this.channel = (0, nice_grpc_1.createChannel)(this._serviceUrl, undefined, {
68
71
  'grpc.max_receive_message_length': 1024 * 1024 * 100,
69
72
  'grpc.max_send_message_length': 1024 * 1024 * 100,
70
73
  });
71
- var clientFactory = (0, nice_grpc_1.createClientFactory)().use(this._grpcToken
74
+ var clientFactory = (0, nice_grpc_1.createClientFactory)()
75
+ .use(this._grpcToken
72
76
  ? (0, interceptors_1.getGrpcSignedTokenInterceptor)(this._grpcToken)
73
- : (0, interceptors_1.getModuleNameInterceptor)(this._clientName));
74
- this._client = clientFactory.create(this.type, this.channel);
77
+ : (0, interceptors_1.getModuleNameInterceptor)(this._clientName))
78
+ .use(nice_grpc_client_middleware_retry_1.retryMiddleware);
79
+ this._client = clientFactory.create(this.type, this.channel, {
80
+ '*': {
81
+ // https://grpc.github.io/grpc/core/md_doc_statuscodes.html
82
+ retryableStatuses: [1, 10, 14],
83
+ retryBaseDelayMs: 250,
84
+ retryMaxAttempts: 5,
85
+ retry: true,
86
+ },
87
+ });
75
88
  this._healthClient = clientFactory.create(grpc_health_check_1.HealthDefinition, this.channel);
76
89
  this.active = true;
77
90
  };
@@ -99,6 +112,7 @@ var ConduitModule = /** @class */ (function () {
99
112
  ConduitModule.prototype.closeConnection = function () {
100
113
  if (!this.channel)
101
114
  return;
115
+ // ConduitGrpcSdk.Logger.warn(`Closing connection for ${this._serviceName}`);
102
116
  this.channel.close();
103
117
  this.channel = undefined;
104
118
  this.active = false;
@@ -1 +1 @@
1
- {"version":3,"file":"ConduitModule.js","sourceRoot":"","sources":["../../src/classes/ConduitModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConduitModule.js","sourceRoot":"","sources":["../../src/classes/ConduitModule.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
- import { Array, ConduitModel, ConduitRouteOption, TYPE } from '../interfaces';
1
+ import { Array, ConduitModel, TYPE } from '../interfaces';
2
+ import { ConduitRouteOption } from '../routing';
2
3
  export declare abstract class ConduitParser<ParseResult, ProcessingObject> {
3
4
  result: ParseResult;
4
5
  isInput: boolean;
6
+ readonly knownTypes: Set<string>;
7
+ readonly requestedTypes: Set<string>;
5
8
  abstract extractTypes(name: string, fields: ConduitModel | ConduitRouteOption | string, isInput: boolean): ParseResult;
6
9
  protected abstract getType(conduitType: TYPE): string | {
7
10
  type?: string;
@@ -12,7 +15,7 @@ export declare abstract class ConduitParser<ParseResult, ProcessingObject> {
12
15
  protected abstract getInitializedResult(): ParseResult;
13
16
  protected abstract getProcessingObject(name: string, isArray: boolean): ProcessingObject;
14
17
  protected abstract finalizeProcessingObject(object: ProcessingObject): ProcessingObject;
15
- protected abstract getResultFromString(processingObject: ProcessingObject, name: string, value: any, isRequired: boolean, isArray: boolean): void;
18
+ protected abstract getResultFromString(processingObject: ProcessingObject, name: string, value: any, isRequired: boolean, isArray: boolean, parentField: string): void;
16
19
  protected abstract getResultFromObject(processingObject: ProcessingObject, name: string, fieldName: string, value: any, isRequired: boolean, isArray: boolean): void;
17
20
  protected abstract getResultFromArray(processingObject: ProcessingObject, resolverName: string, name: string, value: any[], isRequired: boolean, nestedType?: boolean): void;
18
21
  protected abstract getResultFromRelation(processingObject: ProcessingObject, resolverName: string, name: string, value: any, isRequired: boolean, isArray: boolean): void;
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConduitParser = void 0;
4
+ var baseTypes = ['String', 'Number', 'Boolean', 'Date', 'ObjectId', 'JSON'];
4
5
  var ConduitParser = /** @class */ (function () {
5
6
  function ConduitParser() {
7
+ this.knownTypes = new Set();
8
+ this.requestedTypes = new Set();
6
9
  }
7
10
  ConduitParser.prototype.extractTypesInternal = function (name, fields) {
8
11
  var processingObject = this.getProcessingObject(name, false);
9
12
  if (typeof fields === 'string') {
10
- this.getResultFromString(processingObject, 'result', fields, false, false);
13
+ this.getResultFromString(processingObject, baseTypes.includes(fields) ? 'result' : name, fields, false, false, name);
11
14
  }
12
15
  else {
13
16
  for (var field in fields) {
@@ -15,7 +18,7 @@ var ConduitParser = /** @class */ (function () {
15
18
  continue;
16
19
  // if field is simply a type
17
20
  if (typeof fields[field] === 'string') {
18
- this.getResultFromString(processingObject, field, fields[field], false, false);
21
+ this.getResultFromString(processingObject, field, fields[field], false, false, name);
19
22
  }
20
23
  // if field is an array
21
24
  else if (Array.isArray(fields[field])) {
@@ -30,7 +33,7 @@ var ConduitParser = /** @class */ (function () {
30
33
  this.getResultFromRelation(processingObject, name, field, fields[field].model, fields[field].required, false);
31
34
  }
32
35
  else {
33
- this.getResultFromString(processingObject, field, fields[field].type, fields[field].required, false);
36
+ this.getResultFromString(processingObject, field, fields[field].type, fields[field].required, false, name);
34
37
  }
35
38
  }
36
39
  // if type is an array
@@ -54,7 +57,7 @@ var ConduitParser = /** @class */ (function () {
54
57
  var processingObject = this.getProcessingObject(name, true);
55
58
  // if array contains simply a type
56
59
  if (typeof value[0] === 'string') {
57
- this.getResultFromString(processingObject, field, value[0], false, true);
60
+ this.getResultFromString(processingObject, field, value[0], false, true, name);
58
61
  }
59
62
  else if (value[0].type) {
60
63
  // if array contains a model
@@ -62,7 +65,7 @@ var ConduitParser = /** @class */ (function () {
62
65
  this.getResultFromRelation(processingObject, name, field, value[0].model, value[0].required, true);
63
66
  }
64
67
  else if (typeof value[0].type === 'string') {
65
- this.getResultFromString(processingObject, field, value[0].type, value[0].required, true);
68
+ this.getResultFromString(processingObject, field, value[0].type, value[0].required, true, name);
66
69
  }
67
70
  else if (Array.isArray(value[0].type)) {
68
71
  this.getResultFromArray(processingObject, name, field, value[0].type, value[0].required, true);
@@ -1 +1 @@
1
- {"version":3,"file":"ConduitParser.js","sourceRoot":"","sources":["../../src/classes/ConduitParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConduitParser.js","sourceRoot":"","sources":["../../src/classes/ConduitParser.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { ConduitModel, ConduitModelOptions } from '../interfaces';
1
+ import { ConduitModel, ConduitSchemaOptions } from '../interfaces';
2
2
  export declare class ConduitSchema {
3
3
  readonly name: string;
4
4
  readonly fields: ConduitModel;
5
5
  readonly collectionName: string | '';
6
- readonly schemaOptions: ConduitModelOptions;
6
+ readonly modelOptions: ConduitSchemaOptions;
7
7
  ownerModule: string;
8
- constructor(name: string, fields: ConduitModel, schemaOptions?: ConduitModelOptions, collectionName?: string);
9
- get modelSchema(): ConduitModel;
8
+ constructor(name: string, fields: ConduitModel, modelOptions?: ConduitSchemaOptions, collectionName?: string);
10
9
  }
@@ -2,20 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConduitSchema = void 0;
4
4
  var ConduitSchema = /** @class */ (function () {
5
- function ConduitSchema(name, fields, schemaOptions, collectionName) {
5
+ function ConduitSchema(name, fields, modelOptions, collectionName) {
6
6
  this.ownerModule = 'unknown';
7
7
  this.name = name;
8
8
  this.fields = fields;
9
- this.schemaOptions = schemaOptions !== null && schemaOptions !== void 0 ? schemaOptions : {};
9
+ this.modelOptions = modelOptions !== null && modelOptions !== void 0 ? modelOptions : {};
10
10
  this.collectionName = collectionName && collectionName !== '' ? collectionName : '';
11
11
  }
12
- Object.defineProperty(ConduitSchema.prototype, "modelSchema", {
13
- get: function () {
14
- return this.fields;
15
- },
16
- enumerable: false,
17
- configurable: true
18
- });
19
12
  return ConduitSchema;
20
13
  }());
21
14
  exports.ConduitSchema = ConduitSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"ConduitSchema.js","sourceRoot":"","sources":["../../src/classes/ConduitSchema.ts"],"names":[],"mappings":";;;AAEA;IAOE,uBACE,IAAY,EACZ,MAAoB,EACpB,aAAmC,EACnC,cAAuB;QANzB,gBAAW,GAAW,SAAS,CAAC;QAQ9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,sBAAI,sCAAW;aAAf;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IACH,oBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,sCAAa"}
1
+ {"version":3,"file":"ConduitSchema.js","sourceRoot":"","sources":["../../src/classes/ConduitSchema.ts"],"names":[],"mappings":";;;AAEA;IAOE,uBACE,IAAY,EACZ,MAAoB,EACpB,YAAmC,EACnC,cAAuB;QANzB,gBAAW,GAAW,SAAS,CAAC;QAQ9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IACH,oBAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,sCAAa"}
@@ -8,6 +8,7 @@ import { ServerWritableStream } from '@grpc/grpc-js';
8
8
  export declare abstract class ConduitServiceModule {
9
9
  protected readonly _moduleName: string;
10
10
  protected _serviceName?: string;
11
+ protected _address: string;
11
12
  protected _port: string;
12
13
  protected grpcServer: GrpcServer;
13
14
  private _grpcSdk;
@@ -117,7 +117,7 @@ var ConduitServiceModule = /** @class */ (function () {
117
117
  });
118
118
  };
119
119
  ConduitServiceModule.prototype.updateHealth = function (state, init) {
120
- var _a;
120
+ var _a, _b;
121
121
  if (init === void 0) { init = false; }
122
122
  if ((state === __1.HealthCheckStatus.UNKNOWN && !init) ||
123
123
  state === __1.HealthCheckStatus.SERVICE_UNKNOWN) {
@@ -129,6 +129,7 @@ var ConduitServiceModule = /** @class */ (function () {
129
129
  if (this._serviceHealthState !== state) {
130
130
  this._serviceHealthState = state;
131
131
  this.events.emit("grpc-health-change:".concat(this._serviceName), state);
132
+ (_b = this._grpcSdk) === null || _b === void 0 ? void 0 : _b.config.moduleHealthProbe(this._moduleName, this._address);
132
133
  }
133
134
  };
134
135
  ConduitServiceModule.prototype.healthCheck = function (call, callback) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConduitServiceModule.js","sourceRoot":"","sources":["../../src/classes/ConduitServiceModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAmE;AACnE,8CAAwB;AACxB,iCAAsC;AACtC,iCAAmC;AAUnC;IASE,8BAAsB,UAAkB;QAHhC,wBAAmB,GAAsB,qBAAiB,CAAC,OAAO,CAAC,CAAC,sCAAsC;QAC/F,WAAM,GAAiB,IAAI,qBAAY,EAAE,CAAC;QAG3D,IAAI,CAAC,WAAW,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAI,6CAAW;aAAf;YACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;;;OAAA;IAED,sBAAW,yCAAO;aAKlB;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aARD,UAAmB,OAAuB;YACxC,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC;;;OAAA;IAOD,sBAAI,sCAAI;aAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;;;OAAA;IAEe,oDAAqB,GAArC;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAC9B,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC,EAC5D,uBAAuB,EACvB;4BACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;4BAClC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;yBACnC,CACF,EAAA;;wBAPD,SAOC,CAAC;;;;;KACH;IAED,2CAAY,GAAZ,UAAa,KAAwB,EAAE,IAAY;;QAAZ,qBAAA,EAAA,YAAY;QACjD,IACE,CAAC,KAAK,KAAK,qBAAiB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC;YAC9C,KAAK,KAAK,qBAAiB,CAAC,eAAe,EAC3C;YACA,MAAM,IAAI,KAAK,CACb,qDAA8C,qBAAiB,CAAC,KAAK,CAAC,CAAE,CACzE,CAAC;SACH;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,WAAc,CAAC,OAAO,0CAAE,GAAG,CACzB,qBAAqB,EACrB,KAAK,KAAK,qBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC;SACH;QACD,IAAI,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE;YACtC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAAsB,IAAI,CAAC,YAAY,CAAE,EAAE,KAAK,CAAC,CAAC;SACpE;IACH,CAAC;IAED,0CAAW,GAAX,UACE,IAAqC,EACrC,QAA2C;QAE3C,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE;YAC5C,QAAQ,CAAC,IAAI,EAAE;gBACb,MAAM,EACJ,qBAAiB,CAAC,eAA+D;aACpF,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,CAAC,IAAI,EAAE;gBACb,MAAM,EAAE,IAAI,CAAC,mBAAmE;aACjF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,0CAAW,GAAX,UAAY,IAAmE;QAC7E,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC;gBACT,MAAM,EACJ,qBAAiB,CAAC,eAA+D;aACpF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,EAAE,CACZ,6BAAsB,IAAI,CAAC,YAAY,CAAE,EACzC,UAAC,MAAyB;gBACxB,IAAI,CAAC,KAAK,CAAC;oBACT,MAAM,EAAE,MAAsD;iBAC/D,CAAC,CAAC;YACL,CAAC,CACF,CAAC;SACH;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAlGD,IAkGC;AAlGqB,oDAAoB"}
1
+ {"version":3,"file":"ConduitServiceModule.js","sourceRoot":"","sources":["../../src/classes/ConduitServiceModule.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@ export declare class GrpcServer {
4
4
  private startedOnce;
5
5
  private _serviceNames;
6
6
  private scheduledRestart;
7
+ private _postponeRequests;
7
8
  private _useForce?;
8
9
  private _services;
9
10
  constructor(port?: string);
11
+ private postponeRestart;
10
12
  private _url;
11
13
  get url(): string;
12
14
  createNewServer(useForce?: boolean): Promise<number>;
@@ -48,9 +48,16 @@ var GrpcServer = /** @class */ (function () {
48
48
  this.started = false;
49
49
  this.startedOnce = false;
50
50
  this._serviceNames = [];
51
+ this._postponeRequests = 0;
51
52
  this._services = [];
52
53
  this._url = "0.0.0.0:".concat(port !== null && port !== void 0 ? port : '5000');
53
54
  }
55
+ GrpcServer.prototype.postponeRestart = function () {
56
+ if (!this.scheduledRestart || this._postponeRequests > 5)
57
+ return;
58
+ this._postponeRequests++;
59
+ this.scheduleRefresh();
60
+ };
54
61
  Object.defineProperty(GrpcServer.prototype, "url", {
55
62
  get: function () {
56
63
  return this._url;
@@ -83,7 +90,7 @@ var GrpcServer = /** @class */ (function () {
83
90
  return __generator(this, function (_a) {
84
91
  switch (_a.label) {
85
92
  case 0:
86
- functions = (0, helpers_1.wrapGrpcFunctions)(functions);
93
+ functions = (0, helpers_1.wrapGrpcFunctions)(functions, this.postponeRestart.bind(this));
87
94
  if (!(this._serviceNames.indexOf(protoDescription) !== -1)) return [3 /*break*/, 1];
88
95
  index_1.default.Logger.log('Service already exists, performing replace');
89
96
  this._services[this._serviceNames.indexOf(protoDescription)] = {
@@ -173,6 +180,9 @@ var GrpcServer = /** @class */ (function () {
173
180
  case 1:
174
181
  _a.sent();
175
182
  index_1.default.Logger.log('Refresh complete');
183
+ clearTimeout(self.scheduledRestart);
184
+ self.scheduledRestart = undefined;
185
+ self._postponeRequests = 0;
176
186
  return [2 /*return*/];
177
187
  }
178
188
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ exports.checkModuleHealth = void 0;
40
40
  var interceptors_1 = require("../interceptors");
41
41
  var nice_grpc_1 = require("nice-grpc");
42
42
  var grpc_health_check_1 = require("../protoUtils/grpc_health_check");
43
- var nice_grpc_prometheus_1 = require("nice-grpc-prometheus");
43
+ var clientMiddleware_1 = require("../metrics/clientMiddleware");
44
44
  function checkModuleHealth(clientName, serviceUrl, service, grpcToken) {
45
45
  if (service === void 0) { service = ''; }
46
46
  return __awaiter(this, void 0, void 0, function () {
@@ -53,8 +53,7 @@ function checkModuleHealth(clientName, serviceUrl, service, grpcToken) {
53
53
  'grpc.max_send_message_length': 1024 * 1024 * 100,
54
54
  });
55
55
  clientFactory = (0, nice_grpc_1.createClientFactory)()
56
- //@ts-ignore
57
- .use((0, nice_grpc_prometheus_1.prometheusClientMiddleware)())
56
+ .use((0, clientMiddleware_1.clientMiddleware)())
58
57
  .use(grpcToken
59
58
  ? (0, interceptors_1.getGrpcSignedTokenInterceptor)(grpcToken)
60
59
  : (0, interceptors_1.getModuleNameInterceptor)(clientName));
@@ -1 +1 @@
1
- {"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../src/classes/HealthCheck.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0F;AAC1F,uCAA+D;AAC/D,qEAAwF;AACxF,6DAAkE;AAElE,SAAsB,iBAAiB,CACrC,UAAkB,EAClB,UAAkB,EAClB,OAAoB,EACpB,SAAkB;IADlB,wBAAA,EAAA,YAAoB;;;;;;oBAGhB,OAAO,GAAG,IAAA,yBAAa,EAAC,UAAU,EAAE,SAAS,EAAE;wBACjD,iCAAiC,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;wBACpD,8BAA8B,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;qBAClD,CAAC,CAAC;oBACG,aAAa,GAAG,IAAA,+BAAmB,GAAE;wBACzC,YAAY;yBACX,GAAG,CAAC,IAAA,iDAA0B,GAAE,CAAC;yBACjC,GAAG,CACF,SAAS;wBACP,CAAC,CAAC,IAAA,4CAA6B,EAAC,SAAS,CAAC;wBAC1C,CAAC,CAAC,IAAA,uCAAwB,EAAC,UAAU,CAAC,CACzC,CAAC;oBACA,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,oCAAgB,EAAE,OAAO,CAAC,CAAC;oBAGvD,qBAAM,aAAa;6BAC7B,KAAK,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC;6BAClB,IAAI,CAAC,UAAC,GAAwB;4BAC7B,OAAO,GAAG,CAAC,MAAM,CAAC;wBACpB,CAAC,CAAC;6BACD,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,KAAK,GAAG,GAAG,CAAC,EAAb,CAAa,CAAC,EAAA;;oBAL1B,MAAM,GAAG,SAKiB;oBAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,KAAK,EAAE;wBACV,sBAAO,MAAM,EAAC;qBACf;oBACD,MAAM,KAAK,CAAC;;;;CACb;AAhCD,8CAgCC"}
1
+ {"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../src/classes/HealthCheck.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0F;AAC1F,uCAA+D;AAC/D,qEAAwF;AACxF,gEAA+D;AAE/D,SAAsB,iBAAiB,CACrC,UAAkB,EAClB,UAAkB,EAClB,OAAoB,EACpB,SAAkB;IADlB,wBAAA,EAAA,YAAoB;;;;;;oBAGd,OAAO,GAAG,IAAA,yBAAa,EAAC,UAAU,EAAE,SAAS,EAAE;wBACnD,iCAAiC,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;wBACpD,8BAA8B,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;qBAClD,CAAC,CAAC;oBACG,aAAa,GAAG,IAAA,+BAAmB,GAAE;yBACxC,GAAG,CAAC,IAAA,mCAAgB,GAAE,CAAC;yBACvB,GAAG,CACF,SAAS;wBACP,CAAC,CAAC,IAAA,4CAA6B,EAAC,SAAS,CAAC;wBAC1C,CAAC,CAAC,IAAA,uCAAwB,EAAC,UAAU,CAAC,CACzC,CAAC;oBACE,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,oCAAgB,EAAE,OAAO,CAAC,CAAC;oBAGzD,qBAAM,aAAa;6BAC7B,KAAK,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC;6BAClB,IAAI,CAAC,UAAC,GAAwB;4BAC7B,OAAO,GAAG,CAAC,MAAM,CAAC;wBACpB,CAAC,CAAC;6BACD,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,KAAK,GAAG,GAAG,CAAC,EAAb,CAAa,CAAC,EAAA;;oBAL1B,MAAM,GAAG,SAKiB;oBAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,KAAK,EAAE;wBACV,sBAAO,MAAM,EAAC;qBACf;oBACD,MAAM,KAAK,CAAC;;;;CACb;AA/BD,8CA+BC"}
@@ -2,16 +2,21 @@ import ConduitGrpcSdk, { ConduitService, SetConfigRequest, SetConfigResponse } f
2
2
  import { ConduitServiceModule } from './ConduitServiceModule';
3
3
  import convict from 'convict';
4
4
  export declare abstract class ManagedModule<T> extends ConduitServiceModule {
5
- abstract readonly configSchema?: object;
5
+ protected abstract readonly configSchema?: object;
6
+ protected abstract readonly metricsSchema?: object;
6
7
  readonly config?: convict.Config<T>;
8
+ configOverride: boolean;
7
9
  service?: ConduitService;
8
10
  protected constructor(moduleName: string);
9
11
  get name(): string;
12
+ get address(): string;
10
13
  /**
11
14
  * This is the first function triggered on module spin up.
12
- * @param grpcSdk
15
+ * @param grpcSdk {ConduitGrpcSdk}
16
+ * @param address {string} external address:port of service (LoadBalancer)
17
+ * @param port {string} port to bring up gRPC service
13
18
  */
14
- initialize(grpcSdk: ConduitGrpcSdk): void;
19
+ initialize(grpcSdk: ConduitGrpcSdk, address: string, port: string): void;
15
20
  /**
16
21
  * This is triggered before spinning up the Grpc Server
17
22
  * of the module. On this stage, the redis bus and state have
@@ -53,11 +58,15 @@ export declare abstract class ManagedModule<T> extends ConduitServiceModule {
53
58
  */
54
59
  onConfig(): Promise<void>;
55
60
  /**
56
- * This is triggered when a module needs to initialize its own custom metric
57
- * types and configuration by using the sdk's ConduitMetrics.
61
+ * Registers common and module-specific metric types.
58
62
  */
59
- initializeMetrics(): void;
60
- createGrpcServer(servicePort?: string): Promise<void>;
63
+ registerMetrics(): Promise<void>;
64
+ /**
65
+ * Initializes metric startup values.
66
+ * Implemented by individual modules.
67
+ */
68
+ initializeMetrics(): Promise<void>;
69
+ createGrpcServer(): Promise<void>;
61
70
  startGrpcServer(): Promise<void>;
62
71
  setConfig(call: SetConfigRequest, callback: SetConfigResponse): Promise<void>;
63
72
  /** Used to update the module's configuration on initial Redis/DB reconciliation. */
@@ -14,17 +14,6 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
17
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
18
  if (k2 === undefined) k2 = k;
30
19
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -98,7 +87,9 @@ var convict_1 = __importDefault(require("convict"));
98
87
  var ManagedModule = /** @class */ (function (_super) {
99
88
  __extends(ManagedModule, _super);
100
89
  function ManagedModule(moduleName) {
101
- return _super.call(this, moduleName) || this;
90
+ var _this = _super.call(this, moduleName) || this;
91
+ _this.configOverride = false;
92
+ return _this;
102
93
  }
103
94
  Object.defineProperty(ManagedModule.prototype, "name", {
104
95
  get: function () {
@@ -107,12 +98,23 @@ var ManagedModule = /** @class */ (function (_super) {
107
98
  enumerable: false,
108
99
  configurable: true
109
100
  });
101
+ Object.defineProperty(ManagedModule.prototype, "address", {
102
+ get: function () {
103
+ return this._address;
104
+ },
105
+ enumerable: false,
106
+ configurable: true
107
+ });
110
108
  /**
111
109
  * This is the first function triggered on module spin up.
112
- * @param grpcSdk
110
+ * @param grpcSdk {ConduitGrpcSdk}
111
+ * @param address {string} external address:port of service (LoadBalancer)
112
+ * @param port {string} port to bring up gRPC service
113
113
  */
114
- ManagedModule.prototype.initialize = function (grpcSdk) {
114
+ ManagedModule.prototype.initialize = function (grpcSdk, address, port) {
115
115
  this.grpcSdk = grpcSdk;
116
+ this._address = address;
117
+ this._port = port;
116
118
  if (this.configSchema) {
117
119
  this.config = (0, convict_1.default)(this.configSchema);
118
120
  }
@@ -184,17 +186,39 @@ var ManagedModule = /** @class */ (function (_super) {
184
186
  }); });
185
187
  };
186
188
  /**
187
- * This is triggered when a module needs to initialize its own custom metric
188
- * types and configuration by using the sdk's ConduitMetrics.
189
+ * Registers common and module-specific metric types.
189
190
  */
190
- ManagedModule.prototype.initializeMetrics = function () { };
191
- ManagedModule.prototype.createGrpcServer = function (servicePort) {
191
+ ManagedModule.prototype.registerMetrics = function () {
192
+ return __awaiter(this, void 0, void 0, function () {
193
+ return __generator(this, function (_a) {
194
+ if (__1.default.Metrics) {
195
+ __1.default.Metrics.initializeDefaultMetrics();
196
+ if (this.metricsSchema) {
197
+ Object.values(this.metricsSchema).forEach(function (metric) {
198
+ __1.default.Metrics.registerMetric(metric.type, metric.config);
199
+ });
200
+ }
201
+ }
202
+ return [2 /*return*/];
203
+ });
204
+ });
205
+ };
206
+ /**
207
+ * Initializes metric startup values.
208
+ * Implemented by individual modules.
209
+ */
210
+ ManagedModule.prototype.initializeMetrics = function () {
211
+ return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
212
+ return [2 /*return*/];
213
+ }); });
214
+ };
215
+ ManagedModule.prototype.createGrpcServer = function () {
192
216
  return __awaiter(this, void 0, void 0, function () {
193
217
  var _a;
194
218
  return __generator(this, function (_b) {
195
219
  switch (_b.label) {
196
220
  case 0:
197
- this.grpcServer = new __1.GrpcServer(servicePort);
221
+ this.grpcServer = new __1.GrpcServer(this._port);
198
222
  _a = this;
199
223
  return [4 /*yield*/, this.grpcServer.createNewServer()];
200
224
  case 1:
@@ -220,7 +244,7 @@ var ManagedModule = /** @class */ (function (_super) {
220
244
  return [4 /*yield*/, this.grpcServer.start()];
221
245
  case 3:
222
246
  _a.sent();
223
- __1.default.Logger.log('gRPC server is online');
247
+ __1.default.Logger.log('gRPC server listening on ' + this._port);
224
248
  _a.label = 4;
225
249
  case 4: return [2 /*return*/];
226
250
  }
@@ -242,7 +266,7 @@ var ManagedModule = /** @class */ (function (_super) {
242
266
  })];
243
267
  }
244
268
  config = JSON.parse(call.request.newConfig);
245
- config = __assign(__assign({}, this.config.getProperties()), config);
269
+ config = (0, lodash_1.merge)(this.config.getProperties(), config);
246
270
  return [4 /*yield*/, this.preConfig(config)];
247
271
  case 1:
248
272
  config = _b.sent();