@protontech/drive-sdk 0.9.7 → 0.9.9
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/interface/upload.d.ts +10 -0
- package/dist/internal/nodes/mediaTypes.d.ts +2 -0
- package/dist/internal/nodes/mediaTypes.js +3 -0
- package/dist/internal/nodes/mediaTypes.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.js +2 -1
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/photos/albums.d.ts +15 -1
- package/dist/internal/photos/albums.js +91 -1
- package/dist/internal/photos/albums.js.map +1 -1
- package/dist/internal/photos/albums.test.d.ts +1 -0
- package/dist/internal/photos/albums.test.js +217 -0
- package/dist/internal/photos/albums.test.js.map +1 -0
- package/dist/internal/photos/albumsCrypto.d.ts +35 -0
- package/dist/internal/photos/albumsCrypto.js +66 -0
- package/dist/internal/photos/albumsCrypto.js.map +1 -0
- package/dist/internal/photos/albumsCrypto.test.d.ts +1 -0
- package/dist/internal/photos/albumsCrypto.test.js +134 -0
- package/dist/internal/photos/albumsCrypto.test.js.map +1 -0
- package/dist/internal/photos/apiService.d.ts +22 -0
- package/dist/internal/photos/apiService.js +91 -0
- package/dist/internal/photos/apiService.js.map +1 -1
- package/dist/internal/photos/index.d.ts +4 -4
- package/dist/internal/photos/index.js +5 -3
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/interface.d.ts +21 -0
- package/dist/internal/photos/interface.js +14 -0
- package/dist/internal/photos/interface.js.map +1 -1
- package/dist/internal/photos/timeline.d.ts +2 -5
- package/dist/internal/photos/timeline.js.map +1 -1
- package/dist/internal/photos/upload.js +3 -2
- package/dist/internal/photos/upload.js.map +1 -1
- package/dist/internal/upload/streamUploader.d.ts +3 -1
- package/dist/internal/upload/streamUploader.js +10 -3
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +10 -0
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/protonDrivePhotosClient.d.ts +64 -6
- package/dist/protonDrivePhotosClient.js +75 -1
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/protonDrivePublicLinkClient.d.ts +15 -0
- package/dist/protonDrivePublicLinkClient.js +20 -0
- package/dist/protonDrivePublicLinkClient.js.map +1 -1
- package/package.json +1 -1
- package/src/interface/upload.ts +10 -0
- package/src/internal/nodes/mediaTypes.ts +3 -0
- package/src/internal/nodes/nodesManagement.ts +2 -1
- package/src/internal/photos/albums.test.ts +268 -0
- package/src/internal/photos/albums.ts +136 -0
- package/src/internal/photos/albumsCrypto.test.ts +181 -0
- package/src/internal/photos/albumsCrypto.ts +100 -0
- package/src/internal/photos/apiService.ts +168 -2
- package/src/internal/photos/index.ts +7 -5
- package/src/internal/photos/interface.ts +24 -0
- package/src/internal/photos/timeline.ts +2 -5
- package/src/internal/photos/upload.ts +3 -2
- package/src/internal/upload/streamUploader.test.ts +38 -0
- package/src/internal/upload/streamUploader.ts +10 -3
- package/src/protonDrivePhotosClient.ts +104 -9
- package/src/protonDrivePublicLinkClient.ts +27 -0
|
@@ -70,6 +70,12 @@ export class ProtonDrivePublicLinkClient {
|
|
|
70
70
|
* This is used by Docs app to encrypt and decrypt document updates.
|
|
71
71
|
*/
|
|
72
72
|
getDocsKey: (nodeUid: NodeOrUid) => Promise<SessionKey>;
|
|
73
|
+
/**
|
|
74
|
+
* Experimental feature to get the passphrase for a node.
|
|
75
|
+
*
|
|
76
|
+
* This is used by public link page to report abuse.
|
|
77
|
+
*/
|
|
78
|
+
getNodePassphrase: (nodeUid: NodeOrUid) => Promise<string>;
|
|
73
79
|
/**
|
|
74
80
|
* Experimental feature to check if hashes match the malware database.
|
|
75
81
|
*/
|
|
@@ -175,6 +181,14 @@ export class ProtonDrivePublicLinkClient {
|
|
|
175
181
|
}
|
|
176
182
|
return keys.contentKeyPacketSessionKey;
|
|
177
183
|
},
|
|
184
|
+
getNodePassphrase: async (nodeUid: NodeOrUid) => {
|
|
185
|
+
this.logger.debug(`Getting node passphrase for ${getUid(nodeUid)}`);
|
|
186
|
+
const keys = await this.sharingPublic.nodes.access.getNodeKeys(getUid(nodeUid));
|
|
187
|
+
if (!keys.passphrase) {
|
|
188
|
+
throw new Error('Node does not have a passphrase');
|
|
189
|
+
}
|
|
190
|
+
return keys.passphrase
|
|
191
|
+
},
|
|
178
192
|
scanHashes: async (hashes: string[]): Promise<NodesSecurityScanResult> => {
|
|
179
193
|
this.logger.debug(`Scanning ${hashes.length} hashes`);
|
|
180
194
|
return this.sharingPublic.nodes.security.scanHashes(hashes);
|
|
@@ -336,4 +350,17 @@ export class ProtonDrivePublicLinkClient {
|
|
|
336
350
|
this.logger.info(`Getting file revision uploader for ${getUid(nodeUid)}`);
|
|
337
351
|
return this.upload.getFileRevisionUploader(getUid(nodeUid), metadata, signal);
|
|
338
352
|
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Returns the available name for the file in the given parent folder.
|
|
356
|
+
*
|
|
357
|
+
* The function will return a name that includes the original name with the
|
|
358
|
+
* available index. The name is guaranteed to be unique in the parent folder.
|
|
359
|
+
*
|
|
360
|
+
* Example new name: `file (2).txt`.
|
|
361
|
+
*/
|
|
362
|
+
async getAvailableName(parentFolderUid: NodeOrUid, name: string): Promise<string> {
|
|
363
|
+
this.logger.info(`Getting available name in folder ${getUid(parentFolderUid)}`);
|
|
364
|
+
return this.sharingPublic.nodes.management.findAvailableName(getUid(parentFolderUid), name);
|
|
365
|
+
}
|
|
339
366
|
}
|