Built motion from commit (unavailable).|2.4.17
[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 _0xad49=['create','then','catch','stringify','finally','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime','$LATEST','message','toString','postText','[%s][AMAZONLEX]\x20%s','next','amazonlex','Message','dialogState','Failed','error','aws-sdk','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','consequence','isNil','interaction','info','contact','YYYY-MM-DD\x20HH:mm:ss','channel','chat','ChatWebsiteId','upperFirst','AccountId','account','InteractionId','isEmpty','body'];(function(_0x39eed9,_0x54559e){var _0x54c657=function(_0x56867d){while(--_0x56867d){_0x39eed9['push'](_0x39eed9['shift']());}};_0x54c657(++_0x54559e);}(_0xad49,0x110));var _0x9ad4=function(_0x522f3a,_0x7f86f8){_0x522f3a=_0x522f3a-0x0;var _0x2e0da7=_0xad49[_0x522f3a];return _0x2e0da7;};'use strict';var _=require('lodash');var moment=require('moment');var AWS=require(_0x9ad4('0x0'));var utils=require(_0x9ad4('0x1'));var logger=require('../../../../config/logger')(_0x9ad4('0x2'));var rpc={'chatMessage':require(_0x9ad4('0x3')),'openchannelMessage':require(_0x9ad4('0x4')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x9ad4('0x5')),'faxMessage':require(_0x9ad4('0x6'))};exports[_0x9ad4('0x7')]=function(_0x1543c5,_0x42978c){return function(_0x3964c1){try{if(!_[_0x9ad4('0x8')](this[_0x9ad4('0x9')]['UserId'])){logger[_0x9ad4('0xa')]('[%s][AMAZONLEX]\x20%s',_0x1543c5,'Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.');return _0x3964c1['next']();}var _0x7ec5e1={'ContactId':this[_0x9ad4('0xb')]['id'],'sentAt':moment()['format'](_0x9ad4('0xc')),'direction':'out'};var _0x25d583=this[_0x9ad4('0xd')];if(_0x25d583===_0x9ad4('0xe')){_0x7ec5e1[_0x9ad4('0xf')]=this['account']['id'];}else{_0x7ec5e1[_[_0x9ad4('0x10')](_0x25d583)+_0x9ad4('0x11')]=this[_0x9ad4('0x12')]['id'];}_0x7ec5e1[_[_0x9ad4('0x10')](_0x25d583)+_0x9ad4('0x13')]=this['interaction']['id'];if(this[_0x9ad4('0x9')]['created']){var _0x202f49=_0x42978c[0x4];if(!_[_0x9ad4('0x14')](_0x202f49)){_0x7ec5e1[_0x9ad4('0x15')]=utils['getMustacheRender'](_0x202f49,this);return rpc[_0x25d583+'Message'][_0x9ad4('0x16')](_0x7ec5e1)[_0x9ad4('0x17')](function(_0x1590c3){logger[_0x9ad4('0xa')]('[%s][AMAZONLEX]\x20%s',_0x1543c5,_0x7ec5e1[_0x9ad4('0x15')]);})[_0x9ad4('0x18')](function(_0x160c5c){logger['error']('[%s][AMAZONLEX]\x20%s',_0x1543c5,JSON[_0x9ad4('0x19')](_0x160c5c));})[_0x9ad4('0x1a')](function(){logger[_0x9ad4('0xa')](_0x9ad4('0x1b'),_0x1543c5);_0x3964c1[_0x9ad4('0x1c')]();});}else{logger[_0x9ad4('0xa')](_0x9ad4('0x1d'),_0x1543c5);_0x3964c1[_0x9ad4('0x1c')]();}}else{var _0x4ee223=this;var _0x461e84=new AWS[(_0x9ad4('0x1e'))]({'accessKeyId':_0x42978c[0x0],'secretAccessKey':_0x42978c[0x1],'region':_0x42978c[0x2]});var _0x172ef8={'botAlias':_0x9ad4('0x1f'),'botName':_0x42978c[0x3],'inputText':this[_0x9ad4('0x20')][_0x9ad4('0x15')],'userId':this[_0x9ad4('0x9')]['id'][_0x9ad4('0x21')]()};_0x461e84[_0x9ad4('0x22')](_0x172ef8,function(_0x43b2ec,_0x4629b7){if(_0x43b2ec){logger['error'](_0x9ad4('0x23'),_0x1543c5,_0x43b2ec[_0x9ad4('0x20')]);_0x3964c1[_0x9ad4('0x24')]();}else if(_0x4629b7&&_0x4629b7['message']){_0x4ee223[_0x9ad4('0x15')][_0x9ad4('0x25')]=_0x4629b7;_0x7ec5e1[_0x9ad4('0x15')]=_0x4629b7[_0x9ad4('0x20')];return rpc[_0x25d583+_0x9ad4('0x26')][_0x9ad4('0x16')](_0x7ec5e1)[_0x9ad4('0x17')](function(_0x3fdf83){logger[_0x9ad4('0xa')](_0x9ad4('0x23'),_0x1543c5,_0x7ec5e1['body']);if(_0x4629b7[_0x9ad4('0x27')]==_0x9ad4('0x28')){_0x3964c1[_0x9ad4('0x24')]();}else{_0x3964c1[_0x9ad4('0x1c')]();}})[_0x9ad4('0x18')](function(_0x486bec){logger[_0x9ad4('0x29')](_0x9ad4('0x23'),_0x1543c5,JSON[_0x9ad4('0x19')](_0x486bec));_0x3964c1[_0x9ad4('0x24')]();});}else{_0x3964c1[_0x9ad4('0x24')]();}});}}catch(_0x32ef59){logger[_0x9ad4('0x29')](_0x9ad4('0x23'),_0x1543c5,JSON[_0x9ad4('0x19')](_0x32ef59));_0x3964c1[_0x9ad4('0x1c')]();}};};