in src/backend/serverless/src/handlers.js [166:226]
NotificationsConfiguration: getNotificationsConfig(),
};
console.info('Creating new meeting: ' + JSON.stringify(request));
meetingInfo = await chime.createMeeting(request).promise();
await putMeeting(title, meetingInfo);
} else {
response.statusCode = 400;
response.body = 'Must be moderator to create meeting';
callback(null, response);
return;
}
}
const joinInfo = {
JoinInfo: {
Title: title,
Meeting: meetingInfo.Meeting,
},
};
response.body = JSON.stringify(joinInfo, '', 2);
} catch (e) {
console.error('createMeeting handler failed:', e);
callback(null, makeResponse(503, 'Internal server error'));
return;
}
callback(null, response);
};
exports.join = async (event, context, callback) => {
const response = {
statusCode: 200,
headers: makeCORSHeaders(),
body: '',
isBase64Encoded: false,
};
if (!event.queryStringParameters.title || !event.queryStringParameters.name) {
response['statusCode'] = 400;
response['body'] = 'Must provide title and name';
callback(null, response);
return;
}
console.info('Join meeting' + JSON.stringify(event));
const externalAttendeeId = event && event.headers['attendeeid'];
const title = event.queryStringParameters.title;
const name = event.queryStringParameters.name;
const region = event.queryStringParameters.region || 'us-east-1';
const attendee = await getAttendeeObject(externalAttendeeId);
const isAttendee =
attendee && AttendeeType.ATTENDEE === attendee.AttendeeType;
try {
let meetingInfo = await getMeeting(title);
if (!meetingInfo) {
if (!isAttendee) {
const request = {