NotificationsConfiguration: getNotificationsConfig()

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 = {