@memberjunction/storage 2.40.0 → 2.41.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.
@@ -88,6 +88,10 @@ export declare class BoxFileStorage extends FileStorageBase {
88
88
  * Box enterprise ID for JWT auth
89
89
  */
90
90
  private _enterpriseId;
91
+ /**
92
+ * Box Client
93
+ */
94
+ private _client;
91
95
  /**
92
96
  * Creates a new BoxFileStorage instance
93
97
  *
@@ -114,6 +118,16 @@ export declare class BoxFileStorage extends FileStorageBase {
114
118
  * ```
115
119
  */
116
120
  initialize(): Promise<void>;
121
+ /**
122
+ * Initializes the Box client instance
123
+ *
124
+ * This method creates a new Box SDK client using the current credentials
125
+ * and access token, making it ready for API operations.
126
+ *
127
+ * @private
128
+ * @returns A Promise that resolves when the client is initialized
129
+ */
130
+ private _setClient;
117
131
  /**
118
132
  * Obtains an access token using client credentials flow
119
133
  *
@@ -125,6 +139,41 @@ export declare class BoxFileStorage extends FileStorageBase {
125
139
  * @throws Error if token acquisition fails
126
140
  */
127
141
  private _setAccessToken;
142
+ /**
143
+ * Returns the current Box API access token
144
+ *
145
+ * This method ensures a valid token is available before returning it,
146
+ * refreshing or generating a new token if necessary.
147
+ *
148
+ * @returns A Promise that resolves to a valid access token string
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // Get a valid Box access token
153
+ * const token = await storage.AccessToken();
154
+ * console.log(`Using access token: ${token}`);
155
+ * ```
156
+ */
157
+ AccessToken(): Promise<string>;
158
+ /**
159
+ * Returns the current Box client instance
160
+ *
161
+ * This method ensures a valid token is available before returning the client,
162
+ * refreshing or generating a new token if necessary.
163
+ *
164
+ * @returns A Promise that resolves to the authenticated Box client instance
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * // Get the Box client for direct API access
169
+ * const client = await storage.BoxClient();
170
+ *
171
+ * // Use the client for Box SDK operations
172
+ * const user = await client.users.get('me');
173
+ * console.log(`Current user: ${user.name}`);
174
+ * ```
175
+ */
176
+ BoxClient(): Promise<any>;
128
177
  /**
129
178
  * Ensures a valid access token is available for API requests
130
179
  *
@@ -388,6 +437,53 @@ export declare class BoxFileStorage extends FileStorageBase {
388
437
  * ```
389
438
  */
390
439
  CreateDirectory(directoryPath: string): Promise<boolean>;
440
+ /**
441
+ * Gets file representation information for a Box file
442
+ *
443
+ * This method retrieves information about available representations
444
+ * (such as thumbnails, previews, or other formats) for a specific file.
445
+ *
446
+ * @param fileId - The Box file ID to get representations for
447
+ * @param repHints - The representation hints string (format and options)
448
+ * @returns A Promise that resolves to a JSON object containing representations data
449
+ * @throws Error if the request fails
450
+ *
451
+ * @remarks
452
+ * - Requires a valid file ID (not a path)
453
+ * - The repHints parameter controls what type of representations are returned
454
+ * - Common representation types include thumbnails, preview images, and text extractions
455
+ *
456
+ * @example
457
+ * ```typescript
458
+ * try {
459
+ * // Get a high-resolution PNG representation of a file
460
+ * const fileId = '12345';
461
+ * const representations = await storage.GetFileRepresentations(
462
+ * fileId,
463
+ * 'png?dimensions=2048x2048'
464
+ * );
465
+ *
466
+ * // Process the representation information
467
+ * console.log('Available representations:', representations);
468
+ * } catch (error) {
469
+ * console.error('Error getting representations:', error.message);
470
+ * }
471
+ * ```
472
+ */
473
+ GetFileRepresentations(fileId: string, repHints?: string): Promise<JSON>;
474
+ /**
475
+ * Helper function for making HTTP requests
476
+ *
477
+ * This method provides a Promise-based wrapper around Node.js https requests,
478
+ * simplifying the process of making API calls to the Box API.
479
+ *
480
+ * @private
481
+ * @param options - The HTTPS request options (URL, method, headers, etc.)
482
+ * @param data - Optional string data to send with the request
483
+ * @returns A Promise that resolves to the response data as a string
484
+ * @throws Error if the request fails or returns a non-2xx status code
485
+ */
486
+ private _makeRequest;
391
487
  /**
392
488
  * Deletes a directory from Box storage
393
489
  *
@@ -609,5 +705,18 @@ export declare class BoxFileStorage extends FileStorageBase {
609
705
  * ```
610
706
  */
611
707
  DirectoryExists(directoryPath: string): Promise<boolean>;
708
+ /**
709
+ * Finds a Box folder ID by traversing a path string
710
+ *
711
+ * This helper method navigates through the Box folder hierarchy,
712
+ * following each segment of the path to find the ID of the target folder.
713
+ * It uses pagination to handle large folders efficiently.
714
+ *
715
+ * @private
716
+ * @param path - The path string to resolve (e.g., 'documents/reports/2023')
717
+ * @returns A Promise that resolves to the Box folder ID
718
+ * @throws Error if any segment of the path cannot be found
719
+ */
720
+ private _findFolderIdByPath;
612
721
  }
