@tellescope/sdk 1.4.36 → 1.4.38

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 (42) hide show
  1. package/lib/cjs/enduser.d.ts +11 -4
  2. package/lib/cjs/enduser.d.ts.map +1 -1
  3. package/lib/cjs/enduser.js +10 -1
  4. package/lib/cjs/enduser.js.map +1 -1
  5. package/lib/cjs/sdk.d.ts +6 -3
  6. package/lib/cjs/sdk.d.ts.map +1 -1
  7. package/lib/cjs/sdk.js +1 -1
  8. package/lib/cjs/session.d.ts +0 -1
  9. package/lib/cjs/session.d.ts.map +1 -1
  10. package/lib/cjs/session.js +1 -1
  11. package/lib/cjs/tests/public_endpoint_tests.js +1 -1
  12. package/lib/cjs/tests/socket_tests.js +1 -1
  13. package/lib/cjs/tests/tests.d.ts.map +1 -1
  14. package/lib/cjs/tests/tests.js +181 -130
  15. package/lib/cjs/tests/tests.js.map +1 -1
  16. package/lib/cjs/tests/webhooks_tests.js +47 -41
  17. package/lib/cjs/tests/webhooks_tests.js.map +1 -1
  18. package/lib/esm/enduser.d.ts +13 -5
  19. package/lib/esm/enduser.d.ts.map +1 -1
  20. package/lib/esm/enduser.js +10 -1
  21. package/lib/esm/enduser.js.map +1 -1
  22. package/lib/esm/public.d.ts +2 -2
  23. package/lib/esm/public.d.ts.map +1 -1
  24. package/lib/esm/sdk.d.ts +10 -6
  25. package/lib/esm/sdk.d.ts.map +1 -1
  26. package/lib/esm/sdk.js +1 -1
  27. package/lib/esm/session.d.ts +2 -3
  28. package/lib/esm/session.d.ts.map +1 -1
  29. package/lib/esm/session.js +2 -2
  30. package/lib/esm/session.js.map +1 -1
  31. package/lib/esm/tests/public_endpoint_tests.js +1 -1
  32. package/lib/esm/tests/socket_tests.js +1 -1
  33. package/lib/esm/tests/tests.d.ts.map +1 -1
  34. package/lib/esm/tests/tests.js +181 -130
  35. package/lib/esm/tests/tests.js.map +1 -1
  36. package/lib/esm/tests/webhooks_tests.js +47 -41
  37. package/lib/esm/tests/webhooks_tests.js.map +1 -1
  38. package/lib/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +8 -8
  40. package/src/enduser.ts +16 -1
  41. package/src/sdk.ts +1 -1
  42. package/src/tests/tests.ts +20 -3
@@ -48,7 +48,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
48
48
  function verb(n) { return function (v) { return step([n, v]); }; }
49
49
  function step(op) {
50
50
  if (f) throw new TypeError("Generator is already executing.");
51
- while (_) try {
51
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
52
52
  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;
53
53
  if (y = 0, t) op = [op[0] & 2, t.value];
54
54
  switch (op[0]) {
@@ -364,43 +364,82 @@ var sub_organization_tests = function () { return __awaiter(void 0, void 0, void
364
364
  });
365
365
  }); };
366
366
  var sub_organization_enduser_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
