@wireapp/api-client 27.69.1 → 27.69.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellsAPI.d.ts","sourceRoot":"","sources":["../../src/cells/CellsAPI.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,uBAAuB,EACvB,yBAAyB,EACzB,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC5B,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;AAEnC,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAS3C,UAAU,WAAW;IACnB,KAAK,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,EAAE,EAAE;QACF,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,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;
|
|
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
|
@@ -40,7 +40,11 @@ class CellsAPI {
|
|
|
40
40
|
initialize({ cellsConfig, httpClient, storageService, }) {
|
|
41
41
|
const http = httpClient || this.getHttpClient({ cellsConfig });
|
|
42
42
|
this.storageService =
|
|
43
|
-
storageService ||
|
|
43
|
+
storageService ||
|
|
44
|
+
new S3Service_1.S3Service({
|
|
45
|
+
config: cellsConfig.s3,
|
|
46
|
+
accessTokenStore: this.accessTokenStore,
|
|
47
|
+
});
|
|
44
48
|
this.client = new cells_sdk_ts_1.NodeServiceApi(undefined, undefined, http.client);
|
|
45
49
|
}
|
|
46
50
|
getHttpClient({ cellsConfig }) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CellsStorage } from './CellsStorage';
|
|
2
|
+
import { AccessTokenStore } from '../../auth';
|
|
2
3
|
interface S3ServiceConfig {
|
|
3
4
|
apiKey?: string;
|
|
4
5
|
bucket: string;
|
|
@@ -8,12 +9,14 @@ interface S3ServiceConfig {
|
|
|
8
9
|
export declare const MAX_QUEUE_SIZE = 3;
|
|
9
10
|
export declare const PART_SIZE: number;
|
|
10
11
|
export declare class S3Service implements CellsStorage {
|
|
11
|
-
private
|
|
12
|
+
private config;
|
|
12
13
|
private bucket;
|
|
13
|
-
private
|
|
14
|
-
|
|
14
|
+
private accessTokenStore;
|
|
15
|
+
private client;
|
|
16
|
+
private currentAccessToken;
|
|
17
|
+
constructor({ config, accessTokenStore }: {
|
|
15
18
|
config: S3ServiceConfig;
|
|
16
|
-
|
|
19
|
+
accessTokenStore: AccessTokenStore;
|
|
17
20
|
});
|
|
18
21
|
putObject({ path, file, metadata, progressCallback, abortController, }: {
|
|
19
22
|
path: string;
|
|
@@ -22,6 +25,8 @@ export declare class S3Service implements CellsStorage {
|
|
|
22
25
|
progressCallback?: (progress: number) => void;
|
|
23
26
|
abortController?: AbortController;
|
|
24
27
|
}): Promise<void>;
|
|
28
|
+
private getS3Client;
|
|
29
|
+
private createS3Client;
|
|
25
30
|
}
|
|
26
31
|
export {};
|
|
27
32
|
//# sourceMappingURL=S3Service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,CAAC,EAAE,MAAM,CAAC;IAChB,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,
|
|
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,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE5C,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,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,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,kBAAkB,CAAiC;gBAE/C,EAAC,MAAM,EAAE,gBAAgB,EAAC,EAAE;QAAC,MAAM,EAAE,eAAe,CAAC;QAAC,gBAAgB,EAAE,gBAAgB,CAAA;KAAC;IAS/F,SAAS,CAAC,EACd,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,eAAe,GAChB,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;QAC9C,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CjB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,cAAc;CAyBvB"}
|
|
@@ -25,38 +25,23 @@ const CellsStorage_1 = require("./CellsStorage");
|
|
|
25
25
|
exports.MAX_QUEUE_SIZE = 3;
|
|
26
26
|
exports.PART_SIZE = 10 * 1024 * 1024; // 10MB
|
|
27
27
|
class S3Service {
|
|
28
|
-
|
|
28
|
+
config;
|
|
29
29
|
bucket;
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
accessTokenStore;
|
|
31
|
+
client;
|
|
32
|
+
currentAccessToken = undefined;
|
|
33
|
+
constructor({ config, accessTokenStore }) {
|
|
34
|
+
this.config = config;
|
|
32
35
|
this.bucket = config.bucket;
|
|
33
|
-
this.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
region: config.region,
|
|
38
|
-
credentials: async () => {
|
|
39
|
-
if (config.apiKey) {
|
|
40
|
-
return {
|
|
41
|
-
accessKeyId: config.apiKey,
|
|
42
|
-
secretAccessKey: 'gatewaysecret',
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const accessToken = this.getAccessToken();
|
|
46
|
-
if (!accessToken) {
|
|
47
|
-
throw new Error('No access token available for S3 authentication');
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
accessKeyId: accessToken,
|
|
51
|
-
secretAccessKey: 'gatewaysecret',
|
|
52
|
-
};
|
|
53
|
-
},
|
|
54
|
-
requestChecksumCalculation: 'WHEN_REQUIRED',
|
|
55
|
-
});
|
|
36
|
+
this.accessTokenStore = accessTokenStore;
|
|
37
|
+
const initialToken = accessTokenStore.getAccessToken();
|
|
38
|
+
this.client = this.createS3Client({ accessToken: initialToken });
|
|
39
|
+
this.currentAccessToken = initialToken;
|
|
56
40
|
}
|
|
57
41
|
async putObject({ path, file, metadata, progressCallback, abortController, }) {
|
|
42
|
+
const client = this.getS3Client();
|
|
58
43
|
const upload = new lib_storage_1.Upload({
|
|
59
|
-
client
|
|
44
|
+
client,
|
|
60
45
|
partSize: exports.PART_SIZE,
|
|
61
46
|
queueSize: exports.MAX_QUEUE_SIZE,
|
|
62
47
|
leavePartsOnError: false,
|
|
@@ -91,5 +76,44 @@ class S3Service {
|
|
|
91
76
|
throw caught;
|
|
92
77
|
}
|
|
93
78
|
}
|
|
79
|
+
getS3Client() {
|
|
80
|
+
if (this.config.apiKey) {
|
|
81
|
+
return this.client;
|
|
82
|
+
}
|
|
83
|
+
const currentAccessToken = this.accessTokenStore.getAccessToken();
|
|
84
|
+
const tokenExpiration = this.accessTokenStore.tokenExpirationDate;
|
|
85
|
+
// Recreate the client if the access token has changed or expired
|
|
86
|
+
const shouldRecreate = this.currentAccessToken !== currentAccessToken || !tokenExpiration || tokenExpiration <= Date.now();
|
|
87
|
+
if (shouldRecreate) {
|
|
88
|
+
const newClient = this.createS3Client({ accessToken: currentAccessToken });
|
|
89
|
+
this.client = newClient;
|
|
90
|
+
this.currentAccessToken = currentAccessToken;
|
|
91
|
+
return newClient;
|
|
92
|
+
}
|
|
93
|
+
return this.client;
|
|
94
|
+
}
|
|
95
|
+
createS3Client({ accessToken }) {
|
|
96
|
+
return new client_s3_1.S3Client({
|
|
97
|
+
endpoint: this.config.endpoint,
|
|
98
|
+
forcePathStyle: true,
|
|
99
|
+
region: this.config.region,
|
|
100
|
+
credentials: async () => {
|
|
101
|
+
if (this.config.apiKey) {
|
|
102
|
+
return {
|
|
103
|
+
accessKeyId: this.config.apiKey,
|
|
104
|
+
secretAccessKey: 'gatewaysecret',
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
if (!accessToken) {
|
|
108
|
+
throw new Error('No access token available for S3 authentication');
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
accessKeyId: accessToken,
|
|
112
|
+
secretAccessKey: 'gatewaysecret',
|
|
113
|
+
};
|
|
114
|
+
},
|
|
115
|
+
requestChecksumCalculation: 'WHEN_REQUIRED',
|
|
116
|
+
});
|
|
117
|
+
}
|
|
94
118
|
}
|
|
95
119
|
exports.S3Service = S3Service;
|
package/package.json
CHANGED