613
722
  //# 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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"}
@@ -31,12 +31,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
31
31
  var __metadata = (this && this.__metadata) || function (k, v) {
32
32
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
33
  };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
34
37
  Object.defineProperty(exports, "__esModule", { value: true });
35
38
  exports.BoxFileStorage = void 0;
36
39
  const global_1 = require("@memberjunction/global");
37
40
  const env = __importStar(require("env-var"));
38
41
  const mime = __importStar(require("mime-types"));
39
42
  const FileStorageBase_1 = require("../generic/FileStorageBase");
43
+ const box_node_sdk_1 = __importDefault(require("box-node-sdk"));
44
+ const https = __importStar(require("https"));
40
45
  /**
41
46
  * FileStorageBase implementation for Box.com cloud storage
42
47
  *
@@ -143,6 +148,23 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
143
148
  if (!this._accessToken && this._clientId && this._clientSecret && this._enterpriseId) {
144
149
  await this._setAccessToken();
145
150
  }
151
+ await this._setClient();
152
+ }
153
+ /**
154
+ * Initializes the Box client instance
155
+ *
156
+ * This method creates a new Box SDK client using the current credentials
157
+ * and access token, making it ready for API operations.
158
+ *
159
+ * @private
160
+ * @returns A Promise that resolves when the client is initialized
161
+ */
162
+ async _setClient() {
163
+ const sdk = await new box_node_sdk_1.default({
164
+ clientID: this._clientId,
165
+ clientSecret: this._clientSecret
166
+ });
167
+ this._client = await sdk.getBasicClient(this._accessToken);
146
168
  }
147
169
  /**
148
170
  * Obtains an access token using client credentials flow
@@ -182,6 +204,47 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
182
204
  throw new Error('Failed to authenticate with Box: ' + error.message);
183
205
  }
184
206
  }
207
+ /**
208
+ * Returns the current Box API access token
209
+ *
210
+ * This method ensures a valid token is available before returning it,
211
+ * refreshing or generating a new token if necessary.
212
+ *
213
+ * @returns A Promise that resolves to a valid access token string
214
+ *
215
+ * @example
216
+ * ```typescript
217
+ * // Get a valid Box access token
218
+ * const token = await storage.AccessToken();
219
+ * console.log(`Using access token: ${token}`);
220
+ * ```
221
+ */
222
+ async AccessToken() {
223
+ await this._ensureValidToken();
224
+ return this._accessToken;
225
+ }
226
+ /**
227
+ * Returns the current Box client instance
228
+ *
229
+ * This method ensures a valid token is available before returning the client,
230
+ * refreshing or generating a new token if necessary.
231
+ *
232
+ * @returns A Promise that resolves to the authenticated Box client instance
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * // Get the Box client for direct API access
237
+ * const client = await storage.BoxClient();
238
+ *
239
+ * // Use the client for Box SDK operations
240
+ * const user = await client.users.get('me');
241
+ * console.log(`Current user: ${user.name}`);
242
+ * ```
243
+ */
244
+ async BoxClient() {
245
+ await this._ensureValidToken();
246
+ return this._client;
247
+ }
185
248
  /**
186
249
  * Ensures a valid access token is available for API requests
187
250
  *
@@ -219,6 +282,7 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
219
282
  this._accessToken = data.access_token;
220
283
  this._refreshToken = data.refresh_token || this._refreshToken;
221
284
  this._tokenExpiresAt = Date.now() + (data.expires_in * 1000) - 60000; // Subtract 1 minute for safety
285
+ await this._setClient();
222
286
  return this._accessToken;
223
287
  }
224
288
  catch (error) {
@@ -230,6 +294,7 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
230
294
  if (this._clientId && this._clientSecret && this._enterpriseId) {
231
295
  try {
232
296
  await this._setAccessToken();
297
+ await this._setClient();
233
298
  return this._accessToken;
234
299
  }
235
300
  catch (error) {
@@ -332,29 +397,51 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
332
397
  * @throws Error if the item does not exist
333
398
  */
