@wazo/sdk 0.38.6 → 0.38.9
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 +142 -2
- package/esm/__tests__/web-rtc-client.test.js +249 -28
- package/esm/api/calld.js +8 -0
- package/esm/api/confd.js +134 -2
- package/esm/api-client.js +142 -2
- package/esm/checker/Checker.js +205 -25
- package/esm/checker/checks/aor.js +142 -2
- package/esm/checker/checks/api.js +142 -2
- package/esm/checker/checks/index.js +205 -25
- package/esm/checker/checks/wazo-websocket.js +2 -0
- package/esm/checker/checks/webrtc-transport.js +203 -25
- package/esm/checker/checks/webrtc.js +203 -25
- package/esm/domain/AdHocAPIConference.js +142 -2
- package/esm/domain/Features.js +142 -2
- package/esm/domain/Meeting.js +18 -0
- package/esm/domain/MeetingAuthorization.js +70 -0
- package/esm/domain/Phone/CTIPhone.js +142 -2
- package/esm/domain/Phone/WebRTCPhone.js +1 -3
- package/esm/domain/__tests__/Meeting.test.js +87 -1
- package/esm/domain/__tests__/MeetingAuthorization.test.js +109 -0
- package/esm/index.js +249 -31
- package/esm/lib/WazoSessionDescriptionHandler.js +22 -1
- package/esm/service/CallApi.js +142 -2
- package/esm/service/getApiClient.js +142 -2
- package/esm/simple/Auth.js +249 -31
- package/esm/simple/Configuration.js +249 -31
- package/esm/simple/Directory.js +142 -2
- package/esm/simple/Phone.js +249 -31
- package/esm/simple/Websocket.js +3 -0
- package/esm/simple/index.js +249 -31
- package/esm/simple/room/LocalParticipant.js +249 -31
- package/esm/simple/room/Participant.js +249 -31
- package/esm/simple/room/RemoteParticipant.js +249 -31
- package/esm/simple/room/Room.js +249 -31
- package/esm/simple/room/SipRoom.js +249 -31
- package/esm/simple/room/Stream.js +249 -31
- package/esm/simple/room/__tests__/Participant.test.js +14745 -0
- package/esm/simple/room/__tests__/RemoteParticipant.test.js +249 -31
- package/esm/simple/utils.js +249 -31
- package/esm/utils/__tests__/object.test.js +57 -0
- package/esm/utils/__tests__/sdp.test.js +50 -0
- package/esm/utils/__tests__/string.test.js +30 -0
- package/esm/utils/object.js +24 -0
- package/esm/utils/sdp.js +19 -1
- package/esm/utils/string.js +10 -0
- package/esm/web-rtc-client.js +203 -25
- package/esm/websocket-client.js +3 -1
- package/lib/__tests__/api-client.test.js +142 -2
- package/lib/__tests__/web-rtc-client.test.js +249 -28
- package/lib/api/calld.js +8 -0
- package/lib/api/confd.js +134 -2
- package/lib/api-client.js +142 -2
- package/lib/checker/Checker.js +205 -25
- package/lib/checker/checks/aor.js +142 -2
- package/lib/checker/checks/api.js +142 -2
- package/lib/checker/checks/index.js +205 -25
- package/lib/checker/checks/wazo-websocket.js +2 -0
- package/lib/checker/checks/webrtc-transport.js +203 -25
- package/lib/checker/checks/webrtc.js +203 -25
- package/lib/domain/AdHocAPIConference.js +142 -2
- package/lib/domain/Features.js +142 -2
- package/lib/domain/Meeting.js +18 -0
- package/lib/domain/MeetingAuthorization.js +79 -0
- package/lib/domain/Phone/CTIPhone.js +142 -2
- package/lib/domain/Phone/WebRTCPhone.js +1 -3
- package/lib/domain/__tests__/Meeting.test.js +87 -1
- package/lib/domain/__tests__/MeetingAuthorization.test.js +111 -0
- package/lib/index.js +249 -31
- package/lib/lib/WazoSessionDescriptionHandler.js +22 -1
- package/lib/service/CallApi.js +142 -2
- package/lib/service/getApiClient.js +142 -2
- package/lib/simple/Auth.js +249 -31
- package/lib/simple/Configuration.js +249 -31
- package/lib/simple/Directory.js +142 -2
- package/lib/simple/Phone.js +249 -31
- package/lib/simple/Websocket.js +3 -0
- package/lib/simple/index.js +249 -31
- package/lib/simple/room/LocalParticipant.js +249 -31
- package/lib/simple/room/Participant.js +249 -31
- package/lib/simple/room/RemoteParticipant.js +249 -31
- package/lib/simple/room/Room.js +249 -31
- package/lib/simple/room/SipRoom.js +249 -31
- package/lib/simple/room/Stream.js +249 -31
- package/lib/simple/room/__tests__/Participant.test.js +14755 -0
- package/lib/simple/room/__tests__/RemoteParticipant.test.js +249 -31
- package/lib/simple/utils.js +249 -31
- package/lib/utils/__tests__/object.test.js +59 -0
- package/lib/utils/__tests__/sdp.test.js +50 -0
- package/lib/utils/__tests__/string.test.js +32 -0
- package/lib/utils/object.js +28 -0
- package/lib/utils/sdp.js +19 -0
- package/lib/utils/string.js +14 -0
- package/lib/web-rtc-client.js +203 -25
- package/lib/websocket-client.js +3 -0
- package/package.json +2 -2
- package/src/__tests__/web-rtc-client.test.js +46 -3
- package/src/api/calld.js +8 -0
- package/src/api/confd.js +43 -2
- package/src/domain/Meeting.js +20 -0
- package/src/domain/MeetingAuthorization.js +67 -0
- package/src/domain/Phone/WebRTCPhone.js +1 -3
- package/src/domain/__tests__/Meeting.test.js +70 -1
- package/src/domain/__tests__/MeetingAuthorization.test.js +58 -0
- package/src/lib/WazoSessionDescriptionHandler.js +5 -2
- package/src/simple/room/Participant.js +40 -0
- package/src/simple/room/Room.js +2 -2
- package/src/simple/room/SipRoom.js +1 -1
- package/src/simple/room/__tests__/Participant.test.js +81 -0
- package/src/types/WebSocketMessage.js +7 -1
- package/src/utils/__tests__/object.test.js +35 -0
- package/src/utils/__tests__/sdp.test.js +33 -1
- package/src/utils/__tests__/string.test.js +23 -0
- package/src/utils/object.js +15 -0
- package/src/utils/sdp.js +18 -0
- package/src/utils/string.js +8 -0
- package/src/web-rtc-client.js +39 -22
- package/src/websocket-client.js +2 -0
|
@@ -2840,6 +2840,70 @@ class ExternalApp {
|
|
|
2840
2840
|
|
|
2841
2841
|
//
|
|
2842
2842
|
|
|
2843
|
+
class MeetingAuthorization {
|
|
2844
|
+
|
|
2845
|
+
|
|
2846
|
+
|
|
2847
|
+
|
|
2848
|
+
|
|
2849
|
+
|
|
2850
|
+
constructor({
|
|
2851
|
+
meetingUuid,
|
|
2852
|
+
uuid,
|
|
2853
|
+
userUuid,
|
|
2854
|
+
userName,
|
|
2855
|
+
} = {}) {
|
|
2856
|
+
this.meetingUuid = meetingUuid;
|
|
2857
|
+
this.uuid = uuid;
|
|
2858
|
+
this.userUuid = userUuid;
|
|
2859
|
+
this.userName = userName;
|
|
2860
|
+
}
|
|
2861
|
+
|
|
2862
|
+
setStatus(status ) {
|
|
2863
|
+
this.status = status;
|
|
2864
|
+
}
|
|
2865
|
+
|
|
2866
|
+
getStatus() {
|
|
2867
|
+
return this.status;
|
|
2868
|
+
}
|
|
2869
|
+
|
|
2870
|
+
static parse(plain ) {
|
|
2871
|
+
const {
|
|
2872
|
+
meeting_uuid: meetingUuid,
|
|
2873
|
+
uuid,
|
|
2874
|
+
guest_uuid: userUuid,
|
|
2875
|
+
guest_name: userName,
|
|
2876
|
+
} = plain;
|
|
2877
|
+
|
|
2878
|
+
return new MeetingAuthorization({
|
|
2879
|
+
meetingUuid,
|
|
2880
|
+
uuid,
|
|
2881
|
+
userUuid,
|
|
2882
|
+
userName,
|
|
2883
|
+
});
|
|
2884
|
+
}
|
|
2885
|
+
|
|
2886
|
+
static parseMany(items ) {
|
|
2887
|
+
if (!items) {
|
|
2888
|
+
return [];
|
|
2889
|
+
}
|
|
2890
|
+
return items.map(MeetingAuthorization.parse);
|
|
2891
|
+
}
|
|
2892
|
+
}
|
|
2893
|
+
|
|
2894
|
+
//
|
|
2895
|
+
|
|
2896
|
+
|
|
2897
|
+
|
|
2898
|
+
|
|
2899
|
+
|
|
2900
|
+
|
|
2901
|
+
|
|
2902
|
+
|
|
2903
|
+
|
|
2904
|
+
|
|
2905
|
+
|
|
2906
|
+
|
|
2843
2907
|
|
|
2844
2908
|
|
|
2845
2909
|
|
|
@@ -2850,6 +2914,7 @@ class ExternalApp {
|
|
|
2850
2914
|
|
|
2851
2915
|
|
|
2852
2916
|
|
|
2917
|
+
|
|
2853
2918
|
|
|
2854
2919
|
|
|
2855
2920
|
class Meeting {
|
|
@@ -2864,6 +2929,8 @@ class Meeting {
|
|
|
2864
2929
|
|
|
2865
2930
|
|
|
2866
2931
|
|
|
2932
|
+
|
|
2933
|
+
|
|
2867
2934
|
|
|
2868
2935
|
static parse(plain ) {
|
|
2869
2936
|
return new Meeting({
|
|
@@ -2876,6 +2943,7 @@ class Meeting {
|
|
|
2876
2943
|
extension: plain.exten,
|
|
2877
2944
|
persistent: plain.persistent,
|
|
2878
2945
|
creationTime: moment(plain.creation_time).toDate(),
|
|
2946
|
+
requireAuthorization: plain.require_authorization,
|
|
2879
2947
|
});
|
|
2880
2948
|
}
|
|
2881
2949
|
|
|
@@ -2900,6 +2968,7 @@ class Meeting {
|
|
|
2900
2968
|
extension,
|
|
2901
2969
|
persistent,
|
|
2902
2970
|
creationTime,
|
|
2971
|
+
requireAuthorization,
|
|
2903
2972
|
} = {}) {
|
|
2904
2973
|
this.guestSipAuthorization = guestSipAuthorization;
|
|
2905
2974
|
this.uri = uri;
|
|
@@ -2910,6 +2979,7 @@ class Meeting {
|
|
|
2910
2979
|
this.extension = extension;
|
|
2911
2980
|
this.persistent = persistent;
|
|
2912
2981
|
this.creationTime = creationTime;
|
|
2982
|
+
this.requireAuthorization = requireAuthorization;
|
|
2913
2983
|
|
|
2914
2984
|
// Useful to compare instead of instanceof with minified code
|
|
2915
2985
|
this.type = 'Meeting';
|
|
@@ -2920,8 +2990,32 @@ class Meeting {
|
|
|
2920
2990
|
const [username, secret] = atob(this.guestSipAuthorization).split(':');
|
|
2921
2991
|
return { username, secret };
|
|
2922
2992
|
}
|
|
2993
|
+
|
|
2923
2994
|
}
|
|
2924
2995
|
|
|
2996
|
+
//
|
|
2997
|
+
|
|
2998
|
+
const camelToUnderscore = (key ) => {
|
|
2999
|
+
if (typeof key !== 'string') {
|
|
3000
|
+
throw new Error('Input is not a string');
|
|
3001
|
+
}
|
|
3002
|
+
return key.charAt(0).toLowerCase() + key.substring(1).replace(/([A-Z])/g, '_$1').toLowerCase();
|
|
3003
|
+
};
|
|
3004
|
+
|
|
3005
|
+
//
|
|
3006
|
+
|
|
3007
|
+
const convertKeysFromCamelToUnderscore = (args ) => {
|
|
3008
|
+
if (!args || typeof args !== 'object' || Array.isArray(args)) {
|
|
3009
|
+
throw new Error('Input is not an object');
|
|
3010
|
+
}
|
|
3011
|
+
|
|
3012
|
+
return Object.keys(args).reduce((acc, key) => {
|
|
3013
|
+
acc[camelToUnderscore(key)] = typeof args[key] === 'object' && !Array.isArray(args[key])
|
|
3014
|
+
? convertKeysFromCamelToUnderscore(args[key]) : args[key];
|
|
3015
|
+
return acc;
|
|
3016
|
+
}, {});
|
|
3017
|
+
};
|
|
3018
|
+
|
|
2925
3019
|
/* */
|
|
2926
3020
|
|
|
2927
3021
|
var confdMethods = (client , baseUrl ) => ({
|
|
@@ -2990,8 +3084,18 @@ var confdMethods = (client , baseUrl ) => ({
|
|
|
2990
3084
|
getMyMeetings: () =>
|
|
2991
3085
|
client.get(`${baseUrl}/users/me/meetings`).then(response => Meeting.parseMany(response.items)),
|
|
2992
3086
|
|
|
2993
|
-
createMyMeeting: (
|
|
2994
|
-
client
|
|
3087
|
+
createMyMeeting: (args ) =>
|
|
3088
|
+
client
|
|
3089
|
+
.post(`${baseUrl}/users/me/meetings`, convertKeysFromCamelToUnderscore(args))
|
|
3090
|
+
.then(Meeting.parse),
|
|
3091
|
+
|
|
3092
|
+
updateMyMeeting: (meetingUuid , data ) =>
|
|
3093
|
+
client.put(
|
|
3094
|
+
`${baseUrl}/users/me/meetings/${meetingUuid}`,
|
|
3095
|
+
convertKeysFromCamelToUnderscore(data),
|
|
3096
|
+
null,
|
|
3097
|
+
ApiRequester.successResponseParser,
|
|
3098
|
+
),
|
|
2995
3099
|
|
|
2996
3100
|
deleteMyMeeting: (meetingUuid ) =>
|
|
2997
3101
|
client.delete(`${baseUrl}/users/me/meetings/${meetingUuid}`, null),
|
|
@@ -2999,8 +3103,36 @@ var confdMethods = (client , baseUrl ) => ({
|
|
|
2999
3103
|
getMeeting: (meetingUuid ) =>
|
|
3000
3104
|
client.get(`${baseUrl}/meetings/${meetingUuid}`, null).then(Meeting.parse),
|
|
3001
3105
|
|
|
3106
|
+
meetingAuthorizations: (meetingUuid ) =>
|
|
3107
|
+
client.get(`${baseUrl}/users/me/meetings/${meetingUuid}/authorizations`, null).then(MeetingAuthorization.parseMany),
|
|
3108
|
+
|
|
3109
|
+
meetingAuthorizationReject: (meetingUuid , authorizationUuid ) =>
|
|
3110
|
+
client.put(
|
|
3111
|
+
`${baseUrl}/users/me/meetings/${meetingUuid}/authorizations/${authorizationUuid}/reject`,
|
|
3112
|
+
{},
|
|
3113
|
+
null,
|
|
3114
|
+
ApiRequester.successResponseParser,
|
|
3115
|
+
),
|
|
3116
|
+
|
|
3117
|
+
meetingAuthorizationAccept: (meetingUuid , authorizationUuid ) =>
|
|
3118
|
+
client.put(
|
|
3119
|
+
`${baseUrl}/users/me/meetings/${meetingUuid}/authorizations/${authorizationUuid}/accept`,
|
|
3120
|
+
{},
|
|
3121
|
+
null,
|
|
3122
|
+
ApiRequester.successResponseParser,
|
|
3123
|
+
),
|
|
3124
|
+
|
|
3002
3125
|
guestGetMeeting: (meetingUuid ) =>
|
|
3003
3126
|
client.get(`${baseUrl}/guests/me/meetings/${meetingUuid}`, null).then(Meeting.parse),
|
|
3127
|
+
|
|
3128
|
+
guestAuthorizationRequest: (userUuid , meetingUuid , username ) =>
|
|
3129
|
+
client
|
|
3130
|
+
.post(`${baseUrl}/guests/${userUuid}/meetings/${meetingUuid}/authorizations`, { guest_name: username })
|
|
3131
|
+
.then(MeetingAuthorization.parse),
|
|
3132
|
+
|
|
3133
|
+
guestAuthorizationCheck: (userUuid , meetingUuid , authorizationUuid ) =>
|
|
3134
|
+
client.get(`${baseUrl}/guests/${userUuid}/meetings/${meetingUuid}/authorizations/${authorizationUuid}`, null),
|
|
3135
|
+
|
|
3004
3136
|
});
|
|
3005
3137
|
|
|
3006
3138
|
//
|
|
@@ -4207,6 +4339,14 @@ var calldMethods = (client , baseUrl ) => ({
|
|
|
4207
4339
|
getMeetingParticipantsAsUser: async (meetingUuid ) =>
|
|
4208
4340
|
client.get(`${baseUrl}/users/me/meetings/${meetingUuid}/participants`),
|
|
4209
4341
|
|
|
4342
|
+
banMeetingParticipant: (meetingUuid , participantUuid ) =>
|
|
4343
|
+
client.delete(
|
|
4344
|
+
`${baseUrl}/users/me/meetings/${meetingUuid}/participants/${participantUuid}`,
|
|
4345
|
+
null,
|
|
4346
|
+
null,
|
|
4347
|
+
ApiRequester.successResponseParser,
|
|
4348
|
+
),
|
|
4349
|
+
|
|
4210
4350
|
listTrunks: () => client.get(`${baseUrl}/trunks`),
|
|
4211
4351
|
|
|
4212
4352
|
mute: (callId ) =>
|
package/esm/domain/Features.js
CHANGED
|
@@ -2625,6 +2625,70 @@ class ExternalApp {
|
|
|
2625
2625
|
|
|
2626
2626
|
//
|
|
2627
2627
|
|
|
2628
|
+
class MeetingAuthorization {
|
|
2629
|
+
|
|
2630
|
+
|
|
2631
|
+
|
|
2632
|
+
|
|
2633
|
+
|
|
2634
|
+
|
|
2635
|
+
constructor({
|
|
2636
|
+
meetingUuid,
|
|
2637
|
+
uuid,
|
|
2638
|
+
userUuid,
|
|
2639
|
+
userName,
|
|
2640
|
+
} = {}) {
|
|
2641
|
+
this.meetingUuid = meetingUuid;
|
|
2642
|
+
this.uuid = uuid;
|
|
2643
|
+
this.userUuid = userUuid;
|
|
2644
|
+
this.userName = userName;
|
|
2645
|
+
}
|
|
2646
|
+
|
|
2647
|
+
setStatus(status ) {
|
|
2648
|
+
this.status = status;
|
|
2649
|
+
}
|
|
2650
|
+
|
|
2651
|
+
getStatus() {
|
|
2652
|
+
return this.status;
|
|
2653
|
+
}
|
|
2654
|
+
|
|
2655
|
+
static parse(plain ) {
|
|
2656
|
+
const {
|
|
2657
|
+
meeting_uuid: meetingUuid,
|
|
2658
|
+
uuid,
|
|
2659
|
+
guest_uuid: userUuid,
|
|
2660
|
+
guest_name: userName,
|
|
2661
|
+
} = plain;
|
|
2662
|
+
|
|
2663
|
+
return new MeetingAuthorization({
|
|
2664
|
+
meetingUuid,
|
|
2665
|
+
uuid,
|
|
2666
|
+
userUuid,
|
|
2667
|
+
userName,
|
|
2668
|
+
});
|
|
2669
|
+
}
|
|
2670
|
+
|
|
2671
|
+
static parseMany(items ) {
|
|
2672
|
+
if (!items) {
|
|
2673
|
+
return [];
|
|
2674
|
+
}
|
|
2675
|
+
return items.map(MeetingAuthorization.parse);
|
|
2676
|
+
}
|
|
2677
|
+
}
|
|
2678
|
+
|
|
2679
|
+
//
|
|
2680
|
+
|
|
2681
|
+
|
|
2682
|
+
|
|
2683
|
+
|
|
2684
|
+
|
|
2685
|
+
|
|
2686
|
+
|
|
2687
|
+
|
|
2688
|
+
|
|
2689
|
+
|
|
2690
|
+
|
|
2691
|
+
|
|
2628
2692
|
|
|
2629
2693
|
|
|
2630
2694
|
|
|
@@ -2635,6 +2699,7 @@ class ExternalApp {
|
|
|
2635
2699
|
|
|
2636
2700
|
|
|
2637
2701
|
|
|
2702
|
+
|
|
2638
2703
|
|
|
2639
2704
|
|
|
2640
2705
|
class Meeting {
|
|
@@ -2649,6 +2714,8 @@ class Meeting {
|
|
|
2649
2714
|
|
|
2650
2715
|
|
|
2651
2716
|
|
|
2717
|
+
|
|
2718
|
+
|
|
2652
2719
|
|
|
2653
2720
|
static parse(plain ) {
|
|
2654
2721
|
return new Meeting({
|
|
@@ -2661,6 +2728,7 @@ class Meeting {
|
|
|
2661
2728
|
extension: plain.exten,
|
|
2662
2729
|
persistent: plain.persistent,
|
|
2663
2730
|
creationTime: moment(plain.creation_time).toDate(),
|
|
2731
|
+
requireAuthorization: plain.require_authorization,
|
|
2664
2732
|
});
|
|
2665
2733
|
}
|
|
2666
2734
|
|
|
@@ -2685,6 +2753,7 @@ class Meeting {
|
|
|
2685
2753
|
extension,
|
|
2686
2754
|
persistent,
|
|
2687
2755
|
creationTime,
|
|
2756
|
+
requireAuthorization,
|
|
2688
2757
|
} = {}) {
|
|
2689
2758
|
this.guestSipAuthorization = guestSipAuthorization;
|
|
2690
2759
|
this.uri = uri;
|
|
@@ -2695,6 +2764,7 @@ class Meeting {
|
|
|
2695
2764
|
this.extension = extension;
|
|
2696
2765
|
this.persistent = persistent;
|
|
2697
2766
|
this.creationTime = creationTime;
|
|
2767
|
+
this.requireAuthorization = requireAuthorization;
|
|
2698
2768
|
|
|
2699
2769
|
// Useful to compare instead of instanceof with minified code
|
|
2700
2770
|
this.type = 'Meeting';
|
|
@@ -2705,8 +2775,32 @@ class Meeting {
|
|
|
2705
2775
|
const [username, secret] = atob(this.guestSipAuthorization).split(':');
|
|
2706
2776
|
return { username, secret };
|
|
2707
2777
|
}
|
|
2778
|
+
|
|
2708
2779
|
}
|
|
2709
2780
|
|
|
2781
|
+
//
|
|
2782
|
+
|
|
2783
|
+
const camelToUnderscore = (key ) => {
|
|
2784
|
+
if (typeof key !== 'string') {
|
|
2785
|
+
throw new Error('Input is not a string');
|
|
2786
|
+
}
|
|
2787
|
+
return key.charAt(0).toLowerCase() + key.substring(1).replace(/([A-Z])/g, '_$1').toLowerCase();
|
|
2788
|
+
};
|
|
2789
|
+
|
|
2790
|
+
//
|
|
2791
|
+
|
|
2792
|
+
const convertKeysFromCamelToUnderscore = (args ) => {
|
|
2793
|
+
if (!args || typeof args !== 'object' || Array.isArray(args)) {
|
|
2794
|
+
throw new Error('Input is not an object');
|
|
2795
|
+
}
|
|
2796
|
+
|
|
2797
|
+
return Object.keys(args).reduce((acc, key) => {
|
|
2798
|
+
acc[camelToUnderscore(key)] = typeof args[key] === 'object' && !Array.isArray(args[key])
|
|
2799
|
+
? convertKeysFromCamelToUnderscore(args[key]) : args[key];
|
|
2800
|
+
return acc;
|
|
2801
|
+
}, {});
|
|
2802
|
+
};
|
|
2803
|
+
|
|
2710
2804
|
/* */
|
|
2711
2805
|
|
|
2712
2806
|
var confdMethods = (client , baseUrl ) => ({
|
|
@@ -2775,8 +2869,18 @@ var confdMethods = (client , baseUrl ) => ({
|
|
|
2775
2869
|
getMyMeetings: () =>
|
|
2776
2870
|
client.get(`${baseUrl}/users/me/meetings`).then(response => Meeting.parseMany(response.items)),
|
|
2777
2871
|
|
|
2778
|
-
createMyMeeting: (
|
|
2779
|
-
client
|
|
2872
|
+
createMyMeeting: (args ) =>
|
|
2873
|
+
client
|
|
2874
|
+
.post(`${baseUrl}/users/me/meetings`, convertKeysFromCamelToUnderscore(args))
|
|
2875
|
+
.then(Meeting.parse),
|
|
2876
|
+
|
|
2877
|
+
updateMyMeeting: (meetingUuid , data ) =>
|
|
2878
|
+
client.put(
|
|
2879
|
+
`${baseUrl}/users/me/meetings/${meetingUuid}`,
|
|
2880
|
+
convertKeysFromCamelToUnderscore(data),
|
|
2881
|
+
null,
|
|
2882
|
+
ApiRequester.successResponseParser,
|
|
2883
|
+
),
|
|
2780
2884
|
|
|
2781
2885
|
deleteMyMeeting: (meetingUuid ) =>
|
|
2782
2886
|
client.delete(`${baseUrl}/users/me/meetings/${meetingUuid}`, null),
|
|
@@ -2784,8 +2888,36 @@ var confdMethods = (client , baseUrl ) => ({
|
|
|
2784
2888
|
getMeeting: (meetingUuid ) =>
|
|
2785
2889
|
client.get(`${baseUrl}/meetings/${meetingUuid}`, null).then(Meeting.parse),
|
|
2786
2890
|
|
|
2891
|
+
meetingAuthorizations: (meetingUuid ) =>
|
|
2892
|
+
client.get(`${baseUrl}/users/me/meetings/${meetingUuid}/authorizations`, null).then(MeetingAuthorization.parseMany),
|
|
2893
|
+
|
|
2894
|
+
meetingAuthorizationReject: (meetingUuid , authorizationUuid ) =>
|
|
2895
|
+
client.put(
|
|
2896
|
+
`${baseUrl}/users/me/meetings/${meetingUuid}/authorizations/${authorizationUuid}/reject`,
|
|
2897
|
+
{},
|
|
2898
|
+
null,
|
|
2899
|
+
ApiRequester.successResponseParser,
|
|
2900
|
+
),
|
|
2901
|
+
|
|
2902
|
+
meetingAuthorizationAccept: (meetingUuid , authorizationUuid ) =>
|
|
2903
|
+
client.put(
|
|
2904
|
+
`${baseUrl}/users/me/meetings/${meetingUuid}/authorizations/${authorizationUuid}/accept`,
|
|
2905
|
+
{},
|
|
2906
|
+
null,
|
|
2907
|
+
ApiRequester.successResponseParser,
|
|
2908
|
+
),
|
|
2909
|
+
|
|
2787
2910
|
guestGetMeeting: (meetingUuid ) =>
|
|
2788
2911
|
client.get(`${baseUrl}/guests/me/meetings/${meetingUuid}`, null).then(Meeting.parse),
|
|
2912
|
+
|
|
2913
|
+
guestAuthorizationRequest: (userUuid , meetingUuid , username ) =>
|
|
2914
|
+
client
|
|
2915
|
+
.post(`${baseUrl}/guests/${userUuid}/meetings/${meetingUuid}/authorizations`, { guest_name: username })
|
|
2916
|
+
.then(MeetingAuthorization.parse),
|
|
2917
|
+
|
|
2918
|
+
guestAuthorizationCheck: (userUuid , meetingUuid , authorizationUuid ) =>
|
|
2919
|
+
client.get(`${baseUrl}/guests/${userUuid}/meetings/${meetingUuid}/authorizations/${authorizationUuid}`, null),
|
|
2920
|
+
|
|
2789
2921
|
});
|
|
2790
2922
|
|
|
2791
2923
|
//
|
|
@@ -4207,6 +4339,14 @@ var calldMethods = (client , baseUrl ) => ({
|
|
|
4207
4339
|
getMeetingParticipantsAsUser: async (meetingUuid ) =>
|
|
4208
4340
|
client.get(`${baseUrl}/users/me/meetings/${meetingUuid}/participants`),
|
|
4209
4341
|
|
|
4342
|
+
banMeetingParticipant: (meetingUuid , participantUuid ) =>
|
|
4343
|
+
client.delete(
|
|
4344
|
+
`${baseUrl}/users/me/meetings/${meetingUuid}/participants/${participantUuid}`,
|
|
4345
|
+
null,
|
|
4346
|
+
null,
|
|
4347
|
+
ApiRequester.successResponseParser,
|
|
4348
|
+
),
|
|
4349
|
+
|
|
4210
4350
|
listTrunks: () => client.get(`${baseUrl}/trunks`),
|
|
4211
4351
|
|
|
4212
4352
|
mute: (callId ) =>
|
package/esm/domain/Meeting.js
CHANGED
|
@@ -13,6 +13,17 @@ var newFrom = (instance , ToClass ) => {
|
|
|
13
13
|
|
|
14
14
|
//
|
|
15
15
|
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
16
27
|
|
|
17
28
|
|
|
18
29
|
|
|
@@ -23,6 +34,7 @@ var newFrom = (instance , ToClass ) => {
|
|
|
23
34
|
|
|
24
35
|
|
|
25
36
|
|
|
37
|
+
|
|
26
38
|
|
|
27
39
|
|
|
28
40
|
class Meeting {
|
|
@@ -37,6 +49,8 @@ class Meeting {
|
|
|
37
49
|
|
|
38
50
|
|
|
39
51
|
|
|
52
|
+
|
|
53
|
+
|
|
40
54
|
|
|
41
55
|
static parse(plain ) {
|
|
42
56
|
return new Meeting({
|
|
@@ -49,6 +63,7 @@ class Meeting {
|
|
|
49
63
|
extension: plain.exten,
|
|
50
64
|
persistent: plain.persistent,
|
|
51
65
|
creationTime: moment(plain.creation_time).toDate(),
|
|
66
|
+
requireAuthorization: plain.require_authorization,
|
|
52
67
|
});
|
|
53
68
|
}
|
|
54
69
|
|
|
@@ -73,6 +88,7 @@ class Meeting {
|
|
|
73
88
|
extension,
|
|
74
89
|
persistent,
|
|
75
90
|
creationTime,
|
|
91
|
+
requireAuthorization,
|
|
76
92
|
} = {}) {
|
|
77
93
|
this.guestSipAuthorization = guestSipAuthorization;
|
|
78
94
|
this.uri = uri;
|
|
@@ -83,6 +99,7 @@ class Meeting {
|
|
|
83
99
|
this.extension = extension;
|
|
84
100
|
this.persistent = persistent;
|
|
85
101
|
this.creationTime = creationTime;
|
|
102
|
+
this.requireAuthorization = requireAuthorization;
|
|
86
103
|
|
|
87
104
|
// Useful to compare instead of instanceof with minified code
|
|
88
105
|
this.type = 'Meeting';
|
|
@@ -93,6 +110,7 @@ class Meeting {
|
|
|
93
110
|
const [username, secret] = atob(this.guestSipAuthorization).split(':');
|
|
94
111
|
return { username, secret };
|
|
95
112
|
}
|
|
113
|
+
|
|
96
114
|
}
|
|
97
115
|
|
|
98
116
|
export default Meeting;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
//
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
const PENDING = 'pending';
|
|
12
|
+
const ACCEPTED = 'accepted';
|
|
13
|
+
const REJECTED = 'rejected';
|
|
14
|
+
const POST_PROCESSING = 'post_processing';
|
|
15
|
+
const POST_PROCESSED_SUCCESS = 'post_processed_success';
|
|
16
|
+
const POST_PROCESSED_ERROR = 'post_processed_error';
|
|
17
|
+
|
|
18
|
+
class MeetingAuthorization {
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
constructor({
|
|
26
|
+
meetingUuid,
|
|
27
|
+
uuid,
|
|
28
|
+
userUuid,
|
|
29
|
+
userName,
|
|
30
|
+
} = {}) {
|
|
31
|
+
this.meetingUuid = meetingUuid;
|
|
32
|
+
this.uuid = uuid;
|
|
33
|
+
this.userUuid = userUuid;
|
|
34
|
+
this.userName = userName;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
setStatus(status ) {
|
|
38
|
+
this.status = status;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
getStatus() {
|
|
42
|
+
return this.status;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static parse(plain ) {
|
|
46
|
+
const {
|
|
47
|
+
meeting_uuid: meetingUuid,
|
|
48
|
+
uuid,
|
|
49
|
+
guest_uuid: userUuid,
|
|
50
|
+
guest_name: userName,
|
|
51
|
+
} = plain;
|
|
52
|
+
|
|
53
|
+
return new MeetingAuthorization({
|
|
54
|
+
meetingUuid,
|
|
55
|
+
uuid,
|
|
56
|
+
userUuid,
|
|
57
|
+
userName,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static parseMany(items ) {
|
|
62
|
+
if (!items) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
return items.map(MeetingAuthorization.parse);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export default MeetingAuthorization;
|
|
70
|
+
export { ACCEPTED, PENDING, POST_PROCESSED_ERROR, POST_PROCESSED_SUCCESS, POST_PROCESSING, REJECTED };
|