@conduitplatform/grpc-sdk 0.13.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 (206) hide show
  1. package/README.md +20 -0
  2. package/dist/classes/ConduitActiveSchema.d.ts +19 -0
  3. package/dist/classes/ConduitActiveSchema.js +57 -0
  4. package/dist/classes/ConduitActiveSchema.js.map +1 -0
  5. package/dist/classes/ConduitMiddleware.d.ts +8 -0
  6. package/dist/classes/ConduitMiddleware.js +26 -0
  7. package/dist/classes/ConduitMiddleware.js.map +1 -0
  8. package/dist/classes/ConduitModule.d.ts +26 -0
  9. package/dist/classes/ConduitModule.js +170 -0
  10. package/dist/classes/ConduitModule.js.map +1 -0
  11. package/dist/classes/ConduitParser.d.ts +20 -0
  12. package/dist/classes/ConduitParser.js +84 -0
  13. package/dist/classes/ConduitParser.js.map +1 -0
  14. package/dist/classes/ConduitRoute.d.ts +12 -0
  15. package/dist/classes/ConduitRoute.js +44 -0
  16. package/dist/classes/ConduitRoute.js.map +1 -0
  17. package/dist/classes/ConduitRouteReturn.d.ts +48 -0
  18. package/dist/classes/ConduitRouteReturn.js +66 -0
  19. package/dist/classes/ConduitRouteReturn.js.map +1 -0
  20. package/dist/classes/ConduitSchema.d.ts +10 -0
  21. package/dist/classes/ConduitSchema.js +22 -0
  22. package/dist/classes/ConduitSchema.js.map +1 -0
  23. package/dist/classes/ConduitSchemaExtension.d.ts +7 -0
  24. package/dist/classes/ConduitSchemaExtension.js +19 -0
  25. package/dist/classes/ConduitSchemaExtension.js.map +1 -0
  26. package/dist/classes/ConduitServiceModule.d.ts +25 -0
  27. package/dist/classes/ConduitServiceModule.js +139 -0
  28. package/dist/classes/ConduitServiceModule.js.map +1 -0
  29. package/dist/classes/ConduitSocket.d.ts +9 -0
  30. package/dist/classes/ConduitSocket.js +27 -0
  31. package/dist/classes/ConduitSocket.js.map +1 -0
  32. package/dist/classes/ConfigController.d.ts +7 -0
  33. package/dist/classes/ConfigController.js +27 -0
  34. package/dist/classes/ConfigController.js.map +1 -0
  35. package/dist/classes/Error.d.ts +11 -0
  36. package/dist/classes/Error.js +51 -0
  37. package/dist/classes/Error.js.map +1 -0
  38. package/dist/classes/GrpcServer.d.ts +19 -0
  39. package/dist/classes/GrpcServer.js +185 -0
  40. package/dist/classes/GrpcServer.js.map +1 -0
  41. package/dist/classes/ManagedModule.d.ts +20 -0
  42. package/dist/classes/ManagedModule.js +212 -0
  43. package/dist/classes/ManagedModule.js.map +1 -0
  44. package/dist/classes/ModuleManager.d.ts +11 -0
  45. package/dist/classes/ModuleManager.js +191 -0
  46. package/dist/classes/ModuleManager.js.map +1 -0
  47. package/dist/classes/Routing/RouteBuilder.d.ts +28 -0
  48. package/dist/classes/Routing/RouteBuilder.js +107 -0
  49. package/dist/classes/Routing/RouteBuilder.js.map +1 -0
  50. package/dist/classes/Routing/RoutingManager.d.ts +25 -0
  51. package/dist/classes/Routing/RoutingManager.js +193 -0
  52. package/dist/classes/Routing/RoutingManager.js.map +1 -0
  53. package/dist/classes/index.d.ts +16 -0
  54. package/dist/classes/index.js +29 -0
  55. package/dist/classes/index.js.map +1 -0
  56. package/dist/constants/enums/PlatformTypesEnum.d.ts +9 -0
  57. package/dist/constants/enums/PlatformTypesEnum.js +14 -0
  58. package/dist/constants/enums/PlatformTypesEnum.js.map +1 -0
  59. package/dist/constants/enums/index.d.ts +1 -0
  60. package/dist/constants/enums/index.js +14 -0
  61. package/dist/constants/enums/index.js.map +1 -0
  62. package/dist/constants/index.d.ts +1 -0
  63. package/dist/constants/index.js +14 -0
  64. package/dist/constants/index.js.map +1 -0
  65. package/dist/helpers/GrpcHelper.d.ts +8 -0
  66. package/dist/helpers/GrpcHelper.js +44 -0
  67. package/dist/helpers/GrpcHelper.js.map +1 -0
  68. package/dist/helpers/RoutingJsonConstructor.d.ts +9 -0
  69. package/dist/helpers/RoutingJsonConstructor.js +89 -0
  70. package/dist/helpers/RoutingJsonConstructor.js.map +1 -0
  71. package/dist/helpers/RoutingUtilities.d.ts +13 -0
  72. package/dist/helpers/RoutingUtilities.js +69 -0
  73. package/dist/helpers/RoutingUtilities.js.map +1 -0
  74. package/dist/helpers/TypeHelpers.d.ts +44 -0
  75. package/dist/helpers/TypeHelpers.js +144 -0
  76. package/dist/helpers/TypeHelpers.js.map +1 -0
  77. package/dist/helpers/index.d.ts +5 -0
  78. package/dist/helpers/index.js +18 -0
  79. package/dist/helpers/index.js.map +1 -0
  80. package/dist/helpers/wrapGrpcFunctions.d.ts +5 -0
  81. package/dist/helpers/wrapGrpcFunctions.js +37 -0
  82. package/dist/helpers/wrapGrpcFunctions.js.map +1 -0
  83. package/dist/helpers/wrapRouterFunctions.d.ts +7 -0
  84. package/dist/helpers/wrapRouterFunctions.js +111 -0
  85. package/dist/helpers/wrapRouterFunctions.js.map +1 -0
  86. package/dist/index.d.ts +70 -0
  87. package/dist/index.js +481 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/interceptors/grpcSignedToken.d.ts +2 -0
  90. package/dist/interceptors/grpcSignedToken.js +88 -0
  91. package/dist/interceptors/grpcSignedToken.js.map +1 -0
  92. package/dist/interceptors/index.d.ts +2 -0
  93. package/dist/interceptors/index.js +15 -0
  94. package/dist/interceptors/index.js.map +1 -0
  95. package/dist/interceptors/moduleName.d.ts +2 -0
  96. package/dist/interceptors/moduleName.js +88 -0
  97. package/dist/interceptors/moduleName.js.map +1 -0
  98. package/dist/interfaces/ConduitService.d.ts +8 -0
  99. package/dist/interfaces/ConduitService.js +3 -0
  100. package/dist/interfaces/ConduitService.js.map +1 -0
  101. package/dist/interfaces/GrpcCallback.d.ts +4 -0
  102. package/dist/interfaces/GrpcCallback.js +3 -0
  103. package/dist/interfaces/GrpcCallback.js.map +1 -0
  104. package/dist/interfaces/Indexable.d.ts +9 -0
  105. package/dist/interfaces/Indexable.js +3 -0
  106. package/dist/interfaces/Indexable.js.map +1 -0
  107. package/dist/interfaces/Middleware.d.ts +7 -0
  108. package/dist/interfaces/Middleware.js +3 -0
  109. package/dist/interfaces/Middleware.js.map +1 -0
  110. package/dist/interfaces/Model.d.ts +37 -0
  111. package/dist/interfaces/Model.js +19 -0
  112. package/dist/interfaces/Model.js.map +1 -0
  113. package/dist/interfaces/Route.d.ts +54 -0
  114. package/dist/interfaces/Route.js +21 -0
  115. package/dist/interfaces/Route.js.map +1 -0
  116. package/dist/interfaces/Socket.d.ts +34 -0
  117. package/dist/interfaces/Socket.js +9 -0
  118. package/dist/interfaces/Socket.js.map +1 -0
  119. package/dist/interfaces/index.d.ts +7 -0
  120. package/dist/interfaces/index.js +20 -0
  121. package/dist/interfaces/index.js.map +1 -0
  122. package/dist/modules/admin/index.d.ts +13 -0
  123. package/dist/modules/admin/index.js +131 -0
  124. package/dist/modules/admin/index.js.map +1 -0
  125. package/dist/modules/authentication/index.d.ts +11 -0
  126. package/dist/modules/authentication/index.js +50 -0
  127. package/dist/modules/authentication/index.js.map +1 -0
  128. package/dist/modules/chat/index.d.ts +10 -0
  129. package/dist/modules/chat/index.js +46 -0
  130. package/dist/modules/chat/index.js.map +1 -0
  131. package/dist/modules/config/index.d.ts +25 -0
  132. package/dist/modules/config/index.js +234 -0
  133. package/dist/modules/config/index.js.map +1 -0
  134. package/dist/modules/core/index.d.ts +6 -0
  135. package/dist/modules/core/index.js +32 -0
  136. package/dist/modules/core/index.js.map +1 -0
  137. package/dist/modules/database/index.d.ts +30 -0
  138. package/dist/modules/database/index.js +201 -0
  139. package/dist/modules/database/index.js.map +1 -0
  140. package/dist/modules/email/index.d.ts +21 -0
  141. package/dist/modules/email/index.js +63 -0
  142. package/dist/modules/email/index.js.map +1 -0
  143. package/dist/modules/forms/index.d.ts +7 -0
  144. package/dist/modules/forms/index.js +37 -0
  145. package/dist/modules/forms/index.js.map +1 -0
  146. package/dist/modules/index.d.ts +11 -0
  147. package/dist/modules/index.js +24 -0
  148. package/dist/modules/index.js.map +1 -0
  149. package/dist/modules/pushNotifications/index.d.ts +10 -0
  150. package/dist/modules/pushNotifications/index.js +63 -0
  151. package/dist/modules/pushNotifications/index.js.map +1 -0
  152. package/dist/modules/router/index.d.ts +8 -0
  153. package/dist/modules/router/index.js +43 -0
  154. package/dist/modules/router/index.js.map +1 -0
  155. package/dist/modules/sms/index.d.ts +10 -0
  156. package/dist/modules/sms/index.js +46 -0
  157. package/dist/modules/sms/index.js.map +1 -0
  158. package/dist/modules/storage/index.d.ts +10 -0
  159. package/dist/modules/storage/index.js +47 -0
  160. package/dist/modules/storage/index.js.map +1 -0
  161. package/dist/protoUtils/authentication.d.ts +209 -0
  162. package/dist/protoUtils/authentication.js +533 -0
  163. package/dist/protoUtils/authentication.js.map +1 -0
  164. package/dist/protoUtils/chat.d.ts +178 -0
  165. package/dist/protoUtils/chat.js +534 -0
  166. package/dist/protoUtils/chat.js.map +1 -0
  167. package/dist/protoUtils/core.d.ts +607 -0
  168. package/dist/protoUtils/core.js +1883 -0
  169. package/dist/protoUtils/core.js.map +1 -0
  170. package/dist/protoUtils/database.d.ts +496 -0
  171. package/dist/protoUtils/database.js +1275 -0
  172. package/dist/protoUtils/database.js.map +1 -0
  173. package/dist/protoUtils/email.d.ts +153 -0
  174. package/dist/protoUtils/email.js +543 -0
  175. package/dist/protoUtils/email.js.map +1 -0
  176. package/dist/protoUtils/forms.d.ts +54 -0
  177. package/dist/protoUtils/forms.js +141 -0
  178. package/dist/protoUtils/forms.js.map +1 -0
  179. package/dist/protoUtils/grpc_health_check.d.ts +83 -0
  180. package/dist/protoUtils/grpc_health_check.js +197 -0
  181. package/dist/protoUtils/grpc_health_check.js.map +1 -0
  182. package/dist/protoUtils/push-notifications.d.ts +179 -0
  183. package/dist/protoUtils/push-notifications.js +512 -0
  184. package/dist/protoUtils/push-notifications.js.map +1 -0
  185. package/dist/protoUtils/sms.d.ts +176 -0
  186. package/dist/protoUtils/sms.js +459 -0
  187. package/dist/protoUtils/sms.js.map +1 -0
  188. package/dist/protoUtils/storage.d.ts +203 -0
  189. package/dist/protoUtils/storage.js +522 -0
  190. package/dist/protoUtils/storage.js.map +1 -0
  191. package/dist/types/index.d.ts +55 -0
  192. package/dist/types/index.js +37 -0
  193. package/dist/types/index.js.map +1 -0
  194. package/dist/utilities/EventBus.d.ts +10 -0
  195. package/dist/utilities/EventBus.js +52 -0
  196. package/dist/utilities/EventBus.js.map +1 -0
  197. package/dist/utilities/RedisManager.d.ts +6 -0
  198. package/dist/utilities/RedisManager.js +32 -0
  199. package/dist/utilities/RedisManager.js.map +1 -0
  200. package/dist/utilities/StateManager.d.ts +10 -0
  201. package/dist/utilities/StateManager.js +31 -0
  202. package/dist/utilities/StateManager.js.map +1 -0
  203. package/dist/utilities/index.d.ts +1 -0
  204. package/dist/utilities/index.js +10 -0
  205. package/dist/utilities/index.js.map +1 -0
  206. package/package.json +56 -0
