function getLocalisationMessages()

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);
    });
  }