@conduitplatform/module-tools 0.16.5 → 0.16.6

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 (70) hide show
  1. package/dist/classes/ConduitServiceModule.d.ts +1 -1
  2. package/dist/index.cjs +1776 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.esm.js +1749 -0
  5. package/dist/index.esm.js.map +1 -0
  6. package/package.json +24 -5
  7. package/dist/ManagedModule.js +0 -221
  8. package/dist/ManagedModule.js.map +0 -1
  9. package/dist/classes/ConduitActiveSchema.js +0 -44
  10. package/dist/classes/ConduitActiveSchema.js.map +0 -1
  11. package/dist/classes/ConduitServiceModule.js +0 -110
  12. package/dist/classes/ConduitServiceModule.js.map +0 -1
  13. package/dist/classes/ConfigController.js +0 -16
  14. package/dist/classes/ConfigController.js.map +0 -1
  15. package/dist/classes/GrpcServer.js +0 -121
  16. package/dist/classes/GrpcServer.js.map +0 -1
  17. package/dist/classes/index.js +0 -5
  18. package/dist/classes/index.js.map +0 -1
  19. package/dist/helpers/GrpcHelper.js +0 -38
  20. package/dist/helpers/GrpcHelper.js.map +0 -1
  21. package/dist/helpers/GrpcToParsedRouterRequest.js +0 -15
  22. package/dist/helpers/GrpcToParsedRouterRequest.js.map +0 -1
  23. package/dist/helpers/TypeHelpers.js +0 -79
  24. package/dist/helpers/TypeHelpers.js.map +0 -1
  25. package/dist/helpers/index.js +0 -5
  26. package/dist/helpers/index.js.map +0 -1
  27. package/dist/helpers/wrapGrpcFunctions.js +0 -48
  28. package/dist/helpers/wrapGrpcFunctions.js.map +0 -1
  29. package/dist/index.js +0 -7
  30. package/dist/index.js.map +0 -1
  31. package/dist/interfaces/ConduitService.js +0 -2
  32. package/dist/interfaces/ConduitService.js.map +0 -1
  33. package/dist/interfaces/ModuleLifecycleStage.js +0 -9
  34. package/dist/interfaces/ModuleLifecycleStage.js.map +0 -1
  35. package/dist/interfaces/index.js +0 -3
  36. package/dist/interfaces/index.js.map +0 -1
  37. package/dist/logging/index.js +0 -124
  38. package/dist/logging/index.js.map +0 -1
  39. package/dist/metrics/MetricsServer.js +0 -42
  40. package/dist/metrics/MetricsServer.js.map +0 -1
  41. package/dist/metrics/clientMiddleware.js +0 -120
  42. package/dist/metrics/clientMiddleware.js.map +0 -1
  43. package/dist/metrics/config/defaults.js +0 -91
  44. package/dist/metrics/config/defaults.js.map +0 -1
  45. package/dist/metrics/index.js +0 -109
  46. package/dist/metrics/index.js.map +0 -1
  47. package/dist/routing/ProxyRouteBuilder.js +0 -74
  48. package/dist/routing/ProxyRouteBuilder.js.map +0 -1
  49. package/dist/routing/RouteBuilder.js +0 -100
  50. package/dist/routing/RouteBuilder.js.map +0 -1
  51. package/dist/routing/RoutingController.js +0 -21
  52. package/dist/routing/RoutingController.js.map +0 -1
  53. package/dist/routing/RoutingManager.js +0 -140
  54. package/dist/routing/RoutingManager.js.map +0 -1
  55. package/dist/routing/RoutingUtilities.js +0 -9
  56. package/dist/routing/RoutingUtilities.js.map +0 -1
  57. package/dist/routing/index.js +0 -6
  58. package/dist/routing/index.js.map +0 -1
  59. package/dist/routing/wrapRouterFunctions.js +0 -120
  60. package/dist/routing/wrapRouterFunctions.js.map +0 -1
  61. package/dist/utilities/convictConfigParser.js +0 -14
  62. package/dist/utilities/convictConfigParser.js.map +0 -1
  63. package/dist/utilities/index.js +0 -4
  64. package/dist/utilities/index.js.map +0 -1
  65. package/dist/utilities/initializeSdk.js +0 -35
  66. package/dist/utilities/initializeSdk.js.map +0 -1
  67. package/dist/utilities/linearBackoffTimeout.js +0 -57
  68. package/dist/utilities/linearBackoffTimeout.js.map +0 -1
  69. package/dist/utilities/merge.js +0 -11
  70. package/dist/utilities/merge.js.map +0 -1
