in cloudformationTemplates/asyncCustomerChatUX/js/startChatContact.js [99:133]
function getPreviousContactData(userId, displayName) {
// Searches for Chat with the Next Contact ID as CURRENT_CHAT
return new Promise(function (resolve, reject) {
var params = {
TableName: process.env.CHAT_DATA_TABLE,
IndexName: 'userDisplayHash-nextContactId-index',
KeyConditionExpression: 'userDisplayHash = :user and nextContactId = :nextContactId',
ExpressionAttributeValues: {
':user': userId + displayName,
':nextContactId': 'CURRENT_CHAT'
}
};
docClient.query(params, function(err, results) {
if (err) {
console.error("Unable to query. Error:", JSON.stringify(err, null, 2));
reject();
} else {
console.log("Query succeeded.");
if (results.Items.length > 0) {
console.log("Got entry: " + JSON.stringify(results.Items[0]));
}
var result = {
currentContactId: results.Items.length == 0 ? "INITIAL_CHAT" : results.Items[0].contactId,
previousContactId: results.Items.length == 0 ? "INITIAL_CHAT" : results.Items[0].previousContactId,
s3Key: results.Items.length == 0 ? "NONE" : results.Items[0].s3Key,
startChatResult: results.Items.length == 0 ? "NONE" : JSON.parse(results.Items[0].startChatResult),
date: results.Items.length == 0 ? 969135913 : results.Items[0].date
};
resolve(result);
}
});
});
}