@memberjunction/storage 2.38.0 → 2.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/drivers/AWSFileStorage.d.ts +360 -4
  2. package/dist/drivers/AWSFileStorage.d.ts.map +1 -1
  3. package/dist/drivers/AWSFileStorage.js +357 -4
  4. package/dist/drivers/AWSFileStorage.js.map +1 -1
  5. package/dist/drivers/AzureFileStorage.d.ts +362 -2
  6. package/dist/drivers/AzureFileStorage.d.ts.map +1 -1
  7. package/dist/drivers/AzureFileStorage.js +357 -2
  8. package/dist/drivers/AzureFileStorage.js.map +1 -1
  9. package/dist/drivers/BoxFileStorage.d.ts +539 -20
  10. package/dist/drivers/BoxFileStorage.d.ts.map +1 -1
  11. package/dist/drivers/BoxFileStorage.js +521 -20
  12. package/dist/drivers/BoxFileStorage.js.map +1 -1
  13. package/dist/drivers/DropboxFileStorage.d.ts +437 -15
  14. package/dist/drivers/DropboxFileStorage.d.ts.map +1 -1
  15. package/dist/drivers/DropboxFileStorage.js +431 -15
  16. package/dist/drivers/DropboxFileStorage.js.map +1 -1
  17. package/dist/drivers/GoogleDriveFileStorage.d.ts +342 -16
  18. package/dist/drivers/GoogleDriveFileStorage.d.ts.map +1 -1
  19. package/dist/drivers/GoogleDriveFileStorage.js +340 -16
  20. package/dist/drivers/GoogleDriveFileStorage.js.map +1 -1
  21. package/dist/drivers/GoogleFileStorage.d.ts +358 -2
  22. package/dist/drivers/GoogleFileStorage.d.ts.map +1 -1
  23. package/dist/drivers/GoogleFileStorage.js +356 -2
  24. package/dist/drivers/GoogleFileStorage.js.map +1 -1
  25. package/dist/drivers/SharePointFileStorage.d.ts +434 -20
  26. package/dist/drivers/SharePointFileStorage.d.ts.map +1 -1
  27. package/dist/drivers/SharePointFileStorage.js +453 -22
  28. package/dist/drivers/SharePointFileStorage.js.map +1 -1
  29. package/dist/generic/FileStorageBase.d.ts +326 -108
  30. package/dist/generic/FileStorageBase.d.ts.map +1 -1
  31. package/dist/generic/FileStorageBase.js +54 -6
  32. package/dist/generic/FileStorageBase.js.map +1 -1
  33. package/dist/util.d.ts +125 -18
  34. package/dist/util.d.ts.map +1 -1
  35. package/dist/util.js +125 -18
  36. package/dist/util.js.map +1 -1
  37. package/package.json +4 -4
  38. package/readme.md +211 -1
@@ -38,9 +38,50 @@ const global_1 = require("@memberjunction/global");
38
38
  const env = __importStar(require("env-var"));
39
39
  const mime = __importStar(require("mime-types"));
40
40
  const FileStorageBase_1 = require("../generic/FileStorageBase");