334
399
  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);
400
+ try {
401
+ // Parse the path
402
+ const parsedPath = this._parsePath(path);
403
+ // If the id is already in the path, return it
404
+ if (parsedPath.id) {
405
+ return parsedPath.id;
406
+ }
407
+ // If it's root, return root folder id
408
+ if (!parsedPath.name) {
409
+ return this._rootFolderId;
410
+ }
411
+ // First, find the parent folder ID
412
+ let parentFolderId = this._rootFolderId;
413
+ if (parsedPath.parent) {
414
+ parentFolderId = await this._findFolderIdByPath(parsedPath.parent);
415
+ }
416
+ // Search for the item with pagination support
417
+ let offset = 0;
418
+ let hasMoreItems = true;
419
+ const LIMIT = 1000;
420
+ while (hasMoreItems) {
421
+ await this._ensureValidToken();
422
+ const items = await this._client.folders.getItems(parentFolderId, {
423
+ fields: 'name,type,id',
424
+ limit: LIMIT,
425
+ offset: offset
426
+ });
427
+ // Look for the item by name
428
+ const item = items.entries.find((i) => i.name === parsedPath.name);
429
+ if (item) {
430
+ return item.id;
431
+ }
432
+ // Update pagination variables
433
+ offset += items.entries.length;
434
+ // Check if we've processed all items
435
+ hasMoreItems = items.entries.length === LIMIT && offset < items.total_count;
436
+ }
437
+ // If we get here, the item was not found
438
+ console.log(`Item not found: ${parsedPath.name}`);
439
+ return null;
348
440
  }
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}`);
441
+ catch (error) {
442
+ console.error('Error in _getIdFromPath', { path, error });
443
+ return null;
356
444
  }
357
- return item.id;
358
445
  }
359
446
  /**
360
447
  * Converts a Box API item to StorageObjectMetadata
@@ -730,43 +817,164 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
730
817
  */
731
818
  async CreateDirectory(directoryPath) {
732
819
  try {
820
+ // Root directory always exists
821
+ if (!directoryPath || directoryPath === '/' || directoryPath === '') {
822
+ return true;
823
+ }
733
824
  // Remove trailing slash if present
734
825
  const normalizedPath = directoryPath.endsWith('/')
735
826
  ? directoryPath.substring(0, directoryPath.length - 1)
736
827
  : directoryPath;
737
- // Check if directory already exists
828
+ // First check if directory already exists
738
829
  try {
739
- await this._getIdFromPath(normalizedPath);
740
- return true; // Directory already exists
830
+ if (await this.DirectoryExists(normalizedPath)) {
831
+ return true;
832
+ }
741
833
  }
742
834
  catch (error) {
743
- // Directory doesn't exist, create it
835
+ // Ignore error, we'll try to create it anyway
744
836
  }
745
- // Get parent folder info
746
- const parsedPath = this._parsePath(normalizedPath);
747
- let parentId = this._rootFolderId;
748
- if (parsedPath.parent) {
837
+ // Parse the path to get parent folder and name
838
+ const lastSlashIndex = normalizedPath.lastIndexOf('/');
839
+ const parentPath = lastSlashIndex > 0 ? normalizedPath.substring(0, lastSlashIndex) : '';
840
+ const folderName = lastSlashIndex > 0 ? normalizedPath.substring(lastSlashIndex + 1) : normalizedPath;
841
+ // Make sure parent folder exists
842
+ let parentFolderId = '0'; // Default to root
843
+ if (parentPath) {
749
844
  try {
750
- parentId = await this._getIdFromPath(parsedPath.parent);
845
+ // Recursive call to ensure parent directory exists
846
+ const parentDirExists = await this.CreateDirectory(parentPath);
847
+ if (!parentDirExists) {
848
+ console.log(`Failed to create parent directory: ${parentPath}`);
849
+ return false;
850
+ }
851
+ // Get the parent folder ID
852
+ parentFolderId = await this._findFolderIdByPath(parentPath);
751
853
  }
752
854
  catch (error) {
753
- // Create parent directory recursively
754
- await this.CreateDirectory(parsedPath.parent);
755
- parentId = await this._getIdFromPath(parsedPath.parent);
855
+ console.error(`Error ensuring parent folder exists: ${error.message}`);
856
+ return false;
756
857
  }
757
858
  }
758
859
  // Create the folder
759
- await this._apiRequest('/folders', 'POST', {
760
- name: parsedPath.name,
761
- parent: { id: parentId }
762
- });
763
- return true;
860
+ try {
861
+ await this._ensureValidToken();
862
+ await this._client.folders.create(parentFolderId, folderName);
863
+ console.log(`✅ Folder created successfully: ${normalizedPath}`);
864
+ return true;
865
+ }
866
+ catch (error) {
867
+ // Handle conflicts - if the folder already exists, that's a success
868
+ if (error.statusCode === 409 ||
869
+ (error.message && error.message.includes('item_name_in_use'))) {
870
+ console.log(`Folder already exists (conflict): ${normalizedPath}`);
871
+ return true;
872
+ }
873
+ console.error(`Error creating folder: ${error.message || JSON.stringify(error)}`);
874
+ return false;
875
+ }
764
876
  }
765
877
  catch (error) {
766
878
  console.error('Error creating directory', { directoryPath, error });
767
879
  return false;
768
880
  }
769
881
  }
882
+ ;
883
+ /**
884
+ * Gets file representation information for a Box file
885
+ *
886
+ * This method retrieves information about available representations
887
+ * (such as thumbnails, previews, or other formats) for a specific file.
888
+ *
889
+ * @param fileId - The Box file ID to get representations for
890
+ * @param repHints - The representation hints string (format and options)
891
+ * @returns A Promise that resolves to a JSON object containing representations data
892
+ * @throws Error if the request fails
893
+ *
894
+ * @remarks
895
+ * - Requires a valid file ID (not a path)
896
+ * - The repHints parameter controls what type of representations are returned
897
+ * - Common representation types include thumbnails, preview images, and text extractions
898
+ *
899
+ * @example
900
+ * ```typescript
901
+ * try {
902
+ * // Get a high-resolution PNG representation of a file
903
+ * const fileId = '12345';
904
+ * const representations = await storage.GetFileRepresentations(
905
+ * fileId,
906
+ * 'png?dimensions=2048x2048'
907
+ * );
908
+ *
909
+ * // Process the representation information
910
+ * console.log('Available representations:', representations);
911
+ * } catch (error) {
912
+ * console.error('Error getting representations:', error.message);
913
+ * }
914
+ * ```
915
+ */
916
+ async GetFileRepresentations(fileId, repHints = 'png?dimensions=2048x2048') {
917
+ try {
918
+ await this._ensureValidToken();
919
+ // Set up the request options with X-Rep-Hints header
920
+ const options = {
921
+ hostname: 'api.box.com',
922
+ port: 443,
923
+ path: `/2.0/files/${fileId}?fields=representations`,
924
+ method: 'GET',
925
+ headers: {
926
+ 'Authorization': `Bearer ${this._accessToken}`,
927
+ 'Content-Type': 'application/json',
928
+ 'X-Rep-Hints': repHints
929
+ }
930
+ };
931
+ // Make the request using our existing makeRequest function
932
+ const responseData = await this._makeRequest(options);
933
+ return JSON.parse(responseData);
934
+ }
935
+ catch (error) {
936
+ console.error('Error getting file representations:', error);
937
+ throw error;
938
+ }
939
+ }
940
+ ;
941
+ /**
942
+ * Helper function for making HTTP requests
943
+ *
944
+ * This method provides a Promise-based wrapper around Node.js https requests,
945
+ * simplifying the process of making API calls to the Box API.
946
+ *
947
+ * @private
948
+ * @param options - The HTTPS request options (URL, method, headers, etc.)
949
+ * @param data - Optional string data to send with the request
950
+ * @returns A Promise that resolves to the response data as a string
951
+ * @throws Error if the request fails or returns a non-2xx status code
952
+ */
953
+ async _makeRequest(options, data) {
954
+ return new Promise((resolve, reject) => {
955
+ const req = https.request(options, (res) => {
956
+ let responseData = '';
957
+ res.on('data', (chunk) => {
958
+ responseData += chunk;
959
+ });
960
+ res.on('end', () => {
961
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
962
+ resolve(responseData);
963
+ }
964
+ else {
965
+ reject(new Error(`Request failed with status code ${res.statusCode}: ${responseData}`));
966
+ }
967
+ });
968
+ });
969
+ req.on('error', (error) => {
970
+ reject(error);
971
+ });
972
+ if (data) {
973
+ req.write(data);
974
+ }
975
+ req.end();
976
+ });
977
+ }
770
978
  /**
771
979
  * Deletes a directory from Box storage
772
980
  *
@@ -919,18 +1127,68 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
919
1127
  */
920
1128
  async GetObject(objectName) {
921
1129
  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);
1130
+ // Extract directory path and filename
1131
+ const lastSlashIndex = objectName.lastIndexOf('/');
1132
+ if (lastSlashIndex === -1) {
1133
+ throw new Error('Invalid path format, expected directory/filename');
1134
+ }
1135
+ const directoryPath = objectName.substring(0, lastSlashIndex);
1136
+ const fileName = objectName.substring(lastSlashIndex + 1);
1137
+ // Find folder ID for the directory using the approach from check_file.ts
1138
+ try {
1139
+ const folderId = await this._findFolderIdByPath(directoryPath);
1140
+ // Use pagination to handle large folders
1141
+ let file = null;
1142
+ let offset = 0;
1143
+ let hasMoreItems = true;
1144
+ const LIMIT = 1000;
1145
+ while (hasMoreItems && !file) {
1146
+ await this._ensureValidToken();
1147
+ const folderItems = await this._client.folders.getItems(folderId, {
1148
+ fields: 'name,type,size,created_at,modified_at',
1149
+ limit: LIMIT,
1150
+ offset: offset
1151
+ });
1152
+ // Look for the file
1153
+ file = folderItems.entries.find((item) => item.type === 'file' && item.name === fileName);
1154
+ // If file is found, break out of pagination loop
1155
+ if (file) {
1156
+ break;
1157
+ }
1158
+ // Update pagination variables
1159
+ offset += folderItems.entries.length;
1160
+ // Check if we've processed all items
1161
+ hasMoreItems = folderItems.entries.length === LIMIT && offset < folderItems.total_count;
1162
+ }
1163
+ if (file) {
1164
+ console.log(`✅ File found: ${file.name} (${file.id})`);
1165
+ // Use the file ID to get the content
1166
+ await this._ensureValidToken();
1167
+ const stream = await this._client.files.getReadStream(file.id);
1168
+ // Convert stream to buffer
1169
+ return new Promise((resolve, reject) => {
1170
+ const chunks = [];
1171
+ stream.on('data', (chunk) => chunks.push(chunk));
1172
+ stream.on('error', reject);
1173
+ stream.on('end', () => resolve(Buffer.concat(chunks)));
1174
+ });
1175
+ }
1176
+ else {
1177
+ console.log(`❌ File not found in directory`);
1178
+ throw new Error(`File not found: ${fileName}`);
1179
+ }
1180
+ }
1181
+ catch (error) {
1182
+ console.log(`❌ Error finding file: ${error}`);
1183
+ throw error;
1184
+ }
928
1185
  }
929
1186
  catch (error) {
930
1187
  console.error('Error getting object', { objectName, error });
931
1188
  throw new Error(`Failed to get object: ${objectName}`);
932
1189
  }
933
1190
  }
1191
+ ;
934
1192
  /**
935
1193
  * Uploads a file to Box storage
936
1194
  *
@@ -976,85 +1234,67 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
976
1234
  */
977
1235
  async PutObject(objectName, data, contentType, metadata) {
978
1236
  try {
1237
+ console.log(`PutObject: ${objectName}`);
979
1238
  // Get the parent folder ID and file name
980
1239
  const parsedPath = this._parsePath(objectName);
981
1240
  let parentId = this._rootFolderId;
982
1241
  if (parsedPath.parent) {
983
1242
  try {
984
- parentId = await this._getIdFromPath(parsedPath.parent);
1243
+ // First ensure the parent directory exists (create it if needed)
1244
+ const parentDirExists = await this.CreateDirectory(parsedPath.parent);
1245
+ if (!parentDirExists) {
1246
+ console.error(`Failed to ensure parent directory exists: ${parsedPath.parent}`);
1247
+ return false;
1248
+ }
1249
+ // Find folder ID using our improved path resolution from check_file.ts
1250
+ parentId = await this._findFolderIdByPath(parsedPath.parent);
985
1251
  }
986
1252
  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);
1253
+ console.error(`Error resolving parent folder: ${error.message}`);
1254
+ return false;
990
1255
  }
991
1256
  }
992
1257
  // Check if file already exists
993
- let fileId = null;
994
- try {
995
- fileId = await this._getIdFromPath(objectName);
1258
+ const fileId = await this._getIdFromPath(objectName);
1259
+ if (fileId) {
1260
+ console.log(`File already exists with ID: ${fileId}`);
996
1261
  }
997
- catch (error) {
998
- // File doesn't exist, will create new
1262
+ else {
1263
+ console.log(`File doesn't exist yet, will create new file: ${parsedPath.name}`);
999
1264
  }
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';
1265
+ const formData = new FormData();
1266
+ // Add file metadata
1267
+ const fileMetadata = {
1268
+ name: parsedPath.name,
1269
+ parent: { id: parentId }
1270
+ };
1271
+ formData.append('attributes', JSON.stringify(fileMetadata));
1272
+ // Create a file blob with the correct content type
1273
+ const fileBlob = new Blob([data], { type: contentType || 'application/octet-stream' });
1274
+ formData.append('file', fileBlob, parsedPath.name);
1275
+ // Upload the file
1276
+ const endpoint = fileId ? `/files/${fileId}/content` : '/files/content';
1277
+ console.log(`Uploading file using endpoint: ${endpoint}`);
1278
+ try {
1014
1279
  await this._apiRequest(endpoint, 'POST', formData, {}, this._uploadApiUrl);
1280
+ console.log(`✅ File uploaded successfully: ${objectName}`);
1281
+ return true;
1015
1282
  }
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;
1283
+ catch (uploadError) {
1284
+ console.error(`Error uploading file: ${uploadError.message}`);
1285
+ if (uploadError.message.includes('item_name_in_use')) {
1286
+ console.log(`File already exists (conflict): ${objectName}`);
1287
+ return false;
1047
1288
  }
1048
- // Commit the upload session
1049
- await this._apiRequest(`/files/upload_sessions/${sessionId}/commit`, 'POST', { parts }, { 'Content-Type': 'application/json' }, this._uploadApiUrl);
1289
+ return false;
1050
1290
  }
