d498e916a0291f37784d5b0ca929ec19e4ffc6a1
[motion2.git] / server / services / routing / server / applications / amazonlex.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x2137=['$LATEST','message','toString','error','amazonlex','providerName','providerResponse','Message','dialogState','Failed','catch','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/smsMessage','../../rpc/faxMessage','consequence','UserId','info','[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','phone','interaction','ChatWebsiteId','account','upperFirst','InteractionId','created','isEmpty','body','getMustacheRender','create','then','stringify','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime'];(function(_0x1206cc,_0x1a2573){var _0x17cb3a=function(_0x3ff381){while(--_0x3ff381){_0x1206cc['push'](_0x1206cc['shift']());}};_0x17cb3a(++_0x1a2573);}(_0x2137,0x9b));var _0x7213=function(_0x49f836,_0x4f1d95){_0x49f836=_0x49f836-0x0;var _0x3a74db=_0x2137[_0x49f836];return _0x3a74db;};'use strict';var _=require(_0x7213('0x0'));var moment=require(_0x7213('0x1'));var AWS=require('aws-sdk');var utils=require(_0x7213('0x2'));var logger=require(_0x7213('0x3'))(_0x7213('0x4'));var rpc={'chatMessage':require(_0x7213('0x5')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x7213('0x6')),'faxMessage':require(_0x7213('0x7')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0x7213('0x8')]=function(_0x41a5e8,_0x2363fe){return function(_0x4d1085){try{if(!_['isNil'](this['interaction'][_0x7213('0x9')])){logger[_0x7213('0xa')](_0x7213('0xb'),_0x41a5e8,_0x7213('0xc'));return _0x4d1085[_0x7213('0xd')]();}var _0x5dbe58={'ContactId':this['contact']['id'],'sentAt':moment()[_0x7213('0xe')](_0x7213('0xf')),'direction':_0x7213('0x10')};if(this[_0x7213('0x11')]===_0x7213('0x12')||this[_0x7213('0x11')]===_0x7213('0x13')){_0x5dbe58[_0x7213('0x14')]=this[_0x7213('0x15')]['phone'];}var _0x2144d9=this[_0x7213('0x11')];if(_0x2144d9==='chat'){_0x5dbe58[_0x7213('0x16')]=this['account']['id'];}else{_0x5dbe58[_['upperFirst'](_0x2144d9)+'AccountId']=this[_0x7213('0x17')]['id'];}_0x5dbe58[_[_0x7213('0x18')](_0x2144d9)+_0x7213('0x19')]=this[_0x7213('0x15')]['id'];if(this['interaction'][_0x7213('0x1a')]){var _0x1afaa3=_0x2363fe[0x4];if(!_[_0x7213('0x1b')](_0x1afaa3)){_0x5dbe58[_0x7213('0x1c')]=utils[_0x7213('0x1d')](_0x1afaa3,this);return rpc[_0x2144d9+'Message'][_0x7213('0x1e')](_0x5dbe58)[_0x7213('0x1f')](function(_0x165512){logger[_0x7213('0xa')](_0x7213('0xb'),_0x41a5e8,_0x5dbe58['body']);})['catch'](function(_0x2192da){logger['error'](_0x7213('0xb'),_0x41a5e8,JSON[_0x7213('0x20')](_0x2192da));})['finally'](function(){logger[_0x7213('0xa')](_0x7213('0x21'),_0x41a5e8);_0x4d1085[_0x7213('0x22')]();});}else{logger[_0x7213('0xa')](_0x7213('0x23'),_0x41a5e8);_0x4d1085[_0x7213('0x22')]();}}else{var _0x3fb3c7=this;var _0x1592a4=new AWS[(_0x7213('0x24'))]({'accessKeyId':_0x2363fe[0x0],'secretAccessKey':_0x2363fe[0x1],'region':_0x2363fe[0x2]});var _0xd4ec29={'botAlias':_0x7213('0x25'),'botName':_0x2363fe[0x3],'inputText':this[_0x7213('0x26')][_0x7213('0x1c')],'userId':this[_0x7213('0x11')]+':'+this[_0x7213('0x15')]['id'][_0x7213('0x27')]()};_0x1592a4['postText'](_0xd4ec29,function(_0x5be278,_0x2c14f0){if(_0x5be278){logger[_0x7213('0x28')](_0x7213('0xb'),_0x41a5e8,_0x5be278[_0x7213('0x26')]);_0x4d1085[_0x7213('0xd')]();}else if(_0x2c14f0&&_0x2c14f0[_0x7213('0x26')]){_0x3fb3c7[_0x7213('0x1c')][_0x7213('0x29')]=_0x2c14f0;_0x5dbe58[_0x7213('0x1c')]=_0x2c14f0[_0x7213('0x26')];_0x5dbe58[_0x7213('0x2a')]=_0x7213('0x29');_0x5dbe58[_0x7213('0x2b')]=JSON[_0x7213('0x20')](_0x2c14f0);return rpc[_0x2144d9+_0x7213('0x2c')][_0x7213('0x1e')](_0x5dbe58)[_0x7213('0x1f')](function(_0x2cf529){logger['info'](_0x7213('0xb'),_0x41a5e8,_0x5dbe58[_0x7213('0x1c')]);if(_0x2c14f0[_0x7213('0x2d')]==_0x7213('0x2e')){_0x4d1085[_0x7213('0xd')]();}else{_0x4d1085[_0x7213('0x22')]();}})[_0x7213('0x2f')](function(_0x315432){logger[_0x7213('0x28')](_0x7213('0xb'),_0x41a5e8,JSON['stringify'](_0x315432));_0x4d1085[_0x7213('0xd')]();});}else{_0x4d1085[_0x7213('0xd')]();}});}}catch(_0x386582){logger[_0x7213('0x28')](_0x7213('0xb'),_0x41a5e8,JSON[_0x7213('0x20')](_0x386582));_0x4d1085['stop']();}};};