@protontech/drive-sdk 0.5.0 → 0.6.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/diagnostic/{sdkDiagnosticFull.d.ts → diagnostic.d.ts} +5 -4
- package/dist/diagnostic/{sdkDiagnosticFull.js → diagnostic.js} +13 -10
- package/dist/diagnostic/diagnostic.js.map +1 -0
- package/dist/diagnostic/index.js +2 -4
- package/dist/diagnostic/index.js.map +1 -1
- package/dist/diagnostic/interface.d.ts +22 -1
- package/dist/diagnostic/sdkDiagnostic.d.ts +3 -2
- package/dist/diagnostic/sdkDiagnostic.js +79 -7
- package/dist/diagnostic/sdkDiagnostic.js.map +1 -1
- package/dist/interface/index.d.ts +2 -2
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/nodes.d.ts +9 -0
- package/dist/interface/telemetry.d.ts +4 -1
- package/dist/interface/telemetry.js.map +1 -1
- package/dist/interface/upload.d.ts +1 -12
- package/dist/internal/apiService/driveTypes.d.ts +2571 -2356
- package/dist/internal/download/controller.d.ts +2 -0
- package/dist/internal/download/controller.js +15 -1
- package/dist/internal/download/controller.js.map +1 -1
- package/dist/internal/download/fileDownloader.js +6 -1
- package/dist/internal/download/fileDownloader.js.map +1 -1
- package/dist/internal/nodes/apiService.d.ts +11 -1
- package/dist/internal/nodes/apiService.js +47 -13
- package/dist/internal/nodes/apiService.js.map +1 -1
- package/dist/internal/nodes/apiService.test.js +61 -3
- package/dist/internal/nodes/apiService.test.js.map +1 -1
- package/dist/internal/nodes/cryptoService.d.ts +4 -0
- package/dist/internal/nodes/cryptoService.js +6 -0
- package/dist/internal/nodes/cryptoService.js.map +1 -1
- package/dist/internal/nodes/debouncer.d.ts +3 -2
- package/dist/internal/nodes/debouncer.js +16 -4
- package/dist/internal/nodes/debouncer.js.map +1 -1
- package/dist/internal/nodes/debouncer.test.js +20 -12
- package/dist/internal/nodes/debouncer.test.js.map +1 -1
- package/dist/internal/nodes/extendedAttributes.js +2 -2
- package/dist/internal/nodes/extendedAttributes.js.map +1 -1
- package/dist/internal/nodes/index.d.ts +1 -1
- package/dist/internal/nodes/index.js +3 -3
- package/dist/internal/nodes/index.js.map +1 -1
- package/dist/internal/nodes/index.test.js +1 -1
- package/dist/internal/nodes/index.test.js.map +1 -1
- package/dist/internal/nodes/nodeName.d.ts +8 -0
- package/dist/internal/nodes/nodeName.js +30 -0
- package/dist/internal/nodes/nodeName.js.map +1 -0
- package/dist/internal/nodes/nodeName.test.d.ts +1 -0
- package/dist/internal/nodes/nodeName.test.js +50 -0
- package/dist/internal/nodes/nodeName.test.js.map +1 -0
- package/dist/internal/nodes/nodesAccess.d.ts +5 -4
- package/dist/internal/nodes/nodesAccess.js +6 -5
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.test.js +17 -5
- package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.d.ts +3 -2
- package/dist/internal/nodes/nodesManagement.js +35 -4
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.test.js +64 -1
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
- package/dist/internal/photos/apiService.js +9 -20
- package/dist/internal/photos/apiService.js.map +1 -1
- package/dist/internal/photos/index.d.ts +2 -0
- package/dist/internal/photos/index.js +4 -0
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/upload.js +7 -1
- package/dist/internal/photos/upload.js.map +1 -1
- package/dist/internal/shares/index.d.ts +1 -0
- package/dist/internal/shares/index.js +3 -0
- package/dist/internal/shares/index.js.map +1 -1
- package/dist/internal/shares/interface.d.ts +8 -0
- package/dist/internal/shares/interface.js +10 -1
- package/dist/internal/shares/interface.js.map +1 -1
- package/dist/internal/sharing/apiService.d.ts +4 -2
- package/dist/internal/sharing/apiService.js +18 -14
- package/dist/internal/sharing/apiService.js.map +1 -1
- package/dist/internal/sharing/index.d.ts +2 -1
- package/dist/internal/sharing/index.js +6 -2
- package/dist/internal/sharing/index.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.d.ts +4 -1
- package/dist/internal/sharing/sharingManagement.js +7 -4
- package/dist/internal/sharing/sharingManagement.js.map +1 -1
- package/dist/internal/sharingPublic/apiService.d.ts +8 -10
- package/dist/internal/sharingPublic/apiService.js +9 -63
- package/dist/internal/sharingPublic/apiService.js.map +1 -1
- package/dist/internal/sharingPublic/index.d.ts +3 -3
- package/dist/internal/sharingPublic/index.js +7 -12
- package/dist/internal/sharingPublic/index.js.map +1 -1
- package/dist/internal/sharingPublic/nodes.d.ts +13 -8
- package/dist/internal/sharingPublic/nodes.js +20 -2
- package/dist/internal/sharingPublic/nodes.js.map +1 -1
- package/dist/internal/sharingPublic/session/apiService.d.ts +7 -5
- package/dist/internal/sharingPublic/session/apiService.js +25 -4
- package/dist/internal/sharingPublic/session/apiService.js.map +1 -1
- package/dist/internal/sharingPublic/session/interface.d.ts +17 -0
- package/dist/internal/sharingPublic/session/manager.d.ts +12 -4
- package/dist/internal/sharingPublic/session/manager.js +14 -4
- package/dist/internal/sharingPublic/session/manager.js.map +1 -1
- package/dist/internal/sharingPublic/session/session.d.ts +5 -2
- package/dist/internal/sharingPublic/session/session.js +7 -3
- package/dist/internal/sharingPublic/session/session.js.map +1 -1
- package/dist/internal/sharingPublic/shares.d.ts +3 -10
- package/dist/internal/sharingPublic/shares.js +10 -33
- package/dist/internal/sharingPublic/shares.js.map +1 -1
- package/dist/internal/upload/apiService.d.ts +0 -9
- package/dist/internal/upload/apiService.js +0 -16
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/controller.d.ts +3 -1
- package/dist/internal/upload/controller.js +16 -2
- package/dist/internal/upload/controller.js.map +1 -1
- package/dist/internal/upload/cryptoService.d.ts +0 -4
- package/dist/internal/upload/cryptoService.js +0 -6
- package/dist/internal/upload/cryptoService.js.map +1 -1
- package/dist/internal/upload/fileUploader.d.ts +0 -1
- package/dist/internal/upload/fileUploader.js +2 -6
- package/dist/internal/upload/fileUploader.js.map +1 -1
- package/dist/internal/upload/manager.d.ts +0 -1
- package/dist/internal/upload/manager.js +0 -51
- package/dist/internal/upload/manager.js.map +1 -1
- package/dist/internal/upload/manager.test.js +0 -61
- package/dist/internal/upload/manager.test.js.map +1 -1
- package/dist/internal/upload/streamUploader.d.ts +4 -3
- package/dist/internal/upload/streamUploader.js +61 -18
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +38 -12
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/protonDriveClient.d.ts +24 -4
- package/dist/protonDriveClient.js +26 -7
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.d.ts +100 -4
- package/dist/protonDrivePhotosClient.js +160 -9
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/protonDrivePublicLinkClient.d.ts +4 -3
- package/dist/protonDrivePublicLinkClient.js +2 -2
- package/dist/protonDrivePublicLinkClient.js.map +1 -1
- package/dist/tests/telemetry.d.ts +4 -2
- package/dist/tests/telemetry.js +3 -1
- package/dist/tests/telemetry.js.map +1 -1
- package/dist/transformers.d.ts +3 -2
- package/dist/transformers.js +6 -0
- package/dist/transformers.js.map +1 -1
- package/package.json +1 -1
- package/src/diagnostic/{sdkDiagnosticFull.ts → diagnostic.ts} +10 -6
- package/src/diagnostic/index.ts +3 -5
- package/src/diagnostic/interface.ts +39 -0
- package/src/diagnostic/sdkDiagnostic.ts +110 -9
- package/src/interface/index.ts +2 -1
- package/src/interface/nodes.ts +3 -0
- package/src/interface/telemetry.ts +5 -0
- package/src/interface/upload.ts +1 -13
- package/src/internal/apiService/driveTypes.ts +2698 -2529
- package/src/internal/download/controller.ts +13 -1
- package/src/internal/download/fileDownloader.ts +8 -1
- package/src/internal/nodes/apiService.test.ts +65 -1
- package/src/internal/nodes/apiService.ts +80 -17
- package/src/internal/nodes/cryptoService.ts +9 -0
- package/src/internal/nodes/debouncer.test.ts +25 -13
- package/src/internal/nodes/debouncer.ts +20 -4
- package/src/internal/nodes/extendedAttributes.ts +2 -2
- package/src/internal/nodes/index.test.ts +1 -0
- package/src/internal/nodes/index.ts +3 -9
- package/src/internal/nodes/nodeName.test.ts +57 -0
- package/src/internal/nodes/nodeName.ts +26 -0
- package/src/internal/nodes/nodesAccess.test.ts +17 -5
- package/src/internal/nodes/nodesAccess.ts +15 -5
- package/src/internal/nodes/nodesManagement.test.ts +68 -1
- package/src/internal/nodes/nodesManagement.ts +54 -6
- package/src/internal/photos/apiService.ts +12 -29
- package/src/internal/photos/index.ts +4 -0
- package/src/internal/photos/upload.ts +19 -1
- package/src/internal/shares/index.ts +1 -0
- package/src/internal/shares/interface.ts +9 -0
- package/src/internal/sharing/apiService.ts +17 -14
- package/src/internal/sharing/index.ts +7 -1
- package/src/internal/sharing/sharingManagement.ts +7 -4
- package/src/internal/sharingPublic/apiService.ts +23 -77
- package/src/internal/sharingPublic/index.ts +13 -11
- package/src/internal/sharingPublic/nodes.ts +33 -11
- package/src/internal/sharingPublic/session/apiService.ts +31 -9
- package/src/internal/sharingPublic/session/interface.ts +20 -0
- package/src/internal/sharingPublic/session/manager.ts +31 -8
- package/src/internal/sharingPublic/session/session.ts +10 -5
- package/src/internal/sharingPublic/shares.ts +7 -43
- package/src/internal/upload/apiService.ts +0 -39
- package/src/internal/upload/controller.ts +16 -4
- package/src/internal/upload/cryptoService.ts +0 -9
- package/src/internal/upload/fileUploader.ts +2 -7
- package/src/internal/upload/manager.test.ts +0 -65
- package/src/internal/upload/manager.ts +0 -64
- package/src/internal/upload/streamUploader.test.ts +46 -14
- package/src/internal/upload/streamUploader.ts +74 -21
- package/src/protonDriveClient.ts +46 -9
- package/src/protonDrivePhotosClient.ts +193 -8
- package/src/protonDrivePublicLinkClient.ts +7 -4
- package/src/tests/telemetry.ts +6 -3
- package/src/transformers.ts +8 -0
- package/dist/diagnostic/sdkDiagnosticFull.js.map +0 -1
- package/dist/internal/sharingPublic/cryptoCache.d.ts +0 -15
- package/dist/internal/sharingPublic/cryptoCache.js +0 -44
- package/dist/internal/sharingPublic/cryptoCache.js.map +0 -1
- package/dist/internal/sharingPublic/cryptoService.d.ts +0 -8
- package/dist/internal/sharingPublic/cryptoService.js +0 -19
- package/dist/internal/sharingPublic/cryptoService.js.map +0 -1
- package/dist/internal/sharingPublic/interface.d.ts +0 -5
- package/dist/internal/sharingPublic/interface.js +0 -3
- package/dist/internal/sharingPublic/interface.js.map +0 -1
- package/src/internal/sharingPublic/cryptoCache.ts +0 -45
- package/src/internal/sharingPublic/cryptoService.ts +0 -22
- package/src/internal/sharingPublic/interface.ts +0 -5
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { MaybeNode } from '../interface';
|
|
2
|
+
import { ProtonDriveClient } from '../protonDriveClient';
|
|
2
3
|
import { DiagnosticHTTPClient } from './httpClient';
|
|
3
|
-
import {
|
|
4
|
+
import { DiagnosticOptions, DiagnosticResult } from './interface';
|
|
4
5
|
import { DiagnosticTelemetry } from './telemetry';
|
|
5
6
|
/**
|
|
6
7
|
* Diagnostic tool that produces full diagnostic, including logs and metrics
|
|
7
8
|
* by reading the events from the telemetry and HTTP client.
|
|
8
9
|
*/
|
|
9
|
-
export declare class
|
|
10
|
-
private diagnostic;
|
|
10
|
+
export declare class Diagnostic {
|
|
11
11
|
private telemetry;
|
|
12
12
|
private httpClient;
|
|
13
|
-
|
|
13
|
+
private protonDriveClient;
|
|
14
|
+
constructor(telemetry: DiagnosticTelemetry, httpClient: DiagnosticHTTPClient, protonDriveClient: ProtonDriveClient);
|
|
14
15
|
verifyMyFiles(options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult>;
|
|
15
16
|
verifyNodeTree(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult>;
|
|
16
17
|
private yieldEvents;
|
|
@@ -1,28 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Diagnostic = void 0;
|
|
4
|
+
const sdkDiagnostic_1 = require("./sdkDiagnostic");
|
|
4
5
|
const zipGenerators_1 = require("./zipGenerators");
|
|
5
6
|
/**
|
|
6
7
|
* Diagnostic tool that produces full diagnostic, including logs and metrics
|
|
7
8
|
* by reading the events from the telemetry and HTTP client.
|
|
8
9
|
*/
|
|
9
|
-
class
|
|
10
|
-
diagnostic;
|
|
10
|
+
class Diagnostic {
|
|
11
11
|
telemetry;
|
|
12
12
|
httpClient;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
protonDriveClient;
|
|
14
|
+
constructor(telemetry, httpClient, protonDriveClient) {
|
|
15
15
|
this.telemetry = telemetry;
|
|
16
16
|
this.httpClient = httpClient;
|
|
17
|
-
this.
|
|
17
|
+
this.protonDriveClient = protonDriveClient;
|
|
18
18
|
this.telemetry = telemetry;
|
|
19
19
|
this.httpClient = httpClient;
|
|
20
|
+
this.protonDriveClient = protonDriveClient;
|
|
20
21
|
}
|
|
21
22
|
async *verifyMyFiles(options) {
|
|
22
|
-
|
|
23
|
+
const diagnostic = new sdkDiagnostic_1.SDKDiagnostic(this.protonDriveClient);
|
|
24
|
+
yield* this.yieldEvents(diagnostic.verifyMyFiles(options));
|
|
23
25
|
}
|
|
24
26
|
async *verifyNodeTree(node, options) {
|
|
25
|
-
|
|
27
|
+
const diagnostic = new sdkDiagnostic_1.SDKDiagnostic(this.protonDriveClient);
|
|
28
|
+
yield* this.yieldEvents(diagnostic.verifyNodeTree(node, options));
|
|
26
29
|
}
|
|
27
30
|
async *yieldEvents(generator) {
|
|
28
31
|
yield* (0, zipGenerators_1.zipGenerators)(generator, this.internalGenerator(), { stopOnFirstDone: true });
|
|
@@ -31,5 +34,5 @@ class FullSDKDiagnostic {
|
|
|
31
34
|
yield* (0, zipGenerators_1.zipGenerators)(this.telemetry.iterateEvents(), this.httpClient.iterateEvents());
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
|
-
exports.
|
|
35
|
-
//# sourceMappingURL=
|
|
37
|
+
exports.Diagnostic = Diagnostic;
|
|
38
|
+
//# sourceMappingURL=diagnostic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/diagnostic/diagnostic.ts"],"names":[],"mappings":";;;AAIA,mDAAgD;AAEhD,mDAAgD;AAEhD;;;GAGG;AACH,MAAa,UAAU;IAEP;IACA;IACA;IAHZ,YACY,SAA8B,EAC9B,UAAgC,EAChC,iBAAoC;QAFpC,cAAS,GAAT,SAAS,CAAqB;QAC9B,eAAU,GAAV,UAAU,CAAsB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAE5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,CAAC,aAAa,CAAC,OAA2B;QAC5C,MAAM,UAAU,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7D,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,CAAC,cAAc,CAAC,IAAe,EAAE,OAA2B;QAC9D,MAAM,UAAU,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7D,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACtE,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;AA5BD,gCA4BC"}
|
package/dist/diagnostic/index.js
CHANGED
|
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.initDiagnostic = initDiagnostic;
|
|
4
4
|
const cache_1 = require("../cache");
|
|
5
5
|
const protonDriveClient_1 = require("../protonDriveClient");
|
|
6
|
+
const diagnostic_1 = require("./diagnostic");
|
|
6
7
|
const httpClient_1 = require("./httpClient");
|
|
7
|
-
const sdkDiagnostic_1 = require("./sdkDiagnostic");
|
|
8
|
-
const sdkDiagnosticFull_1 = require("./sdkDiagnosticFull");
|
|
9
8
|
const telemetry_1 = require("./telemetry");
|
|
10
9
|
/**
|
|
11
10
|
* Initializes the diagnostic tool. It creates the instance of
|
|
@@ -29,7 +28,6 @@ function initDiagnostic(options) {
|
|
|
29
28
|
// Special telemetry that observes the logs and metrics.
|
|
30
29
|
telemetry,
|
|
31
30
|
});
|
|
32
|
-
|
|
33
|
-
return new sdkDiagnosticFull_1.FullSDKDiagnostic(diagnostic, telemetry, httpClient);
|
|
31
|
+
return new diagnostic_1.Diagnostic(telemetry, httpClient, protonDriveClient);
|
|
34
32
|
}
|
|
35
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diagnostic/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diagnostic/index.ts"],"names":[],"mappings":";;AAgBA,wCAqBC;AArCD,oCAAkD;AAElD,4DAAyD;AACzD,6CAA6D;AAE7D,6CAAoD;AACpD,2CAAkD;AAIlD;;;;;GAKG;AACH,SAAgB,cAAc,CAC1B,OAAmG;IAEnG,MAAM,UAAU,GAAG,IAAI,iCAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,+BAAmB,EAAE,CAAC;IAE5C,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,CAAC;QAC5C,GAAG,OAAO;QACV,UAAU;QACV,6CAA6C;QAC7C,+DAA+D;QAC/D,oDAAoD;QACpD,aAAa,EAAE,IAAI,iBAAS,EAAE;QAC9B,iEAAiE;QACjE,iDAAiD;QACjD,WAAW,EAAE,IAAI,mBAAW,EAAE;QAC9B,wDAAwD;QACxD,SAAS;KACZ,CAAC,CAAC;IAEH,OAAO,IAAI,uBAAe,CAAC,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -7,8 +7,15 @@ export interface Diagnostic {
|
|
|
7
7
|
export type DiagnosticOptions = {
|
|
8
8
|
verifyContent?: boolean;
|
|
9
9
|
verifyThumbnails?: boolean;
|
|
10
|
+
expectedStructure?: ExcpectedTreeNode;
|
|
10
11
|
};
|
|
11
|
-
export type
|
|
12
|
+
export type ExcpectedTreeNode = {
|
|
13
|
+
name: string;
|
|
14
|
+
expectedSha1?: string;
|
|
15
|
+
expectedSizeInBytes?: number;
|
|
16
|
+
children?: ExcpectedTreeNode[];
|
|
17
|
+
};
|
|
18
|
+
export type DiagnosticResult = FatalErrorResult | SdkErrorResult | HttpErrorResult | DegradedNodeResult | UnverifiedAuthorResult | ExtendedAttributesErrorResult | ExtendedAttributesMissingFieldResult | ContentFileMissingRevisionResult | ContentIntegrityErrorResult | ContentDownloadErrorResult | ThumbnailsErrorResult | ExpectedStructureMissingNode | ExpectedStructureUnexpectedNode | ExpectedStructureIntegrityError | LogErrorResult | LogWarningResult | MetricResult;
|
|
12
19
|
export type FatalErrorResult = {
|
|
13
20
|
type: 'fatal_error';
|
|
14
21
|
message: string;
|
|
@@ -70,6 +77,20 @@ export type ThumbnailsErrorResult = {
|
|
|
70
77
|
type: 'thumbnails_error';
|
|
71
78
|
error: unknown;
|
|
72
79
|
} & NodeDetails;
|
|
80
|
+
export type ExpectedStructureMissingNode = {
|
|
81
|
+
type: 'expected_structure_missing_node';
|
|
82
|
+
expectedNode: ExcpectedTreeNode;
|
|
83
|
+
parentNodeUid: string;
|
|
84
|
+
};
|
|
85
|
+
export type ExpectedStructureUnexpectedNode = {
|
|
86
|
+
type: 'expected_structure_unexpected_node';
|
|
87
|
+
} & NodeDetails;
|
|
88
|
+
export type ExpectedStructureIntegrityError = {
|
|
89
|
+
type: 'expected_structure_integrity_error';
|
|
90
|
+
expectedNode: ExcpectedTreeNode;
|
|
91
|
+
claimedSha1?: string;
|
|
92
|
+
claimedSizeInBytes?: number;
|
|
93
|
+
} & NodeDetails;
|
|
73
94
|
export type LogErrorResult = {
|
|
74
95
|
type: 'log_error';
|
|
75
96
|
log: LogRecord;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MaybeNode } from '../interface';
|
|
2
2
|
import { ProtonDriveClient } from '../protonDriveClient';
|
|
3
|
-
import {
|
|
3
|
+
import { DiagnosticOptions, DiagnosticResult } from './interface';
|
|
4
4
|
/**
|
|
5
5
|
* Diagnostic tool that uses SDK to traverse the node tree and verify
|
|
6
6
|
* the integrity of the node tree.
|
|
@@ -8,7 +8,7 @@ import { Diagnostic, DiagnosticOptions, DiagnosticResult } from './interface';
|
|
|
8
8
|
* It produces only events that can be read by direct SDK invocation.
|
|
9
9
|
* To get the full diagnostic, use {@link FullSDKDiagnostic}.
|
|
10
10
|
*/
|
|
11
|
-
export declare class SDKDiagnostic
|
|
11
|
+
export declare class SDKDiagnostic {
|
|
12
12
|
private protonDriveClient;
|
|
13
13
|
constructor(protonDriveClient: ProtonDriveClient);
|
|
14
14
|
verifyMyFiles(options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult>;
|
|
@@ -19,4 +19,5 @@ export declare class SDKDiagnostic implements Diagnostic {
|
|
|
19
19
|
private verifyContent;
|
|
20
20
|
private verifyThumbnails;
|
|
21
21
|
private verifyNodeChildren;
|
|
22
|
+
private verifyExpectedNodeChildren;
|
|
22
23
|
}
|
|
@@ -51,7 +51,7 @@ class SDKDiagnostic {
|
|
|
51
51
|
if (activeRevision) {
|
|
52
52
|
yield* this.verifyAuthor(activeRevision.contentAuthor, 'content', node);
|
|
53
53
|
}
|
|
54
|
-
yield* this.verifyFileExtendedAttributes(node);
|
|
54
|
+
yield* this.verifyFileExtendedAttributes(node, options);
|
|
55
55
|
if (options?.verifyContent) {
|
|
56
56
|
yield* this.verifyContent(node);
|
|
57
57
|
}
|
|
@@ -70,10 +70,11 @@ class SDKDiagnostic {
|
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
async *verifyFileExtendedAttributes(node) {
|
|
73
|
+
async *verifyFileExtendedAttributes(node, options) {
|
|
74
74
|
const activeRevision = getActiveRevision(node);
|
|
75
75
|
const expectedAttributes = getNodeType(node) === interface_1.NodeType.File;
|
|
76
76
|
const claimedSha1 = activeRevision?.claimedDigests?.sha1;
|
|
77
|
+
const claimedSizeInBytes = activeRevision?.claimedSize;
|
|
77
78
|
if (claimedSha1 && !/^[0-9a-f]{40}$/i.test(claimedSha1)) {
|
|
78
79
|
yield {
|
|
79
80
|
type: 'extended_attributes_error',
|
|
@@ -89,6 +90,21 @@ class SDKDiagnostic {
|
|
|
89
90
|
...getNodeDetails(node),
|
|
90
91
|
};
|
|
91
92
|
}
|
|
93
|
+
if (options?.expectedStructure) {
|
|
94
|
+
const expectedSha1 = options.expectedStructure.expectedSha1;
|
|
95
|
+
const expectedSizeInBytes = options.expectedStructure.expectedSizeInBytes;
|
|
96
|
+
const wrongSha1 = expectedSha1 !== undefined && claimedSha1 !== expectedSha1;
|
|
97
|
+
const wrongSizeInBytes = expectedSizeInBytes !== undefined && claimedSizeInBytes !== expectedSizeInBytes;
|
|
98
|
+
if (wrongSha1 || wrongSizeInBytes) {
|
|
99
|
+
yield {
|
|
100
|
+
type: 'expected_structure_integrity_error',
|
|
101
|
+
claimedSha1,
|
|
102
|
+
claimedSizeInBytes,
|
|
103
|
+
expectedNode: getExpectedTreeNodeDetails(options.expectedStructure),
|
|
104
|
+
...getNodeDetails(node),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
92
108
|
}
|
|
93
109
|
async *verifyContent(node) {
|
|
94
110
|
if (getNodeType(node) !== interface_1.NodeType.File) {
|
|
@@ -172,20 +188,58 @@ class SDKDiagnostic {
|
|
|
172
188
|
};
|
|
173
189
|
}
|
|
174
190
|
}
|
|
175
|
-
async *verifyNodeChildren(
|
|
176
|
-
const
|
|
191
|
+
async *verifyNodeChildren(parentNode, options) {
|
|
192
|
+
const parentNodeUid = parentNode.ok ? parentNode.value.uid : parentNode.error.uid;
|
|
193
|
+
const children = [];
|
|
177
194
|
try {
|
|
178
|
-
for await (const child of this.protonDriveClient.iterateFolderChildren(
|
|
179
|
-
|
|
195
|
+
for await (const child of this.protonDriveClient.iterateFolderChildren(parentNode)) {
|
|
196
|
+
if (options?.expectedStructure) {
|
|
197
|
+
children.push(child);
|
|
198
|
+
}
|
|
199
|
+
yield* this.verifyNodeTree(child, {
|
|
200
|
+
...options,
|
|
201
|
+
expectedStructure: options?.expectedStructure
|
|
202
|
+
? getTreeNodeChildByNodeName(options.expectedStructure, getNodeName(child))
|
|
203
|
+
: undefined,
|
|
204
|
+
});
|
|
180
205
|
}
|
|
181
206
|
}
|
|
182
207
|
catch (error) {
|
|
183
208
|
yield {
|
|
184
209
|
type: 'sdk_error',
|
|
185
|
-
call: `iterateFolderChildren(${
|
|
210
|
+
call: `iterateFolderChildren(${parentNodeUid})`,
|
|
186
211
|
error,
|
|
187
212
|
};
|
|
188
213
|
}
|
|
214
|
+
if (options?.expectedStructure) {
|
|
215
|
+
yield* this.verifyExpectedNodeChildren(parentNodeUid, children, options);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
async *verifyExpectedNodeChildren(parentNodeUid, children, options) {
|
|
219
|
+
if (!options.expectedStructure) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
const expectedNodes = options.expectedStructure.children ?? [];
|
|
223
|
+
const actualNodeNames = children.map((child) => getNodeName(child));
|
|
224
|
+
for (const expectedNode of expectedNodes) {
|
|
225
|
+
if (!actualNodeNames.includes(expectedNode.name)) {
|
|
226
|
+
yield {
|
|
227
|
+
type: 'expected_structure_missing_node',
|
|
228
|
+
expectedNode: getExpectedTreeNodeDetails(expectedNode),
|
|
229
|
+
parentNodeUid,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
for (const child of children) {
|
|
234
|
+
const childName = getNodeName(child);
|
|
235
|
+
const isExpected = expectedNodes.some((expectedNode) => expectedNode.name === childName);
|
|
236
|
+
if (!isExpected) {
|
|
237
|
+
yield {
|
|
238
|
+
type: 'expected_structure_unexpected_node',
|
|
239
|
+
...getNodeDetails(child),
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
189
243
|
}
|
|
190
244
|
}
|
|
191
245
|
exports.SDKDiagnostic = SDKDiagnostic;
|
|
@@ -245,4 +299,22 @@ function getActiveRevision(node) {
|
|
|
245
299
|
}
|
|
246
300
|
return undefined;
|
|
247
301
|
}
|
|
302
|
+
function getNodeName(node) {
|
|
303
|
+
if (node.ok) {
|
|
304
|
+
return node.value.name;
|
|
305
|
+
}
|
|
306
|
+
if (node.error.name.ok) {
|
|
307
|
+
return node.error.name.value;
|
|
308
|
+
}
|
|
309
|
+
return 'N/A';
|
|
310
|
+
}
|
|
311
|
+
function getExpectedTreeNodeDetails(expectedNode) {
|
|
312
|
+
return {
|
|
313
|
+
...expectedNode,
|
|
314
|
+
children: undefined,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
function getTreeNodeChildByNodeName(expectedSubtree, nodeName) {
|
|
318
|
+
return expectedSubtree.children?.find((expectedNode) => expectedNode.name === nodeName);
|
|
319
|
+
}
|
|
248
320
|
//# sourceMappingURL=sdkDiagnostic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkDiagnostic.js","sourceRoot":"","sources":["../../src/diagnostic/sdkDiagnostic.ts"],"names":[],"mappings":";;;AAAA,4CAAoG;AAGpG,+EAA4E;AAE5E;;;;;;GAMG;AACH,MAAa,aAAa;IACF;IAApB,YAAoB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,CAAC,aAAa,CAAC,OAA2B;QAC5C,IAAI,iBAA4B,CAAC;QAEjC,IAAI,CAAC;YACD,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM;gBACF,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,oCAAoC;gBAC7C,KAAK;aACR,CAAC;YACF,OAAO;QACX,CAAC;QAED,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,CAAC,cAAc,CAAC,IAAe,EAAE,OAA2B;QAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,oBAAQ,CAAC,MAAM,CAAC;QAEvD,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEtC,IAAI,QAAQ,EAAE,CAAC;YACX,KAAK,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,CAAC,UAAU,CAAC,IAAe,EAAE,OAA2B;QAClE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM;gBACF,IAAI,EAAE,eAAe;gBACrB,GAAG,cAAc,CAAC,IAAI,CAAC;aAC1B,CAAC;QACN,CAAC;QAED,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7F,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhG,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,cAAc,EAAE,CAAC;YACjB,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;QAED,KAAK,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sdkDiagnostic.js","sourceRoot":"","sources":["../../src/diagnostic/sdkDiagnostic.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,13 +16,13 @@ export type { FileDownloader, DownloadController, SeekableReadableStream } from
|
|
|
16
16
|
export type { DriveListener, LatestEventIdProvider, DriveEvent, NodeEvent, FastForwardEvent, TreeRefreshEvent, TreeRemovalEvent, SharedWithMeUpdated, } from './events';
|
|
17
17
|
export { DriveEventType, SDKEvent } from './events';
|
|
18
18
|
export type { ProtonDriveHTTPClient, ProtonDriveHTTPClientJsonRequest, ProtonDriveHTTPClientBlobRequest, } from './httpClient';
|
|
19
|
-
export type { MaybeNode, NodeEntity, DegradedNode, MaybeMissingNode, MissingNode, InvalidNameError, Revision, NodeOrUid, RevisionOrUid, NodeResult, Membership, } from './nodes';
|
|
19
|
+
export type { MaybeNode, NodeEntity, DegradedNode, MaybeMissingNode, MissingNode, InvalidNameError, Revision, NodeOrUid, RevisionOrUid, NodeResult, NodeResultWithNewUid, Membership, } from './nodes';
|
|
20
20
|
export { NodeType, MemberRole, RevisionState } from './nodes';
|
|
21
21
|
export type { ProtonInvitation, ProtonInvitationWithNode, NonProtonInvitation, Member, PublicLink, MaybeBookmark, Bookmark, DegradedBookmark, ProtonInvitationOrUid, NonProtonInvitationOrUid, BookmarkOrUid, ShareNodeSettings, UnshareNodeSettings, ShareMembersSettings, SharePublicLinkSettings, SharePublicLinkSettingsObject, ShareResult, } from './sharing';
|
|
22
22
|
export { NonProtonInvitationState } from './sharing';
|
|
23
23
|
export type { Telemetry, Logger, MetricAPIRetrySucceededEvent, MetricUploadEvent, MetricsUploadErrorType, MetricDownloadEvent, MetricsDownloadErrorType, MetricDecryptionErrorEvent, MetricsDecryptionErrorField, MetricVerificationErrorEvent, MetricVerificationErrorField, MetricBlockVerificationErrorEvent, MetricVolumeEventsSubscriptionsChangedEvent, MetricEvent, } from './telemetry';
|
|
24
24
|
export { MetricVolumeType } from './telemetry';
|
|
25
|
-
export type { FileUploader,
|
|
25
|
+
export type { FileUploader, UploadController, UploadMetadata } from './upload';
|
|
26
26
|
export type { Thumbnail, ThumbnailResult } from './thumbnail';
|
|
27
27
|
export { ThumbnailType } from './thumbnail';
|
|
28
28
|
export type ProtonDriveTelemetry = Telemetry<MetricEvent>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":";;;AASA,mCAAiD;AAAxC,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAK9B,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAYnB,mCAAoD;AAA3C,wGAAA,cAAc,OAAA;AAAE,kGAAA,QAAQ,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":";;;AASA,mCAAiD;AAAxC,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAK9B,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAYnB,mCAAoD;AAA3C,wGAAA,cAAc,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAoBjC,iCAA8D;AAArD,iGAAA,QAAQ,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAoB5C,qCAAqD;AAA5C,mHAAA,wBAAwB,OAAA;AAiBjC,yCAA+C;AAAtC,6GAAA,gBAAgB,OAAA;AAGzB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA"}
|
|
@@ -8,12 +8,15 @@ export interface Logger {
|
|
|
8
8
|
warn(msg: string): void;
|
|
9
9
|
error(msg: string, error?: unknown): void;
|
|
10
10
|
}
|
|
11
|
-
export type MetricEvent = MetricAPIRetrySucceededEvent | MetricUploadEvent | MetricDownloadEvent | MetricDecryptionErrorEvent | MetricVerificationErrorEvent | MetricBlockVerificationErrorEvent | MetricVolumeEventsSubscriptionsChangedEvent;
|
|
11
|
+
export type MetricEvent = MetricAPIRetrySucceededEvent | MetricDebounceLongWaitEvent | MetricUploadEvent | MetricDownloadEvent | MetricDecryptionErrorEvent | MetricVerificationErrorEvent | MetricBlockVerificationErrorEvent | MetricVolumeEventsSubscriptionsChangedEvent;
|
|
12
12
|
export interface MetricAPIRetrySucceededEvent {
|
|
13
13
|
eventName: 'apiRetrySucceeded';
|
|
14
14
|
url: string;
|
|
15
15
|
failedAttempts: number;
|
|
16
16
|
}
|
|
17
|
+
export interface MetricDebounceLongWaitEvent {
|
|
18
|
+
eventName: 'debounceLongWait';
|
|
19
|
+
}
|
|
17
20
|
export interface MetricUploadEvent {
|
|
18
21
|
eventName: 'upload';
|
|
19
22
|
volumeType?: MetricVolumeType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/interface/telemetry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/interface/telemetry.ts"],"names":[],"mappings":";;;AAiHA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,4CAAwB,CAAA;IACxB,qCAAiB,CAAA;IACjB,kDAA8B,CAAA;AAClC,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
|
|
@@ -30,7 +30,7 @@ export type UploadMetadata = {
|
|
|
30
30
|
*/
|
|
31
31
|
overrideExistingDraftByOtherClient?: boolean;
|
|
32
32
|
};
|
|
33
|
-
export interface
|
|
33
|
+
export interface FileUploader {
|
|
34
34
|
/**
|
|
35
35
|
* Uploads a file from a stream.
|
|
36
36
|
*
|
|
@@ -52,17 +52,6 @@ export interface FileRevisionUploader {
|
|
|
52
52
|
*/
|
|
53
53
|
uploadFromFile(fileObject: File, thumnbails: Thumbnail[], onProgress?: (uploadedBytes: number) => void): Promise<UploadController>;
|
|
54
54
|
}
|
|
55
|
-
export interface FileUploader extends FileRevisionUploader {
|
|
56
|
-
/**
|
|
57
|
-
* Returns the available name for the file.
|
|
58
|
-
*
|
|
59
|
-
* The function will return a name that includes the original name with the
|
|
60
|
-
* available index. The name is guaranteed to be unique in the parent folder.
|
|
61
|
-
*
|
|
62
|
-
* Example new name: `file (2).txt`.
|
|
63
|
-
*/
|
|
64
|
-
getAvailableName(): Promise<string>;
|
|
65
|
-
}
|
|
66
55
|
export interface UploadController {
|
|
67
56
|
pause(): void;
|
|
68
57
|
resume(): void;
|