in src/index.js [63:126]
async function receivedDigits(event) {
// Last action was ReceiveDigits
const fromNumber = event.CallDetails.Participants[0].From;
const callId = event.CallDetails.Participants[0].CallId;
switch (event.ActionData.ReceivedDigits) {
case "*5":
// Mute all
var meeting = await getMeetingInfo(fromNumber, callId);
var mapAttendee = meeting
.filter(meeting => meeting.callId.S !== event.CallDetails.Participants[0].CallId)
.map(meeting => meeting.attendeeId.S);
if (mapAttendee.length != 0) {
muteAttendeesAction.Parameters.MeetingId = meeting[0].meetingId.S;
muteAttendeesAction.Parameters.AttendeeList = mapAttendee;
return [muteAttendeesAction];
}
// no other attendee nothing to do
return [];
case "*6":
// Unmute all
var meeting = await getMeetingInfo(fromNumber, callId);
var mapAttendee = meeting
.filter(meeting => meeting.callId.S !== event.CallDetails.Participants[0].CallId)
.map(meeting => meeting.attendeeId.S);
if (mapAttendee.length != 0) {
unmuteAttendeesAction.Parameters.MeetingId = meeting[0].meetingId.S;
unmuteAttendeesAction.Parameters.AttendeeList = mapAttendee;
return [unmuteAttendeesAction];
}
// no other attendee nothing to do
return [];
case "*7":
// Mute
var attendee = await getAttendeeInfo(fromNumber, callId);
muteAttendeesAction.Parameters.MeetingId = attendee[0].meetingId.S;
muteAttendeesAction.Parameters.AttendeeList = [attendee[0].attendeeId.S];
return [muteAttendeesAction];
case "*8":
// Unmute
var attendee = await getAttendeeInfo(fromNumber, callId);
unmuteAttendeesAction.Parameters.MeetingId = attendee[0].meetingId.S;
unmuteAttendeesAction.Parameters.AttendeeList = [attendee[0].attendeeId.S];
return [unmuteAttendeesAction];
default:
return [];
}
}