@wireapp/api-client 27.68.0 → 27.69.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 -2
- package/lib/cells/CellsAPI.d.ts.map +1 -1
- package/lib/cells/CellsAPI.js +28 -7
- package/lib/cells/CellsStorage/S3Service.d.ts +6 -2
- package/lib/cells/CellsStorage/S3Service.d.ts.map +1 -1
- package/lib/cells/CellsStorage/S3Service.js +22 -8
- package/package.json +2 -2
package/lib/cells/CellsAPI.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ import { HttpClient } from '../http';
|
|
|
5
5
|
export type SortDirection = 'asc' | 'desc';
|
|
6
6
|
interface CellsConfig {
|
|
7
7
|
pydio: {
|
|
8
|
-
apiKey
|
|
8
|
+
apiKey?: string;
|
|
9
9
|
segment: string;
|
|
10
10
|
url: string;
|
|
11
11
|
};
|
|
12
12
|
s3: {
|
|
13
|
-
apiKey
|
|
13
|
+
apiKey?: string;
|
|
14
14
|
bucket: string;
|
|
15
15
|
endpoint: string;
|
|
16
16
|
region: string;
|
|
@@ -30,6 +30,7 @@ export declare class CellsAPI {
|
|
|
30
30
|
httpClient?: HttpClient;
|
|
31
31
|
storageService?: CellsStorage;
|
|
32
32
|
}): void;
|
|
33
|
+
private getHttpClient;
|
|
33
34
|
uploadNodeDraft({ uuid, versionId, path, file, autoRename, progressCallback, abortController, }: {
|
|
34
35
|
uuid: string;
|
|
35
36
|
versionId: string;
|
|
@@ -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;
|
|
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;IAQD,OAAO,CAAC,aAAa;IAiCf,eAAe,CAAC,EACpB,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,UAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,IAAI,CAAC;QACX,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9C,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA8B9B,gBAAgB,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAU3G,eAAe,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAUzG,UAAU,CAAC,EACf,IAAI,EACJ,WAAmB,GACpB,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAahC,QAAQ,CAAC,EACb,WAAW,EACX,UAAU,GACX,EAAE;QACD,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,UAAU,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;KACrD,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAehC,WAAW,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAUvE,UAAU,CAAC,EAAC,WAAW,EAAE,OAAO,EAAC,EAAE;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAkB9G,gBAAgB,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAmBvE,gBAAgB,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAmBvE,eAAe,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC;IAU3E,OAAO,CAAC,EAAC,EAAE,EAAC,EAAE;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU9C,WAAW,CAAC,EAChB,IAAI,EACJ,KAAqB,EACrB,MAAuB,EACvB,MAAM,EACN,aAAa,EACb,IAAI,EACJ,OAAe,GAChB,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBzB,WAAW,CAAC,EAChB,MAAM,EACN,KAAqB,EACrB,MAAuB,EACvB,MAAM,EACN,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,OAAe,GAChB,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA2BjB,UAAU;IA6BlB,UAAU,CAAC,EACf,IAAI,EACJ,IAAI,EACJ,SAAS,GACV,EAAE;QACD,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QACpD,SAAS,EAAE,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;KACvD,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASzB,YAAY,CAAC,EACjB,IAAI,EACJ,IAAI,GACL,EAAE;QACD,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;KACrD,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQzB,oBAAoB,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAUlF,oBAAoB,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAe3F,iBAAiB,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAUjE,UAAU,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAUlD,WAAW,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiBlF,OAAO,CAAC,mBAAmB;CAG5B"}
|
package/lib/cells/CellsAPI.js
CHANGED
|
@@ -38,15 +38,36 @@ class CellsAPI {
|
|
|
38
38
|
this.client = null;
|
|
39
39
|
}
|
|
40
40
|
initialize({ cellsConfig, httpClient, storageService, }) {
|
|
41
|
-
const http = httpClient ||
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
urls: { ...this.httpClientConfig.urls, rest: cellsConfig.pydio.url + cellsConfig.pydio.segment },
|
|
45
|
-
headers: { ...this.httpClientConfig.headers, Authorization: `Bearer ${cellsConfig.pydio.apiKey}` },
|
|
46
|
-
}, this.accessTokenStore);
|
|
47
|
-
this.storageService = storageService || new S3Service_1.S3Service(cellsConfig.s3);
|
|
41
|
+
const http = httpClient || this.getHttpClient({ cellsConfig });
|
|
42
|
+
this.storageService =
|
|
43
|
+
storageService || new S3Service_1.S3Service({ config: cellsConfig.s3, getAccessToken: this.accessTokenStore.getAccessToken });
|
|
48
44
|
this.client = new cells_sdk_ts_1.NodeServiceApi(undefined, undefined, http.client);
|
|
49
45
|
}
|
|
46
|
+
getHttpClient({ cellsConfig }) {
|
|
47
|
+
const baseHttpClientConfig = {
|
|
48
|
+
...this.httpClientConfig,
|
|
49
|
+
urls: { ...this.httpClientConfig.urls, rest: cellsConfig.pydio.url + cellsConfig.pydio.segment },
|
|
50
|
+
headers: { ...this.httpClientConfig.headers },
|
|
51
|
+
};
|
|
52
|
+
if (cellsConfig.pydio.apiKey) {
|
|
53
|
+
return new http_1.HttpClient({
|
|
54
|
+
...baseHttpClientConfig,
|
|
55
|
+
headers: { ...baseHttpClientConfig.headers, Authorization: `Bearer ${cellsConfig.pydio.apiKey}` },
|
|
56
|
+
}, this.accessTokenStore);
|
|
57
|
+
}
|
|
58
|
+
const http = new http_1.HttpClient(baseHttpClientConfig, this.accessTokenStore);
|
|
59
|
+
// Add axios interceptor to automatically add Authorization header to every request
|
|
60
|
+
// Althouht the HttpClient handles the authorization already (see _sendRequest), as we pass a custom axios instance to the NodeServiceApi, we need to add it manually
|
|
61
|
+
http.client.interceptors.request.use(config => {
|
|
62
|
+
const accessToken = this.accessTokenStore.getAccessToken();
|
|
63
|
+
if (accessToken) {
|
|
64
|
+
config.headers = config.headers || {};
|
|
65
|
+
config.headers.Authorization = `Bearer ${accessToken}`;
|
|
66
|
+
}
|
|
67
|
+
return config;
|
|
68
|
+
});
|
|
69
|
+
return http;
|
|
70
|
+
}
|
|
50
71
|
async uploadNodeDraft({ uuid, versionId, path, file, autoRename = true, progressCallback, abortController, }) {
|
|
51
72
|
if (!this.client || !this.storageService) {
|
|
52
73
|
throw new Error(CONFIGURATION_ERROR);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CellsStorage } from './CellsStorage';
|
|
2
2
|
interface S3ServiceConfig {
|
|
3
|
-
apiKey
|
|
3
|
+
apiKey?: string;
|
|
4
4
|
bucket: string;
|
|
5
5
|
endpoint: string;
|
|
6
6
|
region: string;
|
|
@@ -10,7 +10,11 @@ export declare const PART_SIZE: number;
|
|
|
10
10
|
export declare class S3Service implements CellsStorage {
|
|
11
11
|
private client;
|
|
12
12
|
private bucket;
|
|
13
|
-
|
|
13
|
+
private getAccessToken;
|
|
14
|
+
constructor({ config, getAccessToken }: {
|
|
15
|
+
config: S3ServiceConfig;
|
|
16
|
+
getAccessToken: () => string | undefined;
|
|
17
|
+
});
|
|
14
18
|
putObject({ path, file, metadata, progressCallback, abortController, }: {
|
|
15
19
|
path: string;
|
|
16
20
|
file: File;
|
|
@@ -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,EAAE,MAAM,CAAC;
|
|
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,CAAW;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAA2B;gBAErC,EAAC,MAAM,EAAE,cAAc,EAAC,EAAE;QAAC,MAAM,EAAE,eAAe,CAAC;QAAC,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;KAAC;IA6BnG,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;CA2ClB"}
|
|
@@ -27,16 +27,30 @@ exports.PART_SIZE = 10 * 1024 * 1024; // 10MB
|
|
|
27
27
|
class S3Service {
|
|
28
28
|
client;
|
|
29
29
|
bucket;
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
getAccessToken;
|
|
31
|
+
constructor({ config, getAccessToken }) {
|
|
32
|
+
this.bucket = config.bucket;
|
|
33
|
+
this.getAccessToken = getAccessToken;
|
|
32
34
|
this.client = new client_s3_1.S3Client({
|
|
33
|
-
endpoint,
|
|
35
|
+
endpoint: config.endpoint,
|
|
34
36
|
forcePathStyle: true,
|
|
35
|
-
region,
|
|
36
|
-
credentials: async () =>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
+
},
|
|
40
54
|
requestChecksumCalculation: 'WHEN_REQUIRED',
|
|
41
55
|
});
|
|
42
56
|
}
|
package/package.json
CHANGED