@wireapp/api-client 26.2.4 → 26.3.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.
|
@@ -25,6 +25,8 @@ export declare class ClientAPI {
|
|
|
25
25
|
CAPABILITIES: string;
|
|
26
26
|
PREKEYS: string;
|
|
27
27
|
PUBLIC_KEYS: string;
|
|
28
|
+
NONCE: string;
|
|
29
|
+
ACCESS_TOKEN: string;
|
|
28
30
|
};
|
|
29
31
|
postClient(newClient: CreateClientPayload): Promise<RegisteredClient>;
|
|
30
32
|
putClient(clientId: string, updatedClient: UpdateClientPayload): Promise<void>;
|
|
@@ -45,6 +47,13 @@ export declare class ClientAPI {
|
|
|
45
47
|
* @param {string[]} keyPackages The key packages to upload
|
|
46
48
|
*/
|
|
47
49
|
uploadMLSKeyPackages(clientId: string, keyPackages: string[]): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Will delete keypackages for an MLS capable client
|
|
52
|
+
* @see https://nginz-https.elna.wire.link/v4/api/swagger-ui/#/default/delete_mls_key_packages_self__client_
|
|
53
|
+
* @param {string} clientId The client to delete the key packages for
|
|
54
|
+
* @param {string[]} keyPackageRefs The key package references to delete
|
|
55
|
+
*/
|
|
56
|
+
deleteMLSKeyPackages(clientId: string, keyPackageRefs: string[]): Promise<void>;
|
|
48
57
|
/**
|
|
49
58
|
* Claim one key package for each client of the given user
|
|
50
59
|
* @param {string} userId The user to claim the key packages for
|
|
@@ -67,6 +76,12 @@ export declare class ClientAPI {
|
|
|
67
76
|
* @see https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/get_mls_public_keys
|
|
68
77
|
*/
|
|
69
78
|
getPublicKeys(): Promise<PublicKeys>;
|
|
79
|
+
getNonce(clientId: string): Promise<string>;
|
|
80
|
+
getAccessToken(clientId: string, dpopToken: Uint8Array): Promise<{
|
|
81
|
+
type: "DPoP";
|
|
82
|
+
expires_in: number;
|
|
83
|
+
token: string;
|
|
84
|
+
}>;
|
|
70
85
|
}
|
|
71
86
|
export {};
|
|
72
87
|
//# sourceMappingURL=ClientAPI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientAPI.d.ts","sourceRoot":"","sources":["../../src/client/ClientAPI.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClientAPI.d.ts","sourceRoot":"","sources":["../../src/client/ClientAPI.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAI5D,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AACtF,OAAO,EAAkC,UAAU,EAAC,MAAM,UAAU,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;CACL,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,gBAAuB,GAAG;;;;;;;;;MASxB;IAEW,UAAU,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWrE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUnF;;;;OAIG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUtD,UAAU,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUzC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUlE;;;;;OAKG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;IAUzE;;;;;OAKG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;IAgB5E;;;;;;;OAOG;IACU,mBAAmB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC;IAe9B;;;;;OAKG;IACU,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1F;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAUpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;;;;;CAmBpE"}
|
package/lib/client/ClientAPI.js
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.ClientAPI = void 0;
|
|
22
|
+
const zod_1 = require("zod");
|
|
22
23
|
const ClientError_1 = require("./ClientError");
|
|
23
24
|
const http_1 = require("../http/");
|
|
24
25
|
class ClientAPI {
|
|
@@ -113,6 +114,24 @@ class ClientAPI {
|
|
|
113
114
|
};
|
|
114
115
|
await this.client.sendJSON(config, true);
|
|
115
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Will delete keypackages for an MLS capable client
|
|
119
|
+
* @see https://nginz-https.elna.wire.link/v4/api/swagger-ui/#/default/delete_mls_key_packages_self__client_
|
|
120
|
+
* @param {string} clientId The client to delete the key packages for
|
|
121
|
+
* @param {string[]} keyPackageRefs The key package references to delete
|
|
122
|
+
*/
|
|
123
|
+
async deleteMLSKeyPackages(clientId, keyPackageRefs) {
|
|
124
|
+
const maxKeyPackages = 1000;
|
|
125
|
+
if (keyPackageRefs.length > maxKeyPackages) {
|
|
126
|
+
throw new Error(`Too many key packages, max is ${maxKeyPackages}. Please split the request into multiple requests.`);
|
|
127
|
+
}
|
|
128
|
+
const config = {
|
|
129
|
+
data: { key_packages: keyPackageRefs },
|
|
130
|
+
method: 'DELETE',
|
|
131
|
+
url: `/${ClientAPI.URL.MLS_CLIENTS}/${ClientAPI.URL.MLS_KEY_PACKAGES}/self/${clientId}`,
|
|
132
|
+
};
|
|
133
|
+
await this.client.sendJSON(config, true);
|
|
134
|
+
}
|
|
116
135
|
/**
|
|
117
136
|
* Claim one key package for each client of the given user
|
|
118
137
|
* @param {string} userId The user to claim the key packages for
|
|
@@ -162,6 +181,34 @@ class ClientAPI {
|
|
|
162
181
|
const response = await this.client.sendJSON(config, true);
|
|
163
182
|
return response.data;
|
|
164
183
|
}
|
|
184
|
+
async getNonce(clientId) {
|
|
185
|
+
const NonceKey = 'replay-nonce';
|
|
186
|
+
const NonceSchema = zod_1.z.object({
|
|
187
|
+
[NonceKey]: zod_1.z.string().min(1),
|
|
188
|
+
});
|
|
189
|
+
const config = {
|
|
190
|
+
method: 'head',
|
|
191
|
+
url: `${ClientAPI.URL.CLIENTS}/${clientId}/${ClientAPI.URL.NONCE}`,
|
|
192
|
+
};
|
|
193
|
+
const { headers } = await this.client.sendRequest(config);
|
|
194
|
+
return NonceSchema.parse(headers)[NonceKey];
|
|
195
|
+
}
|
|
196
|
+
async getAccessToken(clientId, dpopToken) {
|
|
197
|
+
const ResponseSchema = zod_1.z.object({
|
|
198
|
+
expires_in: zod_1.z.number().min(1),
|
|
199
|
+
token: zod_1.z.string().min(1),
|
|
200
|
+
type: zod_1.z.literal('DPoP'),
|
|
201
|
+
});
|
|
202
|
+
const config = {
|
|
203
|
+
method: 'post',
|
|
204
|
+
url: `${ClientAPI.URL.CLIENTS}/${clientId}/${ClientAPI.URL.ACCESS_TOKEN}`,
|
|
205
|
+
headers: {
|
|
206
|
+
DPoP: new TextDecoder().decode(dpopToken),
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
const { data } = await this.client.sendJSON(config);
|
|
210
|
+
return ResponseSchema.parse(data);
|
|
211
|
+
}
|
|
165
212
|
}
|
|
166
213
|
exports.ClientAPI = ClientAPI;
|
|
167
214
|
ClientAPI.URL = {
|
|
@@ -171,4 +218,6 @@ ClientAPI.URL = {
|
|
|
171
218
|
CAPABILITIES: 'capabilities',
|
|
172
219
|
PREKEYS: 'prekeys',
|
|
173
220
|
PUBLIC_KEYS: 'public-keys',
|
|
221
|
+
NONCE: 'nonce',
|
|
222
|
+
ACCESS_TOKEN: 'access-token',
|
|
174
223
|
};
|
package/lib/http/HttpClient.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare class HttpClient extends EventEmitter {
|
|
|
22
22
|
static readonly TOPIC: typeof TOPIC;
|
|
23
23
|
private versionPrefix;
|
|
24
24
|
constructor(config: Config, accessTokenStore: AccessTokenStore);
|
|
25
|
+
getBaseUrl(): string;
|
|
25
26
|
useVersion(version: number): void;
|
|
26
27
|
private updateConnectionState;
|
|
27
28
|
_sendRequest<T>(config: AxiosRequestConfig, tokenAsParam?: boolean, isFirstTry?: boolean): Promise<AxiosResponse<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../src/http/HttpClient.ts"],"names":[],"mappings":";AAmBA,OAAc,EAAC,UAAU,EAA+B,kBAAkB,EAAE,aAAa,EAAC,MAAM,OAAO,CAAC;AAKxG,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAKpC,OAAO,EACL,eAAe,EACf,gBAAgB,EAEhB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,YAAY,EAAsB,eAAe,EAA0B,MAAM,UAAU,CAAC;AAIpG,aAAK,KAAK;IACR,0BAA0B,gDAAgD;IAC1E,gBAAgB,sCAAsC;CACvD;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,0BAA0B,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI,CAAC;IAE9F,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,KAAK,IAAI,GAAG,IAAI,CAAC;CAC5G;AAID,qBAAa,UAAW,SAAQ,YAAY;IASxC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAChB,gBAAgB,EAAE,gBAAgB;IAT3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,gBAAuB,KAAK,eAAS;IACrC,OAAO,CAAC,aAAa,CAAM;gBAGR,MAAM,EAAE,MAAM,EACxB,gBAAgB,EAAE,gBAAgB;IAyCpC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIxC,OAAO,CAAC,qBAAqB;IAOhB,YAAY,CAAC,CAAC,EACzB,MAAM,EAAE,kBAAkB,EAC1B,YAAY,UAAQ,EACpB,UAAU,UAAO,GAChB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAyE5B,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,GAAG,cAAc,IAAI,UAAU;IAItE,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,GAAG,cAAc,IAAI,UAAU,CAAC,YAAY,CAAC,GAAG;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAC;IAOjH;;;;OAIG;IACI,mBAAmB,CAAC,WAAW,GAAE,MAAc,GAAG,OAAO;IASnD,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAc9C,UAAU,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../src/http/HttpClient.ts"],"names":[],"mappings":"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"}
|
package/lib/http/HttpClient.js
CHANGED
|
@@ -100,6 +100,9 @@ class HttpClient extends events_1.EventEmitter {
|
|
|
100
100
|
retryDelay: commons_1.TimeUtil.TimeInMillis.SECOND,
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
+
getBaseUrl() {
|
|
104
|
+
return `${this.config.urls.rest}${this.versionPrefix}`;
|
|
105
|
+
}
|
|
103
106
|
useVersion(version) {
|
|
104
107
|
this.versionPrefix = version > 0 ? `/v${version}` : '';
|
|
105
108
|
}
|
package/package.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"./lib/shims/node/websocket": "./lib/shims/browser/websocket.js"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@wireapp/commons": "^5.2.
|
|
16
|
+
"@wireapp/commons": "^5.2.1",
|
|
17
17
|
"@wireapp/priority-queue": "^2.1.4",
|
|
18
18
|
"@wireapp/protocol-messaging": "1.44.0",
|
|
19
19
|
"axios": "1.5.1",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"reconnecting-websocket": "4.4.0",
|
|
25
25
|
"spark-md5": "3.0.2",
|
|
26
26
|
"tough-cookie": "4.1.3",
|
|
27
|
-
"ws": "8.14.2"
|
|
27
|
+
"ws": "8.14.2",
|
|
28
|
+
"zod": "3.21.4"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"@swc/core": "^1.3.10",
|
|
@@ -65,6 +66,6 @@
|
|
|
65
66
|
"watch": "webpack serve --config webpack.browser.js",
|
|
66
67
|
"prepare": "yarn dist"
|
|
67
68
|
},
|
|
68
|
-
"version": "26.
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"version": "26.3.0",
|
|
70
|
+
"gitHead": "03058b9323c4afec84e6c85c4614c3b599ebcb71"
|
|
70
71
|
}
|