UNPKG

asksuite-core

Version:
73 lines (61 loc) 1.91 kB
const Util = require('./util'); module.exports = function(config) { const host = config.INFOCHAT_DATA_SERVER; const BotmetricsMiddleware = {}; function sendRequest(uri, data, type) { const request = { method: 'POST', url: host + uri, json: data, headers: { 'Content-Type': 'application/json' }, timeout: 10000, }; return Util.executeRequestAndSaveOnError( { request, type, }, config, ); } BotmetricsMiddleware.receive = function(conversationId, message, isTest = false) { return isTest ? returnTestRequest() : sendRequest( '/conversationhistories/' + conversationId, message, 'conversation-histories', ).catch(e => e); }; BotmetricsMiddleware.send = function(conversationId, message, isTest = false) { return isTest ? returnTestRequest() : sendRequest( '/conversationhistories/' + conversationId, message, 'conversation-histories', ).catch(e => e); }; BotmetricsMiddleware.updateData = function(conversationId, message) { return sendRequest('/conversations/' + conversationId + '/userdata', message, 'leads').catch( e => e, ); }; BotmetricsMiddleware.trackIntent = function(message, isTest = false) { return isTest ? returnTestRequest() : sendRequest('/intentstracks', message, 'intents').catch(e => e); }; BotmetricsMiddleware.sendEmailRequest = function(message) { return sendRequest('/requests', message, 'requests').catch(e => e); }; BotmetricsMiddleware.registerNewConversation = function(data, isTest = false) { return isTest ? returnTestRequest() : sendRequest('/conversations', data, 'conversations').catch(e => e); }; function returnTestRequest() { return Promise.resolve(); } return BotmetricsMiddleware; };