@memberjunction/storage 2.40.0 → 2.42.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.
@@ -125,6 +125,22 @@ export declare class BoxFileStorage extends FileStorageBase {
125
125
  * @throws Error if token acquisition fails
126
126
  */
127
127
  private _setAccessToken;
128
+ /**
129
+ * Returns the current Box API access token
130
+ *
131
+ * This method ensures a valid token is available before returning it,
132
+ * refreshing or generating a new token if necessary.
133
+ *
134
+ * @returns A Promise that resolves to a valid access token string
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * // Get a valid Box access token
139
+ * const token = await storage.AccessToken();
140
+ * console.log(`Using access token: ${token}`);
141
+ * ```
142
+ */
143
+ AccessToken(): Promise<string>;
128
144
  /**
129
145
  * Ensures a valid access token is available for API requests
130
146
  *
@@ -388,6 +404,53 @@ export declare class BoxFileStorage extends FileStorageBase {
388
404
  * ```
389
405
  */
390
406
  CreateDirectory(directoryPath: string): Promise<boolean>;
407
+ /**
408
+ * Gets file representation information for a Box file
409
+ *
410
+ * This method retrieves information about available representations
411
+ * (such as thumbnails, previews, or other formats) for a specific file.
412
+ *
413
+ * @param fileId - The Box file ID to get representations for
414
+ * @param repHints - The representation hints string (format and options)
415
+ * @returns A Promise that resolves to a JSON object containing representations data
416
+ * @throws Error if the request fails
417
+ *
418
+ * @remarks
419
+ * - Requires a valid file ID (not a path)
420
+ * - The repHints parameter controls what type of representations are returned
421
+ * - Common representation types include thumbnails, preview images, and text extractions
422
+ *
423
+ * @example
424
+ * ```typescript
425
+ * try {
426
+ * // Get a high-resolution PNG representation of a file
427
+ * const fileId = '12345';
428
+ * const representations = await storage.GetFileRepresentations(
429
+ * fileId,
430
+ * 'png?dimensions=2048x2048'
431
+ * );
432
+ *
433
+ * // Process the representation information
434
+ * console.log('Available representations:', representations);
435
+ * } catch (error) {
436
+ * console.error('Error getting representations:', error.message);
437
+ * }
438
+ * ```
439
+ */
440
+ GetFileRepresentations(fileId: string, repHints?: string): Promise<JSON>;
441
+ /**
442
+ * Helper function for making HTTP requests
443
+ *
444
+ * This method provides a Promise-based wrapper around Node.js https requests,
445
+ * simplifying the process of making API calls to the Box API.
446
+ *
447
+ * @private
448
+ * @param options - The HTTPS request options (URL, method, headers, etc.)
449
+ * @param data - Optional string data to send with the request
450
+ * @returns A Promise that resolves to the response data as a string
451
+ * @throws Error if the request fails or returns a non-2xx status code
452
+ */
453
+ private _makeRequest;
391
454
  /**
392
455
  * Deletes a directory from Box storage
393
456
  *
@@ -609,5 +672,18 @@ export declare class BoxFileStorage extends FileStorageBase {
609
672
  * ```
610
673
  */
611
674
  DirectoryExists(directoryPath: string): Promise<boolean>;
675
+ /**
676
+ * Finds a Box folder ID by traversing a path string
677
+ *
678
+ * This helper method navigates through the Box folder hierarchy,
679
+ * following each segment of the path to find the ID of the target folder.
680
+ * It uses pagination to handle large folders efficiently.
681
+ *
682
+ * @private
683
+ * @param path - The path string to resolve (e.g., 'documents/reports/2023')
684
+ * @returns A Promise that resolves to the Box folder ID
685
+ * @throws Error if any segment of the path cannot be found
686
+ */
687
+ private _findFolderIdByPath;
612
688
  }
613
689
  //# sourceMappingURL=BoxFileStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoxFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/BoxFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoxFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/BoxFileStorage.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ const global_1 = require("@memberjunction/global");
37
37
  const env = __importStar(require("env-var"));
38
38
  const mime = __importStar(require("mime-types"));
39
39
  const FileStorageBase_1 = require("../generic/FileStorageBase");
40
+ const https = __importStar(require("https"));
40
41
  /**
41
42
  * FileStorageBase implementation for Box.com cloud storage
42
43
  *
@@ -182,6 +183,25 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
182
183
  throw new Error('Failed to authenticate with Box: ' + error.message);
183
184
  }
184
185
  }
186
+ /**
187
+ * Returns the current Box API access token
188
+ *
189
+ * This method ensures a valid token is available before returning it,
190
+ * refreshing or generating a new token if necessary.
191
+ *
192
+ * @returns A Promise that resolves to a valid access token string
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * // Get a valid Box access token
197
+ * const token = await storage.AccessToken();
198
+ * console.log(`Using access token: ${token}`);
199
+ * ```
200
+ */
201
+ async AccessToken() {
202
+ await this._ensureValidToken();
203
+ return this._accessToken;
204
+ }
185
205
  /**
186
206
  * Ensures a valid access token is available for API requests
187
207
  *
@@ -282,6 +302,16 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
282
302
  if (endpoint.startsWith('/files/') && endpoint.includes('/content') && response.ok) {
283
303
  return response;
284
304
  }
305
+ // If the response is not JSON, handle it specially
306
+ const contentType = response.headers.get('content-type');
307
+ if (contentType && !contentType.includes('application/json')) {
308
+ if (response.ok) {
309
+ return response;
310
+ }
311
+ else {
312
+ throw new Error(`Box API error: ${response.status} - ${response.statusText}`);
313
+ }
314
+ }
285
315
  const data = await response.json();
286
316
  if (!response.ok) {
287
317
  console.error('Box API error', { status: response.status, data });
@@ -332,29 +362,50 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
332
362
  * @throws Error if the item does not exist
333
363
  */
