@protontech/drive-sdk 0.6.2 → 0.7.1
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/index.d.ts +1 -0
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/nodes.d.ts +14 -10
- package/dist/interface/nodes.js +5 -8
- package/dist/interface/nodes.js.map +1 -1
- package/dist/interface/photos.d.ts +62 -0
- package/dist/interface/photos.js +3 -0
- package/dist/interface/photos.js.map +1 -0
- package/dist/internal/apiService/apiService.d.ts +2 -2
- package/dist/internal/apiService/apiService.js.map +1 -1
- package/dist/internal/apiService/driveTypes.d.ts +1294 -517
- package/dist/internal/apiService/errors.js +4 -3
- package/dist/internal/apiService/errors.js.map +1 -1
- package/dist/internal/download/cryptoService.js +8 -6
- package/dist/internal/download/cryptoService.js.map +1 -1
- package/dist/internal/download/fileDownloader.d.ts +2 -1
- package/dist/internal/download/fileDownloader.js +6 -3
- package/dist/internal/download/fileDownloader.js.map +1 -1
- package/dist/internal/download/index.d.ts +1 -1
- package/dist/internal/download/index.js +3 -3
- package/dist/internal/download/index.js.map +1 -1
- package/dist/internal/errors.d.ts +1 -0
- package/dist/internal/errors.js +4 -0
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/nodes/apiService.d.ts +68 -16
- package/dist/internal/nodes/apiService.js +138 -85
- package/dist/internal/nodes/apiService.js.map +1 -1
- package/dist/internal/nodes/apiService.test.js +7 -5
- package/dist/internal/nodes/apiService.test.js.map +1 -1
- package/dist/internal/nodes/cache.d.ts +16 -8
- package/dist/internal/nodes/cache.js +19 -5
- package/dist/internal/nodes/cache.js.map +1 -1
- package/dist/internal/nodes/cache.test.js +1 -0
- package/dist/internal/nodes/cache.test.js.map +1 -1
- package/dist/internal/nodes/cryptoReporter.d.ts +3 -3
- package/dist/internal/nodes/cryptoReporter.js.map +1 -1
- package/dist/internal/nodes/cryptoService.d.ts +13 -22
- package/dist/internal/nodes/cryptoService.js +47 -16
- package/dist/internal/nodes/cryptoService.js.map +1 -1
- package/dist/internal/nodes/cryptoService.test.js +262 -17
- package/dist/internal/nodes/cryptoService.test.js.map +1 -1
- package/dist/internal/nodes/events.d.ts +2 -2
- package/dist/internal/nodes/events.js.map +1 -1
- package/dist/internal/nodes/index.test.js +1 -0
- package/dist/internal/nodes/index.test.js.map +1 -1
- package/dist/internal/nodes/interface.d.ts +14 -3
- package/dist/internal/nodes/nodesAccess.d.ts +36 -20
- package/dist/internal/nodes/nodesAccess.js +54 -29
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.d.ts +34 -14
- package/dist/internal/nodes/nodesManagement.js +44 -31
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.test.js +60 -14
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
- package/dist/internal/nodes/nodesRevisions.d.ts +2 -2
- package/dist/internal/nodes/nodesRevisions.js.map +1 -1
- package/dist/internal/photos/albums.d.ts +2 -2
- package/dist/internal/photos/albums.js.map +1 -1
- package/dist/internal/photos/index.d.ts +19 -3
- package/dist/internal/photos/index.js +38 -8
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/interface.d.ts +18 -9
- package/dist/internal/photos/nodes.d.ts +57 -0
- package/dist/internal/photos/nodes.js +165 -0
- package/dist/internal/photos/nodes.js.map +1 -0
- package/dist/internal/photos/timeline.d.ts +2 -2
- package/dist/internal/photos/timeline.js.map +1 -1
- package/dist/internal/photos/timeline.test.js.map +1 -1
- package/dist/internal/photos/upload.d.ts +2 -2
- package/dist/internal/photos/upload.js.map +1 -1
- package/dist/internal/sharingPublic/index.d.ts +6 -6
- package/dist/internal/sharingPublic/index.js +8 -7
- package/dist/internal/sharingPublic/index.js.map +1 -1
- package/dist/internal/sharingPublic/nodes.d.ts +16 -3
- package/dist/internal/sharingPublic/nodes.js +34 -2
- package/dist/internal/sharingPublic/nodes.js.map +1 -1
- package/dist/internal/sharingPublic/unauthApiService.d.ts +17 -0
- package/dist/internal/sharingPublic/unauthApiService.js +31 -0
- package/dist/internal/sharingPublic/unauthApiService.js.map +1 -0
- package/dist/internal/sharingPublic/unauthApiService.test.d.ts +1 -0
- package/dist/internal/sharingPublic/unauthApiService.test.js +27 -0
- package/dist/internal/sharingPublic/unauthApiService.test.js.map +1 -0
- package/dist/internal/upload/apiService.d.ts +4 -3
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/cryptoService.d.ts +8 -3
- package/dist/internal/upload/cryptoService.js +45 -9
- package/dist/internal/upload/cryptoService.js.map +1 -1
- package/dist/internal/upload/fileUploader.test.js +1 -1
- package/dist/internal/upload/fileUploader.test.js.map +1 -1
- package/dist/internal/upload/interface.d.ts +25 -13
- package/dist/internal/upload/manager.js +7 -4
- package/dist/internal/upload/manager.js.map +1 -1
- package/dist/internal/upload/manager.test.js +5 -4
- package/dist/internal/upload/manager.test.js.map +1 -1
- package/dist/internal/upload/streamUploader.js +9 -4
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +8 -5
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/protonDriveClient.d.ts +11 -2
- package/dist/protonDriveClient.js +20 -4
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.d.ts +8 -8
- package/dist/protonDrivePhotosClient.js +8 -9
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/protonDrivePublicLinkClient.d.ts +9 -2
- package/dist/protonDrivePublicLinkClient.js +16 -5
- package/dist/protonDrivePublicLinkClient.js.map +1 -1
- package/dist/transformers.d.ts +7 -2
- package/dist/transformers.js +37 -0
- package/dist/transformers.js.map +1 -1
- package/package.json +1 -1
- package/src/interface/index.ts +1 -0
- package/src/interface/nodes.ts +14 -11
- package/src/interface/photos.ts +67 -0
- package/src/internal/apiService/apiService.ts +2 -2
- package/src/internal/apiService/driveTypes.ts +1294 -517
- package/src/internal/apiService/errors.ts +5 -4
- package/src/internal/download/cryptoService.ts +13 -6
- package/src/internal/download/fileDownloader.ts +4 -2
- package/src/internal/download/index.ts +3 -0
- package/src/internal/errors.ts +4 -0
- package/src/internal/nodes/apiService.test.ts +7 -5
- package/src/internal/nodes/apiService.ts +210 -124
- package/src/internal/nodes/cache.test.ts +1 -0
- package/src/internal/nodes/cache.ts +32 -13
- package/src/internal/nodes/cryptoReporter.ts +3 -3
- package/src/internal/nodes/cryptoService.test.ts +380 -18
- package/src/internal/nodes/cryptoService.ts +77 -36
- package/src/internal/nodes/events.ts +2 -2
- package/src/internal/nodes/index.test.ts +1 -0
- package/src/internal/nodes/interface.ts +17 -2
- package/src/internal/nodes/nodesAccess.ts +99 -54
- package/src/internal/nodes/nodesManagement.test.ts +69 -14
- package/src/internal/nodes/nodesManagement.ts +94 -48
- package/src/internal/nodes/nodesRevisions.ts +3 -3
- package/src/internal/photos/albums.ts +2 -2
- package/src/internal/photos/index.ts +45 -3
- package/src/internal/photos/interface.ts +21 -9
- package/src/internal/photos/nodes.ts +233 -0
- package/src/internal/photos/timeline.test.ts +2 -2
- package/src/internal/photos/timeline.ts +2 -2
- package/src/internal/photos/upload.ts +3 -3
- package/src/internal/sharingPublic/index.ts +7 -3
- package/src/internal/sharingPublic/nodes.ts +43 -2
- package/src/internal/sharingPublic/unauthApiService.test.ts +29 -0
- package/src/internal/sharingPublic/unauthApiService.ts +32 -0
- package/src/internal/upload/apiService.ts +4 -3
- package/src/internal/upload/cryptoService.ts +73 -12
- package/src/internal/upload/fileUploader.test.ts +1 -1
- package/src/internal/upload/interface.ts +24 -13
- package/src/internal/upload/manager.test.ts +5 -4
- package/src/internal/upload/manager.ts +7 -4
- package/src/internal/upload/streamUploader.test.ts +8 -5
- package/src/internal/upload/streamUploader.ts +10 -4
- package/src/protonDriveClient.ts +27 -5
- package/src/protonDrivePhotosClient.ts +23 -23
- package/src/protonDrivePublicLinkClient.ts +19 -3
- package/src/transformers.ts +49 -2
package/dist/transformers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/interface/index.ts
CHANGED
|
@@ -47,6 +47,7 @@ export type {
|
|
|
47
47
|
Membership,
|
|
48
48
|
} from './nodes';
|
|
49
49
|
export { NodeType, MemberRole, RevisionState } from './nodes';
|
|
50
|
+
export type { MaybePhotoNode, MaybeMissingPhotoNode, PhotoNode, DegradedPhotoNode, PhotoAttributes } from './photos';
|
|
50
51
|
export type {
|
|
51
52
|
ProtonInvitation,
|
|
52
53
|
ProtonInvitationWithNode,
|
package/src/interface/nodes.ts
CHANGED
|
@@ -92,6 +92,10 @@ export type NodeEntity = {
|
|
|
92
92
|
* Created on server date.
|
|
93
93
|
*/
|
|
94
94
|
creationTime: Date;
|
|
95
|
+
/**
|
|
96
|
+
* Modified on server (renamed, moved, etc.).
|
|
97
|
+
*/
|
|
98
|
+
modificationTime: Date;
|
|
95
99
|
trashTime?: Date;
|
|
96
100
|
/**
|
|
97
101
|
* Total size of all revisions, encrypted size on the server.
|
|
@@ -159,16 +163,13 @@ export enum NodeType {
|
|
|
159
163
|
File = 'file',
|
|
160
164
|
Folder = 'folder',
|
|
161
165
|
/**
|
|
162
|
-
* Album is
|
|
163
|
-
*
|
|
164
|
-
* The SDK does not support any album-specific actions, but it can load
|
|
165
|
-
* the node and do general operations on it, such as sharing. However,
|
|
166
|
-
* you should not rely that anything can work. It is not guaranteed that
|
|
167
|
-
* and in the future specific Photos SDK will support albums.
|
|
168
|
-
*
|
|
169
|
-
* @deprecated This type is not part of the public API.
|
|
166
|
+
* Album is returned only by `ProtonDrivePhotosClient`.
|
|
170
167
|
*/
|
|
171
168
|
Album = 'album',
|
|
169
|
+
/**
|
|
170
|
+
* Photo is returned only by `ProtonDrivePhotosClient`.
|
|
171
|
+
*/
|
|
172
|
+
Photo = 'photo',
|
|
172
173
|
}
|
|
173
174
|
|
|
174
175
|
export type Membership = {
|
|
@@ -208,6 +209,9 @@ export type Revision = {
|
|
|
208
209
|
* Raw size of the revision, as stored in extended attributes.
|
|
209
210
|
*/
|
|
210
211
|
claimedSize?: number;
|
|
212
|
+
/**
|
|
213
|
+
* Modification time on the file system.
|
|
214
|
+
*/
|
|
211
215
|
claimedModificationTime?: Date;
|
|
212
216
|
claimedDigests?: {
|
|
213
217
|
sha1?: string;
|
|
@@ -223,7 +227,6 @@ export enum RevisionState {
|
|
|
223
227
|
export type NodeOrUid = MaybeNode | NodeEntity | DegradedNode | string;
|
|
224
228
|
export type RevisionOrUid = Revision | string;
|
|
225
229
|
|
|
230
|
+
// TODO: Remove string from the result and use Error instead to be compatible with the NodeResultWithNewUid.
|
|
226
231
|
export type NodeResult = { uid: string; ok: true } | { uid: string; ok: false; error: string };
|
|
227
|
-
export type NodeResultWithNewUid =
|
|
228
|
-
| { uid: string; newUid: string; ok: true }
|
|
229
|
-
| { uid: string; ok: false; error: string };
|
|
232
|
+
export type NodeResultWithNewUid = { uid: string; newUid: string; ok: true } | { uid: string; ok: false; error: Error };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Result } from "./result";
|
|
2
|
+
import { DegradedNode, NodeEntity, NodeType, MissingNode } from "./nodes";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Node representing a photo or album for Photos SDK.
|
|
6
|
+
*
|
|
7
|
+
* See `MaybeNode` for more information.
|
|
8
|
+
*/
|
|
9
|
+
export type MaybePhotoNode = Result<PhotoNode, DegradedPhotoNode>;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Node representing a photo or album, or missing node for Photos SDK.
|
|
13
|
+
*
|
|
14
|
+
* See `MaybeMissingNode` for more information.
|
|
15
|
+
*/
|
|
16
|
+
export type MaybeMissingPhotoNode = Result<PhotoNode, DegradedPhotoNode | MissingNode>;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Node representing a photo or album for Photos SDK.
|
|
20
|
+
*
|
|
21
|
+
* See `NodeEntity` for more information.
|
|
22
|
+
*/
|
|
23
|
+
export type PhotoNode = NodeEntity & {
|
|
24
|
+
type: NodeType.Photo;
|
|
25
|
+
photo?: PhotoAttributes;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Degraded node representing a photo or album for Photos SDK.
|
|
30
|
+
*
|
|
31
|
+
* See `DegradedNode` for more information.
|
|
32
|
+
*/
|
|
33
|
+
export type DegradedPhotoNode = DegradedNode & {
|
|
34
|
+
photo?: PhotoAttributes;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Attributes of a photo.
|
|
39
|
+
*
|
|
40
|
+
* Only nodes of type `NodeType.Photo` have property of this type.
|
|
41
|
+
*/
|
|
42
|
+
export type PhotoAttributes = {
|
|
43
|
+
/**
|
|
44
|
+
* Date used for sorting in the photo timeline.
|
|
45
|
+
*/
|
|
46
|
+
captureTime: Date;
|
|
47
|
+
/**
|
|
48
|
+
* Photo can consist of multiple photos or vidoes (e.g., live photo).
|
|
49
|
+
* Only the main photos are iterated and each main photo will have
|
|
50
|
+
* set the list of related photo UIDs that client can use to load
|
|
51
|
+
* the related photos. All the related photos will have set the
|
|
52
|
+
* main photo UID.
|
|
53
|
+
*/
|
|
54
|
+
mainPhotoNodeUid?: string;
|
|
55
|
+
relatedPhotoNodeUids: string[];
|
|
56
|
+
/**
|
|
57
|
+
* List of albums in which the photo is included.
|
|
58
|
+
*/
|
|
59
|
+
albums: {
|
|
60
|
+
nodeUid: string;
|
|
61
|
+
additionTime: Date;
|
|
62
|
+
}[];
|
|
63
|
+
/**
|
|
64
|
+
* List of tags assigned to the photo.
|
|
65
|
+
*/
|
|
66
|
+
tags: number[]; // TODO: enum
|
|
67
|
+
}
|
|
@@ -136,7 +136,7 @@ export class DriveAPIService {
|
|
|
136
136
|
return this.makeRequest(url, 'DELETE', undefined, signal);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
protected async makeRequest<RequestPayload, ResponsePayload>(
|
|
140
140
|
url: string,
|
|
141
141
|
method = 'GET',
|
|
142
142
|
data?: RequestPayload,
|
|
@@ -194,7 +194,7 @@ export class DriveAPIService {
|
|
|
194
194
|
await this.makeStorageRequest('POST', baseUrl, token, data, onProgress, signal);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
-
|
|
197
|
+
protected async makeStorageRequest(
|
|
198
198
|
method: 'GET' | 'POST',
|
|
199
199
|
url: string,
|
|
200
200
|
token: string,
|