41
+ /**
42
+ * Google Drive implementation of the FileStorageBase interface.
43
+ *
44
+ * This class provides methods for interacting with Google Drive as a file storage provider.
45
+ * It implements most of the abstract methods defined in FileStorageBase and handles
46
+ * Google Drive-specific authentication, authorization, and file operations.
47
+ *
48
+ * Unlike other storage providers like S3 or Azure, Google Drive has native concepts of
49
+ * folders and files with hierarchical paths, which makes some operations more natural
50
+ * while others (like pre-authenticated upload URLs) are not directly supported.
51
+ *
52
+ * It requires one of the following environment variables to be set:
53
+ * - STORAGE_GDRIVE_KEY_FILE: Path to a service account key file with Drive permissions
54
+ * - STORAGE_GDRIVE_CREDENTIALS_JSON: A JSON object containing service account credentials
55
+ *
56
+ * Optionally, you can set:
57
+ * - STORAGE_GDRIVE_ROOT_FOLDER_ID: ID of a folder to use as the root (for isolation)
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * // Create an instance of GoogleDriveFileStorage
62
+ * const driveStorage = new GoogleDriveFileStorage();
63
+ *
64
+ * // Generate a pre-authenticated download URL
65
+ * const downloadUrl = await driveStorage.CreatePreAuthDownloadUrl('documents/report.pdf');
66
+ *
67
+ * // List files in a directory
68
+ * const files = await driveStorage.ListObjects('documents/');
69
+ *
70
+ * // Upload a file directly
71
+ * const uploaded = await driveStorage.PutObject('documents/report.pdf', fileData);
72
+ * ```
73
+ */
41
74
  let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBase_1.FileStorageBase {
75
+ /**
76
+ * Creates a new instance of GoogleDriveFileStorage.
77
+ *
78
+ * Initializes the connection to Google Drive using either a service account
79
+ * key file or credentials provided directly in environment variables.
80
+ * Throws an error if neither authentication method is properly configured.
81
+ */
42
82
  constructor() {
43
83
  super();
84
+ /** The name of this storage provider, used in error messages */
44
85
  this.providerName = 'Google Drive';
45
86
  // Get credentials from environment
46
87
  const keyFile = env.get('STORAGE_GDRIVE_KEY_FILE').asString();
@@ -66,7 +107,16 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
66
107
  this._rootFolderId = env.get('STORAGE_GDRIVE_ROOT_FOLDER_ID').asString();
67
108
  }
68
109
  /**
69
- * Finds a file or folder by path
110
+ * Finds a file or folder by path.
111
+ *
112
+ * This helper method navigates the Google Drive folder structure to find
113
+ * a file or folder at the specified path. It starts from the root (or the
114
+ * configured root folder) and traverses the path components one by one.
115
+ *
116
+ * @param path - The path to the file or folder to find
117
+ * @returns A Promise resolving to the Google Drive file object
118
+ * @throws Error if the path cannot be found
119
+ * @private
70
120
  */
71
121
  async _getItemByPath(path) {
72
122
  if (!path || path === '/' || path === '') {
@@ -107,7 +157,15 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
107
157
  return currentItem;
108
158
  }
109
159
  /**
110
- * Finds a parent folder by path and creates it if it doesn't exist
160
+ * Finds a parent folder by path and creates it if it doesn't exist.
161
+ *
162
+ * This helper method is used to ensure a folder path exists before
163
+ * creating or moving files. It navigates through each path component,
164
+ * creating folders as needed if they don't exist yet.
165
+ *
166
+ * @param path - The path to the folder to find or create
167
+ * @returns A Promise resolving to the ID of the folder
168
+ * @private
111
169
  */
112
170
  async _getOrCreateParentFolder(path) {
113
171
  if (!path || path === '/' || path === '') {
@@ -147,7 +205,16 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
147
205
  return currentParentId;
148
206
  }
149
207
  /**
150
- * Helper method to convert Google Drive file to StorageObjectMetadata
208
+ * Helper method to convert Google Drive file objects to StorageObjectMetadata.
209
+ *
210
+ * This method transforms the Google Drive API's file representation into
211
+ * the standardized StorageObjectMetadata format used by the FileStorageBase
212
+ * interface. It handles special properties like folder detection and paths.
213
+ *
214
+ * @param file - The Google Drive file object to convert
215
+ * @param parentPath - The parent path to use for constructing the full path
216
+ * @returns A StorageObjectMetadata representation of the file
217
+ * @private
151
218
  */
152
219
  _fileToMetadata(file, parentPath = '') {
153
220
  const isDirectory = file.mimeType === 'application/vnd.google-apps.folder';
@@ -167,7 +234,14 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
167
234
  };
168
235
  }
169
236
  /**
170
- * PreAuth upload URLs are not directly supported in Google Drive
237
+ * Creates a pre-authenticated upload URL for an object in Google Drive.
238
+ *
239
+ * Google Drive doesn't directly support pre-signed upload URLs in the same
240
+ * way as other storage providers like S3 or Azure. Instead, uploads
241
+ * should be performed using the PutObject method.
242
+ *
243
+ * @param objectName - The name of the object to upload
244
+ * @throws UnsupportedOperationError as this operation is not supported
171
245
  */
172
246
  async CreatePreAuthUploadUrl(objectName) {
173
247
  // Google Drive doesn't support pre-signed upload URLs in the same way as S3
@@ -175,7 +249,25 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
175
249
  this.throwUnsupportedOperationError('CreatePreAuthUploadUrl');
176
250
  }
177
251
  /**
178
- * Create a pre-authenticated download URL
252
+ * Creates a pre-authenticated download URL for an object in Google Drive.
253
+ *
254
+ * This method creates a temporary, public sharing link for a file that allows
255
+ * anyone with the link to access the file for a limited time (10 minutes).
256
+ * It uses Google Drive's permissions system to create a temporary reader
257
+ * permission for 'anyone' with an expiration time.
258
+ *
259
+ * @param objectName - The path to the file to download
260
+ * @returns A Promise resolving to the download URL
261
+ * @throws Error if the file cannot be found or the URL creation fails
262
+ *
263
+ * @example
264
+ * ```typescript
265
+ * // Generate a pre-authenticated download URL for a PDF file
266
+ * const downloadUrl = await driveStorage.CreatePreAuthDownloadUrl('documents/report.pdf');
267
+ *
268
+ * // The URL can be shared with users or used in applications for direct download
269
+ * console.log(downloadUrl);
270
+ * ```
179
271
  */
180
272
  async CreatePreAuthDownloadUrl(objectName) {
181
273
  try {
@@ -207,7 +299,30 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
207
299
  }
208
300
  }
209
301
  /**
210
- * Move an object from one location to another
302
+ * Moves an object from one location to another within Google Drive.
303
+ *
304
+ * This method first locates the file to be moved, then gets or creates the
305
+ * destination folder, and finally updates the file's name and parent folder.
306
+ * Google Drive has native support for moving files between folders.
307
+ *
308
+ * @param oldObjectName - The current path of the object
309
+ * @param newObjectName - The new path for the object
310
+ * @returns A Promise resolving to a boolean indicating success
311
+ *
312
+ * @example
313
+ * ```typescript
314
+ * // Move a file from drafts to published folder
315
+ * const success = await driveStorage.MoveObject(
316
+ * 'drafts/report.docx',
317
+ * 'published/final-report.docx'
318
+ * );
319
+ *
320
+ * if (success) {
321
+ * console.log('File successfully moved');
322
+ * } else {
323
+ * console.log('Failed to move file');
324
+ * }
325
+ * ```
211
326
  */
212
327
  async MoveObject(oldObjectName, newObjectName) {
213
328
  try {
@@ -244,7 +359,26 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
244
359
  }
245
360
  }
246
361
  /**
247
- * Delete an object
362
+ * Deletes an object from Google Drive.
363
+ *
364
+ * This method locates the specified file by path and deletes it from Google Drive.
365
+ * By default, this moves the file to the trash rather than permanently deleting it,
366
+ * unless your Drive settings are configured for immediate permanent deletion.
367
+ *
368
+ * @param objectName - The path to the file to delete
369
+ * @returns A Promise resolving to a boolean indicating success
370
+ *
371
+ * @example
372
+ * ```typescript
373
+ * // Delete a temporary file
374
+ * const deleted = await driveStorage.DeleteObject('temp/report-draft.pdf');
375
+ *
376
+ * if (deleted) {
377
+ * console.log('File successfully deleted');
378
+ * } else {
379
+ * console.log('Failed to delete file');
380
+ * }
381
+ * ```
248
382
  */
249
383
  async DeleteObject(objectName) {
250
384
  try {
@@ -270,7 +404,31 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
270
404
  }
271
405
  }
272
406
  /**
273
- * List objects in a directory
407
+ * Lists objects in a directory in Google Drive.
408
+ *
409
+ * This method retrieves all files and folders directly inside the specified
410
+ * folder path. It handles Google Drive's native folder structure and converts
411
+ * the Drive API responses to the standardized StorageListResult format.
412
+ *
413
+ * @param prefix - The path to the directory to list
414
+ * @param delimiter - Delimiter character (unused in Google Drive implementation)
415
+ * @returns A Promise resolving to a StorageListResult containing objects and prefixes
416
+ *
417
+ * @example
418
+ * ```typescript
419
+ * // List all files and directories in the documents folder
420
+ * const result = await driveStorage.ListObjects('documents/');
421
+ *
422
+ * // Process files
423
+ * for (const file of result.objects) {
424
+ * console.log(`File: ${file.name}, Size: ${file.size}, Type: ${file.contentType}`);
425
+ * }
426
+ *
427
+ * // Process subdirectories
428
+ * for (const dir of result.prefixes) {
429
+ * console.log(`Directory: ${dir}`);
430
+ * }
431
+ * ```
274
432
  */
275
433
  async ListObjects(prefix, delimiter = '/') {
276
434
  try {
@@ -308,7 +466,27 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
308
466
  }
309
467
  }
310
468
  /**
311
- * Create a directory
469
+ * Creates a directory in Google Drive.
470
+ *
471
+ * This method creates a folder at the specified path, creating parent
472
+ * folders as needed if they don't exist. Google Drive natively supports
473
+ * folders as a special file type with the 'application/vnd.google-apps.folder'
474
+ * MIME type.
475
+ *
476
+ * @param directoryPath - The path of the directory to create
477
+ * @returns A Promise resolving to a boolean indicating success
478
+ *
479
+ * @example
480
+ * ```typescript
481
+ * // Create a new directory structure
482
+ * const created = await driveStorage.CreateDirectory('documents/reports/annual/');
483
+ *
484
+ * if (created) {
485
+ * console.log('Directory created successfully');
486
+ * } else {
487
+ * console.log('Failed to create directory');
488
+ * }
489
+ * ```
312
490
  */
313
491
  async CreateDirectory(directoryPath) {
314
492
  try {
@@ -340,7 +518,24 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
340
518
  }
341
519
  }
342
520
  /**
343
- * Delete a directory and optionally its contents
521
+ * Deletes a directory and optionally its contents from Google Drive.
522
+ *
523
+ * This method deletes a folder at the specified path. If recursive is false,
524
+ * it will fail if the folder has any contents. If recursive is true, it
525
+ * deletes the folder and all its contents.
526
+ *
527
+ * @param directoryPath - The path of the directory to delete
528
+ * @param recursive - If true, deletes all contents recursively (default: false)
529
+ * @returns A Promise resolving to a boolean indicating success
530
+ *
531
+ * @example
532
+ * ```typescript
533
+ * // Delete an empty directory
534
+ * const deleted = await driveStorage.DeleteDirectory('documents/temp/');
535
+ *
536
+ * // Delete a directory and all its contents
537
+ * const recursivelyDeleted = await driveStorage.DeleteDirectory('documents/old_projects/', true);
538
+ * ```
344
539
  */
345
540
  async DeleteDirectory(directoryPath, recursive = false) {
346
541
  try {
@@ -377,7 +572,27 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
377
572
  }
378
573
  }
379
574
  /**
380
- * Get object metadata
575
+ * Retrieves metadata for a specific object in Google Drive.
576
+ *
577
+ * This method fetches the file information without downloading its content,
578
+ * which is more efficient for checking file attributes like size, type,
579
+ * and last modified date.
580
+ *
581
+ * @param objectName - The path to the file to get metadata for
582
+ * @returns A Promise resolving to a StorageObjectMetadata object
583
+ * @throws Error if the file doesn't exist or cannot be accessed
584
+ *
585
+ * @example
586
+ * ```typescript
587
+ * try {
588
+ * const metadata = await driveStorage.GetObjectMetadata('documents/report.pdf');
589
+ * console.log(`File: ${metadata.name}`);
590
+ * console.log(`Size: ${metadata.size} bytes`);
591
+ * console.log(`Last modified: ${metadata.lastModified}`);
592
+ * } catch (error) {
593
+ * console.error('File does not exist or cannot be accessed');
594
+ * }
595
+ * ```
381
596
  */
382
597
  async GetObjectMetadata(objectName) {
383
598
  try {
@@ -398,7 +613,26 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
398
613
  }
399
614
  }
400
615
  /**
401
- * Get object contents
616
+ * Downloads an object's content from Google Drive.
617
+ *
618
+ * This method retrieves the full content of a file and returns it
619
+ * as a Buffer for processing in memory.
620
+ *
621
+ * @param objectName - The path to the file to download
622
+ * @returns A Promise resolving to a Buffer containing the file's data
623
+ * @throws Error if the file doesn't exist or cannot be downloaded
624
+ *
625
+ * @example
626
+ * ```typescript
627
+ * try {
628
+ * const content = await driveStorage.GetObject('documents/config.json');
629
+ * // Parse the JSON content
630
+ * const config = JSON.parse(content.toString('utf8'));
631
+ * console.log('Configuration loaded:', config);
632
+ * } catch (error) {
633
+ * console.error('Failed to download file:', error.message);
634
+ * }
635
+ * ```
402
636
  */
403
637
  async GetObject(objectName) {
404
638
  try {
@@ -422,7 +656,34 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
422
656
  }
423
657
  }
424
658
  /**
425
- * Upload an object
659
+ * Uploads data to an object in Google Drive.
660
+ *
661
+ * This method directly uploads a Buffer of data to a file with the specified path.
662
+ * It will create any necessary parent folders if they don't exist, and will update
663
+ * the file if it already exists or create a new one if it doesn't.
664
+ *
665
+ * @param objectName - The path to the file to upload
666
+ * @param data - The Buffer containing the data to upload
667
+ * @param contentType - Optional MIME type for the file (inferred from name if not provided)
668
+ * @param metadata - Optional key-value pairs of custom metadata (not supported in current implementation)
669
+ * @returns A Promise resolving to a boolean indicating success
670
+ *
671
+ * @example
672
+ * ```typescript
673
+ * // Upload a text file
674
+ * const content = Buffer.from('Hello, World!', 'utf8');
675
+ * const uploaded = await driveStorage.PutObject(
676
+ * 'documents/hello.txt',
677
+ * content,
678
+ * 'text/plain'
679
+ * );
680
+ *
681
+ * if (uploaded) {
682
+ * console.log('File uploaded successfully');
683
+ * } else {
684
+ * console.log('Failed to upload file');
685
+ * }
686
+ * ```
426
687
  */
427
688
  async PutObject(objectName, data, contentType, metadata) {
428
689
  try {
@@ -475,7 +736,29 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
475
736
  }
476
737
  }
477
738
  /**
478
- * Copy an object
739
+ * Copies an object within Google Drive.
740
+ *
741
+ * This method creates a copy of a file at a new location without removing the original.
742
+ * It uses the Google Drive API's native file copying capabilities.
743
+ *
744
+ * @param sourceObjectName - The path to the file to copy
745
+ * @param destinationObjectName - The path where the copy should be created
746
+ * @returns A Promise resolving to a boolean indicating success
747
+ *
748
+ * @example
749
+ * ```typescript
750
+ * // Create a backup copy of an important file
751
+ * const copied = await driveStorage.CopyObject(
752
+ * 'documents/contract.pdf',
753
+ * 'backups/contract_2024-05-16.pdf'
754
+ * );
755
+ *
756
+ * if (copied) {
757
+ * console.log('File copied successfully');
758
+ * } else {
759
+ * console.log('Failed to copy file');
760
+ * }
761
+ * ```
479
762
  */
480
763
  async CopyObject(sourceObjectName, destinationObjectName) {
481
764
  try {
@@ -506,7 +789,27 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
506
789
  }
507
790
  }
508
791
  /**
509
- * Check if an object exists
792
+ * Checks if an object exists in Google Drive.
793
+ *
794
+ * This method verifies the existence of a file at the specified path
795
+ * without downloading its content.
796
+ *
797
+ * @param objectName - The path to the file to check
798
+ * @returns A Promise resolving to a boolean indicating if the file exists
799
+ *
800
+ * @example
801
+ * ```typescript
802
+ * // Check if a file exists before attempting to use it
803
+ * const exists = await driveStorage.ObjectExists('documents/report.pdf');
804
+ *
805
+ * if (exists) {
806
+ * console.log('File exists, proceeding with download');
807
+ * const content = await driveStorage.GetObject('documents/report.pdf');
808
+ * // Process the content...
809
+ * } else {
810
+ * console.log('File does not exist');
811
+ * }
812
+ * ```
510
813
  */
511
814
  async ObjectExists(objectName) {
512
815
  try {
@@ -518,7 +821,28 @@ let GoogleDriveFileStorage = class GoogleDriveFileStorage extends FileStorageBas
518
821
  }
519
822
  }
520
823
  /**
521
- * Check if a directory exists
824
+ * Checks if a directory exists in Google Drive.
825
+ *
826
+ * This method verifies the existence of a folder at the specified path.
827
+ * It also checks that the item is actually a folder (has the correct MIME type),
828
+ * not a file with the same name.
829
+ *
830
+ * @param directoryPath - The path of the directory to check
831
+ * @returns A Promise resolving to a boolean indicating if the directory exists
832
+ *
833
+ * @example
834
+ * ```typescript
835
+ * // Check if a directory exists before trying to save files to it
836
+ * const exists = await driveStorage.DirectoryExists('documents/reports/');
837
+ *
838
+ * if (!exists) {
839
+ * console.log('Directory does not exist, creating it first');
840
+ * await driveStorage.CreateDirectory('documents/reports/');
841
+ * }
842
+ *
843
+ * // Now safe to use the directory
844
+ * await driveStorage.PutObject('documents/reports/new-report.pdf', fileData);
845
+ * ```
522
846
  */
523
847
  async DirectoryExists(directoryPath) {
524
848
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleDriveFileStorage.js","sourceRoot":"","sources":["../../src/drivers/GoogleDriveFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleDriveFileStorage.js","sourceRoot":"","sources":["../../src/drivers/GoogleDriveFileStorage.ts"],"names":[],"mappings":"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"}