async function getGame()

in backend/Functions/HTTP/game_get/app.js [30:66]


async function getGame(sk, pk) {
  let gameInfo = {};
  const game = {};
  let gameHeader = {};
  const Key = { pk, sk };
  try {
    gameHeader = await ddb.get({
      TableName: playerInventoryTableName,
      Key,
    }).promise();
  } catch (e) {
    console.error(`Error getting game ${JSON.stringify(Key)}`);
    console.error(`could not get game header ${JSON.stringify(e.stack)}`);
    return { statusCode: 500, body: 'Could not find game' };
  }
  const queryparms = {
    TableName: questionsTableName,
    ExpressionAttributeValues: { ':v1': sk },
    ExpressionAttributeNames: { '#key': 'gameId' },
    KeyConditionExpression: '#key = :v1',
  };
  try {
    gameInfo = await ddb.query(queryparms).promise();
  } catch (e) {
    console.error(JSON.stringify(queryparms));
    console.error(`could not get game info ${JSON.stringify(e.stack)}`);
    return { statusCode: 500, body: 'Could not retrieve questions' };
  }
  game.gameId = sk;
  game.questions = gameInfo.Items;
  game.quizMode = gameHeader.Item.quizMode;
  game.questionType = gameHeader.Item.questionType;
  game.quizName = gameHeader.Item.quizName;
  game.quizDescription = gameHeader.Item.quizDescription;
  game.usage = gameHeader.Item.usage;
  return game;
}