@tellescope/sdk 1.93.0 → 1.95.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1580,7 +1580,7 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
1580
1580
  roomWithMessage = _k.sent();
1581
1581
  (0, testing_1.assert)(roomWithMessage.numMessages === 1, 'num mesages no update', 'num messages on send message');
1582
1582
  (0, testing_1.assert)(((_b = roomWithMessage === null || roomWithMessage === void 0 ? void 0 : roomWithMessage.recentMessageSentAt) !== null && _b !== void 0 ? _b : 0) > Date.now() - 1000, 'recent message timestamp bad', 'recent message timestamp');
1583
- (0, testing_1.assert)(((_d = (_c = roomWithMessage === null || roomWithMessage === void 0 ? void 0 : roomWithMessage.infoForUser) === null || _c === void 0 ? void 0 : _c[userId]) === null || _d === void 0 ? void 0 : _d.unreadCount) === undefined, 'bad unread count for user', 'unread count for user');
1583
+ (0, testing_1.assert)(!((_d = (_c = roomWithMessage === null || roomWithMessage === void 0 ? void 0 : roomWithMessage.infoForUser) === null || _c === void 0 ? void 0 : _c[userId]) === null || _d === void 0 ? void 0 : _d.unreadCount), 'bad unread count for user', 'unread count for user');
1584
1584
  (0, testing_1.assert)(((_g = (_f = roomWithMessage === null || roomWithMessage === void 0 ? void 0 : roomWithMessage.infoForUser) === null || _f === void 0 ? void 0 : _f[enduserSDK.userInfo.id]) === null || _g === void 0 ? void 0 : _g.unreadCount) === 1, 'bad unread count for enduser', 'unread count for enduser');
1585
1585
  return [4 /*yield*/, sdk.api.chat_rooms.updateOne(roomWithMessage.id, { infoForUser: (_a = {}, _a[userId] = { unreadCount: 0 }, _a) })];
1586
1586
  case 10:
