@wireapp/api-client 27.59.0 → 27.60.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.
@@ -18,7 +18,7 @@ export declare enum MLSPublicKeyAlgorithmKeys {
18
18
  ED25519 = "ed25519"
19
19
  }
20
20
  export type MLSPublicKeyRecord = Partial<Record<MLSPublicKeyAlgorithmKeys, string>>;
21
- type GetMLSPublicKeysResponseData = {
21
+ export type GetMLSPublicKeysResponseData = {
22
22
  removal: MLSPublicKeyRecord;
23
23
  };
24
24
  export declare class ClientAPI {
@@ -88,6 +88,9 @@ export declare class ClientAPI {
88
88
  * In the future this may be used for other purposes as well.
89
89
  * @see https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/get_mls_public_keys
90
90
  */
91
+ private publicKeys;
92
+ private publicKeysFetchedAt;
93
+ private readonly CACHE_DURATION_MS;
91
94
  getPublicKeys(): Promise<GetMLSPublicKeysResponseData>;
92
95
  getNonce(clientId: string): Promise<string>;
93
96
  getAccessToken(clientId: string, dpopToken: Uint8Array): Promise<{
@@ -96,5 +99,4 @@ export declare class ClientAPI {
96
99
  token: string;
97
100
  }>;
98
101
  }
99
- export {};
100
102
  //# sourceMappingURL=ClientAPI.d.ts.map
@@ -1 +1 @@
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,oBAAY,yBAAyB;IACnC,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IACjD,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AACD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpF,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,gBAAuB,GAAG;;;;;;;;;MASf;IAEE,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,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM;IAYhG;;;;;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,4BAA4B,CAAC;IAUtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;;;;;CAmBpE"}
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,oBAAY,yBAAyB;IACnC,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IACjD,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AACD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,gBAAuB,GAAG;;;;;;;;;MASf;IAEE,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,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM;IAYhG;;;;;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;IACH,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IAC5C,aAAa,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAoBtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;;;;;CAmBpE"}
@@ -209,13 +209,23 @@ class ClientAPI {
209
209
  * In the future this may be used for other purposes as well.
210
210
  * @see https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/get_mls_public_keys
211
211
  */
212
+ publicKeys = null;
213
+ publicKeysFetchedAt = null;
214
+ CACHE_DURATION_MS = 24 * 60 * 60 * 1000; // 24 hours
212
215
  async getPublicKeys() {
213
- const config = {
214
- method: 'GET',
215
- url: `/${ClientAPI.URL.MLS_CLIENTS}/${ClientAPI.URL.PUBLIC_KEYS}`,
216
- };
217
- const response = await this.client.sendJSON(config, true);
218
- return response.data;
216
+ const now = Date.now();
217
+ if (this.publicKeys === null ||
218
+ this.publicKeysFetchedAt === null ||
219
+ now - this.publicKeysFetchedAt > this.CACHE_DURATION_MS) {
220
+ const config = {
221
+ method: 'GET',
222
+ url: `/${ClientAPI.URL.MLS_CLIENTS}/${ClientAPI.URL.PUBLIC_KEYS}`,
223
+ };
224
+ const response = await this.client.sendJSON(config, true);
225
+ this.publicKeys = response.data;
226
+ this.publicKeysFetchedAt = now;
227
+ }
228
+ return this.publicKeys;
219
229
  }
220
230
  async getNonce(clientId) {
221
231
  const NonceKey = 'replay-nonce';
package/package.json CHANGED
@@ -70,6 +70,6 @@
70
70
  "watch": "webpack serve --config webpack.browser.js",
71
71
  "prepare": "yarn dist"
72
72
  },
73
- "version": "27.59.0",
74
- "gitHead": "6df6050f7ae62892712b22128494531ab3c9e71a"
73
+ "version": "27.60.0",
74
+ "gitHead": "537bb27e569e362b7ed18cd2c418acdce5c1b414"
75
75
  }