367
- var _a, _b;
368
- return __generator(this, function (_c) {
369
- switch (_c.label) {
367
+ var rootTicket, rootTicketAfterUpdate;
368
+ var _a, _b, _c;
369
+ return __generator(this, function (_d) {
370
+ switch (_d.label) {
370
371
  case 0:
371
372
  (0, testing_1.log_header)("Sub Organizations (Enduser-Facing Tests)");
372
373
  return [4 /*yield*/, enduserSDK.register({ email: 'root@tellescope.com', password: password })];
373
374
  case 1:
374
- _c.sent();
375
+ _d.sent();
375
376
  return [4 /*yield*/, subEnduserSDK.register({ email: 'sub@tellescope.com', password: password })];
376
377
  case 2:
377
- _c.sent();
378
+ _d.sent();
378
379
  return [4 /*yield*/, enduserSDK.authenticate('root@tellescope.com', password)];
379
380
  case 3:
380
- _c.sent();
381
+ _d.sent();
381
382
  return [4 /*yield*/, subEnduserSDK.authenticate('sub@tellescope.com', password)];
382
383
  case 4:
383
- _c.sent();
384
+ _d.sent();
384
385
  (0, testing_1.assert)(!((_a = enduserSDK.userInfo.organizationIds) === null || _a === void 0 ? void 0 : _a.length), 'bad root organizationIds', 'root auth org ids');
385
386
  (0, testing_1.assert)(((_b = subEnduserSDK.userInfo.organizationIds) === null || _b === void 0 ? void 0 : _b.length) === 1, 'bad sub organizationIds', 'sub auth org ids');
386
- return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
387
+ return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root', enduserId: enduserSDK.userInfo.id })];
387
388
  case 5:
388
- _c.sent();
389
- return [4 /*yield*/, (0, testing_1.async_test)("sub get root error", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, handleAnyError)];
389
+ rootTicket = _d.sent();
390
+ return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
390
391
  case 6:
391
- _c.sent();
392
- return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
392
+ _d.sent();
393
+ return [4 /*yield*/, (0, testing_1.async_test)("sub get root error", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, handleAnyError)];
393
394
  case 7:
394
- _c.sent();
395
- return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
395
+ _d.sent();
396
+ return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
396
397
  case 8:
397
- _c.sent();
398
+ _d.sent();
399
+ return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
400
+ case 9:
401
+ _d.sent();
402
+ return [4 /*yield*/, (0, testing_1.async_test)("root get root ticket", function () { return sdk.api.tickets.getOne(rootTicket.id); }, passOnAnyResult)];
403
+ case 10:
404
+ _d.sent();
405
+ return [4 /*yield*/, (0, testing_1.async_test)("sub get root ticket error", function () { return sdkSub.api.tickets.getOne(rootTicket.id); }, handleAnyError)];
406
+ case 11:
407
+ _d.sent();
408
+ return [4 /*yield*/, sdk.api.endusers.updateOne(enduserSDK.userInfo.id, { sharedWithOrganizations: [(_c = sdkSub.userInfo.organizationIds) !== null && _c !== void 0 ? _c : []] })];
409
+ case 12:
410
+ _d.sent();
411
+ return [4 /*yield*/, enduserSDK.refresh_session()]; // ensure updated session includes new sharedWithOrganizations
412
+ case 13:
413
+ _d.sent(); // ensure updated session includes new sharedWithOrganizations
414
+ return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root with shared', enduserId: enduserSDK.userInfo.id })];
415
+ case 14:
416
+ rootTicketAfterUpdate = _d.sent();
417
+ return [4 /*yield*/, (0, testing_1.async_test)("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
418
+ case 15:
419
+ _d.sent();
420
+ return [4 /*yield*/, (0, testing_1.async_test)("sub get root after update", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
421
+ case 16:
422
+ _d.sent();
423
+ return [4 /*yield*/, (0, testing_1.async_test)("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
424
+ case 17:
425
+ _d.sent();
426
+ return [4 /*yield*/, (0, testing_1.async_test)("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
427
+ case 18:
428
+ _d.sent();
429
+ return [4 /*yield*/, (0, testing_1.async_test)("root get root ticket after update", function () { return sdk.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
430
+ case 19:
431
+ _d.sent();
432
+ return [4 /*yield*/, (0, testing_1.async_test)("sub get root ticket after update", function () { return sdkSub.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
433
+ case 20:
434
+ _d.sent();
398
435
  return [4 /*yield*/, Promise.all([
399
436
  sdk.api.endusers.deleteOne(enduserSDK.userInfo.id),
400
437
  sdk.api.endusers.deleteOne(subEnduserSDK.userInfo.id),
438
+ sdk.api.tickets.deleteOne(rootTicket.id),
439
+ sdk.api.tickets.deleteOne(rootTicketAfterUpdate.id),
401
440
  ])];
402
- case 9:
403
- _c.sent();
441
+ case 21:
442
+ _d.sent();
404
443
  return [2 /*return*/];
405
444
  }
406
445
  });
@@ -722,9 +761,9 @@ var has_required_field = function (fields) { return Object.values(fields).find(f
722
761
  var verify_missing_defaults = function (_a) {
723
762
  var queries = _a.queries, model = _a.model, name = _a.name;
724
763
  return __awaiter(void 0, void 0, void 0, function () {
725
- var queryForOperation, o, _b, _c, _i;
726
- return __generator(this, function (_d) {
727
- switch (_d.label) {
764
+ var queryForOperation, o, _b, _c, _d, _i;
765
+ return __generator(this, function (_e) {
766
+ switch (_e.label) {
728
767
  case 0:
729
768
  queryForOperation = {
730
769
  create: function () { return queries.createOne({}); },
@@ -734,20 +773,23 @@ var verify_missing_defaults = function (_a) {
734
773
  update: function () { return queries.updateOne('fakeid', {}); },
735
774
  delete: function () { return queries.deleteOne('fakeid'); },
736
775
  };
737
- _b = [];
738
- for (_c in constants_1.DEFAULT_OPERATIONS)
739
- _b.push(_c);
776
+ _b = constants_1.DEFAULT_OPERATIONS;
777
+ _c = [];
778
+ for (_d in _b)
779
+ _c.push(_d);
740
780
  _i = 0;
741
- _d.label = 1;
781
+ _e.label = 1;
742
782
  case 1:
743
- if (!(_i < _b.length)) return [3 /*break*/, 4];
744
- o = _b[_i];
783
+ if (!(_i < _c.length)) return [3 /*break*/, 4];
784
+ _d = _c[_i];
785
+ if (!(_d in _b)) return [3 /*break*/, 3];
786
+ o = _d;
745
787
  if (Object.keys(model.defaultActions).includes(o) || model.customActions[o])
746
788
  return [3 /*break*/, 3]; // action is implemented
747
789
  return [4 /*yield*/, (0, testing_1.async_test)("".concat(o, " unavailable for ").concat(name), function () { return queryForOperation[o](); }, { shouldError: true, onError: function (e) { return e.message === 'This action is not allowed' || e.message === 'Inaccessible'; } })];
748
790
  case 2:
749
- _d.sent();
750
- _d.label = 3;
791
+ _e.sent();
792
+ _e.label = 3;
751
793
  case 3:
752
794
  _i++;
753
795
  return [3 /*break*/, 1];
@@ -1665,138 +1707,141 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1665
1707
  });
1666
1708
  }); };
1667
1709
  var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0, function () {
1668
- var email, password, enduser, enduser2, uInfo, originalAuthToken, _loop_1, _a, _b, _i, n, ticketAccessible, ticketInaccessible;
1669
- var _c, _d, _e, _f, _g, _h;
1670
- return __generator(this, function (_j) {
1671
- switch (_j.label) {
1710
+ var email, password, enduser, enduser2, uInfo, originalAuthToken, _loop_1, _a, _b, _c, _i, n, ticketAccessible, ticketInaccessible;
1711
+ var _d, _e, _f, _g, _h, _j;
1712
+ return __generator(this, function (_k) {
1713
+ switch (_k.label) {
1672
1714
  case 0:
1673
1715
  (0, testing_1.log_header)("Enduser Access");
1674
1716
  email = 'enduser@tellescope.com';
1675
1717
  password = 'testpassword';
1676
1718
  return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
1677
1719
  case 1:
1678
- enduser = _j.sent();
1720
+ enduser = _k.sent();
1679
1721
  return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'hi' + email })];
1680
1722
  case 2:
1681
- enduser2 = _j.sent();
1723
+ enduser2 = _k.sent();
1682
1724
  return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
1683
1725
  case 3:
1684
- _j.sent();
1726
+ _k.sent();
1685
1727
  return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
1686
1728
  case 4:
1687
- _j.sent();
1729
+ _k.sent();
1688
1730
  return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)]; // wait so that refresh_session generates a new authToken (different timestamp)
1689
1731
  case 5:
1690
- _j.sent(); // wait so that refresh_session generates a new authToken (different timestamp)
1732
+ _k.sent(); // wait so that refresh_session generates a new authToken (different timestamp)
1691
1733
  uInfo = enduserSDK.userInfo;
1692
1734
  originalAuthToken = enduserSDK.authToken;
1693
1735
  return [4 /*yield*/, enduserSDK.refresh_session()];
1694
1736
  case 6:
1695
- _j.sent();
1737
+ _k.sent();
1696
1738
  (0, testing_1.assert)(uInfo.id === enduserSDK.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
1697
1739
  (0, testing_1.assert)(!!originalAuthToken && !!enduserSDK.authToken && enduserSDK.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
1698
1740
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access for different businessId", function () { return enduserSDKDifferentBusinessId.authenticate(email, password); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.message) === "Could not find a corresponding account"; } })];
1699
1741
  case 7:
1700
- _j.sent();
1742
+ _k.sent();
1701
1743
  _loop_1 = function (n) {
1702
1744
  var endpoint, model;
1703
- return __generator(this, function (_k) {
1704
- switch (_k.label) {
1745
+ return __generator(this, function (_l) {
1746
+ switch (_l.label) {
1705
1747
  case 0:
1706
1748
  endpoint = (0, utilities_1.url_safe_path)(n);
1707
1749
  model = schema_1.schema[n];
1708
1750
  if (n === 'webhooks')
1709
1751
  return [2 /*return*/, "continue"]; // no default endpoints implemented
1710
- if (!(!((_c = model === null || model === void 0 ? void 0 : model.enduserActions) === null || _c === void 0 ? void 0 : _c.read) && (model.defaultActions.read || model.customActions.read))) return [3 /*break*/, 2];
1752
+ if (!(!((_d = model === null || model === void 0 ? void 0 : model.enduserActions) === null || _d === void 0 ? void 0 : _d.read) && (model.defaultActions.read || model.customActions.read))) return [3 /*break*/, 2];
1711
1753
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access getOne (".concat(endpoint, ")"), function () { return enduserSDK.GET("/v1/".concat(endpoint.substring(0, endpoint.length - 1), "/:id")); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
1712
1754
  case 1:
1713
- _k.sent();
1714
- _k.label = 2;
1755
+ _l.sent();
1756
+ _l.label = 2;
1715
1757
  case 2:
1716
- if (!(!((_d = model.enduserActions) === null || _d === void 0 ? void 0 : _d.readMany) && (model.defaultActions.readMany || model.customActions.readMany))) return [3 /*break*/, 4];
1758
+ if (!(!((_e = model.enduserActions) === null || _e === void 0 ? void 0 : _e.readMany) && (model.defaultActions.readMany || model.customActions.readMany))) return [3 /*break*/, 4];
1717
1759
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access getSome (".concat(endpoint, ")"), function () { return enduserSDK.GET("/v1/".concat(endpoint)); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
1718
1760
  case 3:
1719
- _k.sent();
1720
- _k.label = 4;
1761
+ _l.sent();
1762
+ _l.label = 4;
1721
1763
  case 4:
1722
- if (!(!((_e = model.enduserActions) === null || _e === void 0 ? void 0 : _e.create) && (model.defaultActions.create || model.customActions.create))) return [3 /*break*/, 6];
1764
+ if (!(!((_f = model.enduserActions) === null || _f === void 0 ? void 0 : _f.create) && (model.defaultActions.create || model.customActions.create))) return [3 /*break*/, 6];
1723
1765
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access createOne (".concat(endpoint, ")"), function () { return enduserSDK.POST("/v1/".concat(endpoint.substring(0, endpoint.length - 1))); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
1724
1766
  case 5:
1725
- _k.sent();
1726
- _k.label = 6;
1767
+ _l.sent();
1768
+ _l.label = 6;
1727
1769
  case 6:
1728
- if (!(!((_f = model.enduserActions) === null || _f === void 0 ? void 0 : _f.createMany) && (model.defaultActions.createMany || model.customActions.createMany))) return [3 /*break*/, 8];
1770
+ if (!(!((_g = model.enduserActions) === null || _g === void 0 ? void 0 : _g.createMany) && (model.defaultActions.createMany || model.customActions.createMany))) return [3 /*break*/, 8];
1729
1771
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access createMany (".concat(endpoint, ")"), function () { return enduserSDK.POST("/v1/".concat(endpoint)); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
1730
1772
  case 7:
1731
- _k.sent();
1732
- _k.label = 8;
1773
+ _l.sent();
1774
+ _l.label = 8;
1733
1775
  case 8:
1734
- if (!(!((_g = model.enduserActions) === null || _g === void 0 ? void 0 : _g.update) && (model.defaultActions.update || model.customActions.update))) return [3 /*break*/, 10];
1776
+ if (!(!((_h = model.enduserActions) === null || _h === void 0 ? void 0 : _h.update) && (model.defaultActions.update || model.customActions.update))) return [3 /*break*/, 10];
1735
1777
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access update (".concat(endpoint, ")"), function () { return enduserSDK.PATCH("/v1/".concat(endpoint.substring(0, endpoint.length - 1), "/:id")); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
1736
1778
  case 9:
1737
- _k.sent();
1738
- _k.label = 10;
1779
+ _l.sent();
1780
+ _l.label = 10;
1739
1781
  case 10:
1740
- if (!(!((_h = model.enduserActions) === null || _h === void 0 ? void 0 : _h.delete) && (model.defaultActions.delete || model.customActions.delete))) return [3 /*break*/, 12];
1782
+ if (!(!((_j = model.enduserActions) === null || _j === void 0 ? void 0 : _j.delete) && (model.defaultActions.delete || model.customActions.delete))) return [3 /*break*/, 12];
1741
1783
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access delete (".concat(endpoint, ")"), function () { return enduserSDK.DELETE("/v1/".concat(endpoint.substring(0, endpoint.length - 1), "/:id")); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.message) === 'This action is not allowed'; } })];
1742
1784
  case 11:
1743
- _k.sent();
1744
- _k.label = 12;
1785
+ _l.sent();
1786
+ _l.label = 12;
1745
1787
  case 12: return [2 /*return*/];
1746
1788
  }
1747
1789
  });
1748
1790
  };
1749
- _a = [];
1750
- for (_b in schema_1.schema)
1751
- _a.push(_b);
1791
+ _a = schema_1.schema;
1792
+ _b = [];
1793
+ for (_c in _a)
1794
+ _b.push(_c);
1752
1795
  _i = 0;
1753
- _j.label = 8;
1796
+ _k.label = 8;
1754
1797
  case 8:
1755
- if (!(_i < _a.length)) return [3 /*break*/, 11];
1756
- n = _a[_i];
1798
+ if (!(_i < _b.length)) return [3 /*break*/, 11];
1799
+ _c = _b[_i];
1800
+ if (!(_c in _a)) return [3 /*break*/, 10];
1801
+ n = _c;
1757
1802
  return [5 /*yield**/, _loop_1(n)];
1758
1803
  case 9:
1759
- _j.sent();
1760
- _j.label = 10;
1804
+ _k.sent();
1805
+ _k.label = 10;
1761
1806
  case 10:
1762
1807
  _i++;
1763
1808
  return [3 /*break*/, 8];
1764
1809
  case 11: return [4 /*yield*/, (0, testing_1.async_test)("enduser can update self", function () { return enduserSDK.api.endusers.updateOne(enduser.id, { fname: "Sebastian", lname: "Coates" }); }, { onResult: function (e) { return e.id === enduser.id && e.fname === 'Sebastian' && e.lname === "Coates"; } })];
1765
1810
  case 12:
1766
- _j.sent();
1811
+ _k.sent();
1767
1812
  return [4 /*yield*/, (0, testing_1.async_test)("enduser can't update other enduser", function () { return enduserSDK.api.endusers.updateOne(enduser2.id, { fname: "Shouldn't Work" }); }, { shouldError: true, onError: function (e) { return e.message === "Endusers may only update their own profile"; } })];
1768
1813
  case 13:
1769
- _j.sent();
1814
+ _k.sent();
1770
1815
  return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: enduser.id, title: "Accessible ticket" })];
1771
1816
  case 14:
1772
- ticketAccessible = _j.sent();
1817
+ ticketAccessible = _k.sent();
1773
1818
  return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: constants_1.PLACEHOLDER_ID, title: "Inaccessible ticket" })];
1774
1819
  case 15:
1775
- ticketInaccessible = _j.sent();
1820
+ ticketInaccessible = _k.sent();
1776
1821
  return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create ticket for another enduser", function () { return enduserSDK.api.tickets.createOne({ enduserId: sdk.userInfo.id, title: "Error on Creation" }); }, { shouldError: true, onError: function (e) { return !!e.message; } })];
1777
1822
  case 16:
1778
- _j.sent();
1823
+ _k.sent();
1779
1824
  return [4 /*yield*/, (0, testing_1.async_test)("enduser-access default, no access constraints, matching enduserId", function () { return enduserSDK.api.tickets.getOne(ticketAccessible.id); }, { onResult: function (t) { return t.id === ticketAccessible.id; } })];
1780
1825
  case 17:
1781
- _j.sent();
1826
+ _k.sent();
1782
1827
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access default, no access constraints, non-matching enduserId", function () { return enduserSDK.api.tickets.getOne(ticketInaccessible.id); }, { shouldError: true, onError: function (e) { return e.message.startsWith("Could not find"); } })];
1783
1828
  case 18:
1784
- _j.sent();
1829
+ _k.sent();
1785
1830
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access default, no access constraints, get many", function () { return enduserSDK.api.tickets.getSome(); }, { onResult: function (ts) { return ts.length === 1; } })];
1786
1831
  case 19:
1787
- _j.sent();
1832
+ _k.sent();
1788
1833
  return [4 /*yield*/, sdk.api.tickets.deleteOne(ticketAccessible.id)];
1789
1834
  case 20:
1790
- _j.sent();
1835
+ _k.sent();
1791
1836
  return [4 /*yield*/, sdk.api.tickets.deleteOne(ticketInaccessible.id)];
1792
1837
  case 21:
1793
- _j.sent();
1838
+ _k.sent();
1794
1839
  return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
1795
1840
  case 22:
1796
- _j.sent();
1841
+ _k.sent();
1797
1842
  return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser2.id)];
1798
1843
  case 23:
1799
- _j.sent();
1844
+ _k.sent();
1800
1845
  return [2 /*return*/];
1801
1846
  }
1802
1847
  });
@@ -2262,7 +2307,7 @@ var ticketEventTests = function () { return __awaiter(void 0, void 0, void 0, fu
2262
2307
  return [4 /*yield*/, sdk.api.endusers.updateOne(enduserWithTeam.id, { journeys: (_b = {}, _b[nullJourney.id] = 'Added (Null)', _b) })];
2263
2308
  case 16:
2264
2309
  _c.sent();
2265
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 2200)]; // wait for tickets to be automatically created
2310
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 2000)]; // wait for tickets to be automatically created
2266
2311
  case 17:
2267
2312
  _c.sent(); // wait for tickets to be automatically created
2268
2313
  return [4 /*yield*/, (0, testing_1.async_test)("Tickets automatically created", function () { return sdk.api.tickets.getSome(); }, { onResult: function (tickets) { return (tickets === null || tickets === void 0 ? void 0 : tickets.length) === 2; } })];
@@ -2727,13 +2772,13 @@ var addToJourneyTests = function () { return __awaiter(void 0, void 0, void 0, f
2727
2772
  case 5:
2728
2773
  // add to journey and re-add
2729
2774
  _a.sent();
2730
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 2250)]; // allow onJourneyStart step to trigger
2775
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 4000)]; // allow onJourneyStart step to trigger
2731
2776
  case 6:
2732
2777
  _a.sent(); // allow onJourneyStart step to trigger
2733
2778
  return [4 /*yield*/, sdk.api.endusers.add_to_journey({ enduserIds: [enduser.id], journeyId: journey.id })];
2734
2779
  case 7:
2735
2780
  _a.sent();
2736
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 2250)]; // allow onJourneyStart step to trigger
2781
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 4000)]; // allow onJourneyStart step to trigger
2737
2782
  case 8:
2738
2783
  _a.sent(); // allow onJourneyStart step to trigger
2739
2784
  return [4 /*yield*/, (0, testing_1.async_test)("Enduser correctly added and re-added", function () { return sdk.api.automated_actions.getSome(); }, { onResult: function (es) { return es.length === 4
@@ -4075,15 +4120,15 @@ var tests = {
4075
4120
  integrations: NO_TEST,
4076
4121
  };
4077
4122
  (function () { return __awaiter(void 0, void 0, void 0, function () {
4078
- var err_1, n, _a, _b, _i, returnValidation, t, _c, _d, _e, err_2;
4079
- var _f, _g;
4080
- return __generator(this, function (_h) {
4081
- switch (_h.label) {
4123
+ var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
4124
+ var _h, _j;
4125
+ return __generator(this, function (_k) {
4126
+ switch (_k.label) {
4082
4127
  case 0:
4083
4128
  (0, testing_1.log_header)("API");
4084
- _h.label = 1;
4129
+ _k.label = 1;
4085
4130
  case 1:
4086
- _h.trys.push([1, 21, , 22]);
4131
+ _k.trys.push([1, 21, , 22]);
4087
4132
  return [4 /*yield*/, Promise.all([
4088
4133
  sdk.authenticate(email, password),
4089
4134
  sdkSub.authenticate(subUserEmail, password),
@@ -4092,64 +4137,64 @@ var tests = {
4092
4137
  sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
4093
4138
  ])];
4094
4139
  case 2:
4095
- _h.sent();
4140
+ _k.sent();
4096
4141
  return [4 /*yield*/, setup_tests()];
4097
4142
  case 3:
4098
- _h.sent();
4143
+ _k.sent();
4099
4144
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
4100
4145
  case 4:
4101
- _h.sent(); // should come right after setup tests
4146
+ _k.sent(); // should come right after setup tests
4102
4147
  return [4 /*yield*/, sub_organization_enduser_tests()];
4103
4148
  case 5:
4104
- _h.sent();
4149
+ _k.sent();
4105
4150
  return [4 /*yield*/, sub_organization_tests()];
4106
4151
  case 6:
4107
- _h.sent();
4152
+ _k.sent();
4108
4153
  return [4 /*yield*/, (0, exports.self_serve_appointment_booking_tests)()];
4109
4154
  case 7:
4110
- _h.sent();
4155
+ _k.sent();
4111
4156
  return [4 /*yield*/, (0, exports.filter_by_date_tests)()];
4112
4157
  case 8:
4113
- _h.sent();
4158
+ _k.sent();
4114
4159
  return [4 /*yield*/, generate_user_auth_tests()];
4115
4160
  case 9:
4116
- _h.sent();
4161
+ _k.sent();
4117
4162
  return [4 /*yield*/, role_based_access_tests()];
4118
4163
  case 10:
4119
- _h.sent();
4164
+ _k.sent();
4120
4165
  return [4 /*yield*/, generateEnduserAuthTests()];
4121
4166
  case 11:
4122
- _h.sent();
4167
+ _k.sent();
4123
4168
  return [4 /*yield*/, public_form_tests()];
4124
4169
  case 12:
4125
- _h.sent();
4170
+ _k.sent();
4126
4171
  return [4 /*yield*/, search_tests()];
4127
4172
  case 13:
4128
- _h.sent();
4173
+ _k.sent();
4129
4174
  return [4 /*yield*/, badInputTests()];
4130
4175
  case 14:
4131
- _h.sent();
4176
+ _k.sent();
4132
4177
  return [4 /*yield*/, filterTests()];
4133
4178
  case 15:
4134
- _h.sent();
4179
+ _k.sent();
4135
4180
  return [4 /*yield*/, updatesTests()];
4136
4181
  case 16:
4137
- _h.sent();
4182
+ _k.sent();
4138
4183
  return [4 /*yield*/, threadKeyTests()];
4139
4184
  case 17:
4140
- _h.sent();
4185
+ _k.sent();
4141
4186
  return [4 /*yield*/, enduserAccessTests()];
4142
4187
  case 18:
4143
- _h.sent();
4188
+ _k.sent();
4144
4189
  return [4 /*yield*/, enduser_session_tests()];
4145
4190
  case 19:
4146
- _h.sent();
4191
+ _k.sent();
4147
4192
  return [4 /*yield*/, enduser_redaction_tests()];
4148
4193
  case 20:
4149
- _h.sent();
4194
+ _k.sent();
4150
4195
  return [3 /*break*/, 22];
4151
4196
  case 21:
4152
- err_1 = _h.sent();
4197
+ err_1 = _k.sent();
4153
4198
  console.error("Failed during custom test");
4154
4199
  if (err_1.message && err_1.info) {
4155
4200
  console.error(err_1.message, JSON.stringify(err_1.info, null, 2));
@@ -4160,15 +4205,18 @@ var tests = {
4160
4205
  process.exit(1);
4161
4206
  return [3 /*break*/, 22];
4162
4207
  case 22:
4163
- _a = [];
4164
- for (_b in schema_1.schema)
4165
- _a.push(_b);
4208
+ _a = schema_1.schema;
4209
+ _b = [];
4210
+ for (_c in _a)
4211
+ _b.push(_c);
4166
4212
  _i = 0;
4167
- _h.label = 23;
4213
+ _k.label = 23;
4168
4214
  case 23:
4169
- if (!(_i < _a.length)) return [3 /*break*/, 26];
4170
- n = _a[_i];
4171
- returnValidation = (_g = (_f = schema_1.schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
4215
+ if (!(_i < _b.length)) return [3 /*break*/, 26];
4216
+ _c = _b[_i];
4217
+ if (!(_c in _a)) return [3 /*break*/, 25];
4218
+ n = _c;
4219
+ returnValidation = (_j = (_h = schema_1.schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
4172
4220
  return [4 /*yield*/, run_generated_tests({
4173
4221
  queries: sdk.api[n],
4174
4222
  model: schema_1.schema[n],
@@ -4178,35 +4226,38 @@ var tests = {
4178
4226
  }
4179
4227
  })];
4180
4228
  case 24:
4181
- _h.sent();
4182
- _h.label = 25;
4229
+ _k.sent();
4230
+ _k.label = 25;
4183
4231
  case 25:
4184
4232
  _i++;
4185
4233
  return [3 /*break*/, 23];
4186
4234
  case 26:
4187
- _c = [];
4188
- for (_d in tests)
4189
- _c.push(_d);
4190
- _e = 0;
4191
- _h.label = 27;
4235
+ _d = tests;
4236
+ _e = [];
4237
+ for (_f in _d)
4238
+ _e.push(_f);
4239
+ _g = 0;
4240
+ _k.label = 27;
4192
4241
  case 27:
4193
- if (!(_e < _c.length)) return [3 /*break*/, 32];
4194
- t = _c[_e];
4195
- _h.label = 28;
4242
+ if (!(_g < _e.length)) return [3 /*break*/, 32];
4243
+ _f = _e[_g];
4244
+ if (!(_f in _d)) return [3 /*break*/, 31];
4245
+ t = _f;
4246
+ _k.label = 28;
4196
4247
  case 28:
4197
- _h.trys.push([28, 30, , 31]);
4248
+ _k.trys.push([28, 30, , 31]);
4198
4249
  return [4 /*yield*/, tests[t]()];
4199
4250
  case 29:
4200
- _h.sent();
4251
+ _k.sent();
4201
4252
  return [3 /*break*/, 31];
4202
4253
  case 30:
4203
- err_2 = _h.sent();
4254
+ err_2 = _k.sent();
4204
4255
  console.error("Error running test:");
4205
4256
  console.error(err_2);
4206
4257
  process.exit(1);
4207
4258
  return [3 /*break*/, 31];
4208
4259
  case 31:
4209
- _e++;
4260
+ _g++;
4210
4261
  return [3 /*break*/, 27];
4211
4262
  case 32:
4212
4263
  process.exit();