diff --git a/lib/DatafeedEventsService/index.js b/lib/DatafeedEventsService/index.js index c46b574..99c06ea 100644 --- a/lib/DatafeedEventsService/index.js +++ b/lib/DatafeedEventsService/index.js @@ -79,6 +79,7 @@ class DatafeedEventsService extends EventEmitter { this.retries = 0 if (this.id) { + console.log('Attached to existing datafeed') this._read() } else { this._create() @@ -96,6 +97,7 @@ class DatafeedEventsService extends EventEmitter { _create() { DatafeedClient.createDatafeed().then( ({ id }) => { + console.log('Created new datafeed') this.id = id this.emit('created', id) this._read() diff --git a/lib/MessagesClient/index.js b/lib/MessagesClient/index.js index d233ecf..7cb2bd4 100644 --- a/lib/MessagesClient/index.js +++ b/lib/MessagesClient/index.js @@ -13,10 +13,10 @@ MessagesClient.MESSAGEML_FORMAT = 'messageML' MessagesClient.sendMessage = (conversationId, message, data, format, sessionToken) => { if (format === MessagesClient.PRESENTATIONML_FORMAT) { message = '
' + message + '
' - return send(conversationId, message, data, undefined, undefined, undefined, sessionToken) + return send(conversationId, message, data, undefined, sessionToken) } else if (format === MessagesClient.MESSAGEML_FORMAT) { message = '' + message + '' - return send(conversationId, message, data, undefined, undefined, undefined, sessionToken) + return send(conversationId, message, data, undefined,sessionToken) } } @@ -27,14 +27,32 @@ MessagesClient.sendMessageWithAttachment = ( fileName, fileType, fileContent, - format + format, + sessionToken ) => { if (format === MessagesClient.PRESENTATIONML_FORMAT) { message = '
' + message + '
' - return send(conversationId, message, data, fileName, fileType, fileContent) + return send(conversationId, message, data, [{fileName, fileType, fileContent}], sessionToken) } else if (format === MessagesClient.MESSAGEML_FORMAT) { message = '' + message + '' - return send(conversationId, message, data, fileName, fileType, fileContent) + return send(conversationId, message, data, [{fileName, fileType, fileContent}], sessionToken) + } +}; + +MessagesClient.sendMessageWithMultipleAttachments = ( + conversationId, + message, + data, + files, + format, + sessionToken +) => { + if (format === MessagesClient.PRESENTATIONML_FORMAT) { + message = '
' + message + '
' + return send(conversationId, message, data, files, sessionToken) + } else if (format === MessagesClient.MESSAGEML_FORMAT) { + message = '' + message + '' + return send(conversationId, message, data, files, sessionToken) } } @@ -73,19 +91,25 @@ MessagesClient.getMessage = messageId => agentRequest('get', `/agent/v1/message/${messageId}`, 'MessagesClient/getMessage') /* Generic function to send/forward messages from MessagesClient interface */ -function send (conversationId, message, data, fileName, fileType, fileContent, sessionToken) { +function send (conversationId, message, data, files, sessionToken) { + const form = new FormData() form.append('message', message) if (data) { form.append('data', data) } - if (fileName && fileType && fileContent) { - form.append('attachment', fileContent, { - filename: fileName, - contentType: fileType, - knownLength: fileContent.length - }) + if(files) { + files.forEach(file => { + const { fileName, fileType, fileContent } = file; + if (fileName && fileType && fileContent) { + form.append('attachment', fileContent, { + filename: fileName, + contentType: fileType, + knownLength: fileContent.length + }) + } + }); } return agentRequest( 'post', diff --git a/lib/SymBotClient/index.js b/lib/SymBotClient/index.js index 1538439..196e47b 100644 --- a/lib/SymBotClient/index.js +++ b/lib/SymBotClient/index.js @@ -132,6 +132,7 @@ SymBotClient.stopFirehoseEventsService = FirehoseEventsService.stopService SymBotClient.sendMessage = MessagesClient.sendMessage SymBotClient.sendMessageWithAttachment = MessagesClient.sendMessageWithAttachment +SymBotClient.sendMessageWithMultipleAttachments = MessagesClient.sendMessageWithMultipleAttachments SymBotClient.forwardMessage = MessagesClient.forwardMessage SymBotClient.getAttachment = MessagesClient.getAttachment SymBotClient.getMessage = MessagesClient.getMessage