1051
- return true;
1052
1291
  }
1053
1292
  catch (error) {
1054
1293
  console.error('Error putting object', { objectName, error });
1055
1294
  return false;
1056
1295
  }
1057
1296
  }
1297
+ ;
1058
1298
  /**
1059
1299
  * Copies a file from one location to another
1060
1300
  *
@@ -1178,18 +1418,102 @@ let BoxFileStorage = class BoxFileStorage extends FileStorageBase_1.FileStorageB
1178
1418
  */
1179
1419
  async DirectoryExists(directoryPath) {
1180
1420
  try {
1421
+ // Root directory always exists
1422
+ if (!directoryPath || directoryPath === '/' || directoryPath === '') {
1423
+ return true;
1424
+ }
1181
1425
  // Remove trailing slash if present
1182
1426
  const normalizedPath = directoryPath.endsWith('/')
1183
1427
  ? directoryPath.substring(0, directoryPath.length - 1)
1184
1428
  : directoryPath;
1185
- const itemId = await this._getIdFromPath(normalizedPath);
1186
- const itemInfo = await this._apiRequest(`/folders/${itemId}`);
1187
- return itemInfo.type === 'folder';
1429
+ try {
1430
+ const folderId = await this._findFolderIdByPath(normalizedPath);
1431
+ console.log(`✅ Directory ${normalizedPath} exists with ID: ${folderId}`);
1432
+ // Make a direct call to verify it's a folder
1433
+ try {
1434
+ await this._ensureValidToken();
1435
+ await this._client.folders.get(folderId);
1436
+ return true;
1437
+ }
1438
+ catch (error) {
1439
+ // If we can't get the folder info, it's not a valid folder
1440
+ console.log(`Item with ID ${folderId} exists but is not a folder`);
1441
+ return false;
1442
+ }
1443
+ }
1444
+ catch (error) {
1445
+ console.log(`❌ Directory ${normalizedPath} does not exist`);
1446
+ return false;
1447
+ }
1188
1448
  }
1189
1449
  catch (error) {
1450
+ console.error('Error checking directory exists', { directoryPath, error });
1190
1451
  return false;
1191
1452
  }
1192
1453
  }
