@wireapp/api-client 27.0.13 → 27.1.0-hotfix-1.1

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.
Files changed (71) hide show
  1. package/lib/APIClient.d.ts +1 -0
  2. package/lib/APIClient.d.ts.map +1 -1
  3. package/lib/APIClient.js +22 -24
  4. package/lib/account/AccountAPI.js +15 -16
  5. package/lib/asset/AssetAPI.d.ts +1 -0
  6. package/lib/asset/AssetAPI.d.ts.map +1 -1
  7. package/lib/asset/AssetAPI.js +4 -5
  8. package/lib/auth/AccessTokenStore.d.ts +1 -0
  9. package/lib/auth/AccessTokenStore.d.ts.map +1 -1
  10. package/lib/auth/AccessTokenStore.js +1 -8
  11. package/lib/auth/AuthAPI.js +27 -22
  12. package/lib/auth/Cookie.js +2 -2
  13. package/lib/auth/CookieStore.d.ts +1 -0
  14. package/lib/auth/CookieStore.d.ts.map +1 -1
  15. package/lib/auth/CookieStore.js +2 -3
  16. package/lib/auth/parseAccessToken.js +3 -3
  17. package/lib/broadcast/BroadcastAPI.js +4 -5
  18. package/lib/client/ClientAPI.d.ts +10 -10
  19. package/lib/client/ClientAPI.d.ts.map +1 -1
  20. package/lib/client/ClientAPI.js +14 -12
  21. package/lib/connection/ConnectionAPI.js +3 -4
  22. package/lib/conversation/Conversation.d.ts +8 -0
  23. package/lib/conversation/Conversation.d.ts.map +1 -1
  24. package/lib/conversation/Conversation.js +8 -1
  25. package/lib/conversation/ConversationAPI/ConversationAPI.d.ts +2 -2
  26. package/lib/conversation/ConversationAPI/ConversationAPI.d.ts.map +1 -1
  27. package/lib/conversation/ConversationAPI/ConversationAPI.js +33 -34
  28. package/lib/conversation/FederatedBackendsError.js +5 -6
  29. package/lib/demo/initClient.js +2 -1
  30. package/lib/generic/GenericAPI.js +0 -1
  31. package/lib/giphy/GiphyAPI.js +7 -8
  32. package/lib/http/BackendError.js +0 -3
  33. package/lib/http/HttpClient.d.ts +1 -0
  34. package/lib/http/HttpClient.d.ts.map +1 -1
  35. package/lib/http/HttpClient.js +24 -49
  36. package/lib/http/NetworkError.js +0 -1
  37. package/lib/notification/NotificationAPI/NotificationAPI.js +11 -11
  38. package/lib/notification/NotificationAPI/NotificationsAPI.mocks.d.ts +1 -1
  39. package/lib/oauth/OAuthAPI.js +7 -8
  40. package/lib/obfuscation/ObfuscationUtil.js +1 -4
  41. package/lib/self/SelfAPI.js +11 -12
  42. package/lib/serviceProvider/ServiceProviderAPI.js +7 -8
  43. package/lib/services/ServicesAPI.js +11 -13
  44. package/lib/shims/browser/cookie.d.ts.map +1 -1
  45. package/lib/shims/browser/websocket.d.ts +1 -1
  46. package/lib/shims/node/buffer.d.ts +1 -0
  47. package/lib/shims/node/buffer.d.ts.map +1 -1
  48. package/lib/shims/node/cookie.d.ts.map +1 -1
  49. package/lib/shims/node/cookie.js +2 -1
  50. package/lib/tcp/ReconnectingWebsocket.js +64 -72
  51. package/lib/tcp/WebSocketClient.d.ts +1 -0
  52. package/lib/tcp/WebSocketClient.d.ts.map +1 -1
  53. package/lib/tcp/WebSocketClient.js +61 -68
  54. package/lib/team/billing/BillingAPI.js +14 -15
  55. package/lib/team/conversation/TeamConversationAPI.js +5 -6
  56. package/lib/team/feature/Feature.d.ts +4 -1
  57. package/lib/team/feature/Feature.d.ts.map +1 -1
  58. package/lib/team/feature/FeatureAPI.js +19 -20
  59. package/lib/team/identityprovider/IdentityProviderAPI.js +5 -6
  60. package/lib/team/invitation/TeamInvitationAPI.js +9 -9
  61. package/lib/team/legalhold/LegalHoldAPI.js +5 -6
  62. package/lib/team/member/MemberAPI.js +7 -8
  63. package/lib/team/payment/PaymentAPI.js +11 -12
  64. package/lib/team/scim/ScimAPI.js +5 -6
  65. package/lib/team/search/TeamSearchAPI.js +5 -9
  66. package/lib/team/service/ServiceAPI.js +7 -8
  67. package/lib/team/team/TeamAPI.js +8 -12
  68. package/lib/user/UserAPI.js +30 -40
  69. package/lib/validation/ValidationError.js +0 -1
  70. package/package.json +12 -12
  71. package/LICENSE +0 -674
