@wazo/sdk 0.43.2 → 0.43.3
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/README.md +18 -1
- package/dist/wazo-sdk.js +2 -2
- package/esm/simple/Auth.js +5 -0
- package/esm/simple/__tests__/Auth.test.js +24 -0
- package/esm/simple/index.js +2 -1
- package/esm/types/simple/Auth.d.ts +2 -0
- package/esm/types/simple/Auth.d.ts.map +1 -1
- package/esm/types/simple/index.d.ts +2 -1
- package/esm/types/simple/index.d.ts.map +1 -1
- package/lib/simple/Auth.js +7 -1
- package/lib/simple/__tests__/Auth.test.js +24 -0
- package/lib/simple/index.js +1 -0
- package/lib/types/simple/Auth.d.ts +2 -0
- package/lib/types/simple/Auth.d.ts.map +1 -1
- package/lib/types/simple/index.d.ts +2 -1
- package/lib/types/simple/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/simple/Auth.ts +5 -0
- package/src/simple/__tests__/Auth.test.ts +32 -0
- package/src/simple/index.ts +2 -1
package/esm/simple/Auth.js
CHANGED
|
@@ -14,6 +14,8 @@ export class NoDomainNameError extends Error {
|
|
|
14
14
|
}
|
|
15
15
|
export class NoSamlRouteError extends Error {
|
|
16
16
|
}
|
|
17
|
+
export class SamlConfigError extends Error {
|
|
18
|
+
}
|
|
17
19
|
const logger = IssueReporter.loggerFor('simple-auth');
|
|
18
20
|
export class Auth {
|
|
19
21
|
clientId;
|
|
@@ -132,6 +134,9 @@ export class Auth {
|
|
|
132
134
|
if (response.status === 404) {
|
|
133
135
|
throw new NoSamlRouteError('No route found for saml sso');
|
|
134
136
|
}
|
|
137
|
+
if (response.status === 500) {
|
|
138
|
+
throw new SamlConfigError('SAML/server configuration error');
|
|
139
|
+
}
|
|
135
140
|
const error = await response.json();
|
|
136
141
|
throw new Error(error.message || error.reason);
|
|
137
142
|
}
|
|
@@ -172,5 +172,29 @@ describe('simple/Auth', () => {
|
|
|
172
172
|
}));
|
|
173
173
|
await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('');
|
|
174
174
|
});
|
|
175
|
+
it('should return a NoSAMLRouteError if the response is a 404', async () => {
|
|
176
|
+
const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
|
|
177
|
+
ok: false,
|
|
178
|
+
status: 404,
|
|
179
|
+
}));
|
|
180
|
+
getApiClient.mockImplementation(() => ({
|
|
181
|
+
auth: {
|
|
182
|
+
initiateIdpAuthentication,
|
|
183
|
+
},
|
|
184
|
+
}));
|
|
185
|
+
await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('No route found for saml sso');
|
|
186
|
+
});
|
|
187
|
+
it('should return a SamlConfigError if the response is a 500', async () => {
|
|
188
|
+
const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
|
|
189
|
+
ok: false,
|
|
190
|
+
status: 500,
|
|
191
|
+
}));
|
|
192
|
+
getApiClient.mockImplementation(() => ({
|
|
193
|
+
auth: {
|
|
194
|
+
initiateIdpAuthentication,
|
|
195
|
+
},
|
|
196
|
+
}));
|
|
197
|
+
await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('SAML/server configuration error');
|
|
198
|
+
});
|
|
175
199
|
});
|
|
176
200
|
});
|
package/esm/simple/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable import/no-named-as-default */
|
|
2
2
|
/* global window */
|
|
3
|
-
import Auth, { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError } from './Auth';
|
|
3
|
+
import Auth, { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError, SamlConfigError } from './Auth';
|
|
4
4
|
import Phone from './Phone';
|
|
5
5
|
import Websocket from './Websocket';
|
|
6
6
|
import Room from './room/Room';
|
|
@@ -126,6 +126,7 @@ const Wazo = {
|
|
|
126
126
|
NoTenantIdError,
|
|
127
127
|
NoDomainNameError,
|
|
128
128
|
NoSamlRouteError,
|
|
129
|
+
SamlConfigError,
|
|
129
130
|
};
|
|
130
131
|
if (typeof window !== 'undefined') {
|
|
131
132
|
window.Wazo = Wazo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAqBxC,qBAAa,mBAAoB,SAAQ,KAAK;CAAG;AACjD,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAClD,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAC7C,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAC/C,qBAAa,gBAAiB,SAAQ,KAAK;CAAG;
|
|
1
|
+
{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError } from './Auth';
|
|
1
|
+
import { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError, SamlConfigError } from './Auth';
|
|
2
2
|
import Room from './room/Room';
|
|
3
3
|
import SipRoom from './room/SipRoom';
|
|
4
4
|
import RemoteParticipant from './room/RemoteParticipant';
|
|
@@ -147,6 +147,7 @@ declare const Wazo: {
|
|
|
147
147
|
NoTenantIdError: typeof NoTenantIdError;
|
|
148
148
|
NoDomainNameError: typeof NoDomainNameError;
|
|
149
149
|
NoSamlRouteError: typeof NoSamlRouteError;
|
|
150
|
+
SamlConfigError: typeof SamlConfigError;
|
|
150
151
|
};
|
|
151
152
|
export default Wazo;
|
|
152
153
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGhJ,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAGxD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGT,CAAC;AAUF,eAAe,IAAI,CAAC"}
|
package/lib/simple/Auth.js
CHANGED
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.Auth = exports.NoSamlRouteError = exports.NoDomainNameError = exports.NoTenantIdError = exports.InvalidAuthorization = exports.InvalidSubscription = void 0;
|
|
38
|
+
exports.Auth = exports.SamlConfigError = exports.NoSamlRouteError = exports.NoDomainNameError = exports.NoTenantIdError = exports.InvalidAuthorization = exports.InvalidSubscription = void 0;
|
|
39
39
|
const auth_1 = require("../api/auth");
|
|
40
40
|
const getApiClient_1 = __importStar(require("../service/getApiClient"));
|
|
41
41
|
const IssueReporter_1 = __importDefault(require("../service/IssueReporter"));
|
|
@@ -57,6 +57,9 @@ exports.NoDomainNameError = NoDomainNameError;
|
|
|
57
57
|
class NoSamlRouteError extends Error {
|
|
58
58
|
}
|
|
59
59
|
exports.NoSamlRouteError = NoSamlRouteError;
|
|
60
|
+
class SamlConfigError extends Error {
|
|
61
|
+
}
|
|
62
|
+
exports.SamlConfigError = SamlConfigError;
|
|
60
63
|
const logger = IssueReporter_1.default.loggerFor('simple-auth');
|
|
61
64
|
class Auth {
|
|
62
65
|
constructor() {
|
|
@@ -165,6 +168,9 @@ class Auth {
|
|
|
165
168
|
if (response.status === 404) {
|
|
166
169
|
throw new NoSamlRouteError('No route found for saml sso');
|
|
167
170
|
}
|
|
171
|
+
if (response.status === 500) {
|
|
172
|
+
throw new SamlConfigError('SAML/server configuration error');
|
|
173
|
+
}
|
|
168
174
|
const error = yield response.json();
|
|
169
175
|
throw new Error(error.message || error.reason);
|
|
170
176
|
}
|
|
@@ -206,5 +206,29 @@ describe('simple/Auth', () => {
|
|
|
206
206
|
}));
|
|
207
207
|
yield expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('');
|
|
208
208
|
}));
|
|
209
|
+
it('should return a NoSAMLRouteError if the response is a 404', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
210
|
+
const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
|
|
211
|
+
ok: false,
|
|
212
|
+
status: 404,
|
|
213
|
+
}));
|
|
214
|
+
getApiClient_1.default.mockImplementation(() => ({
|
|
215
|
+
auth: {
|
|
216
|
+
initiateIdpAuthentication,
|
|
217
|
+
},
|
|
218
|
+
}));
|
|
219
|
+
yield expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('No route found for saml sso');
|
|
220
|
+
}));
|
|
221
|
+
it('should return a SamlConfigError if the response is a 500', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
222
|
+
const initiateIdpAuthentication = jest.fn(() => Promise.resolve({
|
|
223
|
+
ok: false,
|
|
224
|
+
status: 500,
|
|
225
|
+
}));
|
|
226
|
+
getApiClient_1.default.mockImplementation(() => ({
|
|
227
|
+
auth: {
|
|
228
|
+
initiateIdpAuthentication,
|
|
229
|
+
},
|
|
230
|
+
}));
|
|
231
|
+
yield expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('SAML/server configuration error');
|
|
232
|
+
}));
|
|
209
233
|
});
|
|
210
234
|
});
|
package/lib/simple/index.js
CHANGED
|
@@ -154,6 +154,7 @@ const Wazo = {
|
|
|
154
154
|
NoTenantIdError: Auth_1.NoTenantIdError,
|
|
155
155
|
NoDomainNameError: Auth_1.NoDomainNameError,
|
|
156
156
|
NoSamlRouteError: Auth_1.NoSamlRouteError,
|
|
157
|
+
SamlConfigError: Auth_1.SamlConfigError,
|
|
157
158
|
};
|
|
158
159
|
if (typeof window !== 'undefined') {
|
|
159
160
|
window.Wazo = Wazo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAqBxC,qBAAa,mBAAoB,SAAQ,KAAK;CAAG;AACjD,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAClD,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAC7C,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAC/C,qBAAa,gBAAiB,SAAQ,KAAK;CAAG;
|
|
1
|
+
{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/simple/Auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError } from './Auth';
|
|
1
|
+
import { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError, SamlConfigError } from './Auth';
|
|
2
2
|
import Room from './room/Room';
|
|
3
3
|
import SipRoom from './room/SipRoom';
|
|
4
4
|
import RemoteParticipant from './room/RemoteParticipant';
|
|
@@ -147,6 +147,7 @@ declare const Wazo: {
|
|
|
147
147
|
NoTenantIdError: typeof NoTenantIdError;
|
|
148
148
|
NoDomainNameError: typeof NoDomainNameError;
|
|
149
149
|
NoSamlRouteError: typeof NoSamlRouteError;
|
|
150
|
+
SamlConfigError: typeof SamlConfigError;
|
|
150
151
|
};
|
|
151
152
|
export default Wazo;
|
|
152
153
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/simple/index.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGhJ,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,MAAM,MAAM,eAAe,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAGxD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGT,CAAC;AAUF,eAAe,IAAI,CAAC"}
|
package/package.json
CHANGED
package/src/simple/Auth.ts
CHANGED
|
@@ -25,6 +25,7 @@ export class InvalidAuthorization extends Error {}
|
|
|
25
25
|
export class NoTenantIdError extends Error {}
|
|
26
26
|
export class NoDomainNameError extends Error {}
|
|
27
27
|
export class NoSamlRouteError extends Error {}
|
|
28
|
+
export class SamlConfigError extends Error {}
|
|
28
29
|
|
|
29
30
|
const logger = IssueReporter.loggerFor('simple-auth');
|
|
30
31
|
|
|
@@ -180,6 +181,10 @@ export class Auth {
|
|
|
180
181
|
throw new NoSamlRouteError('No route found for saml sso');
|
|
181
182
|
}
|
|
182
183
|
|
|
184
|
+
if (response.status === 500) {
|
|
185
|
+
throw new SamlConfigError('SAML/server configuration error');
|
|
186
|
+
}
|
|
187
|
+
|
|
183
188
|
const error = await response.json();
|
|
184
189
|
throw new Error(error.message || error.reason);
|
|
185
190
|
}
|
|
@@ -210,5 +210,37 @@ describe('simple/Auth', () => {
|
|
|
210
210
|
|
|
211
211
|
await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('');
|
|
212
212
|
});
|
|
213
|
+
|
|
214
|
+
it('should return a NoSAMLRouteError if the response is a 404', async () => {
|
|
215
|
+
const initiateIdpAuthentication = jest.fn(() =>
|
|
216
|
+
Promise.resolve({
|
|
217
|
+
ok: false,
|
|
218
|
+
status: 404,
|
|
219
|
+
}));
|
|
220
|
+
|
|
221
|
+
(getApiClient as any).mockImplementation(() => ({
|
|
222
|
+
auth: {
|
|
223
|
+
initiateIdpAuthentication,
|
|
224
|
+
},
|
|
225
|
+
}));
|
|
226
|
+
|
|
227
|
+
await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('No route found for saml sso');
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
it('should return a SamlConfigError if the response is a 500', async () => {
|
|
231
|
+
const initiateIdpAuthentication = jest.fn(() =>
|
|
232
|
+
Promise.resolve({
|
|
233
|
+
ok: false,
|
|
234
|
+
status: 500,
|
|
235
|
+
}));
|
|
236
|
+
|
|
237
|
+
(getApiClient as any).mockImplementation(() => ({
|
|
238
|
+
auth: {
|
|
239
|
+
initiateIdpAuthentication,
|
|
240
|
+
},
|
|
241
|
+
}));
|
|
242
|
+
|
|
243
|
+
await expect(Auth.initiateIdpAuthentication('example.com', 'https://myapp.xyz')).rejects.toThrow('SAML/server configuration error');
|
|
244
|
+
});
|
|
213
245
|
});
|
|
214
246
|
});
|
package/src/simple/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable import/no-named-as-default */
|
|
2
2
|
/* global window */
|
|
3
|
-
import Auth, { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError } from './Auth';
|
|
3
|
+
import Auth, { InvalidSubscription, InvalidAuthorization, NoTenantIdError, NoDomainNameError, NoSamlRouteError, SamlConfigError } from './Auth';
|
|
4
4
|
import Phone from './Phone';
|
|
5
5
|
import Websocket from './Websocket';
|
|
6
6
|
import Room from './room/Room';
|
|
@@ -139,6 +139,7 @@ const Wazo = {
|
|
|
139
139
|
NoTenantIdError,
|
|
140
140
|
NoDomainNameError,
|
|
141
141
|
NoSamlRouteError,
|
|
142
|
+
SamlConfigError,
|
|
142
143
|
};
|
|
143
144
|
|
|
144
145
|
if (typeof window !== 'undefined') {
|