in backend/Functions/HTTP/player_put/app.js [32:62]
async function savePlayer(playerName, playerItem) {
try {
const expressionAttributeValues = {};
let updateExpression = 'SET latestUpdate = :updateTime';
expressionAttributeValues[':updateTime'] = Date.now();
Object.keys(playerItem).forEach((key) => {
if (key !== 'playerName') {
updateExpression += `, ${key} = :${key}`;
expressionAttributeValues[`:${key}`] = playerItem[key];
}
});
const params = {
TableName: playersTable,
Key: { playerName },
UpdateExpression: updateExpression,
ExpressionAttributeValues: expressionAttributeValues,
ReturnValues: 'UPDATED_NEW',
};
const ddbResult = await ddb.update(params).promise();
return {
status: 200,
body: {
avatar: ddbResult.Attributes.avatar,
thumbnail: ddbResult.Attributes.thumbnail,
},
};
} catch (e) {
console.error(`error updating user ${JSON.stringify(e.stack)}`);
throw e;
}
}