@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,43 @@ 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
+ * Azure Blob Storage implementation of the FileStorageBase interface.
43
+ *
44
+ * This class provides methods for interacting with Azure Blob Storage as a file storage provider.
45
+ * It implements all the abstract methods defined in FileStorageBase and handles Azure-specific
46
+ * authentication, authorization, and file operations.
47
+ *
48
+ * It requires the following environment variables to be set:
49
+ * - STORAGE_AZURE_CONTAINER: The name of the Azure Storage container
50
+ * - STORAGE_AZURE_ACCOUNT_NAME: The Azure Storage account name
51
+ * - STORAGE_AZURE_ACCOUNT_KEY: The Azure Storage account key
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * // Create an instance of AzureFileStorage
56
+ * const azureStorage = new AzureFileStorage();
57
+ *
58
+ * // Generate a pre-authenticated upload URL
59
+ * const { UploadUrl } = await azureStorage.CreatePreAuthUploadUrl('documents/report.pdf');
60
+ *
61
+ * // Generate a pre-authenticated download URL
62
+ * const downloadUrl = await azureStorage.CreatePreAuthDownloadUrl('documents/report.pdf');
63
+ *
64
+ * // List files in a directory
65
+ * const files = await azureStorage.ListObjects('documents/');
66
+ * ```
67
+ */
41
68
  let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStorageBase {
69
+ /**
70
+ * Creates a new instance of AzureFileStorage.
71
+ *
72
+ * Initializes the connection to Azure Blob Storage using environment variables.
73
+ * Throws an error if any required environment variables are missing.
74
+ */
42
75
  constructor() {
43
76
  super();
77
+ /** The name of this storage provider, used in error messages */
44
78
  this.providerName = 'Azure Blob Storage';
45
79
  this._container = env.get('STORAGE_AZURE_CONTAINER').required().asString();
46
80
  this._accountName = env.get('STORAGE_AZURE_ACCOUNT_NAME').required().asString();
@@ -51,17 +85,52 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
51
85
  this._containerClient = this._blobServiceClient.getContainerClient(this._container);
52
86
  }
53
87
  /**
54
- * Creates a BlobClient for the specified object
88
+ * Creates a BlobClient for the specified object.
89
+ *
90
+ * This is a helper method used internally to get a BlobClient instance
91
+ * for a specific blob (file) in the container.
92
+ *
93
+ * @param objectName - The name of the blob for which to create a client
94
+ * @returns A BlobClient instance for the specified blob
95
+ * @private
55
96
  */
56
97
  _getBlobClient(objectName) {
57
98
  return this._containerClient.getBlobClient(objectName);
58
99
  }
59
100
  /**
60
- * Normalize directory path to ensure it ends with a slash
101
+ * Normalizes a directory path to ensure it ends with a slash.
102
+ *
103
+ * This is a helper method used internally to ensure consistency in
104
+ * directory path representation. Azure Blob Storage doesn't have actual
105
+ * directories, so we use a trailing slash to simulate them.
106
+ *
107
+ * @param path - The directory path to normalize
108
+ * @returns The normalized path with a trailing slash
109
+ * @private
61
110
  */
62
111
  _normalizeDirectoryPath(path) {
63
112
  return path.endsWith('/') ? path : path + '/';
64
113
  }
114
+ /**
115
+ * Creates a pre-authenticated upload URL for a blob in Azure Blob Storage.
116
+ *
117
+ * This method generates a Shared Access Signature (SAS) URL that allows
118
+ * for uploading a blob without needing the Azure Storage account credentials.
119
+ * The URL is valid for 10 minutes and can only be used for writing the specified blob.
120
+ *
121
+ * @param objectName - The name of the blob to upload (including any path/directory)
122
+ * @returns A Promise resolving to an object with the upload URL
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * // Generate a pre-authenticated upload URL for a PDF file
127
+ * const { UploadUrl } = await azureStorage.CreatePreAuthUploadUrl('documents/report.pdf');
128
+ *
129
+ * // The URL can be used with tools like curl to upload the file
130
+ * // curl -H "x-ms-blob-type: BlockBlob" --upload-file report.pdf --url "https://accountname.blob.core.windows.net/container/documents/report.pdf?sastoken"
131
+ * console.log(UploadUrl);
132
+ * ```
133
+ */
65
134
  CreatePreAuthUploadUrl(objectName) {
66
135
  const now = new Date();
67
136
  const sasOptions = {
@@ -79,6 +148,25 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
79
148
  const UploadUrl = `https://${this._accountName}.blob.core.windows.net/${this._container}/${objectName}${queryString}`;
80
149
  return Promise.resolve({ UploadUrl });
81
150
  }
151
+ /**
152
+ * Creates a pre-authenticated download URL for a blob in Azure Blob Storage.
153
+ *
154
+ * This method generates a Shared Access Signature (SAS) URL that allows
155
+ * for downloading a blob without needing the Azure Storage account credentials.
156
+ * The URL is valid for 10 minutes and can only be used for reading the specified blob.
157
+ *
158
+ * @param objectName - The name of the blob to download (including any path/directory)
159
+ * @returns A Promise resolving to the download URL
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * // Generate a pre-authenticated download URL for a PDF file
164
+ * const downloadUrl = await azureStorage.CreatePreAuthDownloadUrl('documents/report.pdf');
165
+ *
166
+ * // The URL can be shared with users or used in applications for direct download
167
+ * console.log(downloadUrl);
168
+ * ```
169
+ */
82
170
  CreatePreAuthDownloadUrl(objectName) {
83
171
  const now = new Date();
84
172
  const sasOptions = {
@@ -94,6 +182,33 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
94
182
  const url = `https://${this._accountName}.blob.core.windows.net/${this._container}/${objectName}${queryString}`;
95
183
  return Promise.resolve(url);
96
184
  }
185
+ /**
186
+ * Moves a blob from one location to another within Azure Blob Storage.
187
+ *
188
+ * Since Azure Blob Storage doesn't provide a native move operation,
189
+ * this method implements move as a copy followed by a delete operation.
190
+ * It first copies the blob to the new location, and if successful,
191
+ * deletes the blob from the original location.
192
+ *
193
+ * @param oldObjectName - The current name/path of the blob
194
+ * @param newObjectName - The new name/path for the blob
195
+ * @returns A Promise resolving to a boolean indicating success
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * // Move a file from drafts to published folder
200
+ * const success = await azureStorage.MoveObject(
201
+ * 'drafts/report.docx',
202
+ * 'published/final-report.docx'
203
+ * );
204
+ *
205
+ * if (success) {
206
+ * console.log('File successfully moved');
207
+ * } else {
208
+ * console.log('Failed to move file');
209
+ * }
210
+ * ```
211
+ */
97
212
  async MoveObject(oldObjectName, newObjectName) {
98
213
  try {
99
214
  // Reuse CopyObject and DeleteObject for moving
@@ -109,6 +224,27 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
109
224
  return false;
110
225
  }
111
226
  }
227
+ /**
228
+ * Deletes a blob from Azure Blob Storage.
229
+ *
230
+ * This method attempts to delete the specified blob if it exists.
231
+ * It returns true if the blob was successfully deleted or if it didn't exist.
232
+ *
233
+ * @param objectName - The name of the blob to delete (including any path/directory)
234
+ * @returns A Promise resolving to a boolean indicating success
235
+ *
236
+ * @example
237
+ * ```typescript
238
+ * // Delete a temporary file
239
+ * const deleted = await azureStorage.DeleteObject('temp/report-draft.pdf');
240
+ *
241
+ * if (deleted) {
242
+ * console.log('File successfully deleted');
243
+ * } else {
244
+ * console.log('Failed to delete file');
245
+ * }
246
+ * ```
247
+ */
112
248
  async DeleteObject(objectName) {
113
249
  try {
114
250
  const blobClient = this._getBlobClient(objectName);
@@ -121,6 +257,34 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
121
257
  return false;
122
258
  }
123
259
  }
260
+ /**
261
+ * Lists blobs with the specified prefix in Azure Blob Storage.
262
+ *
263
+ * This method returns a list of blobs (files) and virtual directories under the
264
+ * specified path prefix. Since Azure Blob Storage doesn't have actual directories,
265
+ * this method simulates directory structure by looking at blob names with common
266
+ * prefixes and using the delimiter to identify "directory" paths.
267
+ *
268
+ * @param prefix - The path prefix to list blobs from (e.g., 'documents/')
269
+ * @param delimiter - The character used to simulate directory structure, defaults to '/'
270
+ * @returns A Promise resolving to a StorageListResult containing objects and prefixes
271
+ *
272
+ * @example
273
+ * ```typescript
274
+ * // List all files and directories in the documents folder
275
+ * const result = await azureStorage.ListObjects('documents/');
276
+ *
277
+ * // Process files
278
+ * for (const file of result.objects) {
279
+ * console.log(`File: ${file.name}, Size: ${file.size}, Type: ${file.contentType}`);
280
+ * }
281
+ *
282
+ * // Process subdirectories
283
+ * for (const dir of result.prefixes) {
284
+ * console.log(`Directory: ${dir}`);
285
+ * }
286
+ * ```
287
+ */
124
288
  async ListObjects(prefix, delimiter = '/') {
125
289
  try {
126
290
  // Azure doesn't support real directories, so we need to mimic the behavior
@@ -174,6 +338,29 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
174
338
  return { objects: [], prefixes: [] };
175
339
  }
176
340
  }
341
+ /**
342
+ * Creates a directory (virtual) in Azure Blob Storage.
343
+ *
344
+ * Since Azure Blob Storage doesn't have a native directory concept,
345
+ * this method creates a zero-byte blob with a trailing slash to
346
+ * simulate a directory. The blob has a special content type to
347
+ * indicate it's a directory.
348
+ *
349
+ * @param directoryPath - The path of the directory to create
350
+ * @returns A Promise resolving to a boolean indicating success
351
+ *
352
+ * @example
353
+ * ```typescript
354
+ * // Create a new directory structure
355
+ * const created = await azureStorage.CreateDirectory('documents/reports/annual/');
356
+ *
357
+ * if (created) {
358
+ * console.log('Directory created successfully');
359
+ * } else {
360
+ * console.log('Failed to create directory');
361
+ * }
362
+ * ```
363
+ */
177
364
  async CreateDirectory(directoryPath) {
178
365
  try {
179
366
  // Azure Blob Storage doesn't have real directories
@@ -195,6 +382,26 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
195
382
  return false;
196
383
  }
197
384
  }
385
+ /**
386
+ * Deletes a directory (virtual) and optionally its contents from Azure Blob Storage.
387
+ *
388
+ * For non-recursive deletion, this method simply deletes the directory placeholder blob.
389
+ * For recursive deletion, it lists all blobs with the directory path as prefix
390
+ * and deletes them all, including the directory placeholder.
391
+ *
392
+ * @param directoryPath - The path of the directory to delete
393
+ * @param recursive - If true, deletes all contents recursively (default: false)
394
+ * @returns A Promise resolving to a boolean indicating success
395
+ *
396
+ * @example
397
+ * ```typescript
398
+ * // Delete an empty directory
399
+ * const deleted = await azureStorage.DeleteDirectory('documents/temp/');
400
+ *
401
+ * // Delete a directory and all its contents
402
+ * const recursivelyDeleted = await azureStorage.DeleteDirectory('documents/old_projects/', true);
403
+ * ```
404
+ */
198
405
  async DeleteDirectory(directoryPath, recursive = false) {
199
406
  try {
200
407
  directoryPath = this._normalizeDirectoryPath(directoryPath);
@@ -222,6 +429,29 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
222
429
  return false;
223
430
  }
224
431
  }
432
+ /**
433
+ * Retrieves metadata for a specific blob in Azure Blob Storage.
434
+ *
435
+ * This method fetches the properties of a blob without downloading its content,
436
+ * which is more efficient for checking file attributes like size, content type,
437
+ * and last modified date.
438
+ *
439
+ * @param objectName - The name of the blob to get metadata for
440
+ * @returns A Promise resolving to a StorageObjectMetadata object
441
+ * @throws Error if the blob doesn't exist or cannot be accessed
442
+ *
443
+ * @example
444
+ * ```typescript
445
+ * try {
446
+ * const metadata = await azureStorage.GetObjectMetadata('documents/report.pdf');
447
+ * console.log(`File: ${metadata.name}`);
448
+ * console.log(`Size: ${metadata.size} bytes`);
449
+ * console.log(`Last modified: ${metadata.lastModified}`);
450
+ * } catch (error) {
451
+ * console.error('File does not exist or cannot be accessed');
452
+ * }
453
+ * ```
454
+ */
225
455
  async GetObjectMetadata(objectName) {
226
456
  try {
227
457
  const blobClient = this._getBlobClient(objectName);
@@ -248,6 +478,28 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
248
478
  throw new Error(`Object not found: ${objectName}`);
249
479
  }
250
480
  }
481
+ /**
482
+ * Downloads a blob's content from Azure Blob Storage.
483
+ *
484
+ * This method retrieves the full content of a blob and returns it as a Buffer
485
+ * for processing in memory.
486
+ *
487
+ * @param objectName - The name of the blob to download
488
+ * @returns A Promise resolving to a Buffer containing the blob's data
489
+ * @throws Error if the blob doesn't exist or cannot be downloaded
490
+ *
491
+ * @example
492
+ * ```typescript
493
+ * try {
494
+ * const content = await azureStorage.GetObject('documents/config.json');
495
+ * // Parse the JSON content
496
+ * const config = JSON.parse(content.toString('utf8'));
497
+ * console.log('Configuration loaded:', config);
498
+ * } catch (error) {
499
+ * console.error('Failed to download file:', error.message);
500
+ * }
501
+ * ```
502
+ */
251
503
  async GetObject(objectName) {
252
504
  try {
253
505
  const blobClient = this._getBlobClient(objectName);
@@ -273,6 +525,36 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
273
525
  throw new Error(`Failed to get object: ${objectName}`);
274
526
  }
275
527
  }
528
+ /**
529
+ * Uploads data to a blob in Azure Blob Storage.
530
+ *
531
+ * This method directly uploads a Buffer of data to a blob with the specified name.
532
+ * It's useful for server-side operations where you already have the data in memory.
533
+ *
534
+ * @param objectName - The name to assign to the uploaded blob
535
+ * @param data - The Buffer containing the data to upload
536
+ * @param contentType - Optional MIME type for the blob (inferred from name if not provided)
537
+ * @param metadata - Optional key-value pairs of custom metadata to associate with the blob
538
+ * @returns A Promise resolving to a boolean indicating success
539
+ *
540
+ * @example
541
+ * ```typescript
542
+ * // Upload a text file
543
+ * const content = Buffer.from('Hello, World!', 'utf8');
544
+ * const uploaded = await azureStorage.PutObject(
545
+ * 'documents/hello.txt',
546
+ * content,
547
+ * 'text/plain',
548
+ * { author: 'John Doe', department: 'Engineering' }
549
+ * );
550
+ *
551
+ * if (uploaded) {
552
+ * console.log('File uploaded successfully');
553
+ * } else {
554
+ * console.log('Failed to upload file');
555
+ * }
556
+ * ```
557
+ */
276
558
  async PutObject(objectName, data, contentType, metadata) {
277
559
  try {
278
560
  const blobClient = this._getBlobClient(objectName);
@@ -294,6 +576,31 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
294
576
  return false;
295
577
  }
296
578
  }
579
+ /**
580
+ * Copies a blob within Azure Blob Storage.
581
+ *
582
+ * This method creates a copy of a blob at a new location without removing the original.
583
+ * It uses a SAS URL to provide the source blob access for the copy operation.
584
+ *
585
+ * @param sourceObjectName - The name of the blob to copy
586
+ * @param destinationObjectName - The name to assign to the copied blob
587
+ * @returns A Promise resolving to a boolean indicating success
588
+ *
589
+ * @example
590
+ * ```typescript
591
+ * // Create a backup copy of an important file
592
+ * const copied = await azureStorage.CopyObject(
593
+ * 'documents/contract.pdf',
594
+ * 'backups/contract_2024-05-16.pdf'
595
+ * );
596
+ *
597
+ * if (copied) {
598
+ * console.log('File copied successfully');
599
+ * } else {
600
+ * console.log('Failed to copy file');
601
+ * }
602
+ * ```
603
+ */
297
604
  async CopyObject(sourceObjectName, destinationObjectName) {
298
605
  try {
299
606
  const sourceBlobClient = this._getBlobClient(sourceObjectName);
@@ -315,6 +622,29 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
315
622
  return false;
316
623
  }
317
624
  }
625
+ /**
626
+ * Checks if a blob exists in Azure Blob Storage.
627
+ *
628
+ * This method verifies the existence of a blob without downloading its content,
629
+ * which is efficient for validation purposes.
630
+ *
631
+ * @param objectName - The name of the blob to check
632
+ * @returns A Promise resolving to a boolean indicating if the blob exists
633
+ *
634
+ * @example
635
+ * ```typescript
636
+ * // Check if a file exists before attempting to use it
637
+ * const exists = await azureStorage.ObjectExists('documents/report.pdf');
638
+ *
639
+ * if (exists) {
640
+ * console.log('File exists, proceeding with download');
641
+ * const content = await azureStorage.GetObject('documents/report.pdf');
642
+ * // Process the content...
643
+ * } else {
644
+ * console.log('File does not exist');
645
+ * }
646
+ * ```
647
+ */
318
648
  async ObjectExists(objectName) {
319
649
  try {
320
650
  const blobClient = this._getBlobClient(objectName);
@@ -326,6 +656,31 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
326
656
  return false;
327
657
  }
328
658
  }
659
+ /**
660
+ * Checks if a directory (virtual) exists in Azure Blob Storage.
661
+ *
662
+ * Since Azure Blob Storage doesn't have a native directory concept,
663
+ * this method checks for either:
664
+ * 1. The existence of a directory placeholder blob (zero-byte blob with trailing slash)
665
+ * 2. The existence of any blobs with the directory path as a prefix
666
+ *
667
+ * @param directoryPath - The path of the directory to check
668
+ * @returns A Promise resolving to a boolean indicating if the directory exists
669
+ *
670
+ * @example
671
+ * ```typescript
672
+ * // Check if a directory exists before trying to save files to it
673
+ * const exists = await azureStorage.DirectoryExists('documents/reports/');
674
+ *
675
+ * if (!exists) {
676
+ * console.log('Directory does not exist, creating it first');
677
+ * await azureStorage.CreateDirectory('documents/reports/');
678
+ * }
679
+ *
680
+ * // Now safe to use the directory
681
+ * await azureStorage.PutObject('documents/reports/new-report.pdf', fileData);
682
+ * ```
683
+ */
329
684
  async DirectoryExists(directoryPath) {
330
685
  try {
331
686
  directoryPath = this._normalizeDirectoryPath(directoryPath);
@@ -1 +1 @@
1
- {"version":3,"file":"AzureFileStorage.js","sourceRoot":"","sources":["../../src/drivers/AzureFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AzureFileStorage.js","sourceRoot":"","sources":["../../src/drivers/AzureFileStorage.ts"],"names":[],"mappings":"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"}