@wireapp/api-client 27.34.0 → 27.36.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/lib/cells/CellsAPI.d.ts +3 -1
- package/lib/cells/CellsAPI.d.ts.map +1 -1
- package/lib/cells/CellsAPI.js +3 -3
- package/lib/cells/CellsStorage/CellsStorage.d.ts +2 -1
- package/lib/cells/CellsStorage/CellsStorage.d.ts.map +1 -1
- package/lib/cells/CellsStorage/S3Service.d.ts +4 -1
- package/lib/cells/CellsStorage/S3Service.d.ts.map +1 -1
- package/lib/cells/CellsStorage/S3Service.js +27 -10
- package/package.json +3 -2
package/lib/cells/CellsAPI.d.ts
CHANGED
|
@@ -29,12 +29,14 @@ export declare class CellsAPI {
|
|
|
29
29
|
httpClient?: HttpClient;
|
|
30
30
|
storageService?: CellsStorage;
|
|
31
31
|
}): void;
|
|
32
|
-
uploadFileDraft({ uuid, versionId, path, file, autoRename, }: {
|
|
32
|
+
uploadFileDraft({ uuid, versionId, path, file, autoRename, progressCallback, signal, }: {
|
|
33
33
|
uuid: string;
|
|
34
34
|
versionId: string;
|
|
35
35
|
path: string;
|
|
36
36
|
file: File;
|
|
37
37
|
autoRename?: boolean;
|
|
38
|
+
progressCallback?: (progress: number) => void;
|
|
39
|
+
signal?: AbortSignal;
|
|
38
40
|
}): Promise<RestCreateCheckResponse>;
|
|
39
41
|
promoteFileDraft({ uuid, versionId }: {
|
|
40
42
|
uuid: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellsAPI.d.ts","sourceRoot":"","sources":["../../src/cells/CellsAPI.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEL,uBAAuB,EACvB,yBAAyB,EACzB,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,aAAa,EACb,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAGzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAMnC,UAAU,WAAW;IACnB,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,EAAE,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAwB;gBAE1B,EACV,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;QACD,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;KACxC;IAOD,UAAU,CAAC,EACT,WAAW,EACX,UAAU,EACV,cAAc,GACf,EAAE;QACD,WAAW,EAAE,WAAW,CAAC;QACzB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,cAAc,CAAC,EAAE,YAAY,CAAC;KAC/B;IAgBK,eAAe,CAAC,EACpB,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,UAAiB,
|
|
1
|
+
{"version":3,"file":"CellsAPI.d.ts","sourceRoot":"","sources":["../../src/cells/CellsAPI.ts"],"names":[],"mappings":"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"}
|
package/lib/cells/CellsAPI.js
CHANGED
|
@@ -46,7 +46,7 @@ class CellsAPI {
|
|
|
46
46
|
this.storageService = storageService || new S3Service_1.S3Service(cellsConfig.s3);
|
|
47
47
|
this.client = new cells_sdk_ts_1.NodeServiceApi(undefined, undefined, http.client);
|
|
48
48
|
}
|
|
49
|
-
async uploadFileDraft({ uuid, versionId, path, file, autoRename = true, }) {
|
|
49
|
+
async uploadFileDraft({ uuid, versionId, path, file, autoRename = true, progressCallback, signal, }) {
|
|
50
50
|
if (!this.client || !this.storageService) {
|
|
51
51
|
throw new Error(CONFIGURATION_ERROR);
|
|
52
52
|
}
|
|
@@ -54,7 +54,7 @@ class CellsAPI {
|
|
|
54
54
|
const result = await this.client.createCheck({
|
|
55
55
|
Inputs: [{ Type: 'LEAF', Locator: { Path: filePath, Uuid: uuid }, VersionId: versionId }],
|
|
56
56
|
FindAvailablePath: true,
|
|
57
|
-
});
|
|
57
|
+
}, { signal });
|
|
58
58
|
if (autoRename && result.data.Results?.length && result.data.Results[0].Exists) {
|
|
59
59
|
filePath = result.data.Results[0].NextPath || filePath;
|
|
60
60
|
}
|
|
@@ -63,7 +63,7 @@ class CellsAPI {
|
|
|
63
63
|
'Create-Resource-Uuid': uuid,
|
|
64
64
|
'Create-Version-Id': versionId,
|
|
65
65
|
};
|
|
66
|
-
await this.storageService.putObject({ path: filePath, file, metadata });
|
|
66
|
+
await this.storageService.putObject({ path: filePath, file, metadata, progressCallback });
|
|
67
67
|
return result.data;
|
|
68
68
|
}
|
|
69
69
|
async promoteFileDraft({ uuid, versionId }) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export interface CellsStorage {
|
|
2
|
-
putObject({ path, file, metadata }: {
|
|
2
|
+
putObject({ path, file, metadata, progressCallback, }: {
|
|
3
3
|
path: string;
|
|
4
4
|
file: File;
|
|
5
5
|
metadata?: Record<string, string>;
|
|
6
|
+
progressCallback?: (progress: number) => void;
|
|
6
7
|
}): Promise<void>;
|
|
7
8
|
}
|
|
8
9
|
export declare class CellsStorageError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellsStorage.d.ts","sourceRoot":"","sources":["../../../src/cells/CellsStorage/CellsStorage.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"CellsStorage.d.ts","sourceRoot":"","sources":["../../../src/cells/CellsStorage/CellsStorage.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,gBAAgB,GACjB,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/C,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAGxB,KAAK,CAAC,EAAE,KAAK;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC"}
|
|
@@ -5,14 +5,17 @@ interface S3ServiceConfig {
|
|
|
5
5
|
endpoint: string;
|
|
6
6
|
region: string;
|
|
7
7
|
}
|
|
8
|
+
export declare const MAX_QUEUE_SIZE = 3;
|
|
9
|
+
export declare const PART_SIZE: number;
|
|
8
10
|
export declare class S3Service implements CellsStorage {
|
|
9
11
|
private client;
|
|
10
12
|
private bucket;
|
|
11
13
|
constructor({ apiKey, bucket, endpoint, region }: S3ServiceConfig);
|
|
12
|
-
putObject({ path, file, metadata, }: {
|
|
14
|
+
putObject({ path, file, metadata, progressCallback, }: {
|
|
13
15
|
path: string;
|
|
14
16
|
file: File;
|
|
15
17
|
metadata?: Record<string, string>;
|
|
18
|
+
progressCallback?: (progress: number) => void;
|
|
16
19
|
}): Promise<void>;
|
|
17
20
|
}
|
|
18
21
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3Service.d.ts","sourceRoot":"","sources":["../../../src/cells/CellsStorage/S3Service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"S3Service.d.ts","sourceRoot":"","sources":["../../../src/cells/CellsStorage/S3Service.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAC,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAE/D,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,SAAS,QAAmB,CAAC;AAE1C,qBAAa,SAAU,YAAW,YAAY;IAC5C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAC,EAAE,eAAe;IAezD,SAAS,CAAC,EACd,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,gBAAgB,GACjB,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/C,GAAG,OAAO,CAAC,IAAI,CAAC;CA0ClB"}
|
|
@@ -18,9 +18,12 @@
|
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.S3Service = void 0;
|
|
21
|
+
exports.S3Service = exports.PART_SIZE = exports.MAX_QUEUE_SIZE = void 0;
|
|
22
22
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
23
|
+
const lib_storage_1 = require("@aws-sdk/lib-storage");
|
|
23
24
|
const CellsStorage_1 = require("./CellsStorage");
|
|
25
|
+
exports.MAX_QUEUE_SIZE = 3;
|
|
26
|
+
exports.PART_SIZE = 10 * 1024 * 1024; // 10MB
|
|
24
27
|
class S3Service {
|
|
25
28
|
client;
|
|
26
29
|
bucket;
|
|
@@ -37,17 +40,31 @@ class S3Service {
|
|
|
37
40
|
requestChecksumCalculation: 'WHEN_REQUIRED',
|
|
38
41
|
});
|
|
39
42
|
}
|
|
40
|
-
async putObject({ path, file, metadata, }) {
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
async putObject({ path, file, metadata, progressCallback, }) {
|
|
44
|
+
const upload = new lib_storage_1.Upload({
|
|
45
|
+
client: this.client,
|
|
46
|
+
partSize: exports.PART_SIZE,
|
|
47
|
+
queueSize: exports.MAX_QUEUE_SIZE,
|
|
48
|
+
leavePartsOnError: true,
|
|
49
|
+
params: {
|
|
50
|
+
Bucket: this.bucket,
|
|
51
|
+
Body: file,
|
|
52
|
+
Key: path,
|
|
53
|
+
ContentType: file.type,
|
|
54
|
+
ContentLength: file.size,
|
|
55
|
+
Metadata: metadata,
|
|
56
|
+
},
|
|
48
57
|
});
|
|
58
|
+
if (progressCallback) {
|
|
59
|
+
upload.on('httpUploadProgress', progress => {
|
|
60
|
+
if (!progress?.loaded || !progress?.total) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
progressCallback(progress.loaded / progress.total);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
49
66
|
try {
|
|
50
|
-
await
|
|
67
|
+
await upload.done();
|
|
51
68
|
}
|
|
52
69
|
catch (caught) {
|
|
53
70
|
if (caught instanceof client_s3_1.S3ServiceException && caught.name === 'EntityTooLarge') {
|
package/package.json
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@aws-sdk/client-s3": "3.750.0",
|
|
17
|
+
"@aws-sdk/lib-storage": "3.779.0",
|
|
17
18
|
"@pydio/protocol-messaging": "1.51.0",
|
|
18
19
|
"@wireapp/commons": "^5.4.2",
|
|
19
20
|
"@wireapp/priority-queue": "^2.1.11",
|
|
@@ -69,6 +70,6 @@
|
|
|
69
70
|
"watch": "webpack serve --config webpack.browser.js",
|
|
70
71
|
"prepare": "yarn dist"
|
|
71
72
|
},
|
|
72
|
-
"version": "27.
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"version": "27.36.0",
|
|
74
|
+
"gitHead": "55d1d7e877ed4648866452038679b86c3759b57d"
|
|
74
75
|
}
|