@@ -1,5 +1,5 @@
1
1
  declare const WebSocketBrowser: {
2
- new (url: string | URL, protocols?: string | string[]): WebSocket;
2
+ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket;
3
3
  prototype: WebSocket;
4
4
  readonly CONNECTING: 0;
5
5
  readonly OPEN: 1;
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  export declare const bufferToString: (buffer: ArrayBuffer) => string;
2
3
  export declare const base64MD5FromBuffer: (buffer: ArrayBuffer) => string;
3
4
  export declare const concatToBuffer: (...items: any[]) => Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../../src/shims/node/buffer.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,cAAc,WAAY,WAAW,KAAG,MAA8C,CAAC;AAEpG,eAAO,MAAM,mBAAmB,WAAY,WAAW,KAAG,MAEzD,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,GAAG,EAAE,WAAwD,CAAC"}
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../../src/shims/node/buffer.ts"],"names":[],"mappings":";AAqBA,eAAO,MAAM,cAAc,WAAY,WAAW,KAAG,MAA8C,CAAC;AAEpG,eAAO,MAAM,mBAAmB,WAAY,WAAW,KAAG,MAEzD,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,GAAG,EAAE,WAAwD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/shims/node/cookie.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAe,kBAAkB,EAAE,aAAa,EAAC,MAAM,OAAO,CAAC;AAMtE,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAQvC,eAAO,MAAM,cAAc,GAAU,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAiB7E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAU,CAAC,UACnC,UAAU,UACV,kBAAkB,KACzB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAQ1B,CAAC"}
1
+ {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/shims/node/cookie.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAe,kBAAkB,EAAE,aAAa,EAAC,MAAM,OAAO,CAAC;AAMtE,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAQvC,eAAO,MAAM,cAAc,gBAAuB,cAAc,CAAC,CAAC,KAAG,QAAQ,CAAC,CAiB7E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,cACxB,UAAU,UACV,kBAAkB,KACzB,QAAQ,cAAc,CAAC,CAAC,CAQ1B,CAAC"}
@@ -33,7 +33,8 @@ const logger = (0, logdown_1.default)('@wireapp/api-client/shims/node/cookie', {
33
33
  markdown: false,
34
34
  });
35
35
  const retrieveCookie = async (response) => {
36
- if (response.headers?.['set-cookie']) {
36
+ var _a;
37
+ if ((_a = response.headers) === null || _a === void 0 ? void 0 : _a['set-cookie']) {
37
38
  const cookies = response.headers['set-cookie'].flatMap(cookieString => {
38
39
  const cookie = tough_cookie_1.Cookie.parse(cookieString);
39
40
  return cookie ? [cookie] : [];
@@ -71,27 +71,61 @@ var PingMessage;
71
71
  PingMessage["PONG"] = "pong";
72
72
  })(PingMessage || (exports.PingMessage = PingMessage = {}));
73
73
  class ReconnectingWebsocket {
74
- onReconnect;
75
- static RECONNECTING_OPTIONS = {
76
- WebSocket: websocket_1.WebSocketNode,
77
- connectionTimeout: commons_1.TimeUtil.TimeInMillis.SECOND * 4,
78
- debug: false,
79
- maxReconnectionDelay: commons_1.TimeUtil.TimeInMillis.SECOND * 10,
80
- maxRetries: Infinity,
81
- minReconnectionDelay: commons_1.TimeUtil.TimeInMillis.SECOND * 4,
82
- reconnectionDelayGrowFactor: 1.3,
83
- };
84
- logger;
85
- socket;
86
- pingerId;
87
- PING_INTERVAL = commons_1.TimeUtil.TimeInMillis.SECOND * 20;
88
- hasUnansweredPing;
89
- onOpen;
90
- onMessage;
91
- onError;
92
- onClose;
93
74
  constructor(onReconnect, options = {}) {
94
75
  this.onReconnect = onReconnect;
76
+ this.PING_INTERVAL = commons_1.TimeUtil.TimeInMillis.SECOND * 20;
77
+ this.internalOnError = (error) => {
78
+ this.logger.warn('WebSocket connection error', error);
79
+ if (this.onError) {
80
+ this.onError(error);
81
+ }
82
+ };
83
+ this.internalOnMessage = (event) => {
84
+ this.logger.debug('Incoming message');
85
+ const data = buffer.bufferToString(event.data);
86
+ if (data === PingMessage.PONG) {
87
+ this.logger.debug('Received pong from WebSocket');
88
+ this.hasUnansweredPing = false;
89
+ }
90
+ else if (this.onMessage) {
91
+ this.onMessage(data);
92
+ }
93
+ };
94
+ this.internalOnOpen = (event) => {
95
+ this.logger.debug('WebSocket opened');
96
+ if (this.socket) {
97
+ this.socket.binaryType = 'arraybuffer';
98
+ }
99
+ if (this.onOpen) {
100
+ this.onOpen(event);
101
+ }
102
+ };
103
+ this.internalOnReconnect = async () => {
104
+ this.logger.debug('Connecting to WebSocket');
105
+ // The ping is needed to keep the connection alive as long as possible.
106
+ // Otherwise the connection would be closed after 1 min of inactivity and re-established.
107
+ this.startPinging();
108
+ return this.onReconnect();
109
+ };
110
+ this.internalOnClose = (event) => {
111
+ this.logger.debug('WebSocket closed');
112
+ this.stopPinging();
113
+ if (this.onClose) {
114
+ this.onClose(event);
115
+ }
116
+ };
117
+ this.sendPing = () => {
118
+ if (this.socket) {
119
+ if (this.hasUnansweredPing) {
120
+ this.logger.warn('Ping interval check failed');
121
+ this.stopPinging();
122
+ this.socket.reconnect();
123
+ return;
124
+ }
125
+ this.hasUnansweredPing = true;
126
+ this.send(PingMessage.PING);
127
+ }
128
+ };
95
129
  this.logger = (0, logdown_1.default)('@wireapp/api-client/tcp/ReconnectingWebsocket', {
96
130
  logger: console,
97
131
  markdown: false,
@@ -108,54 +142,15 @@ class ReconnectingWebsocket {
108
142
  * **/
109
143
  (0, BackFromSleepHandler_1.onBackFromSleep)({
110
144
  callback: () => {
145
+ var _a;
111
146
  if (this.socket) {
112
147
  this.logger.debug('Back from sleep, reconnecting WebSocket');
113
- this.socket?.reconnect();
148
+ (_a = this.socket) === null || _a === void 0 ? void 0 : _a.reconnect();
114
149
  }
115
150
  },
116
151
  isDisconnected: () => this.getState() === WEBSOCKET_STATE.CLOSED,
117
152
  });
118
153
  }
119
- internalOnError = (error) => {
120
- this.logger.warn('WebSocket connection error', error);
121
- if (this.onError) {
122
- this.onError(error);
123
- }
124
- };
125
- internalOnMessage = (event) => {
126
- this.logger.debug('Incoming message');
127
- const data = buffer.bufferToString(event.data);
128
- if (data === PingMessage.PONG) {
129
- this.logger.debug('Received pong from WebSocket');
130
- this.hasUnansweredPing = false;
131
- }
132
- else if (this.onMessage) {
133
- this.onMessage(data);
134
- }
135
- };
136
- internalOnOpen = (event) => {
137
- this.logger.debug('WebSocket opened');
138
- if (this.socket) {
139
- this.socket.binaryType = 'arraybuffer';
140
- }
141
- if (this.onOpen) {
142
- this.onOpen(event);
143
- }
144
- };
145
- internalOnReconnect = async () => {
146
- this.logger.debug('Connecting to WebSocket');
147
- // The ping is needed to keep the connection alive as long as possible.
148
- // Otherwise the connection would be closed after 1 min of inactivity and re-established.
149
- this.startPinging();
150
- return this.onReconnect();
151
- };
152
- internalOnClose = (event) => {
153
- this.logger.debug('WebSocket closed');
154
- this.stopPinging();
155
- if (this.onClose) {
156
- this.onClose(event);
157
- }
158
- };
159
154
  connect() {
160
155
  this.socket = this.getReconnectingWebsocket();
161
156
  this.socket.onmessage = this.internalOnMessage;
@@ -178,18 +173,6 @@ class ReconnectingWebsocket {
178
173
  clearInterval(this.pingerId);
179
174
  }
180
175
  }
181
- sendPing = () => {
182
- if (this.socket) {
183
- if (this.hasUnansweredPing) {
184
- this.logger.warn('Ping interval check failed');
185
- this.stopPinging();
186
- this.socket.reconnect();
187
- return;
188
- }
189
- this.hasUnansweredPing = true;
190
- this.send(PingMessage.PING);
191
- }
192
- };
193
176
  getState() {
194
177
  return this.socket ? this.socket.readyState : WEBSOCKET_STATE.CLOSED;
195
178
  }
@@ -216,3 +199,12 @@ class ReconnectingWebsocket {
216
199
  }
217
200
  }
218
201
  exports.ReconnectingWebsocket = ReconnectingWebsocket;
202
+ ReconnectingWebsocket.RECONNECTING_OPTIONS = {
203
+ WebSocket: websocket_1.WebSocketNode,
204
+ connectionTimeout: commons_1.TimeUtil.TimeInMillis.SECOND * 4,
205
+ debug: false,
206
+ maxReconnectionDelay: commons_1.TimeUtil.TimeInMillis.SECOND * 10,
207
+ maxRetries: Infinity,
208
+ minReconnectionDelay: commons_1.TimeUtil.TimeInMillis.SECOND * 4,
209
+ reconnectionDelayGrowFactor: 1.3,
210
+ };
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { ErrorEvent } from 'reconnecting-websocket';
2
3
  import { EventEmitter } from 'events';
3
4
  import { WEBSOCKET_STATE } from './ReconnectingWebsocket';
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketClient.d.ts","sourceRoot":"","sources":["../../src/tcp/WebSocketClient.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAwB,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAe,MAAM,UAAU,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,aAAK,KAAK;IACR,QAAQ,mCAAmC;IAC3C,gBAAgB,2CAA2C;IAC3D,UAAU,qCAAqC;IAC/C,eAAe,0CAA0C;CAC1D;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/E,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3G,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI,CAAC;IAClF,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI,CAAC;CACpF;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IAExB,KAAK,aAEH;IAEF,SAAS,gBAAsB;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtE,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,cAAc,CAAkB;IACjC,MAAM,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,gBAAuB,KAAK,eAAS;gBAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAiB/C,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAOxB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAItB;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAM1B;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAItB;IAEF;;;;;;;;;;;OAWG;IACI,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,eAAe;YAmB3D,kBAAkB;IA0BzB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAMxC;;;;OAIG;IACH,SAAgB,MAAM,aAOpB;IAEF;;;;;OAKG;IACH,SAAgB,IAAI,aAGlB;IAEK,QAAQ,IAAI,OAAO;IAI1B,OAAO,CAAC,iBAAiB;CAc1B"}
1
+ {"version":3,"file":"WebSocketClient.d.ts","sourceRoot":"","sources":["../../src/tcp/WebSocketClient.ts"],"names":[],"mappings":";AAoBA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAwB,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAe,MAAM,UAAU,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,aAAK,KAAK;IACR,QAAQ,mCAAmC;IAC3C,gBAAgB,2CAA2C;IAC3D,UAAU,qCAAqC;IAC/C,eAAe,0CAA0C;CAC1D;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/E,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3G,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI,CAAC;IAClF,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI,CAAC;CACpF;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IAExB,KAAK,aAEH;IAEF,SAAS,gBAAsB;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtE,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,cAAc,CAAkB;IACjC,MAAM,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,gBAAuB,KAAK,eAAS;gBAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAiB/C,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAOxB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAItB;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAM1B;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAItB;IAEF;;;;;;;;;;;OAWG;IACI,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,eAAe;YAmB3D,kBAAkB;IA0BzB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAMxC;;;;OAIG;IACH,SAAgB,MAAM,aAOpB;IAEF;;;;;OAKG;IACH,SAAgB,IAAI,aAGlB;IAEK,QAAQ,IAAI,OAAO;IAI1B,OAAO,CAAC,iBAAiB;CAc1B"}
@@ -35,27 +35,71 @@ var TOPIC;
35
35
  TOPIC["ON_STATE_CHANGE"] = "WebSocketClient.TOPIC.ON_STATE_CHANGE";
36
36
  })(TOPIC || (TOPIC = {}));
37
37
  class AbortHandler {
38
- aborted = false;
39
- abort = () => {
40
- this.aborted = true;
41
- };
42
- isAborted = () => this.aborted;
38
+ constructor() {
39
+ this.aborted = false;
40
+ this.abort = () => {
41
+ this.aborted = true;
42
+ };
43
+ this.isAborted = () => this.aborted;
44
+ }
43
45
  }
44
46
  exports.AbortHandler = AbortHandler;
45
47
  class WebSocketClient extends events_1.EventEmitter {
46
- clientId;
47
- isRefreshingAccessToken;
48
- baseUrl;
49
- logger;
50
- socket;
51
- websocketState;
52
- client;
53
- isSocketLocked;
54
- bufferedMessages;
55
- abortHandler;
56
- static TOPIC = TOPIC;
57
48
  constructor(baseUrl, client) {
58
49
  super();
50
+ this.onMessage = (data) => {
51
+ if (this.isLocked()) {
52
+ this.bufferedMessages.push(data);
53
+ }
54
+ else {
55
+ const notification = JSON.parse(data);
56
+ this.emit(WebSocketClient.TOPIC.ON_MESSAGE, notification);
57
+ }
58
+ };
59
+ this.onError = async (error) => {
60
+ this.onStateChange(this.socket.getState());
61
+ this.emit(WebSocketClient.TOPIC.ON_ERROR, error);
62
+ await this.refreshAccessToken();
63
+ };
64
+ this.onReconnect = async () => {
65
+ if (!this.client.hasValidAccessToken()) {
66
+ // before we try any connection, we first refresh the access token to make sure we will avoid concurrent accessToken refreshes
67
+ await this.refreshAccessToken();
68
+ }
69
+ return this.buildWebSocketUrl();
70
+ };
71
+ this.onOpen = () => {
72
+ this.onStateChange(this.socket.getState());
73
+ };
74
+ this.onClose = () => {
75
+ var _a;
76
+ (_a = this.abortHandler) === null || _a === void 0 ? void 0 : _a.abort();
77
+ this.bufferedMessages = [];
78
+ this.onStateChange(this.socket.getState());
79
+ };
80
+ /**
81
+ * Unlocks the websocket.
82
+ * When unlocking the websocket all buffered messages between
83
+ * connecting the websocket and the unlocking the websocket will be emitted.
84
+ */
85
+ this.unlock = () => {
86
+ this.logger.info(`Unlocking WebSocket - Emitting "${this.bufferedMessages.length}" unprocessed messages`);
87
+ this.isSocketLocked = false;
88
+ for (const bufferedMessage of this.bufferedMessages) {
89
+ this.onMessage(bufferedMessage);
90
+ }
91
+ this.bufferedMessages = [];
92
+ };
93
+ /**
94
+ * Locks the websocket so messages are buffered instead of being emitted.
95
+ * Once the websocket gets unlocked buffered messages get emitted.
96
+ * This behaviour is needed in order to not miss any messages
97
+ * during fetching notifications from the notification stream.
98
+ */
99
+ this.lock = () => {
100
+ this.logger.info('Locking WebSocket');
101
+ this.isSocketLocked = true;
102
+ };
59
103
  this.bufferedMessages = [];
60
104
  this.isSocketLocked = false;
61
105
  this.baseUrl = baseUrl;
@@ -74,35 +118,6 @@ class WebSocketClient extends events_1.EventEmitter {
74
118
  this.emit(WebSocketClient.TOPIC.ON_STATE_CHANGE, this.websocketState);
75
119
  }
76
120
  }
77
- onMessage = (data) => {
78
- if (this.isLocked()) {
79
- this.bufferedMessages.push(data);
80
- }
81
- else {
82
- const notification = JSON.parse(data);
83
- this.emit(WebSocketClient.TOPIC.ON_MESSAGE, notification);
84
- }
85
- };
86
- onError = async (error) => {
87
- this.onStateChange(this.socket.getState());
88
- this.emit(WebSocketClient.TOPIC.ON_ERROR, error);
89
- await this.refreshAccessToken();
90
- };
91
- onReconnect = async () => {
92
- if (!this.client.hasValidAccessToken()) {
93
- // before we try any connection, we first refresh the access token to make sure we will avoid concurrent accessToken refreshes
94
- await this.refreshAccessToken();
95
- }
96
- return this.buildWebSocketUrl();
97
- };
98
- onOpen = () => {
99
- this.onStateChange(this.socket.getState());
100
- };
101
- onClose = () => {
102
- this.abortHandler?.abort();
103
- this.bufferedMessages = [];
104
- this.onStateChange(this.socket.getState());
105
- };
106
121
  /**
107
122
  * Attaches all listeners to the websocket and establishes the connection.
108
123
  *
@@ -161,29 +176,6 @@ class WebSocketClient extends events_1.EventEmitter {
161
176
  this.socket.disconnect(reason);
162
177
  }
163
178
  }
164
- /**
165
- * Unlocks the websocket.
166
- * When unlocking the websocket all buffered messages between
167
- * connecting the websocket and the unlocking the websocket will be emitted.
168
- */
169
- unlock = () => {
170
- this.logger.info(`Unlocking WebSocket - Emitting "${this.bufferedMessages.length}" unprocessed messages`);
171
- this.isSocketLocked = false;
172
- for (const bufferedMessage of this.bufferedMessages) {
173
- this.onMessage(bufferedMessage);
174
- }
175
- this.bufferedMessages = [];
176
- };
177
- /**
178
- * Locks the websocket so messages are buffered instead of being emitted.
179
- * Once the websocket gets unlocked buffered messages get emitted.
180
- * This behaviour is needed in order to not miss any messages
181
- * during fetching notifications from the notification stream.
182
- */
183
- lock = () => {
184
- this.logger.info('Locking WebSocket');
185
- this.isSocketLocked = true;
186
- };
187
179
  isLocked() {
188
180
  return this.isSocketLocked;
189
181
  }
@@ -203,3 +195,4 @@ class WebSocketClient extends events_1.EventEmitter {
203
195
  }
204
196
  }
205
197
  exports.WebSocketClient = WebSocketClient;
198
+ WebSocketClient.TOPIC = TOPIC;
@@ -20,24 +20,9 @@
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.BillingAPI = void 0;
22
22
  class BillingAPI {
23
- client;
24
- static DEFAULT_INVOICES_CHUNK_SIZE = 10;
25
23
  constructor(client) {
26
24
  this.client = client;
27
25
  }
28
- static URL = {
29
- BILLING: 'billing',
30
- CURRENCIES: 'currencies',
31
- INFO: 'info',
32
- CARD: 'card',
33
- COUPON: 'coupon',
34
- INVOICES: 'invoices',
35
- PLAN: 'plan',
36
- LIST: 'list',
37
- TEAMS: '/teams',
38
- TEAM: 'team',
39
- UPCOMING: 'upcoming',
40
- };
41
26
  async getBillingTeam(teamId) {
42
27
  const config = {
43
28
  method: 'get',
@@ -176,3 +161,17 @@ class BillingAPI {
176
161
  }
177
162
  }
178
163
  exports.BillingAPI = BillingAPI;
164
+ BillingAPI.DEFAULT_INVOICES_CHUNK_SIZE = 10;
165
+ BillingAPI.URL = {
166
+ BILLING: 'billing',
167
+ CURRENCIES: 'currencies',
168
+ INFO: 'info',
169
+ CARD: 'card',
170
+ COUPON: 'coupon',
171
+ INVOICES: 'invoices',
172
+ PLAN: 'plan',
173
+ LIST: 'list',
174
+ TEAMS: '/teams',
175
+ TEAM: 'team',
176
+ UPCOMING: 'upcoming',
177
+ };
@@ -20,15 +20,9 @@
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.TeamConversationAPI = void 0;
22
22
  class TeamConversationAPI {
23
- client;
24
23
  constructor(client) {
25
24
  this.client = client;
26
25
  }
27
- static URL = {
28
- CONVERSATIONS: 'conversations',
29
- ROLES: 'roles',
30
- TEAMS: '/teams',
31
- };
32
26
  /**
33
27
  * Remove a team conversation.
34
28
  * @param teamId ID of the team to remove the conversation from
@@ -84,3 +78,8 @@ class TeamConversationAPI {
84
78
  }
85
79
  }
86
80
  exports.TeamConversationAPI = TeamConversationAPI;
81
+ TeamConversationAPI.URL = {
82
+ CONVERSATIONS: 'conversations',
83
+ ROLES: 'roles',
84
+ TEAMS: '/teams',
85
+ };
@@ -54,9 +54,12 @@ export interface FeatureMLSMigrationConfig extends FeatureConfig {
54
54
  startTime?: string;
55
55
  finaliseRegardlessAfter?: string;
56
56
  }
57
+ export interface FeatureConferenceCallingConfig extends FeatureConfig {
58
+ useSFTForOneToOneCalls?: boolean;
59
+ }
57
60
  export type FeatureAppLock = Feature<FeatureAppLockConfig>;
58
61
  export type FeatureClassifiedDomains = Feature<FeatureClassifiedDomainsConfig>;
59
- export type FeatureConferenceCalling = FeatureWithoutConfig;
62
+ export type FeatureConferenceCalling = Feature<FeatureConferenceCallingConfig>;
60
63
  export type FeatureDigitalSignature = FeatureWithoutConfig;
61
64
  export type FeatureConversationGuestLink = FeatureWithoutConfig;
62
65
  export type FeatureFileSharing = FeatureWithoutConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"Feature.d.ts","sourceRoot":"","sources":["../../../src/team/feature/Feature.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD,oBAAY,aAAa;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAE/B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,oBAAoB;IAC5E,MAAM,EAAE,CAAC,CAAC;CACX;AAED,MAAM,WAAW,aAAa;CAAG;AAEjC,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,oBAAY,mBAAmB;IAC7B,GAAG,IAAI;IACP,UAAU,KAAK;IACf,SAAS,MAAM;IACf,OAAO,OAAQ;IACf,MAAM,QAAS;IACf,OAAO,SAAU;IACjB,OAAO,UAAY;CACpB;AAED,MAAM,WAAW,iCAAkC,SAAQ,aAAa;IACtE,sBAAsB,EAAE,mBAAmB,GAAG,MAAM,CAAC;CACtD;AACD,MAAM,WAAW,6BAA8B,SAAQ,aAAa;IAClE,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,8BAA+B,SAAQ,aAAa;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AACD,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,oBAAoB,CAAC;IACtC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAC/E,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAC5D,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC3D,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AACpD,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACzE,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC3D,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;AACrF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACnD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACrE,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAC9C,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAC5D,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,CAAC;AAC7D,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"Feature.d.ts","sourceRoot":"","sources":["../../../src/team/feature/Feature.ts"],"names":[],"mappings":"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"}
@@ -23,29 +23,9 @@ const FeatureError_1 = require("./FeatureError");
23
23
  const http_1 = require("../../http");
24
24
  const _1 = require(".");
25
25
  class FeatureAPI {
26
- client;
27
26
  constructor(client) {
28
27
  this.client = client;
29
28
  }
30
- static URL = {
31
- APPLOCK: 'appLock',
32
- CALLING_CONFERENCE: 'conferenceCalling',
33
- CALLING_VIDEO: 'videoCalling',
34
- SELF_DELETING_MESSAGES: 'selfDeletingMessages',
35
- DIGITAL_SIGNATURES: 'digitalSignatures',
36
- DL_PATH: 'enforceFileDownloadLocation',
37
- CONVERSATION_GUEST_LINKS: 'conversationGuestLinks',
38
- FEATURE_CONFIGS: '/feature-configs',
39
- FEATURES: 'features',
40
- FILE_SHARING: 'fileSharing',
41
- LEGAL_HOLD: 'legalhold',
42
- SND_FACTOR_PASSWORD: 'sndFactorPasswordChallenge',
43
- SSO: 'sso',
44
- MLS: 'mls',
45
- MLSE2EID: 'mlsE2EId',
46
- MLS_MIGRATION: 'mlsMigration',
47
- TEAMS: '/teams',
48
- };
49
29
  async getAllFeatures() {
50
30
  const config = {
51
31
  method: 'get',
@@ -314,3 +294,22 @@ class FeatureAPI {
314
294
  }
315
295
  }
316
296
  exports.FeatureAPI = FeatureAPI;
297
+ FeatureAPI.URL = {
298
+ APPLOCK: 'appLock',
299
+ CALLING_CONFERENCE: 'conferenceCalling',
300
+ CALLING_VIDEO: 'videoCalling',
301
+ SELF_DELETING_MESSAGES: 'selfDeletingMessages',
302
+ DIGITAL_SIGNATURES: 'digitalSignatures',
303
+ DL_PATH: 'enforceFileDownloadLocation',
304
+ CONVERSATION_GUEST_LINKS: 'conversationGuestLinks',
305
+ FEATURE_CONFIGS: '/feature-configs',
306
+ FEATURES: 'features',
307
+ FILE_SHARING: 'fileSharing',
308
+ LEGAL_HOLD: 'legalhold',
309
+ SND_FACTOR_PASSWORD: 'sndFactorPasswordChallenge',
310
+ SSO: 'sso',
311
+ MLS: 'mls',
312
+ MLSE2EID: 'mlsE2EId',
313
+ MLS_MIGRATION: 'mlsMigration',
314
+ TEAMS: '/teams',
315
+ };
@@ -20,15 +20,9 @@
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.IdentityProviderAPI = void 0;
22
22
  class IdentityProviderAPI {
23
- client;
24
23
  constructor(client) {
25
24
  this.client = client;
26
25
  }
27
- static URL = {
28
- METADATA: 'metadata',
29
- PROVIDER: '/identity-providers',
30
- SSO: '/sso',
31
- };
32
26
  async getIdentityProvider(identityProviderId) {
33
27
  const config = {
34
28
  method: 'get',
@@ -86,3 +80,8 @@ class IdentityProviderAPI {
86
80
  }
87
81
  }
88
82
  exports.IdentityProviderAPI = IdentityProviderAPI;
83
+ IdentityProviderAPI.URL = {
84
+ METADATA: 'metadata',
85
+ PROVIDER: '/identity-providers',
86
+ SSO: '/sso',
87
+ };
@@ -28,13 +28,6 @@ const InvitationError_1 = require("./InvitationError");
28
28
  const http_1 = require("../../http/");
29
29
  const team_1 = require("../team/");
30
30
  class TeamInvitationAPI {
31
- client;
32
- static MAX_CHUNK_SIZE = 100;
33
- static URL = {
34
- INFO: 'info',
35
- INVITATIONS: 'invitations',
36
- EMAIL: 'by-email',
37
- };
38
31
  constructor(client) {
39
32
  this.client = client;
40
33
  }
@@ -79,6 +72,7 @@ class TeamInvitationAPI {
79
72
  await this.client.sendJSON(config);
80
73
  }
81
74
  async headInvitation(email) {
75
+ var _a, _b;
82
76
  const config = {
83
77
  method: 'head',
84
78
  params: {
@@ -90,8 +84,8 @@ class TeamInvitationAPI {
90
84
  await this.client.sendJSON(config);
91
85
  }
92
86
  catch (error) {
93
- if (axios_1.default.isAxiosError(error) && error.response?.status) {
94
- const status = error.response?.status;
87
+ if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status)) {
88
+ const status = (_b = error.response) === null || _b === void 0 ? void 0 : _b.status;
95
89
  switch (status) {
96
90
  case http_status_codes_1.StatusCodes.NOT_FOUND: {
97
91
  throw new InvitationError_1.InvitationNotFoundError('Invitation not found');
@@ -146,3 +140,9 @@ class TeamInvitationAPI {
146
140
  }
147
141
  }
148
142
  exports.TeamInvitationAPI = TeamInvitationAPI;
143
+ TeamInvitationAPI.MAX_CHUNK_SIZE = 100;
144
+ TeamInvitationAPI.URL = {
145
+ INFO: 'info',
146
+ INVITATIONS: 'invitations',
147
+ EMAIL: 'by-email',
148
+ };
@@ -21,15 +21,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.LegalHoldAPI = void 0;
22
22
  const TeamAPI_1 = require("../team/TeamAPI");
23
23
  class LegalHoldAPI {
24
- client;
25
24
  constructor(client) {
26
25
  this.client = client;
27
26
  }
28
- static URL = {
29
- APPROVE_LEGAL_HOLD: 'approve',
30
- LEGAL_HOLD: 'legalhold',
31
- SETTINGS_LEGAL_HOLD: 'settings',
32
- };
33
27
  async getMemberLegalHold(teamId, userId) {
34
28
  const config = {
35
29
  method: 'get',
@@ -94,3 +88,8 @@ class LegalHoldAPI {
94
88
  }
95
89
  }
96
90
  exports.LegalHoldAPI = LegalHoldAPI;
91
+ LegalHoldAPI.URL = {
92
+ APPROVE_LEGAL_HOLD: 'approve',
93
+ LEGAL_HOLD: 'legalhold',
94
+ SETTINGS_LEGAL_HOLD: 'settings',
95
+ };
@@ -28,17 +28,9 @@ const http_1 = require("../../http/");
28
28
  const user_1 = require("../../user");
29
29
  const TeamAPI_1 = require("../team/TeamAPI");
30
30
  class MemberAPI {
31
- client;
32
- // Maximum 1600 due to "413 Request Entity Too Large" response
33
- static DEFAULT_MEMBERS_CHUNK_SIZE = 1600;
34
31
  constructor(client) {
35
32
  this.client = client;
36
33
  }
37
- static URL = {
38
- MEMBERS: 'members',
39
- CSV: 'csv',
40
- MEMBERS_BY_ID_LIST: 'get-members-by-ids-using-post',
41
- };
42
34
  async getMember(teamId, userId) {
43
35
  const config = {
44
36
  method: 'get',
@@ -147,3 +139,10 @@ class MemberAPI {
147
139
  }
148
140
  }
149
141
  exports.MemberAPI = MemberAPI;
142
+ // Maximum 1600 due to "413 Request Entity Too Large" response
143
+ MemberAPI.DEFAULT_MEMBERS_CHUNK_SIZE = 1600;
144
+ MemberAPI.URL = {
145
+ MEMBERS: 'members',
146
+ CSV: 'csv',
147
+ MEMBERS_BY_ID_LIST: 'get-members-by-ids-using-post',
148
+ };