@resolveio/server-lib 20.10.8 → 20.11.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.
@@ -93,6 +93,7 @@ var user_guides_1 = require("../publications/user-guides");
93
93
  var resolveio_server_app_1 = require("../resolveio-server-app");
94
94
  var common_1 = require("../util/common");
95
95
  var error_tracking_1 = require("../util/error-tracking");
96
+ var error_reporter_1 = require("../util/error-reporter");
96
97
  var subscription_dependency_context_1 = require("../util/subscription-dependency-context");
97
98
  var numCPUs = (0, os_1.cpus)().length;
98
99
  var v8 = require('v8');
@@ -1120,23 +1121,24 @@ var SubscriptionManager = /** @class */ (function () {
1120
1121
  });
1121
1122
  };
1122
1123
  SubscriptionManager.prototype.sendDataToOne = function (ws, messageId, sub, collection, type) {
1124
+ var _a;
1123
1125
  return __awaiter(this, void 0, void 0, function () {
1124
- var monitor, dependencySnapshot, res, execution, serverRes, err_1, _a, normalizedError, correlationId, serverRes, errorPayload;
1126
+ var monitor, dependencySnapshot, res, execution, serverRes, err_1, _b, normalizedError, correlationId, serverRes, errorPayload;
1125
1127
  var _this = this;
1126
- return __generator(this, function (_b) {
1127
- switch (_b.label) {
1128
+ return __generator(this, function (_c) {
1129
+ switch (_c.label) {
1128
1130
  case 0:
1129
1131
  monitor = this._monitorManagerFunction.startMonitorFunction('User Specific Publication', sub.publication, '', '', sub.subscriptionData);
1130
- _b.label = 1;
1132
+ _c.label = 1;
1131
1133
  case 1:
1132
- _b.trys.push([1, 3, 5, 7]);
1134
+ _c.trys.push([1, 3, 5, 7]);
1133
1135
  resolveio_server_app_1.ResolveIOServer.getMainServer().getMethodManager().callMethod.call(resolveio_server_app_1.ResolveIOServer.getMainServer().getMethodManager(), 'insertSubscriptionLog', type, sub.publication, collection, JSON.stringify(sub.subscriptionData));
1134
1136
  return [4 /*yield*/, (0, subscription_dependency_context_1.withDependencyTracking)(function () {
1135
1137
  var _a;
1136
1138
  return (_a = _this._publications[sub.publication].function).call.apply(_a, __spreadArray([Object.assign({}, _this, SubscriptionManager.prototype), ws['id_user']], __read(sub.subscriptionData), false));
1137
1139
  })];
1138
1140
  case 2:
1139
- execution = _b.sent();
1141
+ execution = _c.sent();
1140
1142
  res = execution.result;
1141
1143
  dependencySnapshot = execution.snapshot;
1142
1144
  this.updateSubscriptionDependencies(sub, dependencySnapshot);
@@ -1148,8 +1150,8 @@ var SubscriptionManager = /** @class */ (function () {
1148
1150
  this.sendWS(ws, serverRes);
1149
1151
  return [3 /*break*/, 7];
1150
1152
  case 3:
1151
- err_1 = _b.sent();
1152
- _a = (0, error_tracking_1.ensureErrorWithCorrelation)(err_1), normalizedError = _a.error, correlationId = _a.correlationId;
1153
+ err_1 = _c.sent();
1154
+ _b = (0, error_tracking_1.ensureErrorWithCorrelation)(err_1), normalizedError = _b.error, correlationId = _b.correlationId;
1153
1155
  serverRes = {
1154
1156
  messageId: messageId,
1155
1157
  hasError: true,
@@ -1171,19 +1173,27 @@ var SubscriptionManager = /** @class */ (function () {
1171
1173
  codeName: normalizedError === null || normalizedError === void 0 ? void 0 : normalizedError.codeName
1172
1174
  }
1173
1175
  };
1174
- return [4 /*yield*/, resolveio_server_app_1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 'SERVER - Error Detected - ' + this.serverConfig['CLIENT_NAME'], 'Error Detected During Subscription ' + sub.publication + ' - (sendDataToOne - WS)\n\nDetails\n' + JSON.stringify(errorPayload, null, 2), null, null, null, null, false, false, {
1175
- correlationId: correlationId,
1176
- meta: {
1176
+ return [4 /*yield*/, error_reporter_1.ErrorReporter.report({
1177
+ sourceApp: 'subscription-manager',
1178
+ message: 'SERVER - Error Detected - ' + this.serverConfig['CLIENT_NAME'],
1179
+ environment: (_a = this.serverConfig) === null || _a === void 0 ? void 0 : _a.ROOT_URL,
1180
+ clientSlug: resolveio_server_app_1.ResolveIOServer.getClientName(),
1181
+ clientName: this.serverConfig['CLIENT_NAME'],
1182
+ stack: normalizedError === null || normalizedError === void 0 ? void 0 : normalizedError.stack,
1183
+ context: errorPayload,
1184
+ metadata: {
1177
1185
  context: 'subscription-sendDataToOne',
1178
- publication: sub.publication
1179
- }
1186
+ publication: sub.publication,
1187
+ correlationId: correlationId
1188
+ },
1189
+ correlationId: correlationId
1180
1190
  })];
1181
1191
  case 4:
1182
- _b.sent();
1192
+ _c.sent();
1183
1193
  return [3 /*break*/, 7];
1184
1194
  case 5: return [4 /*yield*/, this._monitorManagerFunction.finishMonitorFunction(monitor)];
1185
1195
  case 6:
1186
- _b.sent();
1196
+ _c.sent();
1187
1197
  return [7 /*endfinally*/];
1188
1198
  case 7: return [2 /*return*/];
1189
1199
  }
@@ -1192,12 +1202,13 @@ var SubscriptionManager = /** @class */ (function () {
1192
1202
  };
1193
1203
  // Fetch pub once, send to all clients linked to this pub
1194
1204
  SubscriptionManager.prototype.sendDataToAll = function (sub, collection, type) {
1205
+ var _a;
1195
1206
  return __awaiter(this, void 0, void 0, function () {
1196
- var subIndex, monitor, res_1, dependencySnapshot, execution, cacheData, _a, _b, client, ws, serverRes, _c, _d, client, ws, serverRes, nodeCacheSize, deleteCount, subArr, zz, err_2, _e, normalizedError, correlationId, _f, _g, client, ws, serverRes, errorPayload;
1197
- var e_3, _h, e_4, _j, e_5, _k;
1207
+ var subIndex, monitor, res_1, dependencySnapshot, execution, cacheData, _b, _c, client, ws, serverRes, _d, _e, client, ws, serverRes, nodeCacheSize, deleteCount, subArr, zz, err_2, _f, normalizedError, correlationId, _g, _h, client, ws, serverRes, errorPayload;
1208
+ var e_3, _j, e_4, _k, e_5, _l;
1198
1209
  var _this = this;
1199
- return __generator(this, function (_l) {
1200
- switch (_l.label) {
1210
+ return __generator(this, function (_m) {
1211
+ switch (_m.label) {
1201
1212
  case 0:
1202
1213
  if (!!sub.clients.length) return [3 /*break*/, 1];
1203
1214
  if (sub.cacheId) {
@@ -1212,9 +1223,9 @@ var SubscriptionManager = /** @class */ (function () {
1212
1223
  case 1:
1213
1224
  monitor = this._monitorManagerFunction.startMonitorFunction('Publication', sub.publication, '', '', sub.subscriptionData);
1214
1225
  dependencySnapshot = void 0;
1215
- _l.label = 2;
1226
+ _m.label = 2;
1216
1227
  case 2:
1217
- _l.trys.push([2, 4, 6, 8]);
1228
+ _m.trys.push([2, 4, 6, 8]);
1218
1229
  if (sub.publication !== 'superadminAPM' && sub.publication !== 'loggedInUsers') {
1219
1230
  resolveio_server_app_1.ResolveIOServer.getMainServer().getMethodManager().callMethod.call(resolveio_server_app_1.ResolveIOServer.getMainServer().getMethodManager(), 'insertSubscriptionLog', type, sub.publication, collection, JSON.stringify(sub.subscriptionData));
1220
1231
  }
@@ -1223,7 +1234,7 @@ var SubscriptionManager = /** @class */ (function () {
1223
1234
  return (_a = _this._publications[sub.publication].function).call.apply(_a, __spreadArray([Object.assign({}, _this, SubscriptionManager.prototype)], __read(sub.subscriptionData), false));
1224
1235
  })];
1225
1236
  case 3:
1226
- execution = _l.sent();
1237
+ execution = _m.sent();
1227
1238
  res_1 = execution.result;
1228
1239
  dependencySnapshot = execution.snapshot;
1229
1240
  this.updateSubscriptionDependencies(sub, dependencySnapshot);
@@ -1232,8 +1243,8 @@ var SubscriptionManager = /** @class */ (function () {
1232
1243
  cacheData = JSON.parse(this._nodeCache.get(sub.cacheId), common_1.dateReviver);
1233
1244
  if (JSON.stringify(cacheData) !== JSON.stringify(res_1)) {
1234
1245
  try {
1235
- for (_a = __values(sub.clients), _b = _a.next(); !_b.done; _b = _a.next()) {
1236
- client = _b.value;
1246
+ for (_b = __values(sub.clients), _c = _b.next(); !_c.done; _c = _b.next()) {
1247
+ client = _c.value;
1237
1248
  ws = this._websocketManager.getWebSocket(client.id_socket);
1238
1249
  if (ws && ws.readyState === ws.OPEN) {
1239
1250
  serverRes = {
@@ -1248,7 +1259,7 @@ var SubscriptionManager = /** @class */ (function () {
1248
1259
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
1249
1260
  finally {
1250
1261
  try {
1251
- if (_b && !_b.done && (_h = _a.return)) _h.call(_a);
1262
+ if (_c && !_c.done && (_j = _b.return)) _j.call(_b);
1252
1263
  }
1253
1264
  finally { if (e_3) throw e_3.error; }
1254
1265
  }
@@ -1264,7 +1275,7 @@ var SubscriptionManager = /** @class */ (function () {
1264
1275
  }
1265
1276
  }
1266
1277
  }
1267
- catch (_m) {
1278
+ catch (_o) {
1268
1279
  sub.clients.map(function (client) {
1269
1280
  var ws = _this._websocketManager.getWebSocket(client.id_socket);
1270
1281
  if (ws && ws.readyState === ws.OPEN) {
@@ -1290,8 +1301,8 @@ var SubscriptionManager = /** @class */ (function () {
1290
1301
  }
1291
1302
  else {
1292
1303
  try {
1293
- for (_c = __values(sub.clients), _d = _c.next(); !_d.done; _d = _c.next()) {
1294
- client = _d.value;
1304
+ for (_d = __values(sub.clients), _e = _d.next(); !_e.done; _e = _d.next()) {
1305
+ client = _e.value;
1295
1306
  ws = this._websocketManager.getWebSocket(client.id_socket);
1296
1307
  if (ws && ws.readyState === ws.OPEN) {
1297
1308
  serverRes = {
@@ -1306,7 +1317,7 @@ var SubscriptionManager = /** @class */ (function () {
1306
1317
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
1307
1318
  finally {
1308
1319
  try {
1309
- if (_d && !_d.done && (_j = _c.return)) _j.call(_c);
1320
+ if (_e && !_e.done && (_k = _d.return)) _k.call(_d);
1310
1321
  }
1311
1322
  finally { if (e_4) throw e_4.error; }
1312
1323
  }
@@ -1346,11 +1357,11 @@ var SubscriptionManager = /** @class */ (function () {
1346
1357
  }
1347
1358
  return [3 /*break*/, 8];
1348
1359
  case 4:
1349
- err_2 = _l.sent();
1350
- _e = (0, error_tracking_1.ensureErrorWithCorrelation)(err_2), normalizedError = _e.error, correlationId = _e.correlationId;
1360
+ err_2 = _m.sent();
1361
+ _f = (0, error_tracking_1.ensureErrorWithCorrelation)(err_2), normalizedError = _f.error, correlationId = _f.correlationId;
1351
1362
  try {
1352
- for (_f = __values(sub.clients), _g = _f.next(); !_g.done; _g = _f.next()) {
1353
- client = _g.value;
1363
+ for (_g = __values(sub.clients), _h = _g.next(); !_h.done; _h = _g.next()) {
1364
+ client = _h.value;
1354
1365
  ws = this._websocketManager.getWebSocket(client.id_socket);
1355
1366
  if (ws && ws.readyState === ws.OPEN) {
1356
1367
  serverRes = {
@@ -1365,7 +1376,7 @@ var SubscriptionManager = /** @class */ (function () {
1365
1376
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
1366
1377
  finally {
1367
1378
  try {
1368
- if (_g && !_g.done && (_k = _f.return)) _k.call(_f);
1379
+ if (_h && !_h.done && (_l = _g.return)) _l.call(_g);
1369
1380
  }
1370
1381
  finally { if (e_5) throw e_5.error; }
1371
1382
  }
@@ -1383,19 +1394,27 @@ var SubscriptionManager = /** @class */ (function () {
1383
1394
  codeName: normalizedError === null || normalizedError === void 0 ? void 0 : normalizedError.codeName
1384
1395
  }
1385
1396
  };
1386
- return [4 /*yield*/, resolveio_server_app_1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 'SERVER - Error Detected - ' + this.serverConfig['CLIENT_NAME'], 'Error Detected During Subscription ' + sub.publication + ' - (sendPubData)\n\nDetails\n' + JSON.stringify(errorPayload, null, 2), null, null, null, null, false, false, {
1387
- correlationId: correlationId,
1388
- meta: {
1397
+ return [4 /*yield*/, error_reporter_1.ErrorReporter.report({
1398
+ sourceApp: 'subscription-manager',
1399
+ message: 'SERVER - Error Detected - ' + this.serverConfig['CLIENT_NAME'],
1400
+ environment: (_a = this.serverConfig) === null || _a === void 0 ? void 0 : _a.ROOT_URL,
1401
+ clientSlug: resolveio_server_app_1.ResolveIOServer.getClientName(),
1402
+ clientName: this.serverConfig['CLIENT_NAME'],
1403
+ stack: normalizedError === null || normalizedError === void 0 ? void 0 : normalizedError.stack,
1404
+ context: errorPayload,
1405
+ metadata: {
1389
1406
  context: 'subscription-sendDataToAll',
1390
- publication: sub.publication
1391
- }
1407
+ publication: sub.publication,
1408
+ correlationId: correlationId
1409
+ },
1410
+ correlationId: correlationId
1392
1411
  })];
1393
1412
  case 5:
1394
- _l.sent();
1413
+ _m.sent();
1395
1414
  return [3 /*break*/, 8];
1396
1415
  case 6: return [4 /*yield*/, this._monitorManagerFunction.finishMonitorFunction(monitor)];
1397
1416
  case 7:
1398
- _l.sent();
1417
+ _m.sent();
1399
1418
  return [7 /*endfinally*/];
1400
1419
  case 8: return [2 /*return*/];
1401
1420
  }