async function GetQuestions()

in backend/Functions/WebSockets/livegameadmin/app.js [97:126]


async function GetQuestions(gameInfo){
  const pe = 'gameId,questionNumber,'
  + 'question, answerA, answerB, answerC, answerD, correctAnswer,'
  + 'questionGroup, alternatives, answerFollowup, questionURI, answerURI';
  // load question array for host
  const queryparms = {
    TableName: questionsTableName,
    ExpressionAttributeValues: { ':v1': gameInfo.gameId },
    ExpressionAttributeNames: { '#f1': 'gameId' },
    KeyConditionExpression: '#f1 = :v1',
    ProjectionExpression: pe,
  };
  const Key = { sk: gameInfo.gameId, pk: gameInfo.playerName };
  try {
    let returnMessage = {};
    const questions = await ddb.query(queryparms).promise();
    returnMessage.question = questions.Items;
    returnMessage.channel = 'livestart';
    const quizHeader = await ddb.get({ TableName: playerInventoryTableName, Key }).promise();
    returnMessage.quizname = quizHeader.Item.quizName;
    returnMessage.gameId = quizHeader.Item.gameId;
    returnMessage.questionType = quizHeader.Item.questionType;
    returnMessage.quizMode = quizHeader.Item.quizMode;
    return returnMessage;
  } catch (e) {
    console.error(`quizHeader ${JSON.stringify(Key)}`);
    console.error(`Error getting game ${e}`);
    return { statusCode: 500, body: 'Looks like an invalid game' };
  }
}