package/dist/index.js ADDED
@@ -0,0 +1,481 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __importDefault = (this && this.__importDefault) || function (mod) {
49
+ return (mod && mod.__esModule) ? mod : { "default": mod };
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ var modules_1 = require("./modules");
53
+ var authentication_1 = require("./modules/authentication");
54
+ var crypto_1 = __importDefault(require("crypto"));
55
+ var EventBus_1 = require("./utilities/EventBus");
56
+ var RedisManager_1 = require("./utilities/RedisManager");
57
+ var StateManager_1 = require("./utilities/StateManager");
58
+ var ConduitModule_1 = require("./classes/ConduitModule");
59
+ var grpc_js_1 = require("@grpc/grpc-js");
60
+ var utilities_1 = require("./utilities");
61
+ var grpc_health_check_1 = require("./protoUtils/grpc_health_check");
62
+ var types_1 = require("./types");
63
+ var fast_jwt_1 = require("fast-jwt");
64
+ var ConduitGrpcSdk = /** @class */ (function () {
65
+ function ConduitGrpcSdk(serverUrl, serviceHealthStatusGetter, name, watchModules) {
66
+ if (watchModules === void 0) { watchModules = true; }
67
+ this._modules = {};
68
+ this._availableModules = {
69
+ database: modules_1.DatabaseProvider,
70
+ storage: modules_1.Storage,
71
+ email: modules_1.Email,
72
+ pushNotifications: modules_1.PushNotifications,
73
+ authentication: authentication_1.Authentication,
74
+ sms: modules_1.SMS,
75
+ chat: modules_1.Chat,
76
+ forms: modules_1.Forms,
77
+ };
78
+ this._dynamicModules = {};
79
+ this.lastSearch = Date.now();
80
+ this._initialized = false;
81
+ if (!name) {
82
+ this.name = 'module_' + crypto_1.default.randomBytes(16).toString('hex');
83
+ }
84
+ else {
85
+ this.name = name;
86
+ }
87
+ this.serverUrl = serverUrl;
88
+ this._watchModules = watchModules;
89
+ this._serviceHealthStatusGetter = serviceHealthStatusGetter;
90
+ var grpcKey = process.env.GRPC_KEY;
91
+ if (grpcKey) {
92
+ var sign = fast_jwt_1.createSigner({ key: grpcKey });
93
+ this._grpcToken = sign({
94
+ moduleName: this.name,
95
+ });
96
+ }
97
+ }
98
+ ConduitGrpcSdk.prototype.initialize = function () {
99
+ return __awaiter(this, void 0, void 0, function () {
100
+ var delay, state, err_1;
101
+ return __generator(this, function (_a) {
102
+ switch (_a.label) {
103
+ case 0:
104
+ if (!(this.name === 'core')) return [3 /*break*/, 1];
105
+ this._initialize();
106
+ return [3 /*break*/, 8];
107
+ case 1:
108
+ this._core = new modules_1.Core(this.name, this.serverUrl, this._grpcToken);
109
+ console.log('Waiting for Core...');
110
+ delay = this.name === 'database' ? 250 : 1000;
111
+ _a.label = 2;
112
+ case 2:
113
+ if (!true) return [3 /*break*/, 8];
114
+ _a.label = 3;
115
+ case 3:
116
+ _a.trys.push([3, 5, , 7]);
117
+ return [4 /*yield*/, this.core.check()];
118
+ case 4:
119
+ state = _a.sent();
120
+ if (this.name === 'database' ||
121
+ state === types_1.HealthCheckStatus.SERVING) {
122
+ console.log('Core connection established');
123
+ this._initialize();
124
+ return [3 /*break*/, 8];
125
+ }
126
+ return [3 /*break*/, 7];
127
+ case 5:
128
+ err_1 = _a.sent();
129
+ if (err_1.code === grpc_js_1.status.PERMISSION_DENIED) {
130
+ console.error(err_1);
131
+ process.exit(-1);
132
+ }
133
+ return [4 /*yield*/, utilities_1.sleep(delay)];
134
+ case 6:
135
+ _a.sent();
136
+ return [3 /*break*/, 7];
137
+ case 7: return [3 /*break*/, 2];
138
+ case 8: return [2 /*return*/];
139
+ }
140
+ });
141
+ });
142
+ };
143
+ ConduitGrpcSdk.prototype._initialize = function () {
144
+ if (this._initialized)
145
+ throw new Error("Module's grpc-sdk has already been initialized");
146
+ this._config = new modules_1.Config(this.name, this.serverUrl, this._serviceHealthStatusGetter, this._grpcToken);
147
+ this._admin = new modules_1.Admin(this.name, this.serverUrl, this._grpcToken);
148
+ this._router = new modules_1.Router(this.name, this.serverUrl, this._grpcToken);
149
+ this.initializeModules().then();
150
+ if (this._watchModules) {
151
+ this.watchModules();
152
+ }
153
+ this._initialized = true;
154
+ };
155
+ Object.defineProperty(ConduitGrpcSdk.prototype, "bus", {
156
+ get: function () {
157
+ if (this._eventBus) {
158
+ return this._eventBus;
159
+ }
160
+ else {
161
+ console.warn('Event bus not initialized');
162
+ return null;
163
+ }
164
+ },
165
+ enumerable: false,
166
+ configurable: true
167
+ });
168
+ Object.defineProperty(ConduitGrpcSdk.prototype, "state", {
169
+ get: function () {
170
+ if (this._stateManager) {
171
+ return this._stateManager;
172
+ }
173
+ else {
174
+ console.warn('State Manager not initialized');
175
+ return null;
176
+ }
177
+ },
178
+ enumerable: false,
179
+ configurable: true
180
+ });
181
+ Object.defineProperty(ConduitGrpcSdk.prototype, "core", {
182
+ get: function () {
183
+ return this._core;
184
+ },
185
+ enumerable: false,
186
+ configurable: true
187
+ });
188
+ Object.defineProperty(ConduitGrpcSdk.prototype, "config", {
189
+ get: function () {
190
+ return this._config;
191
+ },
192
+ enumerable: false,
193
+ configurable: true
194
+ });
195
+ Object.defineProperty(ConduitGrpcSdk.prototype, "admin", {
196
+ get: function () {
197
+ return this._admin;
198
+ },
199
+ enumerable: false,
200
+ configurable: true
201
+ });
202
+ Object.defineProperty(ConduitGrpcSdk.prototype, "router", {
203
+ get: function () {
204
+ return this._router;
205
+ },
206
+ enumerable: false,
207
+ configurable: true
208
+ });
209
+ Object.defineProperty(ConduitGrpcSdk.prototype, "database", {
210
+ get: function () {
211
+ if (this._modules['database']) {
212
+ return this._modules['database'];
213
+ }
214
+ else {
215
+ console.warn('Database provider not up yet!');
216
+ return null;
217
+ }
218
+ },
219
+ enumerable: false,
220
+ configurable: true
221
+ });
222
+ Object.defineProperty(ConduitGrpcSdk.prototype, "databaseProvider", {
223
+ get: function () {
224
+ return this.database;
225
+ },
226
+ enumerable: false,
227
+ configurable: true
228
+ });
229
+ Object.defineProperty(ConduitGrpcSdk.prototype, "storage", {
230
+ get: function () {
231
+ if (this._modules['storage']) {
232
+ return this._modules['storage'];
233
+ }
234
+ else {
235
+ console.warn('Storage module not up yet!');
236
+ return null;
237
+ }
238
+ },
239
+ enumerable: false,
240
+ configurable: true
241
+ });
242
+ Object.defineProperty(ConduitGrpcSdk.prototype, "forms", {
243
+ get: function () {
244
+ if (this._modules['forms']) {
245
+ return this._modules['forms'];
246
+ }
247
+ else {
248
+ console.warn('Forms module not up yet!');
249
+ return null;
250
+ }
251
+ },
252
+ enumerable: false,
253
+ configurable: true
254
+ });
255
+ Object.defineProperty(ConduitGrpcSdk.prototype, "emailProvider", {
256
+ get: function () {
257
+ if (this._modules['email']) {
258
+ return this._modules['email'];
259
+ }
260
+ else {
261
+ console.warn('Email provider not up yet!');
262
+ return null;
263
+ }
264
+ },
265
+ enumerable: false,
266
+ configurable: true
267
+ });
268
+ Object.defineProperty(ConduitGrpcSdk.prototype, "pushNotifications", {
269
+ get: function () {
270
+ if (this._modules['pushNotifications']) {
271
+ return this._modules['pushNotifications'];
272
+ }
273
+ else {
274
+ console.warn('Push notifications module not up yet!');
275
+ return null;
276
+ }
277
+ },
278
+ enumerable: false,
279
+ configurable: true
280
+ });
281
+ Object.defineProperty(ConduitGrpcSdk.prototype, "authentication", {
282
+ get: function () {
283
+ if (this._modules['authentication']) {
284
+ return this._modules['authentication'];
285
+ }
286
+ else {
287
+ console.warn('Authentication module not up yet!');
288
+ return null;
289
+ }
290
+ },
291
+ enumerable: false,
292
+ configurable: true
293
+ });
294
+ Object.defineProperty(ConduitGrpcSdk.prototype, "sms", {
295
+ get: function () {
296
+ if (this._modules['sms']) {
297
+ return this._modules['sms'];
298
+ }
299
+ else {
300
+ console.warn('SMS module not up yet!');
301
+ return null;
302
+ }
303
+ },
304
+ enumerable: false,
305
+ configurable: true
306
+ });
307
+ Object.defineProperty(ConduitGrpcSdk.prototype, "chat", {
308
+ get: function () {
309
+ if (this._modules['chat']) {
310
+ return this._modules['chat'];
311
+ }
312
+ else {
313
+ console.warn('Chat module not up yet!');
314
+ return null;
315
+ }
316
+ },
317
+ enumerable: false,
318
+ configurable: true
319
+ });
320
+ ConduitGrpcSdk.prototype.watchModules = function () {
321
+ var _this = this;
322
+ var emitter = this.config.getModuleWatcher();
323
+ this.config.watchModules().then();
324
+ emitter.on('serving-modules-update', function (modules) {
325
+ Object.keys(_this._modules).forEach(function (r) {
326
+ var _a;
327
+ var found = modules.filter(function (m) { return m.moduleName === r && m.serving; });
328
+ if ((!found || found.length === 0) && _this._availableModules[r]) {
329
+ (_a = _this._modules[r]) === null || _a === void 0 ? void 0 : _a.closeConnection();
330
+ emitter.emit("module-connection-update:" + r, false);
331
+ }
332
+ });
333
+ modules.forEach(function (m) {
334
+ var _a;
335
+ if (m.serving) {
336
+ if (_this._modules[m.moduleName] && _this._availableModules[m.moduleName]) {
337
+ (_a = _this._modules[m.moduleName]) === null || _a === void 0 ? void 0 : _a.openConnection();
338
+ }
339
+ _this.createModuleClient(m.moduleName, m.url);
340
+ emitter.emit("module-connection-update:" + m.moduleName, true);
341
+ }
342
+ });
343
+ });
344
+ };
345
+ ConduitGrpcSdk.prototype.monitorModule = function (moduleName, callback, wait) {
346
+ var _a, _b;
347
+ if (wait === void 0) { wait = true; }
348
+ return __awaiter(this, void 0, void 0, function () {
349
+ var emitter;
350
+ return __generator(this, function (_c) {
351
+ switch (_c.label) {
352
+ case 0:
353
+ if (!wait) return [3 /*break*/, 2];
354
+ return [4 /*yield*/, this.waitForExistence(moduleName)];
355
+ case 1:
356
+ _c.sent();
357
+ _c.label = 2;
358
+ case 2:
359
+ (_b = (_a = this._modules['chat']) === null || _a === void 0 ? void 0 : _a.healthClient) === null || _b === void 0 ? void 0 : _b.check({}).then(function (res) {
360
+ callback((res === null || res === void 0 ? void 0 : res.status) === grpc_health_check_1.HealthCheckResponse_ServingStatus.SERVING);
361
+ }).catch(function () {
362
+ callback(false);
363
+ });
364
+ emitter = this.config.getModuleWatcher();
365
+ emitter.on("module-connection-update:" + moduleName, callback);
366
+ return [2 /*return*/];
367
+ }
368
+ });
369
+ });
370
+ };
371
+ ConduitGrpcSdk.prototype.unmonitorModule = function (moduleName) {
372
+ var emitter = this.config.getModuleWatcher();
373
+ emitter.removeAllListeners("module-connection-update:" + moduleName);
374
+ };
375
+ ConduitGrpcSdk.prototype.initializeEventBus = function () {
376
+ var _this = this;
377
+ return this.config
378
+ .getRedisDetails()
379
+ .then(function (r) {
380
+ var redisManager = new RedisManager_1.RedisManager(r.redisHost, r.redisPort);
381
+ _this._eventBus = new EventBus_1.EventBus(redisManager);
382
+ _this._stateManager = new StateManager_1.StateManager(redisManager, _this.name);
383
+ return _this._eventBus;
384
+ })
385
+ .catch(function (err) {
386
+ console.error('Failed to initialize event bus');
387
+ throw err;
388
+ });
389
+ };
390
+ /**
391
+ * Gets all the registered modules from the config and creates clients for them.
392
+ * This will only work on known modules, since the primary usage for the sdk is internal
393
+ */
394
+ ConduitGrpcSdk.prototype.initializeModules = function () {
395
+ var _this = this;
396
+ return this._config.moduleList()
397
+ .then(function (r) {
398
+ _this.lastSearch = Date.now();
399
+ r.forEach(function (m) {
400
+ _this.createModuleClient(m.moduleName, m.url);
401
+ });
402
+ return 'ok';
403
+ })
404
+ .catch(function (err) {
405
+ if (err.code !== 5) {
406
+ console.error(err);
407
+ }
408
+ });
409
+ };
410
+ ConduitGrpcSdk.prototype.createModuleClient = function (moduleName, moduleUrl) {
411
+ if (this._modules[moduleName] ||
412
+ (!this._availableModules[moduleName] && !this._dynamicModules[moduleName]))
413
+ return;
414
+ if (this._availableModules[moduleName]) {
415
+ this._modules[moduleName] = new this._availableModules[moduleName](this.name, moduleUrl, this._grpcToken);
416
+ }
417
+ else if (this._dynamicModules[moduleName]) {
418
+ this._modules[moduleName] = new ConduitModule_1.ConduitModule(this.name, moduleName, moduleUrl, this._grpcToken);
419
+ this._modules[moduleName].initializeClient(this._dynamicModules[moduleName]);
420
+ }
421
+ };
422
+ ConduitGrpcSdk.prototype.moduleClient = function (name, type) {
423
+ this._dynamicModules[name] = type;
424
+ };
425
+ ConduitGrpcSdk.prototype.getModule = function (name) {
426
+ if (this._modules[name])
427
+ return this._modules[name].client;
428
+ };
429
+ ConduitGrpcSdk.prototype.getHealthClient = function (name) {
430
+ if (this._modules[name])
431
+ return this._modules[name].healthClient;
432
+ };
433
+ ConduitGrpcSdk.prototype.isAvailable = function (moduleName) {
434
+ return !!(this._modules[moduleName] && this._modules[moduleName].active);
435
+ };
436
+ ConduitGrpcSdk.prototype.waitForExistence = function (moduleName) {
437
+ return __awaiter(this, void 0, void 0, function () {
438
+ return __generator(this, function (_a) {
439
+ switch (_a.label) {
440
+ case 0:
441
+ if (!!this._modules[moduleName]) return [3 /*break*/, 2];
442
+ return [4 /*yield*/, utilities_1.sleep(1000)];
443
+ case 1:
444
+ _a.sent();
445
+ return [3 /*break*/, 0];
446
+ case 2: return [2 /*return*/, true];
447
+ }
448
+ });
449
+ });
450
+ };
451
+ /**
452
+ * Used to refresh all modules to check for new registrations
453
+ * @param force If true will check for new modules no matter the interval
454
+ */
455
+ ConduitGrpcSdk.prototype.refreshModules = function (force) {
456
+ return __awaiter(this, void 0, void 0, function () {
457
+ return __generator(this, function (_a) {
458
+ if (this.lastSearch < Date.now() - 3000 || force) {
459
+ return [2 /*return*/, this.initializeModules()];
460
+ }
461
+ return [2 /*return*/, 'ok'];
462
+ });
463
+ });
464
+ };
465
+ Object.defineProperty(ConduitGrpcSdk.prototype, "grpcToken", {
466
+ get: function () {
467
+ return this._grpcToken;
468
+ },
469
+ enumerable: false,
470
+ configurable: true
471
+ });
472
+ return ConduitGrpcSdk;
473
+ }());
474
+ exports.default = ConduitGrpcSdk;
475
+ __exportStar(require("./interfaces"), exports);
476
+ __exportStar(require("./classes"), exports);
477
+ __exportStar(require("./modules"), exports);
478
+ __exportStar(require("./helpers"), exports);
479
+ __exportStar(require("./constants"), exports);
480
+ __exportStar(require("./types"), exports);
481
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { CallOptions, ClientMiddlewareCall } from 'nice-grpc';
2
+ export declare function getGrpcSignedTokenInterceptor(grpcToken: string): <Request_1, Response_1>(call: ClientMiddlewareCall<Request_1, Response_1, {}>, options: CallOptions) => AsyncGenerator<Response_1, void | Response_1, undefined>;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __generator = (this && this.__generator) || function (thisArg, body) {
3
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
+ function verb(n) { return function (v) { return step([n, v]); }; }
6
+ function step(op) {
7
+ if (f) throw new TypeError("Generator is already executing.");
8
+ while (_) try {
9
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
+ if (y = 0, t) op = [op[0] & 2, t.value];
11
+ switch (op[0]) {
12
+ case 0: case 1: t = op; break;
13
+ case 4: _.label++; return { value: op[1], done: false };
14
+ case 5: _.label++; y = op[1]; op = [0]; continue;
15
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
+ default:
17
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
+ if (t[2]) _.ops.pop();
22
+ _.trys.pop(); continue;
23
+ }
24
+ op = body.call(thisArg, _);
25
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
+ }
28
+ };
29
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
30
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
31
+ var m = o[Symbol.asyncIterator], i;
32
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
33
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
34
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
35
+ };
36
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
37
+ var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
38
+ var i, p;
39
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
40
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
41
+ };
42
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
43
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
44
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
45
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
46
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
47
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
48
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
49
+ function fulfill(value) { resume("next", value); }
50
+ function reject(value) { resume("throw", value); }
51
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
52
+ };
53
+ var __values = (this && this.__values) || function(o) {
54
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
55
+ if (m) return m.call(o);
56
+ if (o && typeof o.length === "number") return {
57
+ next: function () {
58
+ if (o && i >= o.length) o = void 0;
59
+ return { value: o && o[i++], done: !o };
60
+ }
61
+ };
62
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
63
+ };
64
+ Object.defineProperty(exports, "__esModule", { value: true });
65
+ exports.getGrpcSignedTokenInterceptor = void 0;
66
+ var nice_grpc_1 = require("nice-grpc");
67
+ function getGrpcSignedTokenInterceptor(grpcToken) {
68
+ return function middleware(call, options) {
69
+ var _a;
70
+ return __asyncGenerator(this, arguments, function middleware_1() {
71
+ return __generator(this, function (_b) {
72
+ switch (_b.label) {
73
+ case 0:
74
+ if (!options.metadata) {
75
+ options.metadata = nice_grpc_1.Metadata();
76
+ }
77
+ (_a = options.metadata) === null || _a === void 0 ? void 0 : _a.set('grpc-token', grpcToken);
78
+ return [5 /*yield**/, __values(__asyncDelegator(__asyncValues(call.next(call.request, options))))];
79
+ case 1: return [4 /*yield*/, __await.apply(void 0, [_b.sent()])];
80
+ case 2: return [4 /*yield*/, __await.apply(void 0, [_b.sent()])];
81
+ case 3: return [2 /*return*/, _b.sent()];
82
+ }
83
+ });
84
+ });
85
+ };
86
+ }
87
+ exports.getGrpcSignedTokenInterceptor = getGrpcSignedTokenInterceptor;
88
+ //# sourceMappingURL=grpcSignedToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpcSignedToken.js","sourceRoot":"","sources":["../../src/interceptors/grpcSignedToken.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwE;AAExE,SAAgB,6BAA6B,CAAC,SAAiB;IAC7D,OAAO,SAAgB,UAAU,CAC/B,IAA6C,EAC7C,OAAoB;;;;;;wBAEpB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;4BACrB,OAAO,CAAC,QAAQ,GAAG,oBAAQ,EAAE,CAAC;yBAC/B;wBACD,MAAA,OAAO,CAAC,QAAQ,0CAAE,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACxC,sBAAA,SAAO,iBAAA,cAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA,CAAA,CAAA,EAAA;4BAAvC,4CAAA,SAAuC,IAAA;wEAAvC,SAAuC;4BAA9C,iCAA+C;;;;KAChD,CAAC;AACJ,CAAC;AAXD,sEAWC"}
@@ -0,0 +1,2 @@
1
+ export * from './moduleName';
2
+ export * from './grpcSignedToken';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./moduleName"), exports);
14
+ __exportStar(require("./grpcSignedToken"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,oDAAkC"}
@@ -0,0 +1,2 @@
1
+ import { CallOptions, ClientMiddlewareCall } from 'nice-grpc';
2
+ export declare function getModuleNameInterceptor(moduleName: string): <Request_1, Response_1>(call: ClientMiddlewareCall<Request_1, Response_1, {}>, options: CallOptions) => AsyncGenerator<Response_1, void | Response_1, undefined>;