@protontech/drive-sdk 0.9.1 → 0.9.3

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 (65) hide show
  1. package/dist/crypto/interface.d.ts +6 -27
  2. package/dist/crypto/interface.js.map +1 -1
  3. package/dist/crypto/openPGPCrypto.d.ts +25 -25
  4. package/dist/crypto/openPGPCrypto.js +12 -24
  5. package/dist/crypto/openPGPCrypto.js.map +1 -1
  6. package/dist/diagnostic/diagnostic.d.ts +3 -1
  7. package/dist/diagnostic/diagnostic.js +8 -0
  8. package/dist/diagnostic/diagnostic.js.map +1 -1
  9. package/dist/diagnostic/interface.d.ts +11 -0
  10. package/dist/diagnostic/sdkDiagnosticMain.d.ts +2 -1
  11. package/dist/diagnostic/sdkDiagnosticMain.js +28 -0
  12. package/dist/diagnostic/sdkDiagnosticMain.js.map +1 -1
  13. package/dist/diagnostic/sdkDiagnosticPhotos.d.ts +2 -1
  14. package/dist/diagnostic/sdkDiagnosticPhotos.js +31 -0
  15. package/dist/diagnostic/sdkDiagnosticPhotos.js.map +1 -1
  16. package/dist/internal/apiService/driveTypes.d.ts +492 -384
  17. package/dist/internal/apiService/transformers.d.ts +10 -1
  18. package/dist/internal/apiService/transformers.js +13 -1
  19. package/dist/internal/apiService/transformers.js.map +1 -1
  20. package/dist/internal/nodes/apiService.d.ts +1 -1
  21. package/dist/internal/nodes/apiService.js.map +1 -1
  22. package/dist/internal/nodes/cryptoService.test.js +1 -1
  23. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  24. package/dist/internal/nodes/nodesAccess.d.ts +1 -0
  25. package/dist/internal/nodes/nodesAccess.js +6 -2
  26. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  27. package/dist/internal/sharing/apiService.js +10 -2
  28. package/dist/internal/sharing/apiService.js.map +1 -1
  29. package/dist/internal/sharingPublic/index.d.ts +3 -3
  30. package/dist/internal/sharingPublic/index.js +8 -8
  31. package/dist/internal/sharingPublic/index.js.map +1 -1
  32. package/dist/internal/sharingPublic/nodes.d.ts +30 -2
  33. package/dist/internal/sharingPublic/nodes.js +47 -1
  34. package/dist/internal/sharingPublic/nodes.js.map +1 -1
  35. package/dist/internal/sharingPublic/session/apiService.js +1 -1
  36. package/dist/internal/sharingPublic/session/apiService.js.map +1 -1
  37. package/dist/internal/sharingPublic/session/interface.d.ts +1 -1
  38. package/dist/internal/sharingPublic/session/manager.d.ts +2 -0
  39. package/dist/internal/sharingPublic/session/manager.js +6 -2
  40. package/dist/internal/sharingPublic/session/manager.js.map +1 -1
  41. package/dist/protonDriveClient.js +2 -1
  42. package/dist/protonDriveClient.js.map +1 -1
  43. package/dist/protonDrivePublicLinkClient.d.ts +3 -2
  44. package/dist/protonDrivePublicLinkClient.js +2 -2
  45. package/dist/protonDrivePublicLinkClient.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/crypto/interface.ts +6 -39
  48. package/src/crypto/openPGPCrypto.ts +60 -69
  49. package/src/diagnostic/diagnostic.ts +11 -1
  50. package/src/diagnostic/interface.ts +13 -0
  51. package/src/diagnostic/sdkDiagnosticMain.ts +41 -2
  52. package/src/diagnostic/sdkDiagnosticPhotos.ts +47 -2
  53. package/src/internal/apiService/driveTypes.ts +492 -384
  54. package/src/internal/apiService/transformers.ts +17 -1
  55. package/src/internal/nodes/apiService.ts +1 -1
  56. package/src/internal/nodes/cryptoService.test.ts +1 -1
  57. package/src/internal/nodes/nodesAccess.ts +7 -2
  58. package/src/internal/sharing/apiService.ts +11 -3
  59. package/src/internal/sharingPublic/index.ts +12 -2
  60. package/src/internal/sharingPublic/nodes.ts +63 -4
  61. package/src/internal/sharingPublic/session/apiService.ts +1 -1
  62. package/src/internal/sharingPublic/session/interface.ts +1 -1
  63. package/src/internal/sharingPublic/session/manager.ts +7 -2
  64. package/src/protonDriveClient.ts +2 -1
  65. package/src/protonDrivePublicLinkClient.ts +4 -0
