@tellescope/sdk 1.247.0 → 1.249.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.
Files changed (126) hide show
  1. package/.env +3 -0
  2. package/lib/cjs/sdk.d.ts +7 -1
  3. package/lib/cjs/sdk.d.ts.map +1 -1
  4. package/lib/cjs/sdk.js +3 -0
  5. package/lib/cjs/sdk.js.map +1 -1
  6. package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts +6 -0
  7. package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts.map +1 -0
  8. package/lib/cjs/tests/api_tests/chats_analytics.test.js +256 -0
  9. package/lib/cjs/tests/api_tests/chats_analytics.test.js.map +1 -0
  10. package/lib/cjs/tests/api_tests/cross_org_api_key.test.d.ts +6 -0
  11. package/lib/cjs/tests/api_tests/cross_org_api_key.test.d.ts.map +1 -0
  12. package/lib/cjs/tests/api_tests/cross_org_api_key.test.js +748 -0
  13. package/lib/cjs/tests/api_tests/cross_org_api_key.test.js.map +1 -0
  14. package/lib/cjs/tests/api_tests/date_string_validation.test.d.ts +6 -0
  15. package/lib/cjs/tests/api_tests/date_string_validation.test.d.ts.map +1 -0
  16. package/lib/cjs/tests/api_tests/date_string_validation.test.js +142 -0
  17. package/lib/cjs/tests/api_tests/date_string_validation.test.js.map +1 -0
  18. package/lib/cjs/tests/api_tests/enduser_session_invalidation.test.d.ts +6 -0
  19. package/lib/cjs/tests/api_tests/enduser_session_invalidation.test.d.ts.map +1 -0
  20. package/lib/cjs/tests/api_tests/enduser_session_invalidation.test.js +667 -0
  21. package/lib/cjs/tests/api_tests/enduser_session_invalidation.test.js.map +1 -0
  22. package/lib/cjs/tests/api_tests/eom_billing_codes.test.d.ts +6 -0
  23. package/lib/cjs/tests/api_tests/eom_billing_codes.test.d.ts.map +1 -0
  24. package/lib/cjs/tests/api_tests/eom_billing_codes.test.js +162 -0
  25. package/lib/cjs/tests/api_tests/eom_billing_codes.test.js.map +1 -0
  26. package/lib/cjs/tests/api_tests/eom_procedure_codes.test.d.ts +6 -0
  27. package/lib/cjs/tests/api_tests/eom_procedure_codes.test.d.ts.map +1 -0
  28. package/lib/cjs/tests/api_tests/eom_procedure_codes.test.js +339 -0
  29. package/lib/cjs/tests/api_tests/eom_procedure_codes.test.js.map +1 -0
  30. package/lib/cjs/tests/api_tests/field_redaction.test.d.ts +13 -0
  31. package/lib/cjs/tests/api_tests/field_redaction.test.d.ts.map +1 -0
  32. package/lib/cjs/tests/api_tests/field_redaction.test.js +818 -0
  33. package/lib/cjs/tests/api_tests/field_redaction.test.js.map +1 -0
  34. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts +6 -0
  35. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -0
  36. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js +429 -0
  37. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js.map +1 -0
  38. package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts +6 -0
  39. package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts.map +1 -0
  40. package/lib/cjs/tests/api_tests/integrations_redacted.test.js +273 -0
  41. package/lib/cjs/tests/api_tests/integrations_redacted.test.js.map +1 -0
  42. package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts +13 -0
  43. package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -0
  44. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js +385 -0
  45. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js.map +1 -0
  46. package/lib/cjs/tests/api_tests/openloop_webhooks.test.d.ts.map +1 -1
  47. package/lib/cjs/tests/api_tests/openloop_webhooks.test.js +108 -24
  48. package/lib/cjs/tests/api_tests/openloop_webhooks.test.js.map +1 -1
  49. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
  50. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js +25 -2
  51. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
  52. package/lib/cjs/tests/tests.d.ts.map +1 -1
  53. package/lib/cjs/tests/tests.js +310 -183
  54. package/lib/cjs/tests/tests.js.map +1 -1
  55. package/lib/esm/sdk.d.ts +9 -3
  56. package/lib/esm/sdk.d.ts.map +1 -1
  57. package/lib/esm/sdk.js +3 -0
  58. package/lib/esm/sdk.js.map +1 -1
  59. package/lib/esm/session.d.ts +1 -0
  60. package/lib/esm/session.d.ts.map +1 -1
  61. package/lib/esm/tests/api_tests/chats_analytics.test.d.ts +6 -0
  62. package/lib/esm/tests/api_tests/chats_analytics.test.d.ts.map +1 -0
  63. package/lib/esm/tests/api_tests/chats_analytics.test.js +252 -0
  64. package/lib/esm/tests/api_tests/chats_analytics.test.js.map +1 -0
  65. package/lib/esm/tests/api_tests/cross_org_api_key.test.d.ts +6 -0
  66. package/lib/esm/tests/api_tests/cross_org_api_key.test.d.ts.map +1 -0
  67. package/lib/esm/tests/api_tests/cross_org_api_key.test.js +744 -0
  68. package/lib/esm/tests/api_tests/cross_org_api_key.test.js.map +1 -0
  69. package/lib/esm/tests/api_tests/date_string_validation.test.d.ts +6 -0
  70. package/lib/esm/tests/api_tests/date_string_validation.test.d.ts.map +1 -0
  71. package/lib/esm/tests/api_tests/date_string_validation.test.js +138 -0
  72. package/lib/esm/tests/api_tests/date_string_validation.test.js.map +1 -0
  73. package/lib/esm/tests/api_tests/enduser_session_invalidation.test.d.ts +6 -0
  74. package/lib/esm/tests/api_tests/enduser_session_invalidation.test.d.ts.map +1 -0
  75. package/lib/esm/tests/api_tests/enduser_session_invalidation.test.js +663 -0
  76. package/lib/esm/tests/api_tests/enduser_session_invalidation.test.js.map +1 -0
  77. package/lib/esm/tests/api_tests/eom_billing_codes.test.d.ts +6 -0
  78. package/lib/esm/tests/api_tests/eom_billing_codes.test.d.ts.map +1 -0
  79. package/lib/esm/tests/api_tests/eom_billing_codes.test.js +158 -0
  80. package/lib/esm/tests/api_tests/eom_billing_codes.test.js.map +1 -0
  81. package/lib/esm/tests/api_tests/eom_procedure_codes.test.d.ts +6 -0
  82. package/lib/esm/tests/api_tests/eom_procedure_codes.test.d.ts.map +1 -0
  83. package/lib/esm/tests/api_tests/eom_procedure_codes.test.js +335 -0
  84. package/lib/esm/tests/api_tests/eom_procedure_codes.test.js.map +1 -0
  85. package/lib/esm/tests/api_tests/field_redaction.test.d.ts +13 -0
  86. package/lib/esm/tests/api_tests/field_redaction.test.d.ts.map +1 -0
  87. package/lib/esm/tests/api_tests/field_redaction.test.js +814 -0
  88. package/lib/esm/tests/api_tests/field_redaction.test.js.map +1 -0
  89. package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts +6 -0
  90. package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -0
  91. package/lib/esm/tests/api_tests/form_submitted_trigger.test.js +425 -0
  92. package/lib/esm/tests/api_tests/form_submitted_trigger.test.js.map +1 -0
  93. package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts +6 -0
  94. package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts.map +1 -0
  95. package/lib/esm/tests/api_tests/integrations_redacted.test.js +269 -0
  96. package/lib/esm/tests/api_tests/integrations_redacted.test.js.map +1 -0
  97. package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts +13 -0
  98. package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -0
  99. package/lib/esm/tests/api_tests/managed_content_file_access.test.js +358 -0
  100. package/lib/esm/tests/api_tests/managed_content_file_access.test.js.map +1 -0
  101. package/lib/esm/tests/api_tests/openloop_webhooks.test.d.ts.map +1 -1
  102. package/lib/esm/tests/api_tests/openloop_webhooks.test.js +108 -24
  103. package/lib/esm/tests/api_tests/openloop_webhooks.test.js.map +1 -1
  104. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
  105. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js +25 -2
  106. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
  107. package/lib/esm/tests/tests.d.ts.map +1 -1
  108. package/lib/esm/tests/tests.js +310 -183
  109. package/lib/esm/tests/tests.js.map +1 -1
  110. package/lib/tsconfig.tsbuildinfo +1 -1
  111. package/package.json +10 -10
  112. package/src/sdk.ts +14 -0
  113. package/src/tests/api_tests/chats_analytics.test.ts +182 -0
  114. package/src/tests/api_tests/cross_org_api_key.test.ts +665 -0
  115. package/src/tests/api_tests/date_string_validation.test.ts +107 -0
  116. package/src/tests/api_tests/enduser_session_invalidation.test.ts +361 -0
  117. package/src/tests/api_tests/eom_procedure_codes.test.ts +296 -0
  118. package/src/tests/api_tests/field_redaction.test.ts +669 -0
  119. package/src/tests/api_tests/form_started_trigger.test.ts +1 -1
  120. package/src/tests/api_tests/form_submitted_trigger.test.ts +281 -0
  121. package/src/tests/api_tests/integrations_redacted.test.ts +245 -0
  122. package/src/tests/api_tests/managed_content_file_access.test.ts +214 -0
  123. package/src/tests/api_tests/openloop_webhooks.test.ts +64 -0
  124. package/src/tests/api_tests/organization_settings_duplicates.test.ts +14 -0
  125. package/src/tests/tests.ts +95 -7
  126. package/test_generated.pdf +0 -0
