@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.
- package/lib/APIClient.d.ts +1 -0
- package/lib/APIClient.d.ts.map +1 -1
- package/lib/APIClient.js +22 -24
- package/lib/account/AccountAPI.js +15 -16
- package/lib/asset/AssetAPI.d.ts +1 -0
- package/lib/asset/AssetAPI.d.ts.map +1 -1
- package/lib/asset/AssetAPI.js +4 -5
- package/lib/auth/AccessTokenStore.d.ts +1 -0
- package/lib/auth/AccessTokenStore.d.ts.map +1 -1
- package/lib/auth/AccessTokenStore.js +1 -8
- package/lib/auth/AuthAPI.js +27 -22
- package/lib/auth/Cookie.js +2 -2
- package/lib/auth/CookieStore.d.ts +1 -0
- package/lib/auth/CookieStore.d.ts.map +1 -1
- package/lib/auth/CookieStore.js +2 -3
- package/lib/auth/parseAccessToken.js +3 -3
- package/lib/broadcast/BroadcastAPI.js +4 -5
- package/lib/client/ClientAPI.d.ts +10 -10
- package/lib/client/ClientAPI.d.ts.map +1 -1
- package/lib/client/ClientAPI.js +14 -12
- package/lib/connection/ConnectionAPI.js +3 -4
- package/lib/conversation/Conversation.d.ts +8 -0
- package/lib/conversation/Conversation.d.ts.map +1 -1
- package/lib/conversation/Conversation.js +8 -1
- package/lib/conversation/ConversationAPI/ConversationAPI.d.ts +2 -2
- package/lib/conversation/ConversationAPI/ConversationAPI.d.ts.map +1 -1
- package/lib/conversation/ConversationAPI/ConversationAPI.js +33 -34
- package/lib/conversation/FederatedBackendsError.js +5 -6
- package/lib/demo/initClient.js +2 -1
- package/lib/generic/GenericAPI.js +0 -1
- package/lib/giphy/GiphyAPI.js +7 -8
- package/lib/http/BackendError.js +0 -3
- package/lib/http/HttpClient.d.ts +1 -0
- package/lib/http/HttpClient.d.ts.map +1 -1
- package/lib/http/HttpClient.js +24 -49
- package/lib/http/NetworkError.js +0 -1
- package/lib/notification/NotificationAPI/NotificationAPI.js +11 -11
- package/lib/notification/NotificationAPI/NotificationsAPI.mocks.d.ts +1 -1
- package/lib/oauth/OAuthAPI.js +7 -8
- package/lib/obfuscation/ObfuscationUtil.js +1 -4
- package/lib/self/SelfAPI.js +11 -12
- package/lib/serviceProvider/ServiceProviderAPI.js +7 -8
- package/lib/services/ServicesAPI.js +11 -13
- package/lib/shims/browser/cookie.d.ts.map +1 -1
- package/lib/shims/browser/websocket.d.ts +1 -1
- package/lib/shims/node/buffer.d.ts +1 -0
- package/lib/shims/node/buffer.d.ts.map +1 -1
- package/lib/shims/node/cookie.d.ts.map +1 -1
- package/lib/shims/node/cookie.js +2 -1
- package/lib/tcp/ReconnectingWebsocket.js +64 -72
- package/lib/tcp/WebSocketClient.d.ts +1 -0
- package/lib/tcp/WebSocketClient.d.ts.map +1 -1
- package/lib/tcp/WebSocketClient.js +61 -68
- package/lib/team/billing/BillingAPI.js +14 -15
- package/lib/team/conversation/TeamConversationAPI.js +5 -6
- package/lib/team/feature/Feature.d.ts +4 -1
- package/lib/team/feature/Feature.d.ts.map +1 -1
- package/lib/team/feature/FeatureAPI.js +19 -20
- package/lib/team/identityprovider/IdentityProviderAPI.js +5 -6
- package/lib/team/invitation/TeamInvitationAPI.js +9 -9
- package/lib/team/legalhold/LegalHoldAPI.js +5 -6
- package/lib/team/member/MemberAPI.js +7 -8
- package/lib/team/payment/PaymentAPI.js +11 -12
- package/lib/team/scim/ScimAPI.js +5 -6
- package/lib/team/search/TeamSearchAPI.js +5 -9
- package/lib/team/service/ServiceAPI.js +7 -8
- package/lib/team/team/TeamAPI.js +8 -12
- package/lib/user/UserAPI.js +30 -40
- package/lib/validation/ValidationError.js +0 -1
- package/package.json +12 -12
- package/LICENSE +0 -674
|
@@ -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,
|
|
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"}
|
package/lib/shims/node/cookie.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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 +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
|
-
|
|
39
|
-
|
|
40
|
-
this.
|
|
41
|
-
|
|
42
|
-
|
|
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 =
|
|
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,
|
|
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
|
|
94
|
-
const status = error.response
|
|
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
|
+
};
|