1454
+ /**
1455
+ * Finds a Box folder ID by traversing a path string
1456
+ *
1457
+ * This helper method navigates through the Box folder hierarchy,
1458
+ * following each segment of the path to find the ID of the target folder.
1459
+ * It uses pagination to handle large folders efficiently.
1460
+ *
1461
+ * @private
1462
+ * @param path - The path string to resolve (e.g., 'documents/reports/2023')
1463
+ * @returns A Promise that resolves to the Box folder ID
1464
+ * @throws Error if any segment of the path cannot be found
1465
+ */
1466
+ async _findFolderIdByPath(path) {
1467
+ try {
1468
+ // Split the path into segments
1469
+ const pathSegments = path.split('/').filter(segment => segment.length > 0);
1470
+ // Handle "All Files" special case - it's not an actual folder name in the API
1471
+ if (pathSegments.length > 0 && pathSegments[0] === 'All Files') {
1472
+ pathSegments.shift(); // Remove "All Files" from the path
1473
+ }
1474
+ let currentFolderId = '0'; // Start from root
1475
+ if (pathSegments.length === 0) {
1476
+ return currentFolderId; // Return root folder ID if path is empty
1477
+ }
1478
+ // Traverse the path
1479
+ for (const segment of pathSegments) {
1480
+ // Use pagination to handle large folders
1481
+ let folder = null;
1482
+ let offset = 0;
1483
+ let hasMoreItems = true;
1484
+ const LIMIT = 1000;
1485
+ while (hasMoreItems && !folder) {
1486
+ await this._ensureValidToken();
1487
+ const items = await this._client.folders.getItems(currentFolderId, {
1488
+ fields: 'name,type',
1489
+ limit: LIMIT,
1490
+ offset: offset
1491
+ });
1492
+ // Filter to only folders
1493
+ const folders = items.entries.filter((item) => item.type === 'folder');
1494
+ // Look for the target folder
1495
+ folder = folders.find((item) => item.name === segment);
1496
+ // If folder is found, break out of pagination loop
1497
+ if (folder) {
1498
+ break;
1499
+ }
1500
+ // Update pagination variables
1501
+ offset += items.entries.length;
1502
+ // Check if we've processed all items
1503
+ hasMoreItems = items.entries.length === LIMIT && offset < items.total_count;
1504
+ }
1505
+ if (!folder) {
1506
+ throw new Error(`Folder not found: ${segment}`);
1507
+ }
1508
+ currentFolderId = folder.id;
1509
+ }
1510
+ return currentFolderId;
1511
+ }
1512
+ catch (error) {
1513
+ console.error('Error finding folder by path:', error);
1514
+ throw error;
1515
+ }
1516
+ }
1193
1517
  };
1194
1518
  exports.BoxFileStorage = BoxFileStorage;
1195
1519
  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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/storage",
3
- "version": "2.40.0",
3
+ "version": "2.41.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,18 @@
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.41.0",
29
+ "@memberjunction/core-entities": "2.41.0",
30
+ "@memberjunction/global": "2.41.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",
36
+ "box-node-sdk": "^3.8.0",
34
37
  "dropbox": "^10.34.0",
35
- "@memberjunction/core": "2.40.0",
36
- "@memberjunction/core-entities": "2.40.0",
37
- "@memberjunction/global": "2.40.0",
38
38
  "env-var": "^7.4.1",
39
+ "googleapis": "^134.0.0",
39
40
  "mime-types": "^2.1.35"
40
41
  }
41
42
  }