@wireapp/api-client 27.34.0 → 27.35.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.
@@ -29,12 +29,13 @@ 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, }: {
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;
38
39
  }): Promise<RestCreateCheckResponse>;
39
40
  promoteFileDraft({ uuid, versionId }: {
40
41
  uuid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CellsAPI.d.ts","sourceRoot":"","sources":["../../src/cells/CellsAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CellsAPI.d.ts","sourceRoot":"","sources":["../../src/cells/CellsAPI.ts"],"names":[],"mappings":"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"}
@@ -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, }) {
50
50
  if (!this.client || !this.storageService) {
51
51
  throw new Error(CONFIGURATION_ERROR);
52
52
  }
@@ -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,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjH;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAGxB,KAAK,CAAC,EAAE,KAAK;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC"}
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"}
@@ -9,10 +9,11 @@ export declare class S3Service implements CellsStorage {
9
9
  private client;
10
10
  private bucket;
11
11
  constructor({ apiKey, bucket, endpoint, region }: S3ServiceConfig);
12
- putObject({ path, file, metadata, }: {
12
+ putObject({ path, file, metadata, progressCallback, }: {
13
13
  path: string;
14
14
  file: File;
15
15
  metadata?: Record<string, string>;
16
+ progressCallback?: (progress: number) => void;
16
17
  }): Promise<void>;
17
18
  }
18
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"S3Service.d.ts","sourceRoot":"","sources":["../../../src/cells/CellsStorage/S3Service.ts"],"names":[],"mappings":"AAqBA,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,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,GACT,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACnC,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BlB"}
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;AAKD,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"}
@@ -20,7 +20,10 @@
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.S3Service = 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
+ const MAX_QUEUE_SIZE = 3;
26
+ const PART_SIZE = 5 * 1024 * 1024; // 5MB
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 command = new client_s3_1.PutObjectCommand({
42
- Bucket: this.bucket,
43
- Body: file,
44
- Key: path,
45
- ContentType: file.type,
46
- ContentLength: file.size,
47
- Metadata: metadata,
43
+ async putObject({ path, file, metadata, progressCallback, }) {
44
+ const upload = new lib_storage_1.Upload({
45
+ client: this.client,
46
+ partSize: PART_SIZE,
47
+ queueSize: 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 this.client.send(command);
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.34.0",
73
- "gitHead": "0be7ee93545d3b93f120855b3f812a214c7dc3f4"
73
+ "version": "27.35.0",
74
+ "gitHead": "6c8971f293b87e53ce48e7d56da2022e4a3d1e03"
74
75
  }