@@ -0,0 +1,385 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ var __generator = (this && this.__generator) || function (thisArg, body) {
46
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
+ function verb(n) { return function (v) { return step([n, v]); }; }
49
+ function step(op) {
50
+ if (f) throw new TypeError("Generator is already executing.");
51
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
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
+ if (y = 0, t) op = [op[0] & 2, t.value];
54
+ switch (op[0]) {
55
+ case 0: case 1: t = op; break;
56
+ case 4: _.label++; return { value: op[1], done: false };
57
+ case 5: _.label++; y = op[1]; op = [0]; continue;
58
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
+ default:
60
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
+ if (t[2]) _.ops.pop();
65
+ _.trys.pop(); continue;
66
+ }
67
+ op = body.call(thisArg, _);
68
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
+ }
71
+ };
72
+ Object.defineProperty(exports, "__esModule", { value: true });
73
+ exports.managed_content_file_access_tests = void 0;
74
+ require('source-map-support').install();
75
+ var buffer = __importStar(require("buffer"));
76
+ var sdk_1 = require("../../sdk");
77
+ var testing_1 = require("@tellescope/testing");
78
+ var setup_1 = require("../setup");
79
+ var host = process.env.API_URL || 'http://localhost:8080';
80
+ var businessId = '60398b1131a295e64f084ff6';
81
+ /**
82
+ * Tests for file_download_URL enduser access via managed content fallback.
83
+ *
84
+ * Verifies the backend fallback logic that allows endusers to access files
85
+ * attached to managed content records they have access to, even when the
86
+ * file itself does not have enduserId set or publicRead: true.
87
+ */
88
+ var managed_content_file_access_tests = function (_a) {
89
+ var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
90
+ return __awaiter(void 0, void 0, void 0, function () {
91
+ var contentRecordIds, assignmentIds, fileIds, testEnduserId, otherEnduserId, enduserSDK, otherEnduserSDK, uploadFile, testEnduser, otherEnduser, fileForAll_1, contentAll, fileForIndividual_1, contentIndividual, fileNoContent_1, fileWithEnduser_1, filePublic_1, _i, assignmentIds_1, assignmentId, _b, contentRecordIds_1, recordId, _c, fileIds_1, fileId, error_1;
92
+ return __generator(this, function (_d) {
93
+ switch (_d.label) {
94
+ case 0:
95
+ (0, testing_1.log_header)("Managed Content File Access Tests");
96
+ contentRecordIds = [];
97
+ assignmentIds = [];
98
+ fileIds = [];
99
+ uploadFile = function (name, opts) {
100
+ if (opts === void 0) { opts = {}; }
101
+ return __awaiter(void 0, void 0, void 0, function () {
102
+ var buff, _a, presignedUpload, file;
103
+ return __generator(this, function (_b) {
104
+ switch (_b.label) {
105
+ case 0:
106
+ buff = buffer.Buffer.from("test file content for ".concat(name));
107
+ return [4 /*yield*/, sdk.api.files.prepare_file_upload(__assign({ name: name, type: 'text/plain', size: buff.byteLength }, opts))];
108
+ case 1:
109
+ _a = _b.sent(), presignedUpload = _a.presignedUpload, file = _a.file;
110
+ return [4 /*yield*/, sdk.UPLOAD(presignedUpload, buff)];
111
+ case 2:
112
+ _b.sent();
113
+ return [4 /*yield*/, sdk.api.files.confirm_file_upload({ id: file.id })];
114
+ case 3:
115
+ _b.sent();
116
+ fileIds.push(file.id);
117
+ return [2 /*return*/, file];
118
+ }
119
+ });
120
+ });
121
+ };
122
+ _d.label = 1;
123
+ case 1:
124
+ _d.trys.push([1, , 21, 41]);
125
+ console.log("Setting up test data...");
126
+ return [4 /*yield*/, sdk.api.endusers.createOne({
127
+ email: "mcr_file_access_test_".concat(Date.now(), "@test.tellescope.com"),
128
+ })];
129
+ case 2:
130
+ testEnduser = _d.sent();
131
+ testEnduserId = testEnduser.id;
132
+ return [4 /*yield*/, sdk.api.endusers.set_password({ id: testEnduser.id, password: 'TestPassword123!' })];
133
+ case 3:
134
+ _d.sent();
135
+ return [4 /*yield*/, sdk.api.endusers.createOne({
136
+ email: "mcr_file_access_other_".concat(Date.now(), "@test.tellescope.com"),
137
+ })];
138
+ case 4:
139
+ otherEnduser = _d.sent();
140
+ otherEnduserId = otherEnduser.id;
141
+ return [4 /*yield*/, sdk.api.endusers.set_password({ id: otherEnduser.id, password: 'TestPassword123!' })];
142
+ case 5:
143
+ _d.sent();
144
+ enduserSDK = new sdk_1.EnduserSession({ host: host, businessId: businessId });
145
+ return [4 /*yield*/, enduserSDK.authenticate(testEnduser.email, 'TestPassword123!')];
146
+ case 6:
147
+ _d.sent();
148
+ otherEnduserSDK = new sdk_1.EnduserSession({ host: host, businessId: businessId });
149
+ return [4 /*yield*/, otherEnduserSDK.authenticate(otherEnduser.email, 'TestPassword123!')
150
+ // ===== Test 1: File attached to assignmentType: 'All' content - enduser CAN access =====
151
+ ];
152
+ case 7:
153
+ _d.sent();
154
+ return [4 /*yield*/, uploadFile('mcr-file-all.txt')];
155
+ case 8:
156
+ fileForAll_1 = _d.sent();
157
+ return [4 /*yield*/, sdk.api.managed_content_records.createOne({
158
+ title: 'MCR File Access - All',
159
+ htmlContent: '<p>All</p>',
160
+ textContent: 'All',
161
+ assignmentType: 'All',
162
+ attachments: [{ secureName: fileForAll_1.secureName, type: 'file', name: fileForAll_1.name }],
163
+ })];
164
+ case 9:
165
+ contentAll = _d.sent();
166
+ contentRecordIds.push(contentAll.id);
167
+ return [4 /*yield*/, (0, testing_1.async_test)('staff-uploaded file in assignmentType:All content - enduser CAN access', function () { return __awaiter(void 0, void 0, void 0, function () {
168
+ var result;
169
+ return __generator(this, function (_a) {
170
+ switch (_a.label) {
171
+ case 0: return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: fileForAll_1.secureName })];
172
+ case 1:
173
+ result = _a.sent();
174
+ return [2 /*return*/, !!(result === null || result === void 0 ? void 0 : result.downloadURL)];
175
+ }
176
+ });
177
+ }); }, { onResult: function (r) { return r === true; } })
178
+ // ===== Test 2: File attached to Individual content for enduser A - enduser B CANNOT access =====
179
+ ];
180
+ case 10:
181
+ _d.sent();
182
+ return [4 /*yield*/, uploadFile('mcr-file-individual.txt')];
183
+ case 11:
184
+ fileForIndividual_1 = _d.sent();
185
+ return [4 /*yield*/, sdk.api.managed_content_records.createOne({
186
+ title: 'MCR File Access - Individual',
187
+ htmlContent: '<p>Individual</p>',
188
+ textContent: 'Individual',
189
+ enduserId: testEnduser.id,
190
+ attachments: [{ secureName: fileForIndividual_1.secureName, type: 'file', name: fileForIndividual_1.name }],
191
+ })];
192
+ case 12:
193
+ contentIndividual = _d.sent();
194
+ contentRecordIds.push(contentIndividual.id);
195
+ return [4 /*yield*/, (0, testing_1.async_test)('file attached to Individual content - assigned enduser CAN access', function () { return __awaiter(void 0, void 0, void 0, function () {
196
+ var result;
197
+ return __generator(this, function (_a) {
198
+ switch (_a.label) {
199
+ case 0: return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: fileForIndividual_1.secureName })];
200
+ case 1:
201
+ result = _a.sent();
202
+ return [2 /*return*/, !!(result === null || result === void 0 ? void 0 : result.downloadURL)];
203
+ }
204
+ });
205
+ }); }, { onResult: function (r) { return r === true; } })];
206
+ case 13:
207
+ _d.sent();
208
+ return [4 /*yield*/, (0, testing_1.async_test)('file attached to Individual content - unassigned enduser CANNOT access', function () { return __awaiter(void 0, void 0, void 0, function () {
209
+ var err_1;
210
+ return __generator(this, function (_a) {
211
+ switch (_a.label) {
212
+ case 0:
213
+ _a.trys.push([0, 2, , 3]);
214
+ return [4 /*yield*/, otherEnduserSDK.api.files.file_download_URL({ secureName: fileForIndividual_1.secureName })];
215
+ case 1:
216
+ _a.sent();
217
+ return [2 /*return*/, false];
218
+ case 2:
219
+ err_1 = _a.sent();
220
+ return [2 /*return*/, true];
221
+ case 3: return [2 /*return*/];
222
+ }
223
+ });
224
+ }); }, { onResult: function (r) { return r === true; } })
225
+ // ===== Test 3: File not attached to any managed content - enduser CANNOT access =====
226
+ ];
227
+ case 14:
228
+ _d.sent();
229
+ return [4 /*yield*/, uploadFile('mcr-file-no-content.txt')];
230
+ case 15:
231
+ fileNoContent_1 = _d.sent();
232
+ return [4 /*yield*/, (0, testing_1.async_test)('file not attached to any managed content - enduser CANNOT access', function () { return __awaiter(void 0, void 0, void 0, function () {
233
+ var err_2;
234
+ return __generator(this, function (_a) {
235
+ switch (_a.label) {
236
+ case 0:
237
+ _a.trys.push([0, 2, , 3]);
238
+ return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: fileNoContent_1.secureName })];
239
+ case 1:
240
+ _a.sent();
241
+ return [2 /*return*/, false];
242
+ case 2:
243
+ err_2 = _a.sent();
244
+ return [2 /*return*/, true];
245
+ case 3: return [2 /*return*/];
246
+ }
247
+ });
248
+ }); }, { onResult: function (r) { return r === true; } })
249
+ // ===== Test 4: File with enduserId set - existing behavior preserved =====
250
+ ];
251
+ case 16:
252
+ _d.sent();
253
+ return [4 /*yield*/, uploadFile('mcr-file-with-enduser.txt', { enduserId: testEnduser.id })];
254
+ case 17:
255
+ fileWithEnduser_1 = _d.sent();
256
+ return [4 /*yield*/, (0, testing_1.async_test)('file with enduserId set - enduser CAN access (no fallback needed)', function () { return __awaiter(void 0, void 0, void 0, function () {
257
+ var result;
258
+ return __generator(this, function (_a) {
259
+ switch (_a.label) {
260
+ case 0: return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: fileWithEnduser_1.secureName })];
261
+ case 1:
262
+ result = _a.sent();
263
+ return [2 /*return*/, !!(result === null || result === void 0 ? void 0 : result.downloadURL)];
264
+ }
265
+ });
266
+ }); }, { onResult: function (r) { return r === true; } })
267
+ // ===== Test 5: File with publicRead: true - existing behavior preserved =====
268
+ ];
269
+ case 18:
270
+ _d.sent();
271
+ return [4 /*yield*/, uploadFile('mcr-file-public.txt', { publicRead: true })];
272
+ case 19:
273
+ filePublic_1 = _d.sent();
274
+ return [4 /*yield*/, (0, testing_1.async_test)('file with publicRead - enduser CAN access', function () { return __awaiter(void 0, void 0, void 0, function () {
275
+ var result;
276
+ return __generator(this, function (_a) {
277
+ switch (_a.label) {
278
+ case 0: return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: filePublic_1.secureName })];
279
+ case 1:
280
+ result = _a.sent();
281
+ return [2 /*return*/, !!(result === null || result === void 0 ? void 0 : result.downloadURL)];
282
+ }
283
+ });
284
+ }); }, { onResult: function (r) { return r === true; } })];
285
+ case 20:
286
+ _d.sent();
287
+ console.log("All Managed Content File Access tests passed!");
288
+ return [3 /*break*/, 41];
289
+ case 21:
290
+ console.log("Cleaning up test data...");
291
+ _d.label = 22;
292
+ case 22:
293
+ _d.trys.push([22, 39, , 40]);
294
+ _i = 0, assignmentIds_1 = assignmentIds;
295
+ _d.label = 23;
296
+ case 23:
297
+ if (!(_i < assignmentIds_1.length)) return [3 /*break*/, 26];
298
+ assignmentId = assignmentIds_1[_i];
299
+ return [4 /*yield*/, sdk.api.managed_content_record_assignments.deleteOne(assignmentId).catch(function () { })];
300
+ case 24:
301
+ _d.sent();
302
+ _d.label = 25;
303
+ case 25:
304
+ _i++;
305
+ return [3 /*break*/, 23];
306
+ case 26:
307
+ _b = 0, contentRecordIds_1 = contentRecordIds;
308
+ _d.label = 27;
309
+ case 27:
310
+ if (!(_b < contentRecordIds_1.length)) return [3 /*break*/, 30];
311
+ recordId = contentRecordIds_1[_b];
312
+ return [4 /*yield*/, sdk.api.managed_content_records.deleteOne(recordId).catch(function () { })];
313
+ case 28:
314
+ _d.sent();
315
+ _d.label = 29;
316
+ case 29:
317
+ _b++;
318
+ return [3 /*break*/, 27];
319
+ case 30:
320
+ _c = 0, fileIds_1 = fileIds;
321
+ _d.label = 31;
322
+ case 31:
323
+ if (!(_c < fileIds_1.length)) return [3 /*break*/, 34];
324
+ fileId = fileIds_1[_c];
325
+ return [4 /*yield*/, sdk.api.files.deleteOne(fileId).catch(function () { })];
326
+ case 32:
327
+ _d.sent();
328
+ _d.label = 33;
329
+ case 33:
330
+ _c++;
331
+ return [3 /*break*/, 31];
332
+ case 34:
333
+ if (!testEnduserId) return [3 /*break*/, 36];
334
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(testEnduserId).catch(function () { })];
335
+ case 35:
336
+ _d.sent();
337
+ _d.label = 36;
338
+ case 36:
339
+ if (!otherEnduserId) return [3 /*break*/, 38];
340
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(otherEnduserId).catch(function () { })];
341
+ case 37:
342
+ _d.sent();
343
+ _d.label = 38;
344
+ case 38:
345
+ console.log("Cleanup completed");
346
+ return [3 /*break*/, 40];
347
+ case 39:
348
+ error_1 = _d.sent();
349
+ console.error('Cleanup error:', error_1);
350
+ return [3 /*break*/, 40];
351
+ case 40: return [7 /*endfinally*/];
352
+ case 41: return [2 /*return*/];
353
+ }
354
+ });
355
+ });
356
+ };
357
+ exports.managed_content_file_access_tests = managed_content_file_access_tests;
358
+ if (require.main === module) {
359
+ console.log("Using API URL: ".concat(host));
360
+ var sdk_2 = new sdk_1.Session({ host: host });
361
+ var sdkNonAdmin_1 = new sdk_1.Session({ host: host });
362
+ var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
363
+ return __generator(this, function (_a) {
364
+ switch (_a.label) {
365
+ case 0: return [4 /*yield*/, (0, setup_1.setup_tests)(sdk_2, sdkNonAdmin_1)];
366
+ case 1:
367
+ _a.sent();
368
+ return [4 /*yield*/, (0, exports.managed_content_file_access_tests)({ sdk: sdk_2, sdkNonAdmin: sdkNonAdmin_1 })];
369
+ case 2:
370
+ _a.sent();
371
+ return [2 /*return*/];
372
+ }
373
+ });
374
+ }); };
375
+ runTests()
376
+ .then(function () {
377
+ console.log("Managed content file access test suite completed successfully");
378
+ process.exit(0);
379
+ })
380
+ .catch(function (error) {
381
+ console.error("Managed content file access test suite failed:", error);
382
+ process.exit(1);
383
+ });
384
+ }
385
+ //# sourceMappingURL=managed_content_file_access.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed_content_file_access.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/managed_content_file_access.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openloop_webhooks.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/openloop_webhooks.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2EnC,eAAO,MAAM,uBAAuB;SAAuC,OAAO;iBAAe,OAAO;mBAkjBvG,CAAA"}
1
+ {"version":3,"file":"openloop_webhooks.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/openloop_webhooks.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2EnC,eAAO,MAAM,uBAAuB;SAAuC,OAAO;iBAAe,OAAO;mBAknBvG,CAAA"}