@wazo/sdk 0.38.9 → 0.38.12
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/dist/wazo-sdk.js +2 -2
- package/esm/__tests__/api-client.test.js +21 -0
- package/esm/__tests__/web-rtc-client.test.js +32 -7
- package/esm/api/auth.js +12 -0
- package/esm/api/ctid-ng.js +1 -0
- package/esm/api-client.js +21 -0
- package/esm/checker/Checker.js +32 -7
- package/esm/checker/checks/aor.js +21 -0
- package/esm/checker/checks/api.js +21 -0
- package/esm/checker/checks/index.js +32 -7
- package/esm/checker/checks/webrtc-transport.js +32 -7
- package/esm/checker/checks/webrtc.js +32 -7
- package/esm/domain/AdHocAPIConference.js +28 -2
- package/esm/domain/Features.js +28 -2
- package/esm/domain/Phone/CTIPhone.js +28 -2
- package/esm/domain/Phone/WebRTCPhone.js +3 -2
- package/esm/index.js +86 -15
- package/esm/service/CallApi.js +28 -2
- package/esm/service/getApiClient.js +34 -3
- package/esm/simple/Auth.js +87 -16
- package/esm/simple/Configuration.js +86 -15
- package/esm/simple/Directory.js +28 -2
- package/esm/simple/Phone.js +86 -15
- package/esm/simple/Softphone.js +5 -0
- package/esm/simple/index.js +86 -15
- package/esm/simple/room/LocalParticipant.js +86 -15
- package/esm/simple/room/Participant.js +86 -15
- package/esm/simple/room/RemoteParticipant.js +86 -15
- package/esm/simple/room/Room.js +86 -15
- package/esm/simple/room/SipRoom.js +86 -15
- package/esm/simple/room/Stream.js +86 -15
- package/esm/simple/room/__tests__/Participant.test.js +86 -15
- package/esm/simple/room/__tests__/RemoteParticipant.test.js +86 -15
- package/esm/simple/utils.js +86 -15
- package/esm/web-rtc-client.js +32 -7
- package/lib/__tests__/api-client.test.js +21 -0
- package/lib/__tests__/web-rtc-client.test.js +32 -7
- package/lib/api/auth.js +12 -0
- package/lib/api/ctid-ng.js +1 -0
- package/lib/api-client.js +21 -0
- package/lib/checker/Checker.js +32 -7
- package/lib/checker/checks/aor.js +21 -0
- package/lib/checker/checks/api.js +21 -0
- package/lib/checker/checks/index.js +32 -7
- package/lib/checker/checks/webrtc-transport.js +32 -7
- package/lib/checker/checks/webrtc.js +32 -7
- package/lib/domain/AdHocAPIConference.js +28 -2
- package/lib/domain/Features.js +28 -2
- package/lib/domain/Phone/CTIPhone.js +28 -2
- package/lib/domain/Phone/WebRTCPhone.js +3 -2
- package/lib/index.js +86 -15
- package/lib/service/CallApi.js +28 -2
- package/lib/service/getApiClient.js +34 -2
- package/lib/simple/Auth.js +87 -15
- package/lib/simple/Configuration.js +86 -15
- package/lib/simple/Directory.js +28 -2
- package/lib/simple/Phone.js +86 -15
- package/lib/simple/Softphone.js +5 -0
- package/lib/simple/index.js +86 -15
- package/lib/simple/room/LocalParticipant.js +86 -15
- package/lib/simple/room/Participant.js +86 -15
- package/lib/simple/room/RemoteParticipant.js +86 -15
- package/lib/simple/room/Room.js +86 -15
- package/lib/simple/room/SipRoom.js +86 -15
- package/lib/simple/room/Stream.js +86 -15
- package/lib/simple/room/__tests__/Participant.test.js +86 -15
- package/lib/simple/room/__tests__/RemoteParticipant.test.js +86 -15
- package/lib/simple/utils.js +86 -15
- package/lib/web-rtc-client.js +32 -7
- package/package.json +2 -2
- package/src/api/auth.js +12 -0
- package/src/api-client.js +8 -0
- package/src/domain/Phone/WebRTCPhone.js +2 -2
- package/src/service/getApiClient.js +13 -2
- package/src/simple/Auth.js +35 -4
- package/src/simple/Softphone.js +5 -0
- package/src/simple/index.js +2 -1
- package/src/web-rtc-client.js +11 -7
package/lib/simple/Phone.js
CHANGED
|
@@ -2848,6 +2848,7 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2848
2848
|
|
|
2849
2849
|
|
|
2850
2850
|
|
|
2851
|
+
|
|
2851
2852
|
) {
|
|
2852
2853
|
const body = {
|
|
2853
2854
|
backend: params.backend || DEFAULT_BACKEND_USER,
|
|
@@ -2868,9 +2869,14 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2868
2869
|
}
|
|
2869
2870
|
|
|
2870
2871
|
if (params.tenantId) {
|
|
2872
|
+
console.warn('Use of `tenantId` is deprecated when calling logIn() method, use `domainName` instead.');
|
|
2871
2873
|
body.tenant_id = params.tenantId;
|
|
2872
2874
|
}
|
|
2873
2875
|
|
|
2876
|
+
if (params.domainName) {
|
|
2877
|
+
body.domain_name = params.domainName;
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2874
2880
|
return client.post(`${baseUrl}/token`, body, headers).then(response => Session.parse(response));
|
|
2875
2881
|
},
|
|
2876
2882
|
|
|
@@ -2883,6 +2889,7 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2883
2889
|
expiration ,
|
|
2884
2890
|
isMobile = false,
|
|
2885
2891
|
tenantId ,
|
|
2892
|
+
domainName ,
|
|
2886
2893
|
) => {
|
|
2887
2894
|
const body = {
|
|
2888
2895
|
backend: backend || DEFAULT_BACKEND_USER,
|
|
@@ -2892,9 +2899,14 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2892
2899
|
};
|
|
2893
2900
|
|
|
2894
2901
|
if (tenantId) {
|
|
2902
|
+
console.warn('Use of `tenantId` is deprecated when calling refreshToken() method, use `domainName` instead.');
|
|
2895
2903
|
body.tenant_id = tenantId;
|
|
2896
2904
|
}
|
|
2897
2905
|
|
|
2906
|
+
if (domainName) {
|
|
2907
|
+
body.domain_name = domainName;
|
|
2908
|
+
}
|
|
2909
|
+
|
|
2898
2910
|
const headers = {
|
|
2899
2911
|
'Content-Type': 'application/json',
|
|
2900
2912
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -5583,6 +5595,7 @@ class ApiClient {
|
|
|
5583
5595
|
|
|
5584
5596
|
|
|
5585
5597
|
|
|
5598
|
+
|
|
5586
5599
|
|
|
5587
5600
|
|
|
5588
5601
|
|
|
@@ -5624,6 +5637,7 @@ class ApiClient {
|
|
|
5624
5637
|
refreshToken: this.refreshToken,
|
|
5625
5638
|
refreshBackend: this.refreshBackend,
|
|
5626
5639
|
refreshTenantId: this.refreshTenantId,
|
|
5640
|
+
refreshDomainName: this.refreshDomainName,
|
|
5627
5641
|
refreshExpiration: this.refreshExpiration,
|
|
5628
5642
|
isMobile: this.isMobile,
|
|
5629
5643
|
});
|
|
@@ -5639,6 +5653,7 @@ class ApiClient {
|
|
|
5639
5653
|
this.refreshExpiration,
|
|
5640
5654
|
this.isMobile,
|
|
5641
5655
|
this.refreshTenantId,
|
|
5656
|
+
this.refreshDomainName,
|
|
5642
5657
|
);
|
|
5643
5658
|
|
|
5644
5659
|
logger$a.info('token refreshed', { token: session.token });
|
|
@@ -5692,9 +5707,14 @@ class ApiClient {
|
|
|
5692
5707
|
}
|
|
5693
5708
|
|
|
5694
5709
|
setRefreshTenantId(tenantId ) {
|
|
5710
|
+
console.warn('Use of `setRefreshTenantId` is deprecated, use `setRefreshDomainName` instead');
|
|
5695
5711
|
this.refreshTenantId = tenantId;
|
|
5696
5712
|
}
|
|
5697
5713
|
|
|
5714
|
+
setRefreshDomainName(domainName ) {
|
|
5715
|
+
this.refreshDomainName = domainName;
|
|
5716
|
+
}
|
|
5717
|
+
|
|
5698
5718
|
setIsMobile(isMobile ) {
|
|
5699
5719
|
this.isMobile = isMobile;
|
|
5700
5720
|
}
|
|
@@ -5719,6 +5739,7 @@ global.wazoClientId = global.wazoClientId || {};
|
|
|
5719
5739
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
5720
5740
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
5721
5741
|
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
5742
|
+
global.wazoRefreshDomainName = global.wazoRefreshDomainName || {};
|
|
5722
5743
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
5723
5744
|
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
5724
5745
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
@@ -5743,9 +5764,14 @@ const setRefreshToken = (newRefreshToken , forServer = null) =>
|
|
|
5743
5764
|
};
|
|
5744
5765
|
|
|
5745
5766
|
const setRefreshTenantId = (refreshTenantId , forServer = null) => {
|
|
5767
|
+
console.warn('Use of `setRefreshTenantId` is deprecated, please use `setRefreshDomainName` instead');
|
|
5746
5768
|
global.wazoRefreshTenantId[forServer] = refreshTenantId;
|
|
5747
5769
|
};
|
|
5748
5770
|
|
|
5771
|
+
const setRefreshDomainName = (refreshDomainName , forServer = null) => {
|
|
5772
|
+
global.wazoRefreshDomainName[forServer] = refreshDomainName;
|
|
5773
|
+
};
|
|
5774
|
+
|
|
5749
5775
|
const setOnRefreshToken = (onRefreshToken , forServer = null) => {
|
|
5750
5776
|
global.wazoOnRefreshToken[forServer] = onRefreshToken;
|
|
5751
5777
|
};
|
|
@@ -5764,6 +5790,7 @@ const setFetchOptions = (fetchOptions , forServer = null) => {
|
|
|
5764
5790
|
|
|
5765
5791
|
const fillClient = (apiClient ) => {
|
|
5766
5792
|
const { server, token, clientId } = apiClient.client;
|
|
5793
|
+
const tenantId = global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId;
|
|
5767
5794
|
|
|
5768
5795
|
// try with null server when dealing with non-related server info
|
|
5769
5796
|
apiClient.setToken(global.wazoClientToken[server] || global.wazoClientToken[null] || token);
|
|
@@ -5772,8 +5799,12 @@ const fillClient = (apiClient ) => {
|
|
|
5772
5799
|
|
|
5773
5800
|
apiClient.setRefreshToken(global.wazoRefreshToken[server] || global.wazoRefreshToken[null] || apiClient.refreshToken);
|
|
5774
5801
|
|
|
5775
|
-
|
|
5776
|
-
|
|
5802
|
+
if (tenantId) {
|
|
5803
|
+
apiClient.setRefreshTenantId(tenantId);
|
|
5804
|
+
}
|
|
5805
|
+
|
|
5806
|
+
apiClient.setRefreshDomainName(
|
|
5807
|
+
global.wazoRefreshDomainName[server] || global.wazoRefreshDomainName[null] || apiClient.refreshDomainName,
|
|
5777
5808
|
);
|
|
5778
5809
|
|
|
5779
5810
|
apiClient.setFetchOptions(global.wazoFetchOptions[server] || global.wazoFetchOptions[null] || apiClient.fetchOptions);
|
|
@@ -7429,7 +7460,7 @@ class WebRTCClient extends Emitter {
|
|
|
7429
7460
|
|
|
7430
7461
|
videoSender = transceiverIdx !== -1 ? transceivers[transceiverIdx].sender : null;
|
|
7431
7462
|
} else {
|
|
7432
|
-
videoSender = pc.getSenders().find(sender => sender.track === null);
|
|
7463
|
+
videoSender = pc && pc.getSenders && pc.getSenders().find(sender => sender.track === null);
|
|
7433
7464
|
}
|
|
7434
7465
|
|
|
7435
7466
|
if (!videoSender) {
|
|
@@ -7470,9 +7501,11 @@ class WebRTCClient extends Emitter {
|
|
|
7470
7501
|
const videoTracks = localStream.getVideoTracks();
|
|
7471
7502
|
|
|
7472
7503
|
// Remove video senders
|
|
7473
|
-
pc.getSenders
|
|
7474
|
-
|
|
7475
|
-
|
|
7504
|
+
if (pc.getSenders) {
|
|
7505
|
+
pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
|
|
7506
|
+
videoSender.replaceTrack(null);
|
|
7507
|
+
});
|
|
7508
|
+
}
|
|
7476
7509
|
|
|
7477
7510
|
videoTracks.forEach(videoTrack => {
|
|
7478
7511
|
videoTrack.enabled = false;
|
|
@@ -7705,7 +7738,8 @@ class WebRTCClient extends Emitter {
|
|
|
7705
7738
|
const constraints = { audio: { deviceId: { exact: deviceId } } };
|
|
7706
7739
|
const stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
7707
7740
|
const audioTrack = stream.getAudioTracks()[0];
|
|
7708
|
-
const sender = pc && pc.getSenders
|
|
7741
|
+
const sender = pc && pc.getSenders
|
|
7742
|
+
&& pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
|
|
7709
7743
|
|
|
7710
7744
|
if (sender) {
|
|
7711
7745
|
if (sender.track) {
|
|
@@ -7768,10 +7802,11 @@ class WebRTCClient extends Emitter {
|
|
|
7768
7802
|
// $FlowFixMe
|
|
7769
7803
|
return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
|
|
7770
7804
|
const videoTrack = stream.getVideoTracks()[0];
|
|
7771
|
-
let sender = pc && pc.getSenders
|
|
7805
|
+
let sender = pc && pc.getSenders
|
|
7806
|
+
&& pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
|
|
7772
7807
|
let wasTrackEnabled = false;
|
|
7773
7808
|
if (!sender) {
|
|
7774
|
-
sender = pc && pc.getSenders().find(s => !s.track);
|
|
7809
|
+
sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
|
|
7775
7810
|
}
|
|
7776
7811
|
|
|
7777
7812
|
if (sender) {
|
|
@@ -9305,7 +9340,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9305
9340
|
const screenTrack = screenShareStream.getVideoTracks()[0];
|
|
9306
9341
|
const sipSession = this.currentSipSession;
|
|
9307
9342
|
const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
|
|
9308
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9343
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9309
9344
|
const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
|
|
9310
9345
|
const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
|
|
9311
9346
|
const hadVideo = !!videoTrack;
|
|
@@ -9387,7 +9422,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9387
9422
|
const screenTrack = screenStream.getVideoTracks()[0];
|
|
9388
9423
|
const sipSessionId = this.getSipSessionId(sipSession);
|
|
9389
9424
|
const pc = this.client.getPeerConnection(sipSessionId);
|
|
9390
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9425
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9391
9426
|
|
|
9392
9427
|
logger$8.info('WebRTC phone - on screensharing', {
|
|
9393
9428
|
hadVideo,
|
|
@@ -10632,6 +10667,7 @@ var PHONE_EVENTS = /*#__PURE__*/Object.freeze({
|
|
|
10632
10667
|
class InvalidSubscription extends Error {}
|
|
10633
10668
|
class InvalidAuthorization extends Error {}
|
|
10634
10669
|
class NoTenantIdError extends Error {}
|
|
10670
|
+
class NoDomainNameError extends Error {}
|
|
10635
10671
|
|
|
10636
10672
|
const logger$7 = IssueReporter$1.loggerFor('simple-auth');
|
|
10637
10673
|
|
|
@@ -10695,9 +10731,24 @@ class Auth {
|
|
|
10695
10731
|
setFetchOptions(options);
|
|
10696
10732
|
}
|
|
10697
10733
|
|
|
10698
|
-
async logIn(username , password , backend ,
|
|
10699
|
-
|
|
10700
|
-
|
|
10734
|
+
async logIn(username , password , backend , extra ) {
|
|
10735
|
+
let tenantId = null;
|
|
10736
|
+
let domainName = null;
|
|
10737
|
+
if (typeof extra === 'string') {
|
|
10738
|
+
tenantId = extra;
|
|
10739
|
+
}
|
|
10740
|
+
if (extra && typeof extra === 'object') {
|
|
10741
|
+
domainName = extra.domainName;
|
|
10742
|
+
}
|
|
10743
|
+
|
|
10744
|
+
if (backend && backend !== this.BACKEND_WAZO && !tenantId && !domainName) {
|
|
10745
|
+
if (!tenantId) {
|
|
10746
|
+
throw new NoTenantIdError('No tenant id');
|
|
10747
|
+
}
|
|
10748
|
+
|
|
10749
|
+
if (!domainName) {
|
|
10750
|
+
throw new NoDomainNameError('No domain name');
|
|
10751
|
+
}
|
|
10701
10752
|
}
|
|
10702
10753
|
|
|
10703
10754
|
this.authenticated = false;
|
|
@@ -10707,6 +10758,7 @@ class Auth {
|
|
|
10707
10758
|
password,
|
|
10708
10759
|
backend,
|
|
10709
10760
|
tenantId,
|
|
10761
|
+
domainName,
|
|
10710
10762
|
expiration: this.expiration,
|
|
10711
10763
|
mobile: this.mobile,
|
|
10712
10764
|
});
|
|
@@ -10715,7 +10767,13 @@ class Auth {
|
|
|
10715
10767
|
getApiClient().setRefreshBackend(backend);
|
|
10716
10768
|
}
|
|
10717
10769
|
|
|
10718
|
-
|
|
10770
|
+
if (tenantId) {
|
|
10771
|
+
getApiClient().setRefreshTenantId(tenantId);
|
|
10772
|
+
}
|
|
10773
|
+
|
|
10774
|
+
if (domainName) {
|
|
10775
|
+
getApiClient().setRefreshDomainName(domainName);
|
|
10776
|
+
}
|
|
10719
10777
|
|
|
10720
10778
|
return this._onAuthenticated(rawSession);
|
|
10721
10779
|
}
|
|
@@ -10814,11 +10872,18 @@ class Auth {
|
|
|
10814
10872
|
}
|
|
10815
10873
|
|
|
10816
10874
|
setRefreshTenantId(refreshTenantId ) {
|
|
10875
|
+
console.warn('Use of `setRefreshTenantId` is deprecated, use `setRefreshDomainName` instead.');
|
|
10817
10876
|
setRefreshTenantId(refreshTenantId);
|
|
10818
10877
|
|
|
10819
10878
|
getApiClient().setRefreshTenantId(refreshTenantId);
|
|
10820
10879
|
}
|
|
10821
10880
|
|
|
10881
|
+
setRefreshDomainName(domainName ) {
|
|
10882
|
+
setRefreshDomainName(domainName);
|
|
10883
|
+
|
|
10884
|
+
getApiClient().setRefreshDomainName(domainName);
|
|
10885
|
+
}
|
|
10886
|
+
|
|
10822
10887
|
forceRefreshToken() {
|
|
10823
10888
|
getApiClient().forceRefreshToken();
|
|
10824
10889
|
}
|
|
@@ -13910,6 +13975,7 @@ class Softphone {
|
|
|
13910
13975
|
wrapUpDuration,
|
|
13911
13976
|
enableAgent = true,
|
|
13912
13977
|
tenantId,
|
|
13978
|
+
domainName,
|
|
13913
13979
|
debug = false,
|
|
13914
13980
|
} = {}) {
|
|
13915
13981
|
this.url = url || 'https://softphone.wazo.io';
|
|
@@ -13934,8 +14000,12 @@ class Softphone {
|
|
|
13934
14000
|
config.port = port;
|
|
13935
14001
|
}
|
|
13936
14002
|
if (tenantId) {
|
|
14003
|
+
console.warn('Use of `tenantId` is deprecated when calling `Softphone.init()`, use `domainName` instead');
|
|
13937
14004
|
config.tenantId = tenantId;
|
|
13938
14005
|
}
|
|
14006
|
+
if (domainName) {
|
|
14007
|
+
config.domainName = domainName;
|
|
14008
|
+
}
|
|
13939
14009
|
if (wrapUpDuration) {
|
|
13940
14010
|
config.wrapUpDuration = wrapUpDuration;
|
|
13941
14011
|
}
|
|
@@ -14256,6 +14326,7 @@ const Wazo = {
|
|
|
14256
14326
|
CanceledCallError,
|
|
14257
14327
|
SFUNotAvailableError,
|
|
14258
14328
|
NoTenantIdError,
|
|
14329
|
+
NoDomainNameError,
|
|
14259
14330
|
};
|
|
14260
14331
|
|
|
14261
14332
|
if (window) {
|
package/lib/simple/Softphone.js
CHANGED
|
@@ -109,6 +109,7 @@ class Softphone {
|
|
|
109
109
|
wrapUpDuration,
|
|
110
110
|
enableAgent = true,
|
|
111
111
|
tenantId,
|
|
112
|
+
domainName,
|
|
112
113
|
debug = false,
|
|
113
114
|
} = {}) {
|
|
114
115
|
this.url = url || 'https://softphone.wazo.io';
|
|
@@ -133,8 +134,12 @@ class Softphone {
|
|
|
133
134
|
config.port = port;
|
|
134
135
|
}
|
|
135
136
|
if (tenantId) {
|
|
137
|
+
console.warn('Use of `tenantId` is deprecated when calling `Softphone.init()`, use `domainName` instead');
|
|
136
138
|
config.tenantId = tenantId;
|
|
137
139
|
}
|
|
140
|
+
if (domainName) {
|
|
141
|
+
config.domainName = domainName;
|
|
142
|
+
}
|
|
138
143
|
if (wrapUpDuration) {
|
|
139
144
|
config.wrapUpDuration = wrapUpDuration;
|
|
140
145
|
}
|
package/lib/simple/index.js
CHANGED
|
@@ -2239,6 +2239,7 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2239
2239
|
|
|
2240
2240
|
|
|
2241
2241
|
|
|
2242
|
+
|
|
2242
2243
|
) {
|
|
2243
2244
|
const body = {
|
|
2244
2245
|
backend: params.backend || DEFAULT_BACKEND_USER,
|
|
@@ -2259,9 +2260,14 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2259
2260
|
}
|
|
2260
2261
|
|
|
2261
2262
|
if (params.tenantId) {
|
|
2263
|
+
console.warn('Use of `tenantId` is deprecated when calling logIn() method, use `domainName` instead.');
|
|
2262
2264
|
body.tenant_id = params.tenantId;
|
|
2263
2265
|
}
|
|
2264
2266
|
|
|
2267
|
+
if (params.domainName) {
|
|
2268
|
+
body.domain_name = params.domainName;
|
|
2269
|
+
}
|
|
2270
|
+
|
|
2265
2271
|
return client.post(`${baseUrl}/token`, body, headers).then(response => Session.parse(response));
|
|
2266
2272
|
},
|
|
2267
2273
|
|
|
@@ -2274,6 +2280,7 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2274
2280
|
expiration ,
|
|
2275
2281
|
isMobile = false,
|
|
2276
2282
|
tenantId ,
|
|
2283
|
+
domainName ,
|
|
2277
2284
|
) => {
|
|
2278
2285
|
const body = {
|
|
2279
2286
|
backend: backend || DEFAULT_BACKEND_USER,
|
|
@@ -2283,9 +2290,14 @@ var authMethods = (client , baseUrl ) => ({
|
|
|
2283
2290
|
};
|
|
2284
2291
|
|
|
2285
2292
|
if (tenantId) {
|
|
2293
|
+
console.warn('Use of `tenantId` is deprecated when calling refreshToken() method, use `domainName` instead.');
|
|
2286
2294
|
body.tenant_id = tenantId;
|
|
2287
2295
|
}
|
|
2288
2296
|
|
|
2297
|
+
if (domainName) {
|
|
2298
|
+
body.domain_name = domainName;
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2289
2301
|
const headers = {
|
|
2290
2302
|
'Content-Type': 'application/json',
|
|
2291
2303
|
...(isMobile ? { 'Wazo-Session-Type': 'mobile' } : {}),
|
|
@@ -5583,6 +5595,7 @@ class ApiClient {
|
|
|
5583
5595
|
|
|
5584
5596
|
|
|
5585
5597
|
|
|
5598
|
+
|
|
5586
5599
|
|
|
5587
5600
|
|
|
5588
5601
|
|
|
@@ -5624,6 +5637,7 @@ class ApiClient {
|
|
|
5624
5637
|
refreshToken: this.refreshToken,
|
|
5625
5638
|
refreshBackend: this.refreshBackend,
|
|
5626
5639
|
refreshTenantId: this.refreshTenantId,
|
|
5640
|
+
refreshDomainName: this.refreshDomainName,
|
|
5627
5641
|
refreshExpiration: this.refreshExpiration,
|
|
5628
5642
|
isMobile: this.isMobile,
|
|
5629
5643
|
});
|
|
@@ -5639,6 +5653,7 @@ class ApiClient {
|
|
|
5639
5653
|
this.refreshExpiration,
|
|
5640
5654
|
this.isMobile,
|
|
5641
5655
|
this.refreshTenantId,
|
|
5656
|
+
this.refreshDomainName,
|
|
5642
5657
|
);
|
|
5643
5658
|
|
|
5644
5659
|
logger$a.info('token refreshed', { token: session.token });
|
|
@@ -5692,9 +5707,14 @@ class ApiClient {
|
|
|
5692
5707
|
}
|
|
5693
5708
|
|
|
5694
5709
|
setRefreshTenantId(tenantId ) {
|
|
5710
|
+
console.warn('Use of `setRefreshTenantId` is deprecated, use `setRefreshDomainName` instead');
|
|
5695
5711
|
this.refreshTenantId = tenantId;
|
|
5696
5712
|
}
|
|
5697
5713
|
|
|
5714
|
+
setRefreshDomainName(domainName ) {
|
|
5715
|
+
this.refreshDomainName = domainName;
|
|
5716
|
+
}
|
|
5717
|
+
|
|
5698
5718
|
setIsMobile(isMobile ) {
|
|
5699
5719
|
this.isMobile = isMobile;
|
|
5700
5720
|
}
|
|
@@ -5719,6 +5739,7 @@ global.wazoClientId = global.wazoClientId || {};
|
|
|
5719
5739
|
global.wazoClientToken = global.wazoClientToken || {};
|
|
5720
5740
|
global.wazoRefreshToken = global.wazoRefreshToken || {};
|
|
5721
5741
|
global.wazoRefreshTenantId = global.wazoRefreshTenantId || {};
|
|
5742
|
+
global.wazoRefreshDomainName = global.wazoRefreshDomainName || {};
|
|
5722
5743
|
global.wazoOnRefreshToken = global.wazoOnRefreshToken || {};
|
|
5723
5744
|
global.wazoOnRefreshTokenError = global.wazoOnRefreshTokenError || {};
|
|
5724
5745
|
global.wazoRefreshExpiration = global.wazoRefreshExpiration || {};
|
|
@@ -5743,9 +5764,14 @@ const setRefreshToken = (newRefreshToken , forServer = null) =>
|
|
|
5743
5764
|
};
|
|
5744
5765
|
|
|
5745
5766
|
const setRefreshTenantId = (refreshTenantId , forServer = null) => {
|
|
5767
|
+
console.warn('Use of `setRefreshTenantId` is deprecated, please use `setRefreshDomainName` instead');
|
|
5746
5768
|
global.wazoRefreshTenantId[forServer] = refreshTenantId;
|
|
5747
5769
|
};
|
|
5748
5770
|
|
|
5771
|
+
const setRefreshDomainName = (refreshDomainName , forServer = null) => {
|
|
5772
|
+
global.wazoRefreshDomainName[forServer] = refreshDomainName;
|
|
5773
|
+
};
|
|
5774
|
+
|
|
5749
5775
|
const setOnRefreshToken = (onRefreshToken , forServer = null) => {
|
|
5750
5776
|
global.wazoOnRefreshToken[forServer] = onRefreshToken;
|
|
5751
5777
|
};
|
|
@@ -5764,6 +5790,7 @@ const setFetchOptions = (fetchOptions , forServer = null) => {
|
|
|
5764
5790
|
|
|
5765
5791
|
const fillClient = (apiClient ) => {
|
|
5766
5792
|
const { server, token, clientId } = apiClient.client;
|
|
5793
|
+
const tenantId = global.wazoRefreshTenantId[server] || global.wazoRefreshTenantId[null] || apiClient.refreshTenantId;
|
|
5767
5794
|
|
|
5768
5795
|
// try with null server when dealing with non-related server info
|
|
5769
5796
|
apiClient.setToken(global.wazoClientToken[server] || global.wazoClientToken[null] || token);
|
|
@@ -5772,8 +5799,12 @@ const fillClient = (apiClient ) => {
|
|
|
5772
5799
|
|
|
5773
5800
|
apiClient.setRefreshToken(global.wazoRefreshToken[server] || global.wazoRefreshToken[null] || apiClient.refreshToken);
|
|
5774
5801
|
|
|
5775
|
-
|
|
5776
|
-
|
|
5802
|
+
if (tenantId) {
|
|
5803
|
+
apiClient.setRefreshTenantId(tenantId);
|
|
5804
|
+
}
|
|
5805
|
+
|
|
5806
|
+
apiClient.setRefreshDomainName(
|
|
5807
|
+
global.wazoRefreshDomainName[server] || global.wazoRefreshDomainName[null] || apiClient.refreshDomainName,
|
|
5777
5808
|
);
|
|
5778
5809
|
|
|
5779
5810
|
apiClient.setFetchOptions(global.wazoFetchOptions[server] || global.wazoFetchOptions[null] || apiClient.fetchOptions);
|
|
@@ -5815,6 +5846,7 @@ var getApiClient = (forServer = null) => {
|
|
|
5815
5846
|
class InvalidSubscription extends Error {}
|
|
5816
5847
|
class InvalidAuthorization extends Error {}
|
|
5817
5848
|
class NoTenantIdError extends Error {}
|
|
5849
|
+
class NoDomainNameError extends Error {}
|
|
5818
5850
|
|
|
5819
5851
|
const logger$9 = IssueReporter$1.loggerFor('simple-auth');
|
|
5820
5852
|
|
|
@@ -5878,9 +5910,24 @@ class Auth {
|
|
|
5878
5910
|
setFetchOptions(options);
|
|
5879
5911
|
}
|
|
5880
5912
|
|
|
5881
|
-
async logIn(username , password , backend ,
|
|
5882
|
-
|
|
5883
|
-
|
|
5913
|
+
async logIn(username , password , backend , extra ) {
|
|
5914
|
+
let tenantId = null;
|
|
5915
|
+
let domainName = null;
|
|
5916
|
+
if (typeof extra === 'string') {
|
|
5917
|
+
tenantId = extra;
|
|
5918
|
+
}
|
|
5919
|
+
if (extra && typeof extra === 'object') {
|
|
5920
|
+
domainName = extra.domainName;
|
|
5921
|
+
}
|
|
5922
|
+
|
|
5923
|
+
if (backend && backend !== this.BACKEND_WAZO && !tenantId && !domainName) {
|
|
5924
|
+
if (!tenantId) {
|
|
5925
|
+
throw new NoTenantIdError('No tenant id');
|
|
5926
|
+
}
|
|
5927
|
+
|
|
5928
|
+
if (!domainName) {
|
|
5929
|
+
throw new NoDomainNameError('No domain name');
|
|
5930
|
+
}
|
|
5884
5931
|
}
|
|
5885
5932
|
|
|
5886
5933
|
this.authenticated = false;
|
|
@@ -5890,6 +5937,7 @@ class Auth {
|
|
|
5890
5937
|
password,
|
|
5891
5938
|
backend,
|
|
5892
5939
|
tenantId,
|
|
5940
|
+
domainName,
|
|
5893
5941
|
expiration: this.expiration,
|
|
5894
5942
|
mobile: this.mobile,
|
|
5895
5943
|
});
|
|
@@ -5898,7 +5946,13 @@ class Auth {
|
|
|
5898
5946
|
getApiClient().setRefreshBackend(backend);
|
|
5899
5947
|
}
|
|
5900
5948
|
|
|
5901
|
-
|
|
5949
|
+
if (tenantId) {
|
|
5950
|
+
getApiClient().setRefreshTenantId(tenantId);
|
|
5951
|
+
}
|
|
5952
|
+
|
|
5953
|
+
if (domainName) {
|
|
5954
|
+
getApiClient().setRefreshDomainName(domainName);
|
|
5955
|
+
}
|
|
5902
5956
|
|
|
5903
5957
|
return this._onAuthenticated(rawSession);
|
|
5904
5958
|
}
|
|
@@ -5997,11 +6051,18 @@ class Auth {
|
|
|
5997
6051
|
}
|
|
5998
6052
|
|
|
5999
6053
|
setRefreshTenantId(refreshTenantId ) {
|
|
6054
|
+
console.warn('Use of `setRefreshTenantId` is deprecated, use `setRefreshDomainName` instead.');
|
|
6000
6055
|
setRefreshTenantId(refreshTenantId);
|
|
6001
6056
|
|
|
6002
6057
|
getApiClient().setRefreshTenantId(refreshTenantId);
|
|
6003
6058
|
}
|
|
6004
6059
|
|
|
6060
|
+
setRefreshDomainName(domainName ) {
|
|
6061
|
+
setRefreshDomainName(domainName);
|
|
6062
|
+
|
|
6063
|
+
getApiClient().setRefreshDomainName(domainName);
|
|
6064
|
+
}
|
|
6065
|
+
|
|
6005
6066
|
forceRefreshToken() {
|
|
6006
6067
|
getApiClient().forceRefreshToken();
|
|
6007
6068
|
}
|
|
@@ -7730,7 +7791,7 @@ class WebRTCClient extends Emitter {
|
|
|
7730
7791
|
|
|
7731
7792
|
videoSender = transceiverIdx !== -1 ? transceivers[transceiverIdx].sender : null;
|
|
7732
7793
|
} else {
|
|
7733
|
-
videoSender = pc.getSenders().find(sender => sender.track === null);
|
|
7794
|
+
videoSender = pc && pc.getSenders && pc.getSenders().find(sender => sender.track === null);
|
|
7734
7795
|
}
|
|
7735
7796
|
|
|
7736
7797
|
if (!videoSender) {
|
|
@@ -7771,9 +7832,11 @@ class WebRTCClient extends Emitter {
|
|
|
7771
7832
|
const videoTracks = localStream.getVideoTracks();
|
|
7772
7833
|
|
|
7773
7834
|
// Remove video senders
|
|
7774
|
-
pc.getSenders
|
|
7775
|
-
|
|
7776
|
-
|
|
7835
|
+
if (pc.getSenders) {
|
|
7836
|
+
pc.getSenders().filter(sender => sender.track && sender.track.kind === 'video').forEach(videoSender => {
|
|
7837
|
+
videoSender.replaceTrack(null);
|
|
7838
|
+
});
|
|
7839
|
+
}
|
|
7777
7840
|
|
|
7778
7841
|
videoTracks.forEach(videoTrack => {
|
|
7779
7842
|
videoTrack.enabled = false;
|
|
@@ -8006,7 +8069,8 @@ class WebRTCClient extends Emitter {
|
|
|
8006
8069
|
const constraints = { audio: { deviceId: { exact: deviceId } } };
|
|
8007
8070
|
const stream = await navigator.mediaDevices.getUserMedia(constraints);
|
|
8008
8071
|
const audioTrack = stream.getAudioTracks()[0];
|
|
8009
|
-
const sender = pc && pc.getSenders
|
|
8072
|
+
const sender = pc && pc.getSenders
|
|
8073
|
+
&& pc.getSenders().find(s => audioTrack && s && s.track && s.track.kind === audioTrack.kind);
|
|
8010
8074
|
|
|
8011
8075
|
if (sender) {
|
|
8012
8076
|
if (sender.track) {
|
|
@@ -8069,10 +8133,11 @@ class WebRTCClient extends Emitter {
|
|
|
8069
8133
|
// $FlowFixMe
|
|
8070
8134
|
return navigator.mediaDevices.getUserMedia(constraints).then(async stream => {
|
|
8071
8135
|
const videoTrack = stream.getVideoTracks()[0];
|
|
8072
|
-
let sender = pc && pc.getSenders
|
|
8136
|
+
let sender = pc && pc.getSenders
|
|
8137
|
+
&& pc.getSenders().find(s => videoTrack && s && s.track && s.track.kind === videoTrack.kind);
|
|
8073
8138
|
let wasTrackEnabled = false;
|
|
8074
8139
|
if (!sender) {
|
|
8075
|
-
sender = pc && pc.getSenders().find(s => !s.track);
|
|
8140
|
+
sender = pc && pc.getSenders && pc.getSenders().find(s => !s.track);
|
|
8076
8141
|
}
|
|
8077
8142
|
|
|
8078
8143
|
if (sender) {
|
|
@@ -9606,7 +9671,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9606
9671
|
const screenTrack = screenShareStream.getVideoTracks()[0];
|
|
9607
9672
|
const sipSession = this.currentSipSession;
|
|
9608
9673
|
const pc = this.client.getPeerConnection(this.getSipSessionId(sipSession));
|
|
9609
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9674
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9610
9675
|
const localStream = this.client.getLocalStream(this.getSipSessionId(sipSession));
|
|
9611
9676
|
const videoTrack = localStream ? localStream.getTracks().find(track => track.kind === 'video') : null;
|
|
9612
9677
|
const hadVideo = !!videoTrack;
|
|
@@ -9688,7 +9753,7 @@ class WebRTCPhone extends Emitter {
|
|
|
9688
9753
|
const screenTrack = screenStream.getVideoTracks()[0];
|
|
9689
9754
|
const sipSessionId = this.getSipSessionId(sipSession);
|
|
9690
9755
|
const pc = this.client.getPeerConnection(sipSessionId);
|
|
9691
|
-
const sender = pc && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9756
|
+
const sender = pc && pc.getSenders && pc.getSenders().find(s => s && s.track && s.track.kind === 'video');
|
|
9692
9757
|
|
|
9693
9758
|
logger$7.info('WebRTC phone - on screensharing', {
|
|
9694
9759
|
hadVideo,
|
|
@@ -14320,6 +14385,7 @@ class Softphone {
|
|
|
14320
14385
|
wrapUpDuration,
|
|
14321
14386
|
enableAgent = true,
|
|
14322
14387
|
tenantId,
|
|
14388
|
+
domainName,
|
|
14323
14389
|
debug = false,
|
|
14324
14390
|
} = {}) {
|
|
14325
14391
|
this.url = url || 'https://softphone.wazo.io';
|
|
@@ -14344,8 +14410,12 @@ class Softphone {
|
|
|
14344
14410
|
config.port = port;
|
|
14345
14411
|
}
|
|
14346
14412
|
if (tenantId) {
|
|
14413
|
+
console.warn('Use of `tenantId` is deprecated when calling `Softphone.init()`, use `domainName` instead');
|
|
14347
14414
|
config.tenantId = tenantId;
|
|
14348
14415
|
}
|
|
14416
|
+
if (domainName) {
|
|
14417
|
+
config.domainName = domainName;
|
|
14418
|
+
}
|
|
14349
14419
|
if (wrapUpDuration) {
|
|
14350
14420
|
config.wrapUpDuration = wrapUpDuration;
|
|
14351
14421
|
}
|
|
@@ -14666,6 +14736,7 @@ const Wazo = {
|
|
|
14666
14736
|
CanceledCallError,
|
|
14667
14737
|
SFUNotAvailableError,
|
|
14668
14738
|
NoTenantIdError,
|
|
14739
|
+
NoDomainNameError,
|
|
14669
14740
|
};
|
|
14670
14741
|
|
|
14671
14742
|
if (window) {
|