@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
@@ -39,11 +39,33 @@ const env = __importStar(require("env-var"));
39
39
  const mime = __importStar(require("mime-types"));
40
40
  const FileStorageBase_1 = require("../generic/FileStorageBase");
41
41
  /**
42
- * Simple implementation of AuthenticationProvider that uses client credentials flow
42
+ * Implementation of the Microsoft Graph API AuthenticationProvider interface
43
+ * that uses the OAuth2 client credentials flow for authentication.
44
+ *
45
+ * This provider handles token acquisition, caching, and automatic token refresh
46
+ * when tokens expire, providing seamless authentication for SharePoint operations.
47
+ *
48
+ * @remarks
49
+ * This class is designed for server-to-server authentication scenarios where
50
+ * user interaction isn't possible. It requires an Azure AD application with
51
+ * appropriate permissions to access SharePoint/OneDrive resources.
43
52
  */
44
53
  class ClientCredentialsAuthProvider {
54
+ /**
55
+ * Creates a new ClientCredentialsAuthProvider instance
56
+ *
57
+ * @param clientId - The Azure AD application (client) ID
58
+ * @param clientSecret - The Azure AD application client secret
59
+ * @param tenantId - The Azure AD tenant ID
60
+ */
45
61
  constructor(clientId, clientSecret, tenantId) {
62
+ /**
63
+ * Cached access token
64
+ */
46
65
  this.accessToken = null;
66
+ /**
67
+ * Expiration timestamp for the cached token
68
+ */
47
69
  this.tokenExpiration = null;
48
70
  this.clientId = clientId;
49
71
  this.clientSecret = clientSecret;
@@ -51,7 +73,14 @@ class ClientCredentialsAuthProvider {
51
73
  this.tokenEndpoint = `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/token`;
52
74
  }
53
75
  /**
54
- * Get access token for the specified resource
76
+ * Gets an access token for Microsoft Graph API
77
+ *
78
+ * This method implements the AuthenticationProvider interface required by the
79
+ * Microsoft Graph client. It acquires a new token or returns a cached token
80
+ * if it's still valid.
81
+ *
82
+ * @returns A Promise that resolves to the access token string
83
+ * @throws Error if token acquisition fails
55
84
  */
56
85
  async getAccessToken() {
57
86
  if (this.accessToken && this.tokenExpiration && this.tokenExpiration > new Date()) {
@@ -81,9 +110,66 @@ class ClientCredentialsAuthProvider {
81
110
  return this.accessToken;
82
111
  }
83
112
  }
113
+ /**
114
+ * FileStorageBase implementation for Microsoft SharePoint using the Microsoft Graph API
115
+ *
116
+ * This provider allows working with files stored in SharePoint document libraries.
117
+ * It uses the Microsoft Graph API and client credentials authentication flow to
118
+ * securely access and manipulate SharePoint files and folders.
119
+ *
120
+ * @remarks
121
+ * This implementation requires the following environment variables:
122
+ * - STORAGE_SHAREPOINT_CLIENT_ID - Azure AD application (client) ID
123
+ * - STORAGE_SHAREPOINT_CLIENT_SECRET - Azure AD application client secret
124
+ * - STORAGE_SHAREPOINT_TENANT_ID - Azure AD tenant ID
125
+ * - STORAGE_SHAREPOINT_SITE_ID - The SharePoint site ID
126
+ * - STORAGE_SHAREPOINT_DRIVE_ID - The ID of the document library (drive)
127
+ * - STORAGE_SHAREPOINT_ROOT_FOLDER_ID (optional) - ID of a subfolder to use as the root
128
+ *
129
+ * To use this provider, you need to:
130
+ * 1. Register an Azure AD application with appropriate Microsoft Graph API permissions
131
+ * (typically Files.ReadWrite.All and Sites.ReadWrite.All)
132
+ * 2. Create a client secret for the application
133
+ * 3. Grant admin consent for the permissions
134
+ * 4. Find your SharePoint site ID and document library (drive) ID using the Microsoft Graph Explorer
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * // Set required environment variables before creating the provider
139
+ * process.env.STORAGE_SHAREPOINT_CLIENT_ID = 'your-client-id';
140
+ * process.env.STORAGE_SHAREPOINT_CLIENT_SECRET = 'your-client-secret';
141
+ * process.env.STORAGE_SHAREPOINT_TENANT_ID = 'your-tenant-id';
142
+ * process.env.STORAGE_SHAREPOINT_SITE_ID = 'your-site-id';
143
+ * process.env.STORAGE_SHAREPOINT_DRIVE_ID = 'your-drive-id';
144
+ *
145
+ * // Create the provider
146
+ * const storage = new SharePointFileStorage();
147
+ *
148
+ * // Upload a file
149
+ * const fileContent = Buffer.from('Hello, SharePoint!');
150
+ * await storage.PutObject('documents/hello.txt', fileContent, 'text/plain');
151
+ *
152
+ * // Download a file
153
+ * const downloadedContent = await storage.GetObject('documents/hello.txt');
154
+ *
155
+ * // Get a temporary download URL
156
+ * const downloadUrl = await storage.CreatePreAuthDownloadUrl('documents/hello.txt');
157
+ * ```
158
+ */
84
159
  let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_1.FileStorageBase {
160
+ /**
161
+ * Creates a new SharePointFileStorage instance
162
+ *
163
+ * This constructor reads required configuration from environment variables
164
+ * and initializes the Microsoft Graph client.
165
+ *
166
+ * @throws Error if required environment variables are missing
167
+ */
85
168
  constructor() {
86
169
  super();
170
+ /**
171
+ * The name of this storage provider
172
+ */
87
173
  this.providerName = 'SharePoint';
88
174
  const clientId = env.get('STORAGE_SHAREPOINT_CLIENT_ID').required().asString();
89
175
  const clientSecret = env.get('STORAGE_SHAREPOINT_CLIENT_SECRET').required().asString();
@@ -99,10 +185,15 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
99
185
  });
100
186
  }
101
187
  /**
102
- * Get the parent item ID for a given path
188
+ * Gets the SharePoint item ID for a folder at the specified path
189
+ *
190
+ * This helper method navigates the folder hierarchy in SharePoint to find
191
+ * the folder specified by the path, returning its item ID.
103
192
  *
104
- * @param path The path to get the parent folder for
105
- * @returns The parent folder ID
193
+ * @param path - The path to get the parent folder for (e.g., 'documents/reports')
194
+ * @returns A Promise that resolves to the parent folder ID
195
+ * @throws Error if any folder in the path doesn't exist
196
+ * @private
106
197
  */
107
198
  async _getParentFolderIdByPath(path) {
108
199
  if (!path || path === '/' || path === '') {
@@ -123,10 +214,15 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
123
214
  return currentFolderId;
124
215
  }
125
216
  /**
126
- * Get an item by path
217
+ * Gets a SharePoint item by its path
218
+ *
219
+ * This helper method retrieves a SharePoint item (file or folder) using
220
+ * its path. It handles path normalization and root folder redirection.
127
221
  *
128
- * @param path The path of the item
129
- * @returns The item
222
+ * @param path - The path of the item to retrieve (e.g., 'documents/reports/report.docx')
223
+ * @returns A Promise that resolves to the SharePoint item
224
+ * @throws Error if the item doesn't exist or cannot be accessed
225
+ * @private
130
226
  */
131
227
  async _getItemByPath(path) {
132
228
  if (!path || path === '/' || path === '') {
@@ -148,7 +244,14 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
148
244
  }
149
245
  }
150
246
  /**
151
- * Convert a SharePoint item to a StorageObjectMetadata object
247
+ * Converts a SharePoint item to a StorageObjectMetadata object
248
+ *
249
+ * This helper method transforms the Microsoft Graph API item representation
250
+ * into the standard StorageObjectMetadata format used by the FileStorageBase interface.
251
+ *
252
+ * @param item - The SharePoint item from the Microsoft Graph API
253
+ * @returns A StorageObjectMetadata object representing the item
254
+ * @private
152
255
  */
153
256
  _itemToMetadata(item) {
154
257
  const isDirectory = !!item.folder;
@@ -175,7 +278,27 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
175
278
  };
176
279
  }
177
280
  /**
178
- * Create a pre-authenticated upload URL is not directly supported in SharePoint/OneDrive
281
+ * Creates a pre-authenticated upload URL (not supported in SharePoint)
282
+ *
283
+ * This method is not supported for SharePoint storage as SharePoint doesn't provide
284
+ * a way to generate pre-authenticated upload URLs like object storage services.
285
+ * Instead, use the PutObject method for file uploads.
286
+ *
287
+ * @param objectName - The object name (path) to create a pre-auth URL for
288
+ * @throws UnsupportedOperationError always, as this operation is not supported
289
+ * @example
290
+ * ```typescript
291
+ * // This will throw an UnsupportedOperationError
292
+ * try {
293
+ * await storage.CreatePreAuthUploadUrl('documents/report.docx');
294
+ * } catch (error) {
295
+ * if (error instanceof UnsupportedOperationError) {
296
+ * console.log('Pre-authenticated upload URLs are not supported in SharePoint.');
297
+ * // Use PutObject instead
298
+ * await storage.PutObject('documents/report.docx', fileContent, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document');
299
+ * }
300
+ * }
301
+ * ```
179
302
  */
180
303
  async CreatePreAuthUploadUrl(objectName) {
181
304
  // SharePoint doesn't provide a way to get pre-authenticated upload URLs like S3
@@ -183,7 +306,24 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
183
306
  this.throwUnsupportedOperationError('CreatePreAuthUploadUrl');
184
307
  }
185
308
  /**
186
- * Create a pre-authenticated download URL for an object
309
+ * Creates a pre-authenticated download URL for an object
310
+ *
311
+ * This method generates a time-limited, publicly accessible URL that can be used
312
+ * to download a file without authentication. The URL expires after 10 minutes.
313
+ *
314
+ * @param objectName - Path to the object to create a download URL for (e.g., 'documents/report.pdf')
315
+ * @returns A Promise that resolves to the pre-authenticated download URL
316
+ * @throws Error if the object doesn't exist or the URL creation fails
317
+ *
318
+ * @example
319
+ * ```typescript
320
+ * // Generate a pre-authenticated download URL that will work for 10 minutes
321
+ * const downloadUrl = await storage.CreatePreAuthDownloadUrl('presentations/quarterly-update.pptx');
322
+ * console.log(`Download the file using this URL: ${downloadUrl}`);
323
+ *
324
+ * // You can share this URL with users who don't have SharePoint access
325
+ * // The URL will expire after 10 minutes
326
+ * ```
187
327
  */
188
328
  async CreatePreAuthDownloadUrl(objectName) {
189
329
  try {
@@ -203,7 +343,29 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
203
343
  }
204
344
  }
205
345
  /**
206
- * Move an object from one location to another
346
+ * Moves an object from one location to another
347
+ *
348
+ * This method moves a file or folder from one location in SharePoint to another.
349
+ * It handles both renaming and changing the parent folder.
350
+ *
351
+ * @param oldObjectName - Current path of the object (e.g., 'old-folder/document.docx')
352
+ * @param newObjectName - New path for the object (e.g., 'new-folder/renamed-document.docx')
353
+ * @returns A Promise that resolves to true if successful, false otherwise
354
+ *
355
+ * @example
356
+ * ```typescript
357
+ * // Move a file to a different folder
358
+ * const moveResult = await storage.MoveObject(
359
+ * 'documents/old-report.pdf',
360
+ * 'archive/2023/annual-report.pdf'
361
+ * );
362
+ *
363
+ * if (moveResult) {
364
+ * console.log('File moved successfully');
365
+ * } else {
366
+ * console.error('Failed to move file');
367
+ * }
368
+ * ```
207
369
  */
208
370
  async MoveObject(oldObjectName, newObjectName) {
209
371
  try {
@@ -231,7 +393,30 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
231
393
  }
232
394
  }
233
395
  /**
234
- * Delete an object
396
+ * Deletes an object (file) from SharePoint
397
+ *
398
+ * This method permanently deletes a file from SharePoint storage.
399
+ * Note that deleted files may be recoverable from the SharePoint recycle bin
400
+ * depending on your SharePoint configuration.
401
+ *
402
+ * @param objectName - Path to the object to delete (e.g., 'documents/old-report.docx')
403
+ * @returns A Promise that resolves to true if successful, false if an error occurs
404
+ *
405
+ * @remarks
406
+ * - Returns true if the object doesn't exist (for idempotency)
407
+ * - Handles 404 errors by returning true since the end result is the same
408
+ *
409
+ * @example
410
+ * ```typescript
411
+ * // Delete a file
412
+ * const deleteResult = await storage.DeleteObject('temp/draft-document.docx');
413
+ *
414
+ * if (deleteResult) {
415
+ * console.log('File deleted successfully or already didn\'t exist');
416
+ * } else {
417
+ * console.error('Failed to delete file');
418
+ * }
419
+ * ```
235
420
  */
236
421
  async DeleteObject(objectName) {
237
422
  try {
@@ -251,7 +436,35 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
251
436
  }
252
437
  }
253
438
  /**
254
- * List objects in a given directory
439
+ * Lists objects in a given directory (folder)
440
+ *
441
+ * This method retrieves all files and subfolders in the specified directory.
442
+ * It returns both a list of object metadata and a list of directory prefixes.
443
+ *
444
+ * @param prefix - Path to the directory to list (e.g., 'documents/reports')
445
+ * @param delimiter - Optional delimiter character (not used in this implementation)
446
+ * @returns A Promise that resolves to a StorageListResult containing objects and prefixes
447
+ *
448
+ * @remarks
449
+ * - The `objects` array in the result includes both files and folders
450
+ * - The `prefixes` array includes only folder paths (with trailing slashes)
451
+ * - Returns empty arrays if the directory doesn't exist or an error occurs
452
+ *
453
+ * @example
454
+ * ```typescript
455
+ * // List all files and folders in the 'documents' directory
456
+ * const result = await storage.ListObjects('documents');
457
+ *
458
+ * // Process files
459
+ * for (const obj of result.objects) {
460
+ * console.log(`Name: ${obj.name}, Size: ${obj.size}, Type: ${obj.isDirectory ? 'Folder' : 'File'}`);
461
+ * }
462
+ *
463
+ * // Process subfolders
464
+ * for (const prefix of result.prefixes) {
465
+ * console.log(`Subfolder: ${prefix}`);
466
+ * }
467
+ * ```
255
468
  */
256
469
  async ListObjects(prefix, delimiter) {
257
470
  try {
@@ -280,7 +493,37 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
280
493
  }
281
494
  }
282
495
  /**
283
- * Create a directory
496
+ * Creates a directory (folder) in SharePoint
497
+ *
498
+ * This method creates a new folder at the specified path. The parent directory
499
+ * must already exist.
500
+ *
501
+ * @param directoryPath - Path where the directory should be created (e.g., 'documents/new-folder')
502
+ * @returns A Promise that resolves to true if successful, false if an error occurs
503
+ *
504
+ * @remarks
505
+ * - If a folder with the same name already exists, the operation will fail
506
+ * - The parent directory must exist for the operation to succeed
507
+ * - Trailing slashes in the path are automatically removed
508
+ *
509
+ * @example
510
+ * ```typescript
511
+ * // Create a new folder
512
+ * const createResult = await storage.CreateDirectory('documents/2024-reports');
513
+ *
514
+ * if (createResult) {
515
+ * console.log('Folder created successfully');
516
+ *
517
+ * // Now we can put files in this folder
518
+ * await storage.PutObject(
519
+ * 'documents/2024-reports/q1-results.xlsx',
520
+ * fileContent,
521
+ * 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
522
+ * );
523
+ * } else {
524
+ * console.error('Failed to create folder');
525
+ * }
526
+ * ```
284
527
  */
285
528
  async CreateDirectory(directoryPath) {
286
529
  try {
@@ -309,7 +552,34 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
309
552
  }
310
553
  }
311
554
  /**
312
- * Delete a directory and optionally its contents
555
+ * Deletes a directory (folder) and optionally its contents
556
+ *
557
+ * This method deletes a folder from SharePoint. By default, it will only delete
558
+ * empty folders unless the recursive parameter is set to true.
559
+ *
560
+ * @param directoryPath - Path to the directory to delete (e.g., 'archive/old-reports')
561
+ * @param recursive - If true, delete the directory and all its contents; if false, only delete if empty
562
+ * @returns A Promise that resolves to true if successful, false if an error occurs
563
+ *
564
+ * @remarks
565
+ * - If recursive=false and the directory contains files, the operation will fail
566
+ * - SharePoint deleted items may be recoverable from the recycle bin depending on site settings
567
+ * - Trailing slashes in the path are automatically removed
568
+ *
569
+ * @example
570
+ * ```typescript
571
+ * // Attempt to delete an empty folder
572
+ * const deleteResult = await storage.DeleteDirectory('temp/empty-folder');
573
+ *
574
+ * // Delete a folder and all its contents
575
+ * const recursiveDeleteResult = await storage.DeleteDirectory('archive/old-data', true);
576
+ *
577
+ * if (recursiveDeleteResult) {
578
+ * console.log('Folder and all its contents deleted successfully');
579
+ * } else {
580
+ * console.error('Failed to delete folder');
581
+ * }
582
+ * ```
313
583
  */
314
584
  async DeleteDirectory(directoryPath, recursive = false) {
315
585
  try {
@@ -336,7 +606,30 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
336
606
  }
337
607
  }
338
608
  /**
339
- * Get object metadata
609
+ * Gets metadata for a file or folder
610
+ *
611
+ * This method retrieves metadata information about a file or folder, such as
612
+ * its name, size, content type, and last modified date.
613
+ *
614
+ * @param objectName - Path to the object to get metadata for (e.g., 'documents/report.pdf')
615
+ * @returns A Promise that resolves to a StorageObjectMetadata object
616
+ * @throws Error if the object doesn't exist or cannot be accessed
617
+ *
618
+ * @example
619
+ * ```typescript
620
+ * try {
621
+ * // Get metadata for a file
622
+ * const metadata = await storage.GetObjectMetadata('presentations/quarterly-update.pptx');
623
+ *
624
+ * console.log(`Name: ${metadata.name}`);
625
+ * console.log(`Size: ${metadata.size} bytes`);
626
+ * console.log(`Content Type: ${metadata.contentType}`);
627
+ * console.log(`Last Modified: ${metadata.lastModified}`);
628
+ * console.log(`Is Directory: ${metadata.isDirectory}`);
629
+ * } catch (error) {
630
+ * console.error('Error getting metadata:', error.message);
631
+ * }
632
+ * ```
340
633
  */
341
634
  async GetObjectMetadata(objectName) {
342
635
  try {
@@ -349,7 +642,35 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
349
642
  }
350
643
  }
351
644
  /**
352
- * Get an object's contents
645
+ * Downloads a file's contents
646
+ *
647
+ * This method retrieves the raw content of a file as a Buffer.
648
+ *
649
+ * @param objectName - Path to the file to download (e.g., 'documents/report.pdf')
650
+ * @returns A Promise that resolves to a Buffer containing the file's contents
651
+ * @throws Error if the file doesn't exist or cannot be downloaded
652
+ *
653
+ * @remarks
654
+ * - This method uses the Graph API's download URL to retrieve the file contents
655
+ * - The method will throw an error if the object is a folder
656
+ * - For large files, consider using CreatePreAuthDownloadUrl instead
657
+ *
658
+ * @example
659
+ * ```typescript
660
+ * try {
661
+ * // Download a text file
662
+ * const fileContent = await storage.GetObject('documents/notes.txt');
663
+ *
664
+ * // Convert Buffer to string for text files
665
+ * const textContent = fileContent.toString('utf8');
666
+ * console.log('File content:', textContent);
667
+ *
668
+ * // For binary files, you can write the buffer to a local file
669
+ * // or process it as needed
670
+ * } catch (error) {
671
+ * console.error('Error downloading file:', error.message);
672
+ * }
673
+ * ```
353
674
  */
354
675
  async GetObject(objectName) {
355
676
  try {
@@ -369,7 +690,47 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
369
690
  }
370
691
  }
371
692
  /**
372
- * Upload an object directly
693
+ * Uploads a file to SharePoint
694
+ *
695
+ * This method uploads a file to SharePoint at the specified path. It automatically
696
+ * determines whether to use a simple upload or a chunked upload based on file size.
697
+ *
698
+ * @param objectName - Path where the file should be uploaded (e.g., 'documents/report.pdf')
699
+ * @param data - Buffer containing the file content
700
+ * @param contentType - Optional MIME type of the file (if not provided, it will be guessed from the filename)
701
+ * @param metadata - Optional metadata to associate with the file (not used in SharePoint implementation)
702
+ * @returns A Promise that resolves to true if successful, false if an error occurs
703
+ *
704
+ * @remarks
705
+ * - Files smaller than 4MB use a simple upload
706
+ * - Files 4MB or larger use a chunked upload session for better reliability
707
+ * - Automatically creates the parent folder structure if it doesn't exist
708
+ * - If a file with the same name exists, it will be replaced
709
+ *
710
+ * @example
711
+ * ```typescript
712
+ * // Create a text file
713
+ * const textContent = Buffer.from('This is a sample document', 'utf8');
714
+ * const uploadResult = await storage.PutObject(
715
+ * 'documents/sample.txt',
716
+ * textContent,
717
+ * 'text/plain'
718
+ * );
719
+ *
720
+ * // Upload a large file using chunked upload
721
+ * const largeFileBuffer = fs.readFileSync('/path/to/large-presentation.pptx');
722
+ * const largeUploadResult = await storage.PutObject(
723
+ * 'presentations/quarterly-results.pptx',
724
+ * largeFileBuffer,
725
+ * 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
726
+ * );
727
+ *
728
+ * if (largeUploadResult) {
729
+ * console.log('Large file uploaded successfully');
730
+ * } else {
731
+ * console.error('Failed to upload large file');
732
+ * }
733
+ * ```
373
734
  */
374
735
  async PutObject(objectName, data, contentType, metadata) {
375
736
  try {
@@ -418,7 +779,34 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
418
779
  }
419
780
  }
420
781
  /**
421
- * Copy an object
782
+ * Copies a file from one location to another
783
+ *
784
+ * This method creates a copy of a file at a new location. The original file
785
+ * remains unchanged.
786
+ *
787
+ * @param sourceObjectName - Path to the source file (e.g., 'templates/report-template.docx')
788
+ * @param destinationObjectName - Path where the copy should be created (e.g., 'documents/new-report.docx')
789
+ * @returns A Promise that resolves to true if successful, false if an error occurs
790
+ *
791
+ * @remarks
792
+ * - The parent folder of the destination must exist
793
+ * - Both files and folders can be copied
794
+ * - The operation is asynchronous in SharePoint and may not complete immediately
795
+ *
796
+ * @example
797
+ * ```typescript
798
+ * // Copy a file to a new location with a different name
799
+ * const copyResult = await storage.CopyObject(
800
+ * 'templates/financial-report.xlsx',
801
+ * 'reports/2024/q1-financial-report.xlsx'
802
+ * );
803
+ *
804
+ * if (copyResult) {
805
+ * console.log('File copied successfully');
806
+ * } else {
807
+ * console.error('Failed to copy file');
808
+ * }
809
+ * ```
422
810
  */
423
811
  async CopyObject(sourceObjectName, destinationObjectName) {
424
812
  try {
@@ -446,7 +834,26 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
446
834
  }
447
835
  }
448
836
  /**
449
- * Check if an object exists
837
+ * Checks if a file or folder exists
838
+ *
839
+ * This method verifies whether an object (file or folder) exists at the specified path.
840
+ *
841
+ * @param objectName - Path to check (e.g., 'documents/report.pdf')
842
+ * @returns A Promise that resolves to true if the object exists, false otherwise
843
+ *
844
+ * @example
845
+ * ```typescript
846
+ * // Check if a file exists before attempting to download it
847
+ * const exists = await storage.ObjectExists('presentations/quarterly-update.pptx');
848
+ *
849
+ * if (exists) {
850
+ * // File exists, proceed with download
851
+ * const fileContent = await storage.GetObject('presentations/quarterly-update.pptx');
852
+ * // Process the file...
853
+ * } else {
854
+ * console.log('File does not exist');
855
+ * }
856
+ * ```
450
857
  */
451
858
  async ObjectExists(objectName) {
452
859
  try {
@@ -462,7 +869,31 @@ let SharePointFileStorage = class SharePointFileStorage extends FileStorageBase_
462
869
  }
463
870
  }
464
871
  /**
465
- * Check if a directory exists
872
+ * Checks if a directory exists
873
+ *
874
+ * This method verifies whether a folder exists at the specified path.
875
+ * Unlike ObjectExists, this method also checks that the item is a folder.
876
+ *
877
+ * @param directoryPath - Path to check (e.g., 'documents/reports')
878
+ * @returns A Promise that resolves to true if the directory exists, false otherwise
879
+ *
880
+ * @remarks
881
+ * - Returns false if the path exists but points to a file instead of a folder
882
+ * - Trailing slashes in the path are automatically removed
883
+ *
884
+ * @example
885
+ * ```typescript
886
+ * // Check if a directory exists before creating a file in it
887
+ * const dirExists = await storage.DirectoryExists('documents/reports');
888
+ *
889
+ * if (!dirExists) {
890
+ * // Create the directory first
891
+ * await storage.CreateDirectory('documents/reports');
892
+ * }
893
+ *
894
+ * // Now we can safely put a file in this directory
895
+ * await storage.PutObject('documents/reports/annual-summary.pdf', fileContent, 'application/pdf');
896
+ * ```
466
897
  */
467
898
  async DirectoryExists(directoryPath) {
468
899
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"SharePointFileStorage.js","sourceRoot":"","sources":["../../src/drivers/SharePointFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SharePointFileStorage.js","sourceRoot":"","sources":["../../src/drivers/SharePointFileStorage.ts"],"names":[],"mappings":"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"}