Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function logUsage(event, subject, data, callback) {
  2.     console.log('EVENT', event)
  3.     console.log('SUBJECT', subject)
  4.     console.log('DATA', data)
  5.     console.log('CALLBACK', callback)
  6.     try {
  7.         dynamoDbHelper.getItem(event.body.tableName, event.body.CustomerId)
  8.             .then(result => {
  9.                 const time = moment().tz("America/Denver").format('MM/DD/YY hh:mm A');
  10.                 const logObject = {
  11.                     "TextType": subject,
  12.                     "ErrorMessage": data.errorMessage,
  13.                     "SentDate": time,
  14.                     "Success": data.success,
  15.                     "ToNumber": event.body.sendTo
  16.                 };
  17.                 if (Object.keys(result).length === 0) { // If there is no previously existing CustomerId then enter it in with its corresponding ticketId
  18.                     const ticketId = event.body.ticketId;
  19.                     dynamoDbHelper.putItem(event.body.tableName, {
  20.                         "CustomerId": event.body.CustomerId.CustomerId,
  21.                         "TicketIds": {
  22.                             [ticketId]: [logObject]
  23.                         }
  24.                     })
  25.                 } else { // if there is an existing Customer Id check if there is a ticketId in the logs that match the incoming ticketId
  26.                     const ticketId = event.body.ticketId;
  27.                     if (ticketId in result.Item.TicketIds) { // If there is a matching ticketId then update by adding a new log object
  28.                         dynamoDbHelper.updateItem(
  29.                             event.body.tableName,
  30.                             event.body.CustomerId,
  31.                             "SET #ticketIds.#ticketId = list_append(#ticketIds.#ticketId, :new)",
  32.                             { "#ticketIds": "TicketIds", "#ticketId": ticketId },
  33.                             {
  34.                                 ":new": [logObject]
  35.                             },
  36.                             "UPDATED_NEW",
  37.                         ).then(result => {
  38.                             console.log('UPDATE ITEM RESULT INDEX.JS callback', result)
  39.                         }).catch(error => {
  40.                             console.log('UPDATE ITEM ERROR', error)
  41.                         })
  42.                     } else { // If there are no matching ticketIds then put a new ticket Id with its corresponding log
  43.                         const ticketId = event.body.ticketId;
  44.                         dynamoDbHelper.updateItem(
  45.                             event.body.tableName,
  46.                             event.body.CustomerId,
  47.                             "SET #ticketIds.#ticketId = :newTicketId",
  48.                             { "#ticketIds": "TicketIds", "#ticketId": ticketId },
  49.                             {
  50.                                 ":newTicketId": [logObject]
  51.                             },
  52.                             "UPDATED_NEW"
  53.                         ).then(result => {
  54.                             console.log('UPDATE ITEM NO MATCHING TICKET ID', result)
  55.                         }).catch(error => {
  56.                             console.log('UPDATE ITEM 2 ERROR', error)
  57.                         })
  58.                     }
  59.  
  60.                 }
  61.                 console.log('I got it right here')
  62.                 if (subject != null && data != null) {
  63.                     callback(null, event, text, subject)
  64.                 } else {
  65.                     callback(err)
  66.                 }
  67.             })
  68.             .catch(error => {
  69.                 console.log('LOG USAGE ERROR', error)
  70.             })
  71.     }
  72.     catch (err) {
  73.         return err
  74.     }
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement