@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.
- package/dist/drivers/AWSFileStorage.d.ts +360 -4
- package/dist/drivers/AWSFileStorage.d.ts.map +1 -1
- package/dist/drivers/AWSFileStorage.js +357 -4
- package/dist/drivers/AWSFileStorage.js.map +1 -1
- package/dist/drivers/AzureFileStorage.d.ts +362 -2
- package/dist/drivers/AzureFileStorage.d.ts.map +1 -1
- package/dist/drivers/AzureFileStorage.js +357 -2
- package/dist/drivers/AzureFileStorage.js.map +1 -1
- package/dist/drivers/BoxFileStorage.d.ts +539 -20
- package/dist/drivers/BoxFileStorage.d.ts.map +1 -1
- package/dist/drivers/BoxFileStorage.js +521 -20
- package/dist/drivers/BoxFileStorage.js.map +1 -1
- package/dist/drivers/DropboxFileStorage.d.ts +437 -15
- package/dist/drivers/DropboxFileStorage.d.ts.map +1 -1
- package/dist/drivers/DropboxFileStorage.js +431 -15
- package/dist/drivers/DropboxFileStorage.js.map +1 -1
- package/dist/drivers/GoogleDriveFileStorage.d.ts +342 -16
- package/dist/drivers/GoogleDriveFileStorage.d.ts.map +1 -1
- package/dist/drivers/GoogleDriveFileStorage.js +340 -16
- package/dist/drivers/GoogleDriveFileStorage.js.map +1 -1
- package/dist/drivers/GoogleFileStorage.d.ts +358 -2
- package/dist/drivers/GoogleFileStorage.d.ts.map +1 -1
- package/dist/drivers/GoogleFileStorage.js +356 -2
- package/dist/drivers/GoogleFileStorage.js.map +1 -1
- package/dist/drivers/SharePointFileStorage.d.ts +434 -20
- package/dist/drivers/SharePointFileStorage.d.ts.map +1 -1
- package/dist/drivers/SharePointFileStorage.js +453 -22
- package/dist/drivers/SharePointFileStorage.js.map +1 -1
- package/dist/generic/FileStorageBase.d.ts +326 -108
- package/dist/generic/FileStorageBase.d.ts.map +1 -1
- package/dist/generic/FileStorageBase.js +54 -6
- package/dist/generic/FileStorageBase.js.map +1 -1
- package/dist/util.d.ts +125 -18
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +125 -18
- package/dist/util.js.map +1 -1
- package/package.json +4 -4
- 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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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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"}
|