334
364
  async _getIdFromPath(path) {
335
- const parsedPath = this._parsePath(path);
336
- // If we already have the ID, return it
337
- if (parsedPath.id) {
338
- return parsedPath.id;
339
- }
340
- // If it's the root, return the root folder ID
341
- if (!parsedPath.name) {
342
- return this._rootFolderId;
343
- }
344
- // Get the parent folder ID
345
- let parentId = this._rootFolderId;
346
- if (parsedPath.parent) {
347
- parentId = await this._getIdFromPath(parsedPath.parent);
365
+ try {
366
+ // Parse the path
367
+ const parsedPath = this._parsePath(path);
368
+ // If the id is already in the path, return it
369
+ if (parsedPath.id) {
370
+ return parsedPath.id;
371
+ }
372
+ // If it's root, return root folder id
373
+ if (!parsedPath.name) {
374
+ return this._rootFolderId;
375
+ }
376
+ // First, find the parent folder ID
377
+ let parentFolderId = this._rootFolderId;
378
+ if (parsedPath.parent) {
379
+ parentFolderId = await this._findFolderIdByPath(parsedPath.parent);
380
+ }
381
+ // Search for the item with pagination support
382
+ let offset = 0;
383
+ let hasMoreItems = true;
384
+ const LIMIT = 1000;
385
+ while (hasMoreItems) {
386
+ const folderItems = await this._apiRequest(`/folders/${parentFolderId}/items`, 'GET', null, {
387
+ 'fields': 'name,type,id',
388
+ 'limit': `${LIMIT}`,
389
+ 'offset': `${offset}`
390
+ });
391
+ // Look for the item by name
392
+ const item = folderItems.entries.find((i) => i.name === parsedPath.name);
393
+ if (item) {
394
+ return item.id;
395
+ }
396
+ // Update pagination variables
397
+ offset += folderItems.entries.length;
398
+ // Check if we've processed all items
399
+ hasMoreItems = folderItems.entries.length === LIMIT && offset < folderItems.total_count;
400
+ }
401
+ // If we get here, the item was not found
402
+ console.log(`Item not found: ${parsedPath.name}`);
403
+ return null;
348
404
  }
349
- // Search for the item in the parent folder
350
- const result = await this._apiRequest(`/folders/${parentId}/items`, 'GET', null, {
351
- 'fields': 'id,name,type'
352
- });
353
- const item = result.entries.find(entry => entry.name === parsedPath.name);
354
- if (!item) {
355
- throw new Error(`Item not found: ${path}`);
405
+ catch (error) {
406
+ console.error('Error in _getIdFromPath', { path, error });
407
+ return null;
356
408
  }
357
- return item.id;
358
409
  }
359
410
  /**
360
411
  * Converts a Box API item to StorageObjectMetadata
@@ -730,43 +781,164 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
730
781
  */
731
782
  async CreateDirectory(directoryPath) {
732
783
  try {
784
+ // Root directory always exists
785
+ if (!directoryPath || directoryPath === '/' || directoryPath === '') {
786
+ return true;
787
+ }
733
788
  // Remove trailing slash if present
734
789
  const normalizedPath = directoryPath.endsWith('/')
735
790
  ? directoryPath.substring(0, directoryPath.length - 1)
736
791
  : directoryPath;
737
- // Check if directory already exists
792
+ // First check if directory already exists
738
793
  try {
739
- await this._getIdFromPath(normalizedPath);
740
- return true; // Directory already exists
794
+ if (await this.DirectoryExists(normalizedPath)) {
795
+ return true;
796
+ }
741
797
  }
742
798
  catch (error) {
743
- // Directory doesn't exist, create it
799
+ // Ignore error, we'll try to create it anyway
744
800
  }
745
- // Get parent folder info
746
- const parsedPath = this._parsePath(normalizedPath);
747
- let parentId = this._rootFolderId;
748
- if (parsedPath.parent) {
801
+ // Parse the path to get parent folder and name
802
+ const lastSlashIndex = normalizedPath.lastIndexOf('/');
803
+ const parentPath = lastSlashIndex > 0 ? normalizedPath.substring(0, lastSlashIndex) : '';
804
+ const folderName = lastSlashIndex > 0 ? normalizedPath.substring(lastSlashIndex + 1) : normalizedPath;
805
+ // Make sure parent folder exists
806
+ let parentFolderId = '0'; // Default to root
807
+ if (parentPath) {
749
808
  try {
750
- parentId = await this._getIdFromPath(parsedPath.parent);
809
+ // Recursive call to ensure parent directory exists
810
+ const parentDirExists = await this.CreateDirectory(parentPath);
811
+ if (!parentDirExists) {
812
+ console.log(`Failed to create parent directory: ${parentPath}`);
813
+ return false;
814
+ }
815
+ // Get the parent folder ID
816
+ parentFolderId = await this._findFolderIdByPath(parentPath);
751
817
  }
752
818
  catch (error) {
753
- // Create parent directory recursively
754
- await this.CreateDirectory(parsedPath.parent);
755
- parentId = await this._getIdFromPath(parsedPath.parent);
819
+ console.error(`Error ensuring parent folder exists: ${error.message}`);
820
+ return false;
756
821
  }
757
822
  }
758
823
  // Create the folder
759
- await this._apiRequest('/folders', 'POST', {
760
- name: parsedPath.name,
761
- parent: { id: parentId }
762
- });
763
- return true;
824
+ try {
825
+ await this._apiRequest('/folders', 'POST', {
826
+ name: folderName,
827
+ parent: { id: parentFolderId }
828
+ });
829
+ console.log(`✅ Folder created successfully: ${normalizedPath}`);
830
+ return true;
831
+ }
832
+ catch (error) {
833
+ // Handle conflicts - if the folder already exists, that's a success
834
+ if (error.message && (error.message.includes('409') ||
835
+ error.message.includes('item_name_in_use'))) {
836
+ console.log(`Folder already exists (conflict): ${normalizedPath}`);
837
+ return true;
838
+ }
839
+ console.error(`Error creating folder: ${error.message || JSON.stringify(error)}`);
840
+ return false;
841
+ }
764
842
  }
765
843
  catch (error) {
766
844
  console.error('Error creating directory', { directoryPath, error });
767
845
  return false;
768
846
  }
769
847
  }
848
+ ;
849
+ /**
850
+ * Gets file representation information for a Box file
851
+ *
852
+ * This method retrieves information about available representations
853
+ * (such as thumbnails, previews, or other formats) for a specific file.
854
+ *
855
+ * @param fileId - The Box file ID to get representations for
856
+ * @param repHints - The representation hints string (format and options)
857
+ * @returns A Promise that resolves to a JSON object containing representations data
858
+ * @throws Error if the request fails
859
+ *
860
+ * @remarks
861
+ * - Requires a valid file ID (not a path)
862
+ * - The repHints parameter controls what type of representations are returned
863
+ * - Common representation types include thumbnails, preview images, and text extractions
864
+ *
865
+ * @example
866
+ * ```typescript
867
+ * try {
868
+ * // Get a high-resolution PNG representation of a file
869
+ * const fileId = '12345';
870
+ * const representations = await storage.GetFileRepresentations(
871
+ * fileId,
872
+ * 'png?dimensions=2048x2048'
873
+ * );
874
+ *
875
+ * // Process the representation information
876
+ * console.log('Available representations:', representations);
877
+ * } catch (error) {
878
+ * console.error('Error getting representations:', error.message);
879
+ * }
880
+ * ```
881
+ */
882
+ async GetFileRepresentations(fileId, repHints = 'png?dimensions=2048x2048') {
883
+ try {
884
+ const token = await this._ensureValidToken();
885
+ const response = await fetch(`${this._baseApiUrl}/files/${fileId}?fields=representations`, {
886
+ method: 'GET',
887
+ headers: {
888
+ 'Authorization': `Bearer ${token}`,
889
+ 'Content-Type': 'application/json',
890
+ 'X-Rep-Hints': repHints
891
+ }
892
+ });
893
+ if (!response.ok) {
894
+ throw new Error(`Failed to get file representations: ${response.status} ${response.statusText}`);
895
+ }
896
+ const data = await response.json();
897
+ return data;
898
+ }
899
+ catch (error) {
900
+ console.error('Error getting file representations:', error);
901
+ throw error;
902
+ }
903
+ }
904
+ ;
905
+ /**
906
+ * Helper function for making HTTP requests
907
+ *
908
+ * This method provides a Promise-based wrapper around Node.js https requests,
909
+ * simplifying the process of making API calls to the Box API.
910
+ *
911
+ * @private
912
+ * @param options - The HTTPS request options (URL, method, headers, etc.)
913
+ * @param data - Optional string data to send with the request
914
+ * @returns A Promise that resolves to the response data as a string
915
+ * @throws Error if the request fails or returns a non-2xx status code
916
+ */
917
+ async _makeRequest(options, data) {
918
+ return new Promise((resolve, reject) => {
919
+ const req = https.request(options, (res) => {
920
+ let responseData = '';
921
+ res.on('data', (chunk) => {
922
+ responseData += chunk;
923
+ });
924
+ res.on('end', () => {
925
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
926
+ resolve(responseData);
927
+ }
928
+ else {
929
+ reject(new Error(`Request failed with status code ${res.statusCode}: ${responseData}`));
930
+ }
931
+ });
932
+ });
933
+ req.on('error', (error) => {
934
+ reject(error);
935
+ });
936
+ if (data) {
937
+ req.write(data);
938
+ }
939
+ req.end();
940
+ });
941
+ }
770
942
  /**
771
943
  * Deletes a directory from Box storage
772
944
  *
@@ -919,18 +1091,64 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
919
1091
  */
920
1092
  async GetObject(objectName) {
921
1093
  try {
922
- const fileId = await this._getIdFromPath(objectName);
923
- // Download the file
924
- const response = await this._apiRequest(`/files/${fileId}/content`, 'GET');
925
- // Convert response to buffer
926
- const arrayBuffer = await response.arrayBuffer();
927
- return Buffer.from(arrayBuffer);
1094
+ // Extract directory path and filename
1095
+ const lastSlashIndex = objectName.lastIndexOf('/');
1096
+ const directoryPath = lastSlashIndex === -1 ? '' : objectName.substring(0, lastSlashIndex);
1097
+ const fileName = lastSlashIndex === -1 ? objectName : objectName.substring(lastSlashIndex + 1);
1098
+ // Find folder ID for the directory
1099
+ try {
1100
+ const folderId = await this._findFolderIdByPath(directoryPath);
1101
+ // Use pagination to handle large folders
1102
+ let file = null;
1103
+ let offset = 0;
1104
+ let hasMoreItems = true;
1105
+ const LIMIT = 1000;
1106
+ while (hasMoreItems && !file) {
1107
+ const folderItems = await this._apiRequest(`/folders/${folderId}/items`, 'GET', null, {
1108
+ 'fields': 'name,type,id,size,created_at,modified_at',
1109
+ 'limit': `${LIMIT}`,
1110
+ 'offset': `${offset}`
1111
+ });
1112
+ // Look for the file
1113
+ file = folderItems.entries.find((item) => item.type === 'file' && item.name === fileName);
1114
+ // If file is found, break out of pagination loop
1115
+ if (file) {
1116
+ break;
1117
+ }
1118
+ // Update pagination variables
1119
+ offset += folderItems.entries.length;
1120
+ // Check if we've processed all items
1121
+ hasMoreItems = folderItems.entries.length === LIMIT && offset < folderItems.total_count;
1122
+ }
1123
+ if (file) {
1124
+ console.log(`✅ File found: ${file.name} (${file.id})`);
1125
+ // Use the file ID to get the content
1126
+ const fileResponse = await this._apiRequest(`/files/${file.id}/content`, 'GET');
1127
+ // If the API request returned a response object (for direct download)
1128
+ if (fileResponse instanceof Response) {
1129
+ const arrayBuffer = await fileResponse.arrayBuffer();
1130
+ return Buffer.from(arrayBuffer);
1131
+ }
1132
+ else {
1133
+ throw new Error('Unexpected response format when downloading file');
1134
+ }
1135
+ }
1136
+ else {
1137
+ console.log(`❌ File not found in directory`);
1138
+ throw new Error(`File not found: ${fileName}`);
1139
+ }
1140
+ }
1141
+ catch (error) {
1142
+ console.log(`❌ Error finding file: ${error}`);
1143
+ throw error;
1144
+ }
928
1145
  }
929
1146
  catch (error) {
930
1147
  console.error('Error getting object', { objectName, error });
931
1148
  throw new Error(`Failed to get object: ${objectName}`);
932
1149
  }
933
1150
  }
1151
+ ;
934
1152
  /**
935
1153
  * Uploads a file to Box storage
936
1154
  *
@@ -976,85 +1194,61 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
976
1194
  */
977
1195
  async PutObject(objectName, data, contentType, metadata) {
978
1196
  try {
1197
+ console.log(`PutObject: ${objectName}`);
979
1198
  // Get the parent folder ID and file name
980
1199
  const parsedPath = this._parsePath(objectName);
981
1200
  let parentId = this._rootFolderId;
982
1201
  if (parsedPath.parent) {
983
1202
  try {
984
- parentId = await this._getIdFromPath(parsedPath.parent);
1203
+ // First ensure the parent directory exists (create it if needed)
1204
+ const parentDirExists = await this.CreateDirectory(parsedPath.parent);
1205
+ if (!parentDirExists) {
1206
+ console.error(`Failed to ensure parent directory exists: ${parsedPath.parent}`);
1207
+ return false;
1208
+ }
1209
+ // Find folder ID using path resolution
1210
+ parentId = await this._findFolderIdByPath(parsedPath.parent);
985
1211
  }
986
1212
  catch (error) {
987
- // If parent folder doesn't exist, create it recursively
988
- await this.CreateDirectory(parsedPath.parent);
989
- parentId = await this._getIdFromPath(parsedPath.parent);
1213
+ console.error(`Error resolving parent folder: ${error.message}`);
1214
+ return false;
990
1215
  }
991
1216
  }
992
1217
  // Check if file already exists
993
- let fileId = null;
1218
+ const fileId = await this._getIdFromPath(objectName);
1219
+ const formData = new FormData();
1220
+ // Add file metadata
1221
+ const fileMetadata = {
1222
+ name: parsedPath.name,
1223
+ parent: { id: parentId }
1224
+ };
1225
+ formData.append('attributes', JSON.stringify(fileMetadata));
1226
+ // Create a file blob with the correct content type
1227
+ const fileBlob = new Blob([data], { type: contentType || 'application/octet-stream' });
1228
+ formData.append('file', fileBlob, parsedPath.name);
1229
+ // Upload the file
1230
+ const endpoint = fileId ? `/files/${fileId}/content` : '/files/content';
1231
+ console.log(`Uploading file using endpoint: ${endpoint}`);
994
1232
  try {
995
- fileId = await this._getIdFromPath(objectName);
996
- }
997
- catch (error) {
998
- // File doesn't exist, will create new
999
- }
1000
- // Use multipart upload for small files (<50MB)
1001
- if (data.length < 50 * 1024 * 1024) {
1002
- const formData = new FormData();
1003
- // Add file metadata
1004
- const fileMetadata = {
1005
- name: parsedPath.name,
1006
- parent: { id: parentId }
1007
- };
1008
- formData.append('attributes', JSON.stringify(fileMetadata));
1009
- // Create a file blob with the correct content type
1010
- const fileBlob = new Blob([data], { type: contentType || 'application/octet-stream' });
1011
- formData.append('file', fileBlob, parsedPath.name);
1012
- // Upload the file
1013
- const endpoint = fileId ? `/files/${fileId}/content` : '/files/content';
1014
1233
  await this._apiRequest(endpoint, 'POST', formData, {}, this._uploadApiUrl);
1234
+ console.log(`✅ File uploaded successfully: ${objectName}`);
1235
+ return true;
1015
1236
  }
1016
- else {
1017
- // Use chunked upload for larger files
1018
- // Create upload session
1019
- const session = await this._apiRequest('/files/upload_sessions', 'POST', {
1020
- folder_id: parentId,
1021
- file_name: parsedPath.name,
1022
- file_size: data.length
1023
- }, {}, this._uploadApiUrl);
1024
- const sessionId = session.id;
1025
- const CHUNK_SIZE = 8 * 1024 * 1024; // 8MB chunks
1026
- let offset = 0;
1027
- const totalSize = data.length;
1028
- const parts = [];
1029
- // Upload chunks
1030
- while (offset < totalSize) {
1031
- const chunkEnd = Math.min(offset + CHUNK_SIZE, totalSize);
1032
- const chunkSize = chunkEnd - offset;
1033
- const chunk = data.slice(offset, chunkEnd);
1034
- const headers = {
1035
- 'Content-Type': 'application/octet-stream',
1036
- 'Digest': `sha=1234`, // Replace with actual SHA-1 digest
1037
- 'Content-Range': `bytes ${offset}-${chunkEnd - 1}/${totalSize}`
1038
- };
1039
- const uploadResponse = await this._apiRequest(`/files/upload_sessions/${sessionId}`, 'PUT', chunk, headers, this._uploadApiUrl);
1040
- parts.push({
1041
- part_id: uploadResponse.part.part_id,
1042
- offset,
1043
- size: chunkSize,
1044
- sha1: uploadResponse.part.sha1
1045
- });
1046
- offset = chunkEnd;
1237
+ catch (uploadError) {
1238
+ console.error(`Error uploading file: ${uploadError.message}`);
1239
+ if (uploadError.message && uploadError.message.includes('item_name_in_use')) {
1240
+ console.log(`File already exists (conflict): ${objectName}`);
1241
+ return false;
1047
1242
  }
1048
- // Commit the upload session
1049
- await this._apiRequest(`/files/upload_sessions/${sessionId}/commit`, 'POST', { parts }, { 'Content-Type': 'application/json' }, this._uploadApiUrl);
1243
+ return false;
1050
1244
  }
1051
- return true;
1052
1245
  }
1053
1246
  catch (error) {
1054
1247
  console.error('Error putting object', { objectName, error });
1055
1248
  return false;
1056
1249
  }
1057
1250
  }
1251
+ ;
1058
1252
  /**
1059
1253
  * Copies a file from one location to another
1060
1254
  *
@@ -1142,8 +1336,8 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
1142
1336
  */
1143
1337
  async ObjectExists(objectName) {
1144
1338
  try {
1145
- await this._getIdFromPath(objectName);
1146
- return true;
1339
+ const id = await this._getIdFromPath(objectName);
1340
+ return id !== null;
1147
1341
  }
1148
1342
  catch (error) {
1149
1343
  return false;
@@ -1178,18 +1372,100 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
1178
1372
  */
1179
1373
  async DirectoryExists(directoryPath) {
1180
1374
  try {
1375
+ // Root directory always exists
1376
+ if (!directoryPath || directoryPath === '/' || directoryPath === '') {
1377
+ return true;
1378
+ }
1181
1379
  // Remove trailing slash if present
1182
1380
  const normalizedPath = directoryPath.endsWith('/')
1183
1381
  ? directoryPath.substring(0, directoryPath.length - 1)
1184
1382
  : directoryPath;
1185
- const itemId = await this._getIdFromPath(normalizedPath);
1186
- const itemInfo = await this._apiRequest(`/folders/${itemId}`);
1187
- return itemInfo.type === 'folder';
1383
+ try {
1384
+ const folderId = await this._findFolderIdByPath(normalizedPath);
1385
+ console.log(`✅ Directory ${normalizedPath} exists with ID: ${folderId}`);
1386
+ // Make a direct call to verify it's a folder
1387
+ try {
1388
+ const folderInfo = await this._apiRequest(`/folders/${folderId}`, 'GET');
1389
+ return folderInfo.type === 'folder';
1390
+ }
1391
+ catch (error) {
1392
+ // If we can't get the folder info, it's not a valid folder
1393
+ console.log(`Item with ID ${folderId} exists but is not a folder`);
1394
+ return false;
1395
+ }
1396
+ }
1397
+ catch (error) {
1398
+ console.log(`❌ Directory ${normalizedPath} does not exist`);
1399
+ return false;
1400
+ }
1188
1401
  }
1189
1402
  catch (error) {
1403
+ console.error('Error checking directory exists', { directoryPath, error });
1190
1404
  return false;
1191
1405
  }
1192
1406
  }
1407
+ /**
1408
+ * Finds a Box folder ID by traversing a path string
1409
+ *
1410
+ * This helper method navigates through the Box folder hierarchy,
1411
+ * following each segment of the path to find the ID of the target folder.
1412
+ * It uses pagination to handle large folders efficiently.
1413
+ *
1414
+ * @private
1415
+ * @param path - The path string to resolve (e.g., 'documents/reports/2023')
1416
+ * @returns A Promise that resolves to the Box folder ID
1417
+ * @throws Error if any segment of the path cannot be found
1418
+ */
1419
+ async _findFolderIdByPath(path) {
1420
+ try {
1421
+ // Split the path into segments
1422
+ const pathSegments = path.split('/').filter(segment => segment.length > 0);
1423
+ // Handle "All Files" special case - it's not an actual folder name in the API
1424
+ if (pathSegments.length > 0 && pathSegments[0] === 'All Files') {
1425
+ pathSegments.shift(); // Remove "All Files" from the path
1426
+ }
1427
+ let currentFolderId = this._rootFolderId; // Start from root
1428
+ if (pathSegments.length === 0) {
1429
+ return currentFolderId; // Return root folder ID if path is empty
1430
+ }
1431
+ // Traverse the path
1432
+ for (const segment of pathSegments) {
1433
+ // Use pagination to handle large folders
1434
+ let folder = null;
1435
+ let offset = 0;
1436
+ let hasMoreItems = true;
1437
+ const LIMIT = 1000;
1438
+ while (hasMoreItems && !folder) {
1439
+ const items = await this._apiRequest(`/folders/${currentFolderId}/items`, 'GET', null, {
1440
+ 'fields': 'name,type,id',
1441
+ 'limit': `${LIMIT}`,
1442
+ 'offset': `${offset}`
1443
+ });
1444
+ // Filter to only folders
1445
+ const folders = items.entries.filter((item) => item.type === 'folder');
1446
+ // Look for the target folder
1447
+ folder = folders.find((item) => item.name === segment);
1448
+ // If folder is found, break out of pagination loop
1449
+ if (folder) {
1450
+ break;
1451
+ }
1452
+ // Update pagination variables
1453
+ offset += items.entries.length;
1454
+ // Check if we've processed all items
1455
+ hasMoreItems = items.entries.length === LIMIT && offset < items.total_count;
1456
+ }
1457
+ if (!folder) {
1458
+ throw new Error(`Folder not found: ${segment}`);
1459
+ }
1460
+ currentFolderId = folder.id;
1461
+ }
1462
+ return currentFolderId;
1463
+ }
1464
+ catch (error) {
1465
+ console.error('Error finding folder by path:', error);
1466
+ throw error;
1467
+ }
1468
+ }
1193
1469
  };
1194
1470
  exports.BoxFileStorage = BoxFileStorage;
1195
1471
  exports.BoxFileStorage = BoxFileStorage = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"BoxFileStorage.js","sourceRoot":"","sources":["../../src/drivers/BoxFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoxFileStorage.js","sourceRoot":"","sources":["../../src/drivers/BoxFileStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAuD;AACvD,6CAA+B;AAC/B,iDAAmC;AACnC,gEAKoC;AACpC,6CAA+B;AAW/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,iCAAe;IAmDjD;;;;;;;OAOG;IACH;QACE,KAAK,EAAE,CAAC;QA3DV;;WAEG;QACgB,iBAAY,GAAG,KAAK,CAAC;QAsBxC;;WAEG;QACK,oBAAe,GAAW,CAAC,CAAC;QAEpC;;WAEG;QACK,gBAAW,GAAW,yBAAyB,CAAC;QAExD;;WAEG;QACK,kBAAa,GAAW,gCAAgC,CAAC;QAuB/D,oDAAoD;QACpD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC;QAErE,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QACjH,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,UAAU;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,kCAAkC,EAAE;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;iBACpD;gBACD,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,UAAU,EAAE,oBAAoB;oBAChC,gBAAgB,EAAE,YAAY;oBAC9B,cAAc,EAAE,IAAI,CAAC,aAAa;iBACnC,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,+BAA+B;QAClG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,WAAW;QACtB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,iBAAiB;QAC7B,mCAAmC;QACnC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QAED,0DAA0D;QAC1D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,kCAAkC,EAAE;oBAC/D,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,mCAAmC;qBACpD;oBACD,IAAI,EAAE,IAAI,eAAe,CAAC;wBACxB,UAAU,EAAE,eAAe;wBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;wBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;qBAClC,CAAC;iBACH,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;gBACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;gBAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,+BAA+B;gBAErG,OAAO,IAAI,CAAC,YAAY,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAC1D,sDAAsD;YACxD,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,YAAY,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;gBAC9E,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,KAAK,CAAC,WAAW,CACvB,QAAgB,EAChB,SAAiB,KAAK,EACtB,IAAU,EACV,UAAkC,EAAE,EACpC,UAAkB,IAAI,CAAC,WAAW;QAElC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE7C,MAAM,cAAc,GAA2B;YAC7C,eAAe,EAAE,UAAU,KAAK,EAAE;YAClC,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,eAAe,CAAC,EAAE,CAAC;YAC1G,cAAc,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YACpD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM;YACN,OAAO,EAAE,cAAc;YACvB,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC,CAAC,sBAAsB;QACrC,CAAC;QAED,sDAAsD;QACtD,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YACnF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,mDAAmD;QACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7D,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACK,UAAU,CAAC,IAAY;QAC7B,yBAAyB;QACzB,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACzC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC1D,CAAC;QAED,sCAAsC;QACtC,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,+BAA+B;QAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErC,wBAAwB;QACxB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,cAAc,CAAC,IAAY;QACvC,IAAI,CAAC;YACH,iBAAiB;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEzC,8CAA8C;YAC9C,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,UAAU,CAAC,EAAE,CAAC;YACvB,CAAC;YAED,sCAAsC;YACtC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,aAAa,CAAC;YAC5B,CAAC;YAED,mCAAmC;YACnC,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACrE,CAAC;YAED,8CAA8C;YAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC;YAEnB,OAAO,YAAY,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,cAAc,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC1F,QAAQ,EAAE,cAAc;oBACxB,OAAO,EAAE,GAAG,KAAK,EAAE;oBACnB,QAAQ,EAAE,GAAG,MAAM,EAAE;iBACtB,CAAC,CAAC;gBAEH,4BAA4B;gBAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;gBAElF,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;gBAErC,qCAAqC;gBACrC,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;YAC1F,CAAC;YAED,yCAAyC;YACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,kBAAkB,CAAC,IAAS,EAAE,aAAqB,EAAE;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,sBAAsB;QACtB,MAAM,IAAI,GAAG,UAAU,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjD,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YACxC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACxB,yBAAyB,CAAC,CAAC;gBAC3B,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC;YACxE,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACzE,WAAW;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE;gBACd,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACI,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QACpD,IAAI,CAAC;YACH,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;YAElC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,wDAAwD;oBACxD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBACtB,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBAC9C,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,MAAM,EAAE;gBACpE,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,UAAU,CAAC,IAAI;gBAC1B,SAAS,EAAE,CAAC,CAAC,2CAA2C;aACzD,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAE3B,gEAAgE;YAChE,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW;gBAC7C,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE;aAChD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,wBAAwB,CAAC,UAAkB;QACtD,IAAI,CAAC;YACH,+DAA+D;YAC/D,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YAED,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAErD,mDAAmD;YACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,MAAM,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAEnF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,UAAU,CAAC,aAAqB,EAAE,aAAqB;QAClE,IAAI,CAAC;YACH,kBAAkB;YAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;YAEhE,uBAAuB;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAChD,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YAEtC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC5C,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,EAAE,KAAK,EAAE;gBACtD,MAAM,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;gBAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC;YACH,mCAAmC;YACnC,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACxE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;YAE5D,kBAAkB;YAClB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YAEzD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACI,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,SAAS,GAAG,GAAG;QACtD,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+CAA+C;gBAC/C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACvC,CAAC;YAED,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,QAAQ,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC/E,QAAQ,EAAE,wEAAwE;aACnF,CAAC,CAAC;YAEH,MAAM,OAAO,GAA4B,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,kBAAkB;YAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAErD,oCAAoC;gBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,UAAU,GAAG,MAAM;wBACvB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC/E,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBAEf,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACI,KAAK,CAAC,eAAe,CAAC,aAAqB;QAChD,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,GAAG,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,mCAAmC;YACnC,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAChD,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;gBACtD,CAAC,CAAC,aAAa,CAAC;YAElB,0CAA0C;YAC1C,IAAI,CAAC;gBACH,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC/C,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,8CAA8C;YAChD,CAAC;YACD,+CAA+C;YAC/C,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,UAAU,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAEtG,iCAAiC;YACjC,IAAI,cAAc,GAAG,GAAG,CAAC,CAAC,kBAAkB;YAC5C,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,mDAAmD;oBACnD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;wBAChE,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,2BAA2B;oBAC3B,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvE,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE;oBACzC,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE;iBAC/B,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oEAAoE;gBACpE,IAAI,KAAK,CAAC,OAAO,IAAI,CACjB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC7B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAC3C,EAAE,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,qCAAqC,cAAc,EAAE,CAAC,CAAC;oBACnE,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,0BAA0B,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAA,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACI,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,WAAmB,0BAA0B;QAC/F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,MAAM,yBAAyB,EAAE;gBACzF,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,eAAe,EAAE,UAAU,KAAK,EAAE;oBAClC,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,QAAQ;iBACxB;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAAA,CAAC;IAEF;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,YAAY,CAAC,OAA6B,EAAE,IAAa;QACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzC,IAAI,YAAY,GAAG,EAAE,CAAC;gBACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,YAAY,IAAI,KAAK,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;wBACpE,OAAO,CAAC,YAAY,CAAC,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC;oBAC1F,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACT,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACI,KAAK,CAAC,eAAe,CAAC,aAAqB,EAAE,SAAS,GAAG,KAAK;QACnE,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAChD,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;gBACtD,CAAC,CAAC,aAAa,CAAC;YAElB,gBAAgB;YAChB,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+CAA+C;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,QAAQ,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;oBACjF,OAAO,EAAE,GAAG;iBACb,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC7D,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aAC1C,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAErD,qCAAqC;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC;YAE5F,oBAAoB;YACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;gBACjE,QAAQ,EAAE,wEAAwE;aACnF,CAAC,CAAC;YAEH,gCAAgC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACI,KAAK,CAAC,SAAS,CAAC,UAAkB;QACvC,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,aAAa,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YAE/F,mCAAmC;YACnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;gBAE/D,yCAAyC;gBACzC,IAAI,IAAI,GAAG,IAAI,CAAC;gBAChB,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,YAAY,GAAG,IAAI,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC;gBAEnB,OAAO,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,QAAQ,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;wBACpF,QAAQ,EAAE,0CAA0C;wBACpD,OAAO,EAAE,GAAG,KAAK,EAAE;wBACnB,QAAQ,EAAE,GAAG,MAAM,EAAE;qBACtB,CAAC,CAAC;oBAEH,oBAAoB;oBACpB,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAa,EAAE,EAAE,CAChD,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAC/C,CAAC;oBAEF,iDAAiD;oBACjD,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM;oBACR,CAAC;oBAED,8BAA8B;oBAC9B,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;oBAErC,qCAAqC;oBACrC,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;gBAC1F,CAAC;gBAED,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;oBAEvD,qCAAqC;oBACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEhF,sEAAsE;oBACtE,IAAI,YAAY,YAAY,QAAQ,EAAE,CAAC;wBACrC,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;wBACrD,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;gBAC9C,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAA,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACI,KAAK,CAAC,SAAS,CACpB,UAAkB,EAClB,IAAY,EACZ,WAAoB,EACpB,QAAiC;QAEjC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;YAExC,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE/C,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;YAClC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,iEAAiE;oBACjE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBACtE,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,OAAO,CAAC,KAAK,CAAC,6CAA6C,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;wBAChF,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,uCAAuC;oBACvC,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACjE,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAEhC,oBAAoB;YACpB,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;aACzB,CAAC;YAEF,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YAE5D,mDAAmD;YACnD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,IAAI,0BAA0B,EAAE,CAAC,CAAC;YACvF,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAEnD,kBAAkB;YAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;YAE1D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,yBAAyB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9D,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC5E,OAAO,CAAC,GAAG,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;oBAC7D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,UAAU,CAAC,gBAAwB,EAAE,qBAA6B;QAC7E,IAAI,CAAC;YACH,kBAAkB;YAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;YAEhE,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,uBAAuB;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;YACxD,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YAEtC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC5C,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,QAAQ,OAAO,EAAE,MAAM,EAAE;gBACxD,MAAM,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;gBAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1F,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,EAAE,KAAK,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACI,KAAK,CAAC,eAAe,CAAC,aAAqB;QAChD,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,GAAG,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,mCAAmC;YACnC,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAChD,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;gBACtD,CAAC,CAAC,aAAa,CAAC;YAElB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,oBAAoB,QAAQ,EAAE,CAAC,CAAC;gBAEzE,6CAA6C;gBAC7C,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;oBACzE,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACtC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,2DAA2D;oBAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,6BAA6B,CAAC,CAAC;oBACnE,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,iBAAiB,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAC5C,IAAI,CAAC;YACH,+BAA+B;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE3E,8EAA8E;YAC9E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC/D,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,mCAAmC;YAC3D,CAAC;YAED,IAAI,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,kBAAkB;YAE5D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,eAAe,CAAC,CAAC,yCAAyC;YACnE,CAAC;YAED,oBAAoB;YACpB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,yCAAyC;gBACzC,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,YAAY,GAAG,IAAI,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC;gBAEnB,OAAO,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,eAAe,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;wBACrF,QAAQ,EAAE,cAAc;wBACxB,OAAO,EAAE,GAAG,KAAK,EAAE;wBACnB,QAAQ,EAAE,GAAG,MAAM,EAAE;qBACtB,CAAC,CAAC;oBAEH,yBAAyB;oBACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;oBAE5E,6BAA6B;oBAC7B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;oBAE5D,mDAAmD;oBACnD,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM;oBACR,CAAC;oBAED,8BAA8B;oBAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAE/B,qCAAqC;oBACrC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;gBAC9E,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;gBAClD,CAAC;gBAED,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;YAC9B,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA//CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,sBAAa,EAAC,iCAAe,EAAE,iBAAiB,CAAC;;GACrC,cAAc,CA+/C1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/storage",
3
- "version": "2.40.0",
3
+ "version": "2.42.0",
4
4
  "description": "This library provides a set of objects that handle the interface between the server-side API and various cloud storage providers.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,17 +25,17 @@
25
25
  "@azure/identity": "^4.0.1",
26
26
  "@azure/storage-blob": "^12.17.0",
27
27
  "@google-cloud/storage": "^7.9.0",
28
- "@microsoft/microsoft-graph-client": "^3.0.7",
29
- "@microsoft/microsoft-graph-types": "^2.40.0",
28
+ "@memberjunction/core": "2.42.0",
29
+ "@memberjunction/core-entities": "2.42.0",
30
+ "@memberjunction/global": "2.42.0",
30
31
  "@microsoft/mgt-element": "^3.1.3",
31
32
  "@microsoft/mgt-msal2-provider": "^3.1.3",
32
33
  "@microsoft/mgt-sharepoint-provider": "^3.1.3",
33
- "googleapis": "^134.0.0",
34
+ "@microsoft/microsoft-graph-client": "^3.0.7",
35
+ "@microsoft/microsoft-graph-types": "^2.40.0",
34
36
  "dropbox": "^10.34.0",
35
- "@memberjunction/core": "2.40.0",
36
- "@memberjunction/core-entities": "2.40.0",
37
- "@memberjunction/global": "2.40.0",
38
37
  "env-var": "^7.4.1",
38
+ "googleapis": "^134.0.0",
39
39
  "mime-types": "^2.1.35"
40
40
  }
41
41
  }