@@ -1,32 +1,11 @@
1
1
  export interface PublicKey {
2
2
  readonly _idx: any;
3
- readonly _keyContentHash: [string, string];
4
- getVersion(): number;
5
- getFingerprint(): string;
6
- getSHA256Fingerprints(): string[];
7
- getKeyID(): any;
8
- getKeyIDs(): any[];
9
- getAlgorithmInfo(): any;
10
- getCreationTime(): Date;
11
- isPrivate: any;
12
- isPrivateKeyV4: any;
13
- isPrivateKeyV6: any;
14
- getExpirationTime(): Date | number | null;
15
- getUserIDs(): string[];
16
- isWeak(): boolean;
17
- equals(otherKey: any, ignoreOtherCerts?: boolean): boolean;
18
- subkeys: {
19
- getAlgorithmInfo(): any;
20
- getKeyID(): any;
21
- }[];
22
3
  }
23
4
  export interface PrivateKey extends PublicKey {
24
5
  readonly _dummyType: 'private';
25
6
  }
26
7
  export interface SessionKey {
27
8
  data: Uint8Array;
28
- algorithm: any;
29
- aeadAlgorithm?: any;
30
9
  }
31
10
  export declare enum VERIFICATION_STATUS {
32
11
  NOT_SIGNED = 0,
@@ -66,7 +45,7 @@ export interface OpenPGPCrypto {
66
45
  * 32 random bytes are generated and encoded into a base64 string.
67
46
  */
68
47
  generatePassphrase: () => string;
69
- generateSessionKey: (encryptionKeys: PrivateKey[]) => Promise<SessionKey>;
48
+ generateSessionKey: (encryptionKeys: PublicKey[]) => Promise<SessionKey>;
70
49
  encryptSessionKey: (sessionKey: SessionKey, encryptionKeys: PublicKey | PublicKey[]) => Promise<{
71
50
  keyPacket: Uint8Array;
72
51
  }>;
@@ -82,22 +61,22 @@ export interface OpenPGPCrypto {
82
61
  privateKey: PrivateKey;
83
62
  armoredKey: string;
84
63
  }>;
85
- encryptArmored: (data: Uint8Array, encryptionKeys: PrivateKey[], sessionKey?: SessionKey) => Promise<{
64
+ encryptArmored: (data: Uint8Array, encryptionKeys: PublicKey[], sessionKey?: SessionKey) => Promise<{
86
65
  armoredData: string;
87
66
  }>;
88
- encryptAndSign: (data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey) => Promise<{
67
+ encryptAndSign: (data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PublicKey[], signingKey: PrivateKey) => Promise<{
89
68
  encryptedData: Uint8Array;
90
69
  }>;
91
- encryptAndSignArmored: (data: Uint8Array, sessionKey: SessionKey | undefined, encryptionKeys: PrivateKey[], signingKey: PrivateKey, options?: {
70
+ encryptAndSignArmored: (data: Uint8Array, sessionKey: SessionKey | undefined, encryptionKeys: PublicKey[], signingKey: PrivateKey, options?: {
92
71
  compress?: boolean;
93
72
  }) => Promise<{
94
73
  armoredData: string;
95
74
  }>;
96
- encryptAndSignDetached: (data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey) => Promise<{
75
+ encryptAndSignDetached: (data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PublicKey[], signingKey: PrivateKey) => Promise<{
97
76
  encryptedData: Uint8Array;
98
77
  signature: Uint8Array;
99
78
  }>;
100
- encryptAndSignDetachedArmored: (data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey) => Promise<{
79
+ encryptAndSignDetachedArmored: (data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PublicKey[], signingKey: PrivateKey) => Promise<{
101
80
  armoredData: string;
102
81
  armoredSignature: string;
103
82
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/crypto/interface.ts"],"names":[],"mappings":";;;AA+CA,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,yEAAc,CAAA;IACd,qFAAoB,CAAA;IACpB,yFAAsB,CAAA;AAC1B,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/crypto/interface.ts"],"names":[],"mappings":";;;AAcA,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,yEAAc,CAAA;IACd,qFAAoB,CAAA;IACpB,yFAAsB,CAAA;AAC1B,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
@@ -20,7 +20,7 @@ export interface OpenPGPCryptoProxy {
20
20
  passphrase: string | null;
21
21
  }) => Promise<PrivateKey>;
22
22
  generateSessionKey: (options: {
23
- recipientKeys: PrivateKey[];
23
+ recipientKeys: PublicKey[];
24
24
  }) => Promise<SessionKey>;
25
25
  encryptSessionKey: (options: SessionKey & {
26
26
  format: 'binary';
@@ -32,20 +32,22 @@ export interface OpenPGPCryptoProxy {
32
32
  binaryMessage?: Uint8Array;
33
33
  decryptionKeys: PrivateKey | PrivateKey[];
34
34
  }) => Promise<SessionKey | undefined>;
35
- encryptMessage: (options: {
36
- format?: 'armored' | 'binary';
35
+ encryptMessage: <Format extends 'armored' | 'binary' = 'armored', Detached extends boolean = false>(options: {
36
+ format?: Format;
37
37
  binaryData: Uint8Array;
38
38
  sessionKey?: SessionKey;
39
- encryptionKeys: PrivateKey[];
39
+ encryptionKeys: PublicKey[];
40
40
  signingKeys?: PrivateKey;
41
- detached?: boolean;
41
+ detached?: Detached;
42
42
  compress?: boolean;
43
- }) => Promise<{
44
- message: string | Uint8Array;
45
- signature?: string | Uint8Array;
46
- }>;
47
- decryptMessage: (options: {
48
- format: 'utf8' | 'binary';
43
+ }) => Promise<Detached extends true ? {
44
+ message: Format extends 'binary' ? Uint8Array : string;
45
+ signature: Format extends 'binary' ? Uint8Array : string;
46
+ } : {
47
+ message: Format extends 'binary' ? Uint8Array : string;
48
+ }>;
49
+ decryptMessage: <Format extends 'utf8' | 'binary' = 'utf8'>(options: {
50
+ format: Format;
49
51
  armoredMessage?: string;
50
52
  binaryMessage?: Uint8Array;
51
53
  armoredSignature?: string;
@@ -55,13 +57,12 @@ export interface OpenPGPCryptoProxy {
55
57
  decryptionKeys?: PrivateKey | PrivateKey[];
56
58
  verificationKeys?: PublicKey | PublicKey[];
57
59
  }) => Promise<{
58
- data: Uint8Array | string;
59
- verified?: VERIFICATION_STATUS;
60
- verificationStatus?: VERIFICATION_STATUS;
60
+ data: Format extends 'binary' ? Uint8Array : string;
61
+ verificationStatus: VERIFICATION_STATUS;
61
62
  verificationErrors?: Error[];
62
63
  }>;
63
- signMessage: (options: {
64
- format: 'binary' | 'armored';
64
+ signMessage: <Format extends 'binary' | 'armored' = 'armored'>(options: {
65
+ format: Format;
65
66
  binaryData: Uint8Array;
66
67
  signingKeys: PrivateKey | PrivateKey[];
67
68
  detached: boolean;
@@ -69,7 +70,7 @@ export interface OpenPGPCryptoProxy {
69
70
  critical: boolean;
70
71
  value: string;
71
72
  };
72
- }) => Promise<Uint8Array | string>;
73
+ }) => Promise<Format extends 'binary' ? Uint8Array : string>;
73
74
  verifyMessage: (options: {
74
75
  binaryData: Uint8Array;
75
76
  armoredSignature?: string;
@@ -80,8 +81,7 @@ export interface OpenPGPCryptoProxy {
80
81
  value: string;
81
82
  };
82
83
  }) => Promise<{
83
- verified?: VERIFICATION_STATUS;
84
- verificationStatus?: VERIFICATION_STATUS;
84
+ verificationStatus: VERIFICATION_STATUS;
85
85
  errors?: Error[];
86
86
  }>;
87
87
  }
@@ -94,7 +94,7 @@ export declare class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
94
94
  private cryptoProxy;
95
95
  constructor(cryptoProxy: OpenPGPCryptoProxy);
96
96
  generatePassphrase(): string;
97
- generateSessionKey(encryptionKeys: PrivateKey[]): Promise<SessionKey>;
97
+ generateSessionKey(encryptionKeys: PublicKey[]): Promise<SessionKey>;
98
98
  encryptSessionKey(sessionKey: SessionKey, encryptionKeys: PublicKey | PublicKey[]): Promise<{
99
99
  keyPacket: Uint8Array;
100
100
  }>;
@@ -105,22 +105,22 @@ export declare class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
105
105
  armoredKey: string;
106
106
  privateKey: PrivateKey;
107
107
  }>;
108
- encryptArmored(data: Uint8Array, encryptionKeys: PrivateKey[], sessionKey?: SessionKey): Promise<{
108
+ encryptArmored(data: Uint8Array, encryptionKeys: PublicKey[], sessionKey?: SessionKey): Promise<{
109
109
  armoredData: string;
110
110
  }>;
111
- encryptAndSign(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey): Promise<{
111
+ encryptAndSign(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PublicKey[], signingKey: PrivateKey): Promise<{
112
112
  encryptedData: Uint8Array;
113
113
  }>;
114
- encryptAndSignArmored(data: Uint8Array, sessionKey: SessionKey | undefined, encryptionKeys: PrivateKey[], signingKey: PrivateKey, options?: {
114
+ encryptAndSignArmored(data: Uint8Array, sessionKey: SessionKey | undefined, encryptionKeys: PublicKey[], signingKey: PrivateKey, options?: {
115
115
  compress?: boolean;
116
116
  }): Promise<{
117
117
  armoredData: string;
118
118
  }>;
119
- encryptAndSignDetached(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey): Promise<{
119
+ encryptAndSignDetached(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PublicKey[], signingKey: PrivateKey): Promise<{
120
120
  encryptedData: Uint8Array;
121
121
  signature: Uint8Array;
122
122
  }>;
123
- encryptAndSignDetachedArmored(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey): Promise<{
123
+ encryptAndSignDetachedArmored(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PublicKey[], signingKey: PrivateKey): Promise<{
124
124
  armoredData: string;
125
125
  armoredSignature: string;
126
126
  }>;
@@ -145,29 +145,25 @@ class OpenPGPCryptoWithCryptoProxy {
145
145
  };
146
146
  }
147
147
  async verify(data, signature, verificationKeys) {
148
- const { verified, verificationStatus, errors } = await this.cryptoProxy.verifyMessage({
148
+ const { verificationStatus, errors } = await this.cryptoProxy.verifyMessage({
149
149
  binaryData: data,
150
150
  binarySignature: signature,
151
151
  verificationKeys,
152
152
  });
153
153
  return {
154
- // pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
155
- // Proper typing is too complex, it will be removed to support only newer pmcrypto.
156
- verified: verified || verificationStatus,
154
+ verified: verificationStatus,
157
155
  verificationErrors: errors,
158
156
  };
159
157
  }
160
158
  async verifyArmored(data, armoredSignature, verificationKeys, signatureContext) {
161
- const { verified, verificationStatus, errors } = await this.cryptoProxy.verifyMessage({
159
+ const { verificationStatus, errors } = await this.cryptoProxy.verifyMessage({
162
160
  binaryData: data,
163
161
  armoredSignature,
164
162
  verificationKeys,
165
163
  signatureContext: signatureContext ? { critical: true, value: signatureContext } : undefined,
166
164
  });
167
165
  return {
168
- // pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
169
- // Proper typing is too complex, it will be removed to support only newer pmcrypto.
170
- verified: verified || verificationStatus,
166
+ verified: verificationStatus,
171
167
  verificationErrors: errors,
172
168
  };
173
169
  }
@@ -199,7 +195,7 @@ class OpenPGPCryptoWithCryptoProxy {
199
195
  return key;
200
196
  }
201
197
  async decryptAndVerify(data, sessionKey, verificationKeys) {
202
- const { data: decryptedData, verified, verificationStatus, verificationErrors, } = await this.cryptoProxy.decryptMessage({
198
+ const { data: decryptedData, verificationStatus, verificationErrors, } = await this.cryptoProxy.decryptMessage({
203
199
  binaryMessage: data,
204
200
  sessionKeys: sessionKey,
205
201
  verificationKeys,
@@ -207,14 +203,12 @@ class OpenPGPCryptoWithCryptoProxy {
207
203
  });
208
204
  return {
209
205
  data: decryptedData,
210
- // pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
211
- // Proper typing is too complex, it will be removed to support only newer pmcrypto.
212
- verified: verified || verificationStatus,
206
+ verified: verificationStatus,
213
207
  verificationErrors,
214
208
  };
215
209
  }
216
210
  async decryptAndVerifyDetached(data, signature, sessionKey, verificationKeys) {
217
- const { data: decryptedData, verified, verificationStatus, verificationErrors, } = await this.cryptoProxy.decryptMessage({
211
+ const { data: decryptedData, verificationStatus, verificationErrors, } = await this.cryptoProxy.decryptMessage({
218
212
  binaryMessage: data,
219
213
  binarySignature: signature,
220
214
  sessionKeys: sessionKey,
@@ -223,9 +217,7 @@ class OpenPGPCryptoWithCryptoProxy {
223
217
  });
224
218
  return {
225
219
  data: decryptedData,
226
- // pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
227
- // Proper typing is too complex, it will be removed to support only newer pmcrypto.
228
- verified: verified || verificationStatus,
220
+ verified: verificationStatus,
229
221
  verificationErrors,
230
222
  };
231
223
  }
@@ -238,7 +230,7 @@ class OpenPGPCryptoWithCryptoProxy {
238
230
  return data;
239
231
  }
240
232
  async decryptArmoredAndVerify(armoredData, decryptionKeys, verificationKeys) {
241
- const { data, verified, verificationStatus, verificationErrors } = await this.cryptoProxy.decryptMessage({
233
+ const { data, verificationStatus, verificationErrors } = await this.cryptoProxy.decryptMessage({
242
234
  armoredMessage: armoredData,
243
235
  decryptionKeys,
244
236
  verificationKeys,
@@ -246,14 +238,12 @@ class OpenPGPCryptoWithCryptoProxy {
246
238
  });
247
239
  return {
248
240
  data: data,
249
- // pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
250
- // Proper typing is too complex, it will be removed to support only newer pmcrypto.
251
- verified: verified || verificationStatus,
241
+ verified: verificationStatus,
252
242
  verificationErrors,
253
243
  };
254
244
  }
255
245
  async decryptArmoredAndVerifyDetached(armoredData, armoredSignature, sessionKey, verificationKeys) {
256
- const { data, verified, verificationStatus, verificationErrors } = await this.cryptoProxy.decryptMessage({
246
+ const { data, verificationStatus, verificationErrors } = await this.cryptoProxy.decryptMessage({
257
247
  armoredMessage: armoredData,
258
248
  armoredSignature,
259
249
  sessionKeys: sessionKey,
@@ -262,9 +252,7 @@ class OpenPGPCryptoWithCryptoProxy {
262
252
  });
263
253
  return {
264
254
  data: data,
265
- // pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
266
- // Proper typing is too complex, it will be removed to support only newer pmcrypto.
267
- verified: verified || verificationStatus,
255
+ verified: verificationStatus,
268
256
  verificationErrors: !armoredSignature
269
257
  ? [new Error((0, ttag_1.c)('Error').t `Signature is missing`)]
270
258
  : verificationErrors,
@@ -1 +1 @@
1
- {"version":3,"file":"openPGPCrypto.js","sourceRoot":"","sources":["../../src/crypto/openPGPCrypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openPGPCrypto.js","sourceRoot":"","sources":["../../src/crypto/openPGPCrypto.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { MaybeNode } from '../interface';
2
2
  import { ProtonDriveClient } from '../protonDriveClient';
3
3
  import { ProtonDrivePhotosClient } from '../protonDrivePhotosClient';
4
4
  import { DiagnosticHTTPClient } from './httpClient';
5
- import { DiagnosticOptions, DiagnosticProgressCallback, DiagnosticResult } from './interface';
5
+ import { DiagnosticOptions, DiagnosticProgressCallback, DiagnosticResult, TreeNode } from './interface';
6
6
  import { DiagnosticTelemetry } from './telemetry';
7
7
  /**
8
8
  * Diagnostic tool that produces full diagnostic, including logs and metrics
@@ -19,4 +19,6 @@ export declare class Diagnostic {
19
19
  verifyPhotosTimeline(options?: DiagnosticOptions, onProgress?: DiagnosticProgressCallback): AsyncGenerator<DiagnosticResult>;
20
20
  private yieldEvents;
21
21
  private internalGenerator;
22
+ getNodeTreeStructure(node: MaybeNode): Promise<TreeNode>;
23
+ getPhotosTimelineStructure(): Promise<TreeNode>;
22
24
  }
@@ -41,6 +41,14 @@ class Diagnostic {
41
41
  async *internalGenerator() {
42
42
  yield* (0, zipGenerators_1.zipGenerators)(this.telemetry.iterateEvents(), this.httpClient.iterateEvents());
43
43
  }
44
+ async getNodeTreeStructure(node) {
45
+ const diagnostic = new sdkDiagnosticMain_1.SDKDiagnosticMain(this.protonDriveClient);
46
+ return diagnostic.getStructure(node);
47
+ }
48
+ async getPhotosTimelineStructure() {
49
+ const diagnostic = new sdkDiagnosticPhotos_1.SDKDiagnosticPhotos(this.protonDrivePhotosClient);
50
+ return diagnostic.getStructure();
51
+ }
44
52
  }
45
53
  exports.Diagnostic = Diagnostic;
46
54
  //# sourceMappingURL=diagnostic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/diagnostic/diagnostic.ts"],"names":[],"mappings":";;;AAKA,2DAAwD;AACxD,+DAA4D;AAE5D,mDAAgD;AAEhD;;;GAGG;AACH,MAAa,UAAU;IAEP;IACA;IACA;IACA;IAJZ,YACY,SAA8B,EAC9B,UAAgC,EAChC,iBAAoC,EACpC,uBAAgD;QAHhD,cAAS,GAAT,SAAS,CAAqB;QAC9B,eAAU,GAAV,UAAU,CAAsB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAExD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,CAAC,aAAa,CAChB,OAA2B,EAC3B,UAAuC;QAEvC,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtF,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,CAAC,cAAc,CACjB,IAAe,EACf,OAA2B,EAC3B,UAAuC;QAEvC,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtF,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,CAAC,oBAAoB,CACvB,OAA2B,EAC3B,UAAuC;QAEvC,MAAM,UAAU,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9F,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,CAAC,WAAW,CAAC,SAA2C;QAClE,KAAK,CAAC,CAAC,IAAA,6BAAa,EAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,CAAC,iBAAiB;QAC5B,KAAK,CAAC,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1F,CAAC;CACJ;AA7CD,gCA6CC"}
1
+ {"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/diagnostic/diagnostic.ts"],"names":[],"mappings":";;;AAKA,2DAAwD;AACxD,+DAA4D;AAE5D,mDAAgD;AAEhD;;;GAGG;AACH,MAAa,UAAU;IAEP;IACA;IACA;IACA;IAJZ,YACY,SAA8B,EAC9B,UAAgC,EAChC,iBAAoC,EACpC,uBAAgD;QAHhD,cAAS,GAAT,SAAS,CAAqB;QAC9B,eAAU,GAAV,UAAU,CAAsB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAExD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,CAAC,aAAa,CAChB,OAA2B,EAC3B,UAAuC;QAEvC,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtF,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,CAAC,cAAc,CACjB,IAAe,EACf,OAA2B,EAC3B,UAAuC;QAEvC,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtF,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,CAAC,oBAAoB,CACvB,OAA2B,EAC3B,UAAuC;QAEvC,MAAM,UAAU,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9F,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,CAAC,WAAW,CAAC,SAA2C;QAClE,KAAK,CAAC,CAAC,IAAA,6BAAa,EAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,CAAC,iBAAiB;QAC5B,KAAK,CAAC,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAe;QACtC,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjE,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC5B,MAAM,UAAU,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzE,OAAO,UAAU,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;CACJ;AAvDD,gCAuDC"}
@@ -4,6 +4,8 @@ export interface Diagnostic {
4
4
  verifyMyFiles(options?: DiagnosticOptions, onProgress?: DiagnosticProgressCallback): AsyncGenerator<DiagnosticResult>;
5
5
  verifyNodeTree(node: MaybeNode, options?: DiagnosticOptions, onProgress?: DiagnosticProgressCallback): AsyncGenerator<DiagnosticResult>;
6
6
  verifyPhotosTimeline(options?: DiagnosticOptions, onProgress?: DiagnosticProgressCallback): AsyncGenerator<DiagnosticResult>;
7
+ getNodeTreeStructure(node: MaybeNode): Promise<TreeNode>;
8
+ getPhotosTimelineStructure(): Promise<TreeNode>;
7
9
  }
8
10
  export type DiagnosticOptions = {
9
11
  verifyContent?: boolean | 'peakOnly';
@@ -22,6 +24,15 @@ export type ExpectedTreeNode = {
22
24
  };
23
25
  children?: ExpectedTreeNode[];
24
26
  };
27
+ export type TreeNode = {
28
+ uid: string;
29
+ type: NodeType;
30
+ error?: unknown;
31
+ name: string;
32
+ claimedSha1?: string;
33
+ claimedSizeInBytes?: number;
34
+ children?: TreeNode[];
35
+ };
25
36
  export type ExpectedAuthor = string | 'anonymous';
26
37
  export type DiagnosticProgressCallback = (progress: {
27
38
  allNodesLoaded: boolean;
@@ -1,6 +1,6 @@
1
1
  import { MaybeNode } from '../interface';
2
2
  import { ProtonDriveClient } from '../protonDriveClient';
3
- import { DiagnosticOptions, DiagnosticProgressCallback, DiagnosticResult, ExpectedTreeNode } from './interface';
3
+ import { DiagnosticOptions, DiagnosticProgressCallback, DiagnosticResult, ExpectedTreeNode, TreeNode } from './interface';
4
4
  import { SDKDiagnosticBase } from './sdkDiagnosticBase';
5
5
  /**
6
6
  * Diagnostic tool that uses the main Drive SDK to traverse and verify
@@ -13,4 +13,5 @@ export declare class SDKDiagnosticMain extends SDKDiagnosticBase {
13
13
  verifyNodeTree(node: MaybeNode, expectedStructure?: ExpectedTreeNode): AsyncGenerator<DiagnosticResult>;
14
14
  private loadNodeTree;
15
15
  private loadNodeTreeRecursively;
16
+ getStructure(node: MaybeNode): Promise<TreeNode>;
16
17
  }
@@ -74,6 +74,34 @@ class SDKDiagnosticMain extends sdkDiagnosticBase_1.SDKDiagnosticBase {
74
74
  }
75
75
  }
76
76
  }
77
+ async getStructure(node) {
78
+ const nodeType = (0, nodeUtils_1.getNodeType)(node);
79
+ const treeNode = {
80
+ uid: node.ok ? node.value.uid : node.error.uid,
81
+ type: nodeType,
82
+ name: (0, nodeUtils_1.getNodeName)(node),
83
+ };
84
+ if (!node.ok) {
85
+ treeNode.error = node.error || 'degraded node';
86
+ }
87
+ if (nodeType === interface_1.NodeType.Folder) {
88
+ const children = [];
89
+ for await (const child of this.protonDriveClient.iterateFolderChildren(node)) {
90
+ children.push(child);
91
+ }
92
+ treeNode.children = [];
93
+ for (const child of children) {
94
+ const childStructure = await this.getStructure(child);
95
+ treeNode.children.push(childStructure);
96
+ }
97
+ }
98
+ else if (nodeType === interface_1.NodeType.File) {
99
+ const activeRevision = (0, nodeUtils_1.getActiveRevision)(node);
100
+ treeNode.claimedSha1 = activeRevision?.claimedDigests?.sha1;
101
+ treeNode.claimedSizeInBytes = activeRevision?.claimedSize;
102
+ }
103
+ return treeNode;
104
+ }
77
105
  }
78
106
  exports.SDKDiagnosticMain = SDKDiagnosticMain;
79
107
  //# sourceMappingURL=sdkDiagnosticMain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdkDiagnosticMain.js","sourceRoot":"","sources":["../../src/diagnostic/sdkDiagnosticMain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdkDiagnosticMain.js","sourceRoot":"","sources":["../../src/diagnostic/sdkDiagnosticMain.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ProtonDrivePhotosClient } from '../protonDrivePhotosClient';
2
- import { DiagnosticOptions, DiagnosticProgressCallback, DiagnosticResult, ExpectedTreeNode } from './interface';
2
+ import { DiagnosticOptions, DiagnosticProgressCallback, DiagnosticResult, ExpectedTreeNode, TreeNode } from './interface';
3
3
  import { SDKDiagnosticBase } from './sdkDiagnosticBase';
4
4
  /**
5
5
  * Diagnostic tool that uses the Photos SDK to traverse and verify
@@ -10,4 +10,5 @@ export declare class SDKDiagnosticPhotos extends SDKDiagnosticBase {
10
10
  constructor(protonDrivePhotosClient: ProtonDrivePhotosClient, options?: Pick<DiagnosticOptions, 'verifyContent' | 'verifyThumbnails'>, onProgress?: DiagnosticProgressCallback);
11
11
  verifyTimeline(expectedStructure?: ExpectedTreeNode): AsyncGenerator<DiagnosticResult>;
12
12
  private loadTimeline;
13
+ getStructure(): Promise<TreeNode>;
13
14
  }
@@ -60,6 +60,37 @@ class SDKDiagnosticPhotos extends sdkDiagnosticBase_1.SDKDiagnosticBase {
60
60
  }
61
61
  this.allNodesLoaded = true;
62
62
  }
63
+ async getStructure() {
64
+ const myPhotosRootFolder = await this.protonDrivePhotosClient.getMyPhotosRootFolder();
65
+ const treeNode = {
66
+ uid: myPhotosRootFolder.ok ? myPhotosRootFolder.value.uid : myPhotosRootFolder.error.uid,
67
+ type: (0, nodeUtils_1.getNodeType)(myPhotosRootFolder),
68
+ name: (0, nodeUtils_1.getNodeName)(myPhotosRootFolder),
69
+ };
70
+ const children = [];
71
+ const results = await Array.fromAsync(this.protonDrivePhotosClient.iterateTimeline());
72
+ const nodeUids = results.map((result) => result.nodeUid);
73
+ for await (const maybeMissingNode of this.protonDrivePhotosClient.iterateNodes(nodeUids)) {
74
+ if (!maybeMissingNode.ok && 'missingUid' in maybeMissingNode.error) {
75
+ continue;
76
+ }
77
+ const node = maybeMissingNode;
78
+ const activeRevision = (0, nodeUtils_1.getActiveRevision)(node);
79
+ const childNode = {
80
+ uid: node.ok ? node.value.uid : node.error.uid,
81
+ name: (0, nodeUtils_1.getNodeName)(node),
82
+ type: (0, nodeUtils_1.getNodeType)(node),
83
+ claimedSha1: activeRevision?.claimedDigests?.sha1,
84
+ claimedSizeInBytes: activeRevision?.claimedSize,
85
+ };
86
+ if (!node.ok) {
87
+ childNode.error = node.error || 'degraded node';
88
+ }
89
+ children.push(childNode);
90
+ }
91
+ treeNode.children = children;
92
+ return treeNode;
93
+ }
63
94
  }
64
95
  exports.SDKDiagnosticPhotos = SDKDiagnosticPhotos;
65
96
  //# sourceMappingURL=sdkDiagnosticPhotos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdkDiagnosticPhotos.js","sourceRoot":"","sources":["../../src/diagnostic/sdkDiagnosticPhotos.ts"],"names":[],"mappings":";;;AAGA,mDAAgD;AAChD,2CAAsE;AACtE,2DAAwD;AAExD;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,qCAAiB;IAE1C;IADZ,YACY,uBAAgD,EACxD,OAAuE,EACvE,UAAuC;QAEvC,KAAK,CAAC,uBAAuB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAJ5C,4BAAuB,GAAvB,uBAAuB,CAAyB;QAKxD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,CAAC,cAAc,CAAC,iBAAoC;QACtD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,KAAK,CAAC,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,CAAC,YAAY,CAAC,iBAAoC;QAC5D,IAAI,QAAQ,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,CAAC,CAAC;YACtF,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM;gBACF,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,KAAK;aACR,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,CAAC;YACD,IAAI,KAAK,EAAE,MAAM,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvF,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,YAAY,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBACjE,SAAS;gBACb,CAAC;gBACD,MAAM,SAAS,GAAG,gBAA6B,CAAC;gBAEhD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAA,sCAA0B,EAAC,iBAAiB,EAAE,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;iBAClF,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM;gBACF,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,KAAK;aACR,CAAC;QACN,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACpB,KAAK,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;CACJ;AA1DD,kDA0DC"}
1
+ {"version":3,"file":"sdkDiagnosticPhotos.js","sourceRoot":"","sources":["../../src/diagnostic/sdkDiagnosticPhotos.ts"],"names":[],"mappings":"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"}