@@ -1,121 +0,0 @@
1
- import { addServiceToServer, createServer, wrapGrpcFunctions } from '../helpers/index.js';
2
- import { isNil } from 'lodash-es';
3
- import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
4
- export class GrpcServer {
5
- constructor(port) {
6
- this.started = false;
7
- this.startedOnce = false;
8
- this._serviceNames = [];
9
- this._postponeRequests = 0;
10
- this._services = [];
11
- this._url = `0.0.0.0:${port !== null && port !== void 0 ? port : '5000'}`;
12
- }
13
- async waitForReady() {
14
- while (!isNil(this.scheduledRestart)) {
15
- await this.wait(200);
16
- }
17
- }
18
- get url() {
19
- return this._url;
20
- }
21
- async createNewServer(useForce = false) {
22
- if (isNil(this._useForce)) {
23
- this._useForce = useForce;
24
- }
25
- const serverResult = await createServer(this._url);
26
- this.grpcServer = serverResult.server;
27
- this._url = this._url.split(':')[0] + ':' + serverResult.port.toString();
28
- return serverResult.port;
29
- }
30
- async addService(protoPath, protoDescription, functions) {
31
- functions = wrapGrpcFunctions(functions, this.postponeRestart.bind(this));
32
- if (this._serviceNames.indexOf(protoDescription) !== -1) {
33
- ConduitGrpcSdk.Logger.log('Service already exists, performing replace');
34
- this._services[this._serviceNames.indexOf(protoDescription)] = {
35
- protoPath,
36
- protoDescription,
37
- functions,
38
- };
39
- this.scheduleRefresh();
40
- return this;
41
- }
42
- else {
43
- this._services.push({ protoPath, protoDescription, functions });
44
- this._serviceNames.push(protoDescription);
45
- if (this.started) {
46
- ConduitGrpcSdk.Logger.log('Server already started, scheduling refresh..');
47
- this.scheduleRefresh();
48
- return this;
49
- }
50
- else {
51
- if (!this.grpcServer) {
52
- await this.wait(1000);
53
- }
54
- addServiceToServer(this.grpcServer, protoPath, protoDescription, functions);
55
- return this;
56
- }
57
- }
58
- }
59
- async wait(time) {
60
- return new Promise((resolve, reject) => {
61
- const timeout = setTimeout(() => {
62
- clearTimeout(timeout);
63
- resolve();
64
- }, time);
65
- });
66
- }
67
- async refresh() {
68
- if (this.started) {
69
- this.started = false;
70
- if (this._useForce) {
71
- this.grpcServer.forceShutdown();
72
- }
73
- else {
74
- //gracefully shutdown so that there are no service disruption
75
- await new Promise(resolve => this.grpcServer.tryShutdown(() => resolve()));
76
- }
77
- }
78
- await this.createNewServer();
79
- this._services.forEach(service => {
80
- addServiceToServer(this.grpcServer, service.protoPath, service.protoDescription, service.functions);
81
- });
82
- if (!this.started && this.startedOnce) {
83
- this.grpcServer.start();
84
- this.started = true;
85
- }
86
- }
87
- scheduleRefresh() {
88
- if (this.scheduledRestart) {
89
- clearTimeout(this.scheduledRestart);
90
- }
91
- const self = this;
92
- this.scheduledRestart = setTimeout(async () => {
93
- ConduitGrpcSdk.Logger.log('Begin refresh');
94
- await self.refresh();
95
- ConduitGrpcSdk.Logger.log('Refresh complete');
96
- clearTimeout(self.scheduledRestart);
97
- self.scheduledRestart = undefined;
98
- self._postponeRequests = 0;
99
- }, 2000);
100
- }
101
- start() {
102
- var _a;
103
- if (this.started) {
104
- ConduitGrpcSdk.Logger.error('gRPC server is already running!');
105
- return;
106
- }
107
- else if (!this.started && this.startedOnce) {
108
- ConduitGrpcSdk.Logger.error('gRPC server is down for refresh!');
109
- }
110
- this.started = true;
111
- this.startedOnce = true;
112
- (_a = this.grpcServer) === null || _a === void 0 ? void 0 : _a.start();
113
- }
114
- postponeRestart() {
115
- if (!this.scheduledRestart || this._postponeRequests > 5)
116
- return;
117
- this._postponeRequests++;
118
- this.scheduleRefresh();
119
- }
120
- }
121
- //# sourceMappingURL=GrpcServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GrpcServer.js","sourceRoot":"","sources":["../../src/classes/GrpcServer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from './ConduitActiveSchema.js';
2
- export * from './GrpcServer.js';
3
- export * from './ConduitServiceModule.js';
4
- export * from './ConfigController.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC"}
@@ -1,38 +0,0 @@
1
- import { loadPackageDefinition, Server, ServerCredentials, } from '@grpc/grpc-js';
2
- import protoLoader from '@grpc/proto-loader';
3
- export function createServer(port) {
4
- const grpcServer = new Server({
5
- 'grpc.max_receive_message_length': 1024 * 1024 * 100,
6
- 'grpc.max_send_message_length': 1024 * 1024 * 100,
7
- });
8
- return new Promise((resolve, reject) => {
9
- grpcServer.bindAsync(port, ServerCredentials.createInsecure(), (err, port) => {
10
- if (err) {
11
- reject(err);
12
- }
13
- else {
14
- resolve({
15
- server: grpcServer,
16
- port,
17
- });
18
- }
19
- });
20
- });
21
- }
22
- export function addServiceToServer(server, protoPath, descriptorObject, functions) {
23
- const packageDefinition = protoLoader.loadSync(protoPath, {
24
- keepCase: true,
25
- longs: String,
26
- enums: String,
27
- defaults: true,
28
- oneofs: true,
29
- });
30
- const protoDescriptor = loadPackageDefinition(packageDefinition);
31
- const objs = descriptorObject.split('.');
32
- let descObj = protoDescriptor;
33
- objs.forEach((r) => {
34
- descObj = descObj[r];
35
- });
36
- server.addService(descObj.service, functions);
37
- }
38
- //# sourceMappingURL=GrpcHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GrpcHelper.js","sourceRoot":"","sources":["../../src/helpers/GrpcHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,MAAM,EACN,iBAAiB,GAElB,MAAM,eAAe,CAAC;AAEvB,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,UAAU,GAAW,IAAI,MAAM,CAAC;QACpC,iCAAiC,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;QACpD,8BAA8B,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;KAClD,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3E,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC;oBACN,MAAM,EAAE,UAAU;oBAClB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,SAAiB,EACjB,gBAAwB,EACxB,SAAuC;IAEvC,MAAM,iBAAiB,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE;QACxD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,OAAO,GAAQ,eAAe,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;QACzB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAQ,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,SAAyC,CAAC,CAAC;AAChF,CAAC"}
@@ -1,15 +0,0 @@
1
- export function createParsedRouterRequest(params, urlParams, queryParams, bodyParams, path, headers, context, cookies) {
2
- return {
3
- request: {
4
- params,
5
- urlParams: urlParams !== null && urlParams !== void 0 ? urlParams : {},
6
- queryParams: queryParams !== null && queryParams !== void 0 ? queryParams : {},
7
- bodyParams: bodyParams !== null && bodyParams !== void 0 ? bodyParams : {},
8
- path: path !== null && path !== void 0 ? path : '',
9
- headers: headers,
10
- context: context !== null && context !== void 0 ? context : {},
11
- cookies: cookies !== null && cookies !== void 0 ? cookies : {},
12
- },
13
- };
14
- }
15
- //# sourceMappingURL=GrpcToParsedRouterRequest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GrpcToParsedRouterRequest.js","sourceRoot":"","sources":["../../src/helpers/GrpcToParsedRouterRequest.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,SAAkB,EAClB,WAAoB,EACpB,UAAmB,EACnB,IAAa,EACb,OAAiB,EACjB,OAAiB,EACjB,OAAiB;IAEjB,OAA4B;QAC1B,OAAO,EAAE;YACP,MAAM;YACN,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE;YAC1B,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE;YAC9B,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;YAC5B,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE;YAChB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;YACtB,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;SACvB;KACF,CAAC;AACJ,CAAC"}
@@ -1,79 +0,0 @@
1
- import { TYPE } from '@conduitplatform/grpc-sdk';
2
- class ConduitStringConstructor {
3
- // private to disallow creating other instances of this type
4
- constructor() { }
5
- static get Optional() {
6
- return TYPE.String;
7
- }
8
- static get Required() {
9
- return { type: TYPE.String, required: true };
10
- }
11
- }
12
- export const ConduitString = ConduitStringConstructor;
13
- class ConduitNumberConstructor {
14
- // private to disallow creating other instances of this type
15
- constructor() { }
16
- static get Optional() {
17
- return TYPE.Number;
18
- }
19
- static get Required() {
20
- return { type: TYPE.Number, required: true };
21
- }
22
- }
23
- export const ConduitNumber = ConduitNumberConstructor;
24
- class ConduitBooleanConstructor {
25
- // private to disallow creating other instances of this type
26
- constructor() { }
27
- static get Optional() {
28
- return TYPE.Boolean;
29
- }
30
- static get Required() {
31
- return { type: TYPE.Boolean, required: true };
32
- }
33
- }
34
- export const ConduitBoolean = ConduitBooleanConstructor;
35
- class ConduitDateConstructor {
36
- // private to disallow creating other instances of this type
37
- constructor() { }
38
- static get Optional() {
39
- return TYPE.Date;
40
- }
41
- static get Required() {
42
- return { type: TYPE.Date, required: true };
43
- }
44
- }
45
- export const ConduitDate = ConduitDateConstructor;
46
- class ConduitObjectIdConstructor {
47
- // private to disallow creating other instances of this type
48
- constructor() { }
49
- static get Optional() {
50
- return TYPE.ObjectId;
51
- }
52
- static get Required() {
53
- return { type: TYPE.ObjectId, required: true };
54
- }
55
- }
56
- export const ConduitObjectId = ConduitObjectIdConstructor;
57
- class ConduitJSONConstructor {
58
- // private to disallow creating other instances of this type
59
- constructor() { }
60
- static get Optional() {
61
- return TYPE.JSON;
62
- }
63
- static get Required() {
64
- return { type: TYPE.JSON, required: true };
65
- }
66
- }
67
- export const ConduitJson = ConduitJSONConstructor;
68
- class ConduitRelationConstructor {
69
- // private to disallow creating other instances of this type
70
- constructor() { }
71
- static Optional(model) {
72
- return { type: TYPE.Relation, model, required: false };
73
- }
74
- static Required(model) {
75
- return { type: TYPE.Relation, model, required: true };
76
- }
77
- }
78
- export const ConduitRelation = ConduitRelationConstructor;
79
- //# sourceMappingURL=TypeHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeHelpers.js","sourceRoot":"","sources":["../../src/helpers/TypeHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,MAAM,wBAAwB;IAC5B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAEtD,MAAM,wBAAwB;IAC5B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAEtD,MAAM,yBAAyB;IAC7B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAExD,MAAM,sBAAsB;IAC1B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAElD,MAAM,0BAA0B;IAC9B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAE1D,MAAM,sBAAsB;IAC1B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAElD,MAAM,0BAA0B;IAC9B,4DAA4D;IAC5D,gBAAuB,CAAC;IAExB,MAAM,CAAC,QAAQ,CAAC,KAAa;QAK3B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAa;QAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from './TypeHelpers.js';
2
- export * from './GrpcHelper.js';
3
- export * from './wrapGrpcFunctions.js';
4
- export * from './GrpcToParsedRouterRequest.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC"}
@@ -1,48 +0,0 @@
1
- import { createVerifier } from 'fast-jwt';
2
- import { status } from '@grpc/grpc-js';
3
- import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
4
- export function wrapGrpcFunctions(functions, postponeRestart) {
5
- const grpcKey = process.env.GRPC_KEY;
6
- const wrappedFunctions = {};
7
- Object.keys(functions).forEach(name => {
8
- wrappedFunctions[name] = (call, callback) => {
9
- var _a;
10
- (_a = ConduitGrpcSdk.Metrics) === null || _a === void 0 ? void 0 : _a.increment('internal_grpc_requests_total');
11
- postponeRestart();
12
- if (grpcKey) {
13
- const verify = createVerifier({ key: grpcKey });
14
- const grpcToken = call.metadata.get('grpc-token')[0];
15
- if (!grpcToken) {
16
- return throwError(callback, 'No gRPC protection token provided', status.PERMISSION_DENIED);
17
- }
18
- try {
19
- const jwt = verify(grpcToken);
20
- call.metadata.set('module-name', jwt.moduleName);
21
- }
22
- catch (_b) {
23
- return throwError(callback, 'Failed to verify gRPC protection token. GRPC_KEY value differs', status.PERMISSION_DENIED);
24
- }
25
- }
26
- let invoked;
27
- try {
28
- invoked = functions[name](call, callback);
29
- }
30
- catch (error) {
31
- return throwError(callback, error.message);
32
- }
33
- if (typeof (invoked === null || invoked === void 0 ? void 0 : invoked.then) === 'function') {
34
- invoked.then().catch((error) => {
35
- return throwError(callback, error.message);
36
- });
37
- }
38
- };
39
- });
40
- return wrappedFunctions;
41
- }
42
- function throwError(callback, message, code = status.INTERNAL) {
43
- // Aborting server streams is not yet implemented!
44
- if (callback) {
45
- callback({ code, message });
46
- }
47
- }
48
- //# sourceMappingURL=wrapGrpcFunctions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrapGrpcFunctions.js","sourceRoot":"","sources":["../../src/helpers/wrapGrpcFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,cAAgC,MAAM,2BAA2B,CAAC;AAOzE,MAAM,UAAU,iBAAiB,CAC/B,SAAuC,EACvC,eAA2B;IAE3B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,MAAM,gBAAgB,GAAiC,EAAE,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAS,EAAE,QAAa,EAAE,EAAE;;YACpD,MAAA,cAAc,CAAC,OAAO,0CAAE,SAAS,CAAC,8BAA8B,CAAC,CAAC;YAClE,eAAe,EAAE,CAAC;YAClB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,UAAU,CACf,QAAQ,EACR,mCAAmC,EACnC,MAAM,CAAC,iBAAiB,CACzB,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,GAAG,GAAQ,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBACnD,CAAC;gBAAC,WAAM,CAAC;oBACP,OAAO,UAAU,CACf,QAAQ,EACR,gEAAgE,EAChE,MAAM,CAAC,iBAAiB,CACzB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,OAA2B,CAAC;YAChC,IAAI,CAAC;gBACH,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;oBACpC,OAAO,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CACjB,QAAuC,EACvC,OAAe,EACf,OAAe,MAAM,CAAC,QAAQ;IAE9B,kDAAkD;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- export * from './ManagedModule.js';
2
- export * from './interfaces/index.js';
3
- export * from './classes/index.js';
4
- export * from './helpers/index.js';
5
- export * from './routing/index.js';
6
- export * from './utilities/index.js';
7
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ConduitService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConduitService.js","sourceRoot":"","sources":["../../src/interfaces/ConduitService.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- export var ModuleLifecycleStage;
2
- (function (ModuleLifecycleStage) {
3
- ModuleLifecycleStage["CREATE_GRPC"] = "creat-grpc-server";
4
- ModuleLifecycleStage["PRE_SERVER_START"] = "pre-grpc-start";
5
- ModuleLifecycleStage["SERVER_STARTED"] = "grpc-server-started";
6
- ModuleLifecycleStage["PRE_REGISTER"] = "pre-register";
7
- ModuleLifecycleStage["POST_REGISTER"] = "post-register";
8
- })(ModuleLifecycleStage || (ModuleLifecycleStage = {}));
9
- //# sourceMappingURL=ModuleLifecycleStage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModuleLifecycleStage.js","sourceRoot":"","sources":["../../src/interfaces/ModuleLifecycleStage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,yDAAiC,CAAA;IACjC,2DAAmC,CAAA;IACnC,8DAAsC,CAAA;IACtC,qDAA6B,CAAA;IAC7B,uDAA+B,CAAA;AACjC,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B"}
@@ -1,3 +0,0 @@
1
- export * from './ConduitService.js';
2
- export * from './ModuleLifecycleStage.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
@@ -1,124 +0,0 @@
1
- import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
2
- import winston, { format } from 'winston';
3
- import { isEmpty } from 'lodash-es';
4
- import { get } from 'http';
5
- import LokiTransport from 'winston-loki';
6
- import { linearBackoffTimeoutAsync } from '../utilities/index.js';
7
- const processMeta = (meta) => {
8
- if (Array.isArray(meta)) {
9
- return meta.reduce((message, meta) => `${message} \n ${JSON.stringify(meta, null, 2)}`, '');
10
- }
11
- else {
12
- return JSON.stringify(meta, null, 2);
13
- }
14
- };
15
- const createFormat = (logMeta = true) => {
16
- return format.combine(format.printf(info => {
17
- // This will customize the Error Message
18
- if (info.stack) {
19
- return `[${info.timestamp}] [${info.level.toUpperCase()}]: ${info.message} ${info.stack}`;
20
- }
21
- if (logMeta) {
22
- return `[${info.timestamp}] [${info.level.toUpperCase()}]: ${info.message} ${!isEmpty(info.meta) ? processMeta(info.meta) : ''}`;
23
- }
24
- else {
25
- return `[${info.timestamp}] [${info.level.toUpperCase()}]: ${info.message}`;
26
- }
27
- }));
28
- };
29
- const defaultTransport = new winston.transports.Console({
30
- level: 'debug',
31
- format: format.combine(format.prettyPrint(), format.errors({ stack: true }), format.timestamp({
32
- format: 'YYYY-MM-DD HH:mm:ss',
33
- }), createFormat(false), format.colorize({
34
- all: true,
35
- })),
36
- });
37
- export class ConduitLogger {
38
- constructor(transports) {
39
- this._winston = winston.createLogger({
40
- format: format.combine(format.prettyPrint(), format.errors({ stack: true }), format.timestamp({
41
- format: 'YYYY-MM-DD HH:mm:ss',
42
- }), createFormat()),
43
- transports: transports ? [...transports, defaultTransport] : [defaultTransport],
44
- });
45
- }
46
- get winston() {
47
- return this._winston;
48
- }
49
- addTransport(transport) {
50
- this._winston.add(transport);
51
- }
52
- log(message, level = 'info', cb) {
53
- return this._winston.log(level, message, cb);
54
- }
55
- logObject(object, message = '', level = 'info', cb) {
56
- return this._winston.log(level, message, object, cb);
57
- }
58
- info(message, cb) {
59
- return this._winston.info(message, cb);
60
- }
61
- warn(message, cb) {
62
- return this._winston.warn(message, cb);
63
- }
64
- error(message, cb) {
65
- if (typeof message === 'object') {
66
- return this._winston.error(message);
67
- }
68
- return this._winston.error(message, cb);
69
- }
70
- http(message, cb) {
71
- return this._winston.http(message, cb);
72
- }
73
- verbose(message, cb) {
74
- return this._winston.verbose(message, cb);
75
- }
76
- }
77
- async function lokiReadyCheck(lokiUrl) {
78
- return new Promise((resolve, reject) => {
79
- const data = [];
80
- get(`${lokiUrl}/ready`, r => {
81
- r.on('data', chunk => data.push(chunk));
82
- r.on('end', () => {
83
- if (Buffer.concat(data).toString() === 'ready\n')
84
- resolve();
85
- else
86
- reject(false);
87
- });
88
- }).on('error', err => {
89
- reject(err.message);
90
- });
91
- });
92
- }
93
- export async function setupLoki(module, instance) {
94
- let lokiUrl = process.env.LOKI_URL;
95
- if (lokiUrl && lokiUrl !== '') {
96
- if (lokiUrl.endsWith('/'))
97
- lokiUrl = lokiUrl.slice(0, -1);
98
- const onTry = async () => {
99
- return await lokiReadyCheck(lokiUrl)
100
- .then(() => {
101
- ConduitGrpcSdk.Logger.addTransport(new LokiTransport({
102
- level: 'debug',
103
- host: lokiUrl,
104
- batching: false,
105
- replaceTimestamp: true,
106
- labels: {
107
- module,
108
- instance,
109
- ...(process.env.CONDUIT_NAMESPACE && {
110
- namespace: process.env.CONDUIT_NAMESPACE,
111
- }),
112
- },
113
- }));
114
- return false;
115
- })
116
- .catch(() => true); // retry
117
- };
118
- const onFailure = () => {
119
- ConduitGrpcSdk.Logger.error(`Failed to connect to Loki on '${lokiUrl}'`);
120
- };
121
- await linearBackoffTimeoutAsync(onTry, 250, 15, onFailure, true);
122
- }
123
- }
124
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import express from 'express';
2
- import { isNaN } from 'lodash-es';
3
- import ConduitGrpcSdk from '@conduitplatform/grpc-sdk';
4
- export class MetricsServer {
5
- constructor(moduleName, instance, registry) {
6
- this.moduleName = moduleName;
7
- this.instance = instance;
8
- this.Registry = registry;
9
- }
10
- initialize() {
11
- const server = express();
12
- const port = this.getHttpPort();
13
- const url = '0.0.0.0:' + port.toString();
14
- server.listen(port, () => {
15
- ConduitGrpcSdk.Logger.info(`Metrics server listening on: ${url}`);
16
- });
17
- server.get('/', (req, res) => {
18
- return res
19
- .status(200)
20
- .send(`Conduit Metrics for module: ${this.moduleName}, instance: ${this.instance}`);
21
- });
22
- server.get('/metrics', async (req, res) => {
23
- const metrics = await this.Registry.metrics();
24
- return res.status(200).send(metrics);
25
- });
26
- return server;
27
- }
28
- getHttpPort() {
29
- const value = process.env['METRICS_PORT'];
30
- if (!value) {
31
- ConduitGrpcSdk.Logger.error(`Metrics HTTP port not set`);
32
- process.exit(-1);
33
- }
34
- const port = parseInt(value, 10);
35
- if (isNaN(port) || port < 1 || port > 65535) {
36
- ConduitGrpcSdk.Logger.error(`Invalid HTTP port value: ${port}`);
37
- process.exit(-1);
38
- }
39
- return port;
40
- }
41
- }
42
- //# sourceMappingURL=MetricsServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetricsServer.js","sourceRoot":"","sources":["../../src/metrics/MetricsServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAoB,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,MAAM,OAAO,aAAa;IAKxB,YAAY,UAAkB,EAAE,QAAgB,EAAE,QAAkB;QAClE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YACvB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;YAC9D,OAAO,GAAG;iBACP,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CACH,+BAA+B,IAAI,CAAC,UAAU,eAAe,IAAI,CAAC,QAAQ,EAAE,CAC7E,CAAC;QACN,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;YAC3E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YAC5C,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}