@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,6 +1,6 @@
|
|
|
1
1
|
import { Author, FileDownloader, MaybeNode, NodeType, Revision, ThumbnailType } from '../interface';
|
|
2
2
|
import { ProtonDriveClient } from '../protonDriveClient';
|
|
3
|
-
import {
|
|
3
|
+
import { DiagnosticOptions, DiagnosticResult, NodeDetails, ExcpectedTreeNode } from './interface';
|
|
4
4
|
import { IntegrityVerificationStream } from './integrityVerificationStream';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -10,7 +10,7 @@ import { IntegrityVerificationStream } from './integrityVerificationStream';
|
|
|
10
10
|
* It produces only events that can be read by direct SDK invocation.
|
|
11
11
|
* To get the full diagnostic, use {@link FullSDKDiagnostic}.
|
|
12
12
|
*/
|
|
13
|
-
export class SDKDiagnostic
|
|
13
|
+
export class SDKDiagnostic {
|
|
14
14
|
constructor(private protonDriveClient: ProtonDriveClient) {
|
|
15
15
|
this.protonDriveClient = protonDriveClient;
|
|
16
16
|
}
|
|
@@ -58,7 +58,7 @@ export class SDKDiagnostic implements Diagnostic {
|
|
|
58
58
|
yield* this.verifyAuthor(activeRevision.contentAuthor, 'content', node);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
yield* this.verifyFileExtendedAttributes(node);
|
|
61
|
+
yield* this.verifyFileExtendedAttributes(node, options);
|
|
62
62
|
|
|
63
63
|
if (options?.verifyContent) {
|
|
64
64
|
yield* this.verifyContent(node);
|
|
@@ -80,12 +80,17 @@ export class SDKDiagnostic implements Diagnostic {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
private async *verifyFileExtendedAttributes(
|
|
83
|
+
private async *verifyFileExtendedAttributes(
|
|
84
|
+
node: MaybeNode,
|
|
85
|
+
options?: DiagnosticOptions,
|
|
86
|
+
): AsyncGenerator<DiagnosticResult> {
|
|
84
87
|
const activeRevision = getActiveRevision(node);
|
|
85
88
|
|
|
86
89
|
const expectedAttributes = getNodeType(node) === NodeType.File;
|
|
87
90
|
|
|
88
91
|
const claimedSha1 = activeRevision?.claimedDigests?.sha1;
|
|
92
|
+
const claimedSizeInBytes = activeRevision?.claimedSize;
|
|
93
|
+
|
|
89
94
|
if (claimedSha1 && !/^[0-9a-f]{40}$/i.test(claimedSha1)) {
|
|
90
95
|
yield {
|
|
91
96
|
type: 'extended_attributes_error',
|
|
@@ -102,6 +107,24 @@ export class SDKDiagnostic implements Diagnostic {
|
|
|
102
107
|
...getNodeDetails(node),
|
|
103
108
|
};
|
|
104
109
|
}
|
|
110
|
+
|
|
111
|
+
if (options?.expectedStructure) {
|
|
112
|
+
const expectedSha1 = options.expectedStructure.expectedSha1;
|
|
113
|
+
const expectedSizeInBytes = options.expectedStructure.expectedSizeInBytes;
|
|
114
|
+
|
|
115
|
+
const wrongSha1 = expectedSha1 !== undefined && claimedSha1 !== expectedSha1;
|
|
116
|
+
const wrongSizeInBytes = expectedSizeInBytes !== undefined && claimedSizeInBytes !== expectedSizeInBytes;
|
|
117
|
+
|
|
118
|
+
if (wrongSha1 || wrongSizeInBytes) {
|
|
119
|
+
yield {
|
|
120
|
+
type: 'expected_structure_integrity_error',
|
|
121
|
+
claimedSha1,
|
|
122
|
+
claimedSizeInBytes,
|
|
123
|
+
expectedNode: getExpectedTreeNodeDetails(options.expectedStructure),
|
|
124
|
+
...getNodeDetails(node),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
105
128
|
}
|
|
106
129
|
|
|
107
130
|
private async *verifyContent(node: MaybeNode): AsyncGenerator<DiagnosticResult> {
|
|
@@ -195,19 +218,73 @@ export class SDKDiagnostic implements Diagnostic {
|
|
|
195
218
|
}
|
|
196
219
|
}
|
|
197
220
|
|
|
198
|
-
private async *verifyNodeChildren(
|
|
199
|
-
|
|
221
|
+
private async *verifyNodeChildren(
|
|
222
|
+
parentNode: MaybeNode,
|
|
223
|
+
options?: DiagnosticOptions,
|
|
224
|
+
): AsyncGenerator<DiagnosticResult> {
|
|
225
|
+
const parentNodeUid = parentNode.ok ? parentNode.value.uid : parentNode.error.uid;
|
|
226
|
+
const children: MaybeNode[] = [];
|
|
227
|
+
|
|
200
228
|
try {
|
|
201
|
-
for await (const child of this.protonDriveClient.iterateFolderChildren(
|
|
202
|
-
|
|
229
|
+
for await (const child of this.protonDriveClient.iterateFolderChildren(parentNode)) {
|
|
230
|
+
if (options?.expectedStructure) {
|
|
231
|
+
children.push(child);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
yield *
|
|
235
|
+
this.verifyNodeTree(child, {
|
|
236
|
+
...options,
|
|
237
|
+
expectedStructure: options?.expectedStructure
|
|
238
|
+
? getTreeNodeChildByNodeName(options.expectedStructure, getNodeName(child))
|
|
239
|
+
: undefined,
|
|
240
|
+
});
|
|
203
241
|
}
|
|
204
242
|
} catch (error: unknown) {
|
|
205
243
|
yield {
|
|
206
244
|
type: 'sdk_error',
|
|
207
|
-
call: `iterateFolderChildren(${
|
|
245
|
+
call: `iterateFolderChildren(${parentNodeUid})`,
|
|
208
246
|
error,
|
|
209
247
|
};
|
|
210
248
|
}
|
|
249
|
+
|
|
250
|
+
if (options?.expectedStructure) {
|
|
251
|
+
yield* this.verifyExpectedNodeChildren(parentNodeUid, children, options);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
private async *verifyExpectedNodeChildren(
|
|
256
|
+
parentNodeUid: string,
|
|
257
|
+
children: MaybeNode[],
|
|
258
|
+
options: DiagnosticOptions,
|
|
259
|
+
): AsyncGenerator<DiagnosticResult> {
|
|
260
|
+
if (!options.expectedStructure) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
const expectedNodes = options.expectedStructure.children ?? [];
|
|
265
|
+
const actualNodeNames = children.map((child) => getNodeName(child));
|
|
266
|
+
|
|
267
|
+
for (const expectedNode of expectedNodes) {
|
|
268
|
+
if (!actualNodeNames.includes(expectedNode.name)) {
|
|
269
|
+
yield {
|
|
270
|
+
type: 'expected_structure_missing_node',
|
|
271
|
+
expectedNode: getExpectedTreeNodeDetails(expectedNode),
|
|
272
|
+
parentNodeUid,
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
for (const child of children) {
|
|
278
|
+
const childName = getNodeName(child);
|
|
279
|
+
const isExpected = expectedNodes.some((expectedNode) => expectedNode.name === childName);
|
|
280
|
+
|
|
281
|
+
if (!isExpected) {
|
|
282
|
+
yield {
|
|
283
|
+
type: 'expected_structure_unexpected_node',
|
|
284
|
+
...getNodeDetails(child),
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
}
|
|
211
288
|
}
|
|
212
289
|
}
|
|
213
290
|
|
|
@@ -275,3 +352,27 @@ function getActiveRevision(node: MaybeNode): Revision | undefined {
|
|
|
275
352
|
}
|
|
276
353
|
return undefined;
|
|
277
354
|
}
|
|
355
|
+
|
|
356
|
+
function getNodeName(node: MaybeNode): string {
|
|
357
|
+
if (node.ok) {
|
|
358
|
+
return node.value.name;
|
|
359
|
+
}
|
|
360
|
+
if (node.error.name.ok) {
|
|
361
|
+
return node.error.name.value;
|
|
362
|
+
}
|
|
363
|
+
return 'N/A';
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
function getExpectedTreeNodeDetails(expectedNode: ExcpectedTreeNode): ExcpectedTreeNode {
|
|
367
|
+
return {
|
|
368
|
+
...expectedNode,
|
|
369
|
+
children: undefined,
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
function getTreeNodeChildByNodeName(
|
|
374
|
+
expectedSubtree: ExcpectedTreeNode,
|
|
375
|
+
nodeName: string,
|
|
376
|
+
): ExcpectedTreeNode | undefined {
|
|
377
|
+
return expectedSubtree.children?.find((expectedNode) => expectedNode.name === nodeName);
|
|
378
|
+
}
|
package/src/interface/index.ts
CHANGED
|
@@ -41,6 +41,7 @@ export type {
|
|
|
41
41
|
NodeOrUid,
|
|
42
42
|
RevisionOrUid,
|
|
43
43
|
NodeResult,
|
|
44
|
+
NodeResultWithNewUid,
|
|
44
45
|
Membership,
|
|
45
46
|
} from './nodes';
|
|
46
47
|
export { NodeType, MemberRole, RevisionState } from './nodes';
|
|
@@ -81,7 +82,7 @@ export type {
|
|
|
81
82
|
MetricEvent,
|
|
82
83
|
} from './telemetry';
|
|
83
84
|
export { MetricVolumeType } from './telemetry';
|
|
84
|
-
export type { FileUploader,
|
|
85
|
+
export type { FileUploader, UploadController, UploadMetadata } from './upload';
|
|
85
86
|
export type { Thumbnail, ThumbnailResult } from './thumbnail';
|
|
86
87
|
export { ThumbnailType } from './thumbnail';
|
|
87
88
|
|
package/src/interface/nodes.ts
CHANGED
|
@@ -224,3 +224,6 @@ export type NodeOrUid = MaybeNode | NodeEntity | DegradedNode | string;
|
|
|
224
224
|
export type RevisionOrUid = Revision | string;
|
|
225
225
|
|
|
226
226
|
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 };
|
|
@@ -12,6 +12,7 @@ export interface Logger {
|
|
|
12
12
|
|
|
13
13
|
export type MetricEvent =
|
|
14
14
|
| MetricAPIRetrySucceededEvent
|
|
15
|
+
| MetricDebounceLongWaitEvent
|
|
15
16
|
| MetricUploadEvent
|
|
16
17
|
| MetricDownloadEvent
|
|
17
18
|
| MetricDecryptionErrorEvent
|
|
@@ -25,6 +26,10 @@ export interface MetricAPIRetrySucceededEvent {
|
|
|
25
26
|
failedAttempts: number;
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
export interface MetricDebounceLongWaitEvent {
|
|
30
|
+
eventName: 'debounceLongWait';
|
|
31
|
+
}
|
|
32
|
+
|
|
28
33
|
export interface MetricUploadEvent {
|
|
29
34
|
eventName: 'upload';
|
|
30
35
|
volumeType?: MetricVolumeType;
|
package/src/interface/upload.ts
CHANGED
|
@@ -32,7 +32,7 @@ export type UploadMetadata = {
|
|
|
32
32
|
overrideExistingDraftByOtherClient?: boolean;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
-
export interface
|
|
35
|
+
export interface FileUploader {
|
|
36
36
|
/**
|
|
37
37
|
* Uploads a file from a stream.
|
|
38
38
|
*
|
|
@@ -64,18 +64,6 @@ export interface FileRevisionUploader {
|
|
|
64
64
|
): Promise<UploadController>;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
export interface FileUploader extends FileRevisionUploader {
|
|
68
|
-
/**
|
|
69
|
-
* Returns the available name for the file.
|
|
70
|
-
*
|
|
71
|
-
* The function will return a name that includes the original name with the
|
|
72
|
-
* available index. The name is guaranteed to be unique in the parent folder.
|
|
73
|
-
*
|
|
74
|
-
* Example new name: `file (2).txt`.
|
|
75
|
-
*/
|
|
76
|
-
getAvailableName(): Promise<string>;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
67
|
export interface UploadController {
|
|
80
68
|
pause(): void;
|
|
81
69
|
resume(): void;
|