@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":";AAGA,OAAO,EACL,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;
|
|
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
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
return
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
return
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
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
|
-
|
|
350
|
-
|
|
351
|
-
|
|
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
|
-
//
|
|
792
|
+
// First check if directory already exists
|
|
738
793
|
try {
|
|
739
|
-
await this.
|
|
740
|
-
|
|
794
|
+
if (await this.DirectoryExists(normalizedPath)) {
|
|
795
|
+
return true;
|
|
796
|
+
}
|
|
741
797
|
}
|
|
742
798
|
catch (error) {
|
|
743
|
-
//
|
|
799
|
+
// Ignore error, we'll try to create it anyway
|
|
744
800
|
}
|
|
745
|
-
//
|
|
746
|
-
const
|
|
747
|
-
|
|
748
|
-
|
|
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
|
-
|
|
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
|
-
|
|
754
|
-
|
|
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
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
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
|
-
|
|
923
|
-
|
|
924
|
-
const
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
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
|
-
|
|
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
|
-
|
|
988
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/storage",
|
|
3
|
-
"version": "2.
|
|
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
|
-
"@
|
|
29
|
-
"@
|
|
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
|
-
"
|
|
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
|
}
|