in lambda/ConnectPullPromptsFromDynamoDB/index.js [51:124]
function getLocalisationMessages()
{
console.log('DEBUG:Entered getLocalisationMessages Lambda for messageGroup:', messageGroup);
var ddbParams =
{
TableName: process.env.dynamodbTable,
Key:
{
MsgGroup: messageGroup
}
};
console.log('DEBUG:calling DDB with params:', JSON.stringify(ddbParams, null, 2));
dynamodb.get(ddbParams, function(err, data)
{
if (err)
{
console.error("Error getting localisation messages: " + err);
invokeCallbackFunction(null);
}
else
{
if (data && data.Item)
{
//Retrieve static messages
var staticMessages = data.Item.Messages.Static;
if (staticMessages && staticMessages.length > 0)
{
console.log('DEBUG:Getting static messages, have :', staticMessages.length, " messages, and language: ", language);
staticMessages.forEach(m =>
{
var MsgID = m.MsgId;
console.log('DEBUG:Static item id:', m.MsgId, " and text: ", m.MsgText[language]);
if (m.MsgText[language] != null && m.MsgText[language] != "")
{
response[MsgID] = m.MsgText[language];
}
else
{
response[MsgID] = "<speak></speak>";
}
});
}
//Retrieve situational messages and only those that are enabled
var situationalMessages = data.Item.Messages.Situational;
if (situationalMessages && situationalMessages.length > 0)
{
situationalMessages.forEach(m =>
{
var MsgID = m.MsgDetail.MsgId;
if ((m.Enabled == "true" || m.Enabled) && m.MsgDetail.MsgText[language] != "")
{
response[MsgID] = m.MsgDetail.MsgText[language];
} else
{
response[MsgID] = "<speak></speak>";
}
});
}
}
else
{
//Message group not configured in DDB and query returns empty objects
console.error("Messages dont exist for this message group in the DDB table: " + messageGroup);
invokeCallbackFunction(null);
}
}
invokeCallbackFunction(response);
});
}