@@ -5656,8 +5656,8 @@ var merge_enduser_tests = function () { return __awaiter(void 0, void 0, void 0,
5656
5656
  case 0:
5657
5657
  (0, testing_1.log_header)("Merge Endusers");
5658
5658
  return [4 /*yield*/, sdk.api.endusers.createSome([
5659
- { email: 'source@tellescope.com', fname: 'source', lname: 'enduser' },
5660
- { email: 'destination@tellescope.com' },
5659
+ { email: 'source@tellescope.com', fname: 'source', lname: 'enduser', references: [{ type: '2', id: '2.2' }, { type: '3', id: '3.2' }] },
5660
+ { email: 'destination@tellescope.com', references: [{ type: '1', id: '1' }, { type: '2', id: '2' }] },
5661
5661
  { email: 'other@tellescope.com' },
5662
5662
  ])];
5663
5663
  case 1:
@@ -5694,9 +5694,15 @@ var merge_enduser_tests = function () { return __awaiter(void 0, void 0, void 0,
5694
5694
  return [4 /*yield*/, (0, testing_1.async_test)("Source is deleted", function () { return sdk.api.endusers.getOne(source.id); }, handleAnyError)];
5695
5695
  case 8:
5696
5696
  _f.sent();
5697
- return [4 /*yield*/, (0, testing_1.async_test)("Destination merged", function () { return sdk.api.endusers.getOne(destination.id); }, { onResult: function (e) { return (e.email === destination.email
5698
- && e.fname === source.fname
5699
- && e.lname === source.lname); } })];
5697
+ return [4 /*yield*/, (0, testing_1.async_test)("Destination merged", function () { return sdk.api.endusers.getOne(destination.id); }, { onResult: function (e) {
5698
+ var _a, _b, _c, _d, _f, _g;
5699
+ return (e.email === destination.email
5700
+ && e.fname === source.fname
5701
+ && e.lname === source.lname
5702
+ && ((_b = (_a = e.references) === null || _a === void 0 ? void 0 : _a.find(function (r) { return r.type === '1'; })) === null || _b === void 0 ? void 0 : _b.id) === '1'
5703
+ && ((_d = (_c = e.references) === null || _c === void 0 ? void 0 : _c.find(function (r) { return r.type === '2'; })) === null || _d === void 0 ? void 0 : _d.id) === '2'
5704
+ && ((_g = (_f = e.references) === null || _f === void 0 ? void 0 : _f.find(function (r) { return r.type === '3'; })) === null || _g === void 0 ? void 0 : _g.id) === '3.2');
5705
+ } })];
5700
5706
  case 9:
5701
5707
  _f.sent();
5702
5708
  return [4 /*yield*/, (0, testing_1.async_test)("Other email is unchanged", function () { return sdk.api.emails.getOne(email.id); }, { onResult: function (e) { return e.enduserId === otherEnduser.id; } })];
@@ -7033,6 +7039,7 @@ var alternate_phones_tests = function () { return __awaiter(void 0, void 0, void
7033
7039
  exports.alternate_phones_tests = alternate_phones_tests;
7034
7040
  var NO_TEST = function () { };
7035
7041
  var tests = {
7042
+ flowchart_notes: NO_TEST,
7036
7043
  enduser_problems: NO_TEST,
7037
7044
  vital_configurations: NO_TEST,
7038
7045
  enduser_encounters: NO_TEST,
@@ -9237,7 +9244,7 @@ var vital_trigger_tests = function () { return __awaiter(void 0, void 0, void 0,
9237
9244
  _l.sent();
9238
9245
  _l.label = 2;
9239
9246
  case 2:
9240
- _l.trys.push([2, 53, , 54]);
9247
+ _l.trys.push([2, 54, , 55]);
9241
9248
  (0, exports.form_conditional_logic_tests)();
9242
9249
  return [4 /*yield*/, test_weighted_round_robin()];
9243
9250
  case 3:
@@ -9255,159 +9262,175 @@ var vital_trigger_tests = function () { return __awaiter(void 0, void 0, void 0,
9255
9262
  case 5:
9256
9263
  _l.sent();
9257
9264
  console.log("Authentication done");
9265
+ return [4 /*yield*/, (0, testing_1.async_test)("Uniqueness violation redacts sensitive existing record details", function () { return sdk.api.users.createOne({ email: email }); }, {
9266
+ shouldError: true,
9267
+ onError: function (e) {
9268
+ var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o;
9269
+ return (e.message === "Uniqueness Violation"
9270
+ && Object.keys((_b = (_a = e.info) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.conflictingFields).length === 1
9271
+ && ((_d = (_c = e.info) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.conflictingFields.email) === email
9272
+ && Object.keys((_g = (_f = e.info) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.existingRecord).length === 2 // only _id and businessId should be exposed
9273
+ && ((_k = (_j = (_h = e.info) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.existingRecord) === null || _k === void 0 ? void 0 : _k._id)
9274
+ && ((_o = (_m = (_l = e.info) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.existingRecord) === null || _o === void 0 ? void 0 : _o.businessId));
9275
+ }
9276
+ })
9277
+ // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
9278
+ ];
9279
+ case 6:
9280
+ _l.sent();
9258
9281
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
9259
9282
  return [4 /*yield*/, (0, testing_1.async_test)("email validation error message",
9260
9283
  // @ts-ignore
9261
9284
  function () { return sdk.api.endusers.createOne({ email: 'not-an-email' }); }, { shouldError: true, onError: function (e) { return e.message === 'Error parsing field email: Invalid email: not-an-email'; } })];
9262
- case 6:
9285
+ case 7:
9263
9286
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
9264
9287
  _l.sent();
9265
9288
  return [4 /*yield*/, (0, testing_1.async_test)("count exists",
9266
9289
  // @ts-ignore
9267
9290
  function () { return sdk.api.endusers.getSome({ returnCount: true }); }, { onResult: function (result) { return typeof result.count === 'number'; } })];
9268
- case 7:
9291
+ case 8:
9269
9292
  _l.sent();
9270
9293
  return [4 /*yield*/, (0, testing_1.async_test)("push_to_EHR allows missing addedResponses", function () { return sdk.api.form_responses.push_to_EHR({ id: constants_1.PLACEHOLDER_ID }); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.message) === 'Could not find a record for the given id'; } })];
9271
- case 8:
9294
+ case 9:
9272
9295
  _l.sent();
9273
9296
  return [4 /*yield*/, (0, testing_1.async_test)("Support phone numbers from Gambia", function () { return sdk.api.endusers.createOne({ phone: "+2201231234" }); }, { onResult: (function (e) { return !!sdk.api.endusers.deleteOne(e.id); }) })];
9274
- case 9:
9297
+ case 10:
9275
9298
  _l.sent();
9276
9299
  return [4 /*yield*/, mfa_tests()];
9277
- case 10:
9300
+ case 11:
9278
9301
  _l.sent();
9279
9302
  return [4 /*yield*/, setup_tests()];
9280
- case 11:
9303
+ case 12:
9281
9304
  _l.sent();
9282
9305
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
9283
- case 12:
9306
+ case 13:
9284
9307
  _l.sent(); // should come right after setup tests
9285
9308
  return [4 /*yield*/, sync_tests()]; // should come directly after setup to avoid extra sync values
9286
- case 13:
9309
+ case 14:
9287
9310
  _l.sent(); // should come directly after setup to avoid extra sync values
9311
+ return [4 /*yield*/, merge_enduser_tests()];
9312
+ case 15:
9313
+ _l.sent();
9288
9314
  return [4 /*yield*/, vital_trigger_tests()];
9289
- case 14:
9315
+ case 16:
9290
9316
  _l.sent();
9291
9317
  return [4 /*yield*/, (0, exports.ticket_queue_tests)()];
9292
- case 15:
9318
+ case 17:
9293
9319
  _l.sent();
9294
9320
  return [4 /*yield*/, close_reasons_no_duplicates_tests()];
9295
- case 16:
9321
+ case 18:
9296
9322
  _l.sent();
9297
9323
  return [4 /*yield*/, register_as_enduser_tests()];
9298
- case 17:
9324
+ case 19:
9299
9325
  _l.sent();
9300
9326
  return [4 /*yield*/, lockout_tests()];
9301
- case 18:
9327
+ case 20:
9302
9328
  _l.sent();
9303
9329
  return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
9304
- case 19:
9330
+ case 21:
9305
9331
  _l.sent();
9306
9332
  return [4 /*yield*/, delete_user_tests()
9307
9333
  // await test_send_with_template()
9308
9334
  ];
9309
- case 20:
9335
+ case 22:
9310
9336
  _l.sent();
9311
9337
  // await test_send_with_template()
9312
9338
  return [4 /*yield*/, bulk_read_tests()];
9313
- case 21:
9339
+ case 23:
9314
9340
  // await test_send_with_template()
9315
9341
  _l.sent();
9316
9342
  return [4 /*yield*/, (0, exports.ticket_reminder_tests)()];
9317
- case 22:
9318
- _l.sent();
9319
- return [4 /*yield*/, enduser_access_tags_tests()];
9320
- case 23:
9321
- _l.sent();
9322
- return [4 /*yield*/, marketing_email_unsubscribe_tests()];
9323
9343
  case 24:
9324
9344
  _l.sent();
9325
- return [4 /*yield*/, unique_strings_tests()];
9345
+ return [4 /*yield*/, enduser_access_tags_tests()];
9326
9346
  case 25:
9327
9347
  _l.sent();
9328
- return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
9348
+ return [4 /*yield*/, marketing_email_unsubscribe_tests()];
9329
9349
  case 26:
9330
9350
  _l.sent();
9331
- return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
9351
+ return [4 /*yield*/, unique_strings_tests()];
9332
9352
  case 27:
9333
9353
  _l.sent();
9334
- return [4 /*yield*/, field_equals_trigger_tests()];
9354
+ return [4 /*yield*/, (0, exports.alternate_phones_tests)()];
9335
9355
  case 28:
9336
9356
  _l.sent();
9337
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
9357
+ return [4 /*yield*/, (0, exports.no_chained_triggers_tests)()];
9338
9358
  case 29:
9339
9359
  _l.sent();
9340
- return [4 /*yield*/, role_based_access_tests()];
9360
+ return [4 /*yield*/, field_equals_trigger_tests()];
9341
9361
  case 30:
9342
9362
  _l.sent();
9343
- return [4 /*yield*/, automation_trigger_tests()];
9363
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
9344
9364
  case 31:
9345
9365
  _l.sent();
9346
- return [4 /*yield*/, enduser_session_tests()];
9366
+ return [4 /*yield*/, role_based_access_tests()];
9347
9367
  case 32:
9348
9368
  _l.sent();
9349
- return [4 /*yield*/, nextReminderInMS_tests()];
9369
+ return [4 /*yield*/, automation_trigger_tests()];
9350
9370
  case 33:
9351
9371
  _l.sent();
9352
- return [4 /*yield*/, search_tests()];
9372
+ return [4 /*yield*/, enduser_session_tests()];
9353
9373
  case 34:
9354
9374
  _l.sent();
9355
- return [4 /*yield*/, wait_for_trigger_tests()];
9375
+ return [4 /*yield*/, nextReminderInMS_tests()];
9356
9376
  case 35:
9357
9377
  _l.sent();
9358
- return [4 /*yield*/, pdf_generation()];
9378
+ return [4 /*yield*/, search_tests()];
9359
9379
  case 36:
9360
9380
  _l.sent();
9361
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
9381
+ return [4 /*yield*/, wait_for_trigger_tests()];
9362
9382
  case 37:
9363
9383
  _l.sent();
9364
- return [4 /*yield*/, rate_limit_tests()];
9384
+ return [4 /*yield*/, pdf_generation()];
9365
9385
  case 38:
9366
9386
  _l.sent();
9367
- return [4 /*yield*/, merge_enduser_tests()];
9387
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
9368
9388
  case 39:
9369
9389
  _l.sent();
9370
- return [4 /*yield*/, auto_reply_tests()];
9390
+ return [4 /*yield*/, rate_limit_tests()];
9371
9391
  case 40:
9372
9392
  _l.sent();
9373
- return [4 /*yield*/, sub_organization_enduser_tests()];
9393
+ return [4 /*yield*/, auto_reply_tests()];
9374
9394
  case 41:
9375
9395
  _l.sent();
9376
- return [4 /*yield*/, sub_organization_tests()];
9396
+ return [4 /*yield*/, sub_organization_enduser_tests()];
9377
9397
  case 42:
9378
9398
  _l.sent();
9379
- return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
9399
+ return [4 /*yield*/, sub_organization_tests()];
9380
9400
  case 43:
9381
9401
  _l.sent();
9382
- return [4 /*yield*/, generate_user_auth_tests()];
9402
+ return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
9383
9403
  case 44:
9384
9404
  _l.sent();
9385
- return [4 /*yield*/, generateEnduserAuthTests()];
9405
+ return [4 /*yield*/, generate_user_auth_tests()];
9386
9406
  case 45:
9387
9407
  _l.sent();
9388
- return [4 /*yield*/, public_form_tests()];
9408
+ return [4 /*yield*/, generateEnduserAuthTests()];
9389
9409
  case 46:
9390
9410
  _l.sent();
9391
- return [4 /*yield*/, badInputTests()];
9411
+ return [4 /*yield*/, public_form_tests()];
9392
9412
  case 47:
9393
9413
  _l.sent();
9394
- return [4 /*yield*/, filterTests()];
9414
+ return [4 /*yield*/, badInputTests()];
9395
9415
  case 48:
9396
9416
  _l.sent();
9397
- return [4 /*yield*/, updatesTests()];
9417
+ return [4 /*yield*/, filterTests()];
9398
9418
  case 49:
9399
9419
  _l.sent();
9400
- return [4 /*yield*/, threadKeyTests()];
9420
+ return [4 /*yield*/, updatesTests()];
9401
9421
  case 50:
9402
9422
  _l.sent();
9403
- return [4 /*yield*/, enduserAccessTests()];
9423
+ return [4 /*yield*/, threadKeyTests()];
9404
9424
  case 51:
9405
9425
  _l.sent();
9406
- return [4 /*yield*/, enduser_redaction_tests()];
9426
+ return [4 /*yield*/, enduserAccessTests()];
9407
9427
  case 52:
9408
9428
  _l.sent();
9409
- return [3 /*break*/, 54];
9429
+ return [4 /*yield*/, enduser_redaction_tests()];
9410
9430
  case 53:
9431
+ _l.sent();
9432
+ return [3 /*break*/, 55];
9433
+ case 54:
9411
9434
  err_1 = _l.sent();
9412
9435
  console.error("Failed during custom test");
9413
9436
  if (err_1.message && err_1.info) {
@@ -9417,18 +9440,18 @@ var vital_trigger_tests = function () { return __awaiter(void 0, void 0, void 0,
9417
9440
  console.error(err_1);
9418
9441
  }
9419
9442
  process.exit(1);
9420
- return [3 /*break*/, 54];
9421
- case 54:
9443
+ return [3 /*break*/, 55];
9444
+ case 55:
9422
9445
  _a = schema_1.schema;
9423
9446
  _b = [];
9424
9447
  for (_c in _a)
9425
9448
  _b.push(_c);
9426
9449
  _i = 0;
9427
- _l.label = 55;
9428
- case 55:
9429
- if (!(_i < _b.length)) return [3 /*break*/, 58];
9450
+ _l.label = 56;
9451
+ case 56:
9452
+ if (!(_i < _b.length)) return [3 /*break*/, 59];
9430
9453
  _c = _b[_i];
9431
- if (!(_c in _a)) return [3 /*break*/, 57];
9454
+ if (!(_c in _a)) return [3 /*break*/, 58];
9432
9455
  n = _c;
9433
9456
  returnValidation = (_k = (_j = schema_1.schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
9434
9457
  return [4 /*yield*/, run_generated_tests({
@@ -9439,41 +9462,41 @@ var vital_trigger_tests = function () { return __awaiter(void 0, void 0, void 0,
9439
9462
  create: returnValidation // ModelFields<ClientModel>,
9440
9463
  }
9441
9464
  })];
9442
- case 56:
9443
- _l.sent();
9444
- _l.label = 57;
9445
9465
  case 57:
9446
- _i++;
9447
- return [3 /*break*/, 55];
9466
+ _l.sent();
9467
+ _l.label = 58;
9448
9468
  case 58:
9469
+ _i++;
9470
+ return [3 /*break*/, 56];
9471
+ case 59:
9449
9472
  _d = tests;
9450
9473
  _f = [];
9451
9474
  for (_g in _d)
9452
9475
  _f.push(_g);
9453
9476
  _h = 0;
9454
- _l.label = 59;
9455
- case 59:
9456
- if (!(_h < _f.length)) return [3 /*break*/, 64];
9457
- _g = _f[_h];
9458
- if (!(_g in _d)) return [3 /*break*/, 63];
9459
- t = _g;
9460
9477
  _l.label = 60;
9461
9478
  case 60:
9462
- _l.trys.push([60, 62, , 63]);
9463
- return [4 /*yield*/, tests[t]()];
9479
+ if (!(_h < _f.length)) return [3 /*break*/, 65];
9480
+ _g = _f[_h];
9481
+ if (!(_g in _d)) return [3 /*break*/, 64];
9482
+ t = _g;
9483
+ _l.label = 61;
9464
9484
  case 61:
9465
- _l.sent();
9466
- return [3 /*break*/, 63];
9485
+ _l.trys.push([61, 63, , 64]);
9486
+ return [4 /*yield*/, tests[t]()];
9467
9487
  case 62:
9488
+ _l.sent();
9489
+ return [3 /*break*/, 64];
9490
+ case 63:
9468
9491
  err_2 = _l.sent();
9469
9492
  console.error("Error running test:");
9470
9493
  console.error(err_2);
9471
9494
  process.exit(1);
9472
- return [3 /*break*/, 63];
9473
- case 63:
9474
- _h++;
9475
- return [3 /*break*/, 59];
9495
+ return [3 /*break*/, 64];
9476
9496
  case 64:
9497
+ _h++;
9498
+ return [3 /*break*/, 60];
9499
+ case 65:
9477
9500
  process.exit();
9478
9501
  return [2 /*return*/];
9479
9502
  }