Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
index 5c367f2..f7e761f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2e14=['Lead','contact','Contact','lead','Phone','Enduser\x20with\x20phone\x20%s\x20found.','<unknown>','format','Caller\x20-\x20%s','moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','Company','No\x20Company','upperFirst','forEach','string','idField','toString','type','Variable','name','toLowerCase','concat','securityToken','Connection','remoteUri','clientSecret','login','username','serverUrl','stripTrailingSlash','monitor_format','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','calleridname','calleridnum','Fields','queue','[QUEUE]\x20Ticket\x20%s\x20created','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','user:%s','trigger:salesforce:display','newTab','%s/%s/e','instanceUrl','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','error','[QUEUE]','stringify','recordingFormat','none','email','destcalleridname','outbound','[OUTBOUND]\x20Ticket\x20%s\x20created.','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','trigger:browser:url','[OUTBOUND]','Salesforce\x20account\x20type\x20not\x20recognized','unmanaged','lastevent','toUpperCase','isNil',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.','lodash','request-promise','bluebird','jsforce','util','ioredis','./util','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','emit','ticketType','Task','utc','getString','Descriptions','WhoId','assign','create','validateEmail','sobject','find','execute','then','Email','info','resolve','Name','identity','user_id','display_name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','moduleSearch','contact_lead','length'];(function(_0x1b341a,_0x727338){var _0x411f06=function(_0x4eb8c8){while(--_0x4eb8c8){_0x1b341a['push'](_0x1b341a['shift']());}};_0x411f06(++_0x727338);}(_0x2e14,0xae));var _0x42e1=function(_0x323bf6,_0x19aed6){_0x323bf6=_0x323bf6-0x0;var _0x18da88=_0x2e14[_0x323bf6];return _0x18da88;};'use strict';var _=require(_0x42e1('0x0'));var rp=require(_0x42e1('0x1'));var moment=require('moment');var BPromise=require(_0x42e1('0x2'));var md5=require('md5');var jsforce=require(_0x42e1('0x3'));var util=require(_0x42e1('0x4'));var Redis=require(_0x42e1('0x5'));var intUtil=require(_0x42e1('0x6'));var config=require(_0x42e1('0x7'));var logger=require(_0x42e1('0x8'))('salesforce');config[_0x42e1('0x9')]=_[_0x42e1('0xa')](config[_0x42e1('0x9')],{'host':_0x42e1('0xb'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x42e1('0x9')]));function emit(_0x19d42b,_0x53839f,_0x526007){io['to'](_0x19d42b)[_0x42e1('0xc')](_0x53839f,_0x526007);}function getTicket(_0x5292ee,_0x478678,_0x580160,_0xf2d0b1,_0x30b49b,_0x36c0e3,_0x48c063,_0x45d6df){var _0x293fb3={};if(_0xf2d0b1[_0x42e1('0xd')]===_0x42e1('0xe')){_0x293fb3=Object['assign']({},{'OwnerId':_0x478678['id'],'ActivityDate':moment[_0x42e1('0xf')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x42e1('0x10')](_0xf2d0b1['Subjects'],_0x30b49b,'\x20'),'Description':intUtil['getString'](_0xf2d0b1[_0x42e1('0x11')],_0x30b49b,'\x0a')},getCustomFields(_0x36c0e3,_0x30b49b));if(_0x580160){_0x293fb3[_0x42e1('0x12')]=_0x580160['id'];}}else if(_0xf2d0b1[_0x42e1('0xd')]==='Case'){_0x293fb3=Object[_0x42e1('0x13')]({},{'OwnerId':_0x478678['id'],'Subject':intUtil[_0x42e1('0x10')](_0xf2d0b1['Subjects'],_0x30b49b,'\x20'),'Description':intUtil[_0x42e1('0x10')](_0xf2d0b1[_0x42e1('0x11')],_0x30b49b,'\x0a')},getCustomFields(_0x36c0e3,_0x30b49b));if(_0x580160){_0x293fb3['ContactId']=_0x580160['id'];}}return _0x48c063['sobject'](_0xf2d0b1[_0x42e1('0xd')])[_0x42e1('0x14')](_0x293fb3);}function getUser(_0x4264fd,_0x3a70ab,_0x8476ee){if(!_['isNil'](_0x3a70ab)&&intUtil[_0x42e1('0x15')](_0x3a70ab)){var _0x57e7cb={'Email':_0x3a70ab};var _0x2e35f4={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x8476ee[_0x42e1('0x16')]('User')[_0x42e1('0x17')](_0x57e7cb,_0x2e35f4)[_0x42e1('0x18')]()[_0x42e1('0x19')](function(_0x115f6b){if(_0x115f6b['length']){var _0x4d3c3c=_[_0x42e1('0x17')](_0x115f6b,function(_0x1e8b6d){return _0x1e8b6d[_0x42e1('0x1a')]===_0x3a70ab;});if(_0x4d3c3c){logger[_0x42e1('0x1b')]('Agent\x20%s\x20found.',_0x3a70ab);return BPromise[_0x42e1('0x1c')]({'id':_0x4d3c3c['Id'],'name':_0x4d3c3c[_0x42e1('0x1d')]});}}else{logger[_0x42e1('0x1b')]('Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.',_0x3a70ab);return _0x8476ee[_0x42e1('0x1e')]()['then'](function(_0x299d8b){return BPromise[_0x42e1('0x1c')]({'id':_0x299d8b[_0x42e1('0x1f')],'name':_0x299d8b[_0x42e1('0x20')]});});}});}else{logger[_0x42e1('0x1b')](_0x42e1('0x21'),_0x3a70ab);return _0x8476ee[_0x42e1('0x1e')]()['then'](function(_0x185c85){return BPromise[_0x42e1('0x1c')]({'id':_0x185c85[_0x42e1('0x1f')],'name':_0x185c85[_0x42e1('0x20')]});});}}function getEndUser(_0x9adc6d,_0x1e39c5,_0x507752,_0x4e2572,_0x329bb8){var _0x2b72ec={'Phone':_0x4e2572};var _0xa1422c={'Id':!![],'Name':!![],'Phone':!![]};return BPromise['resolve']()[_0x42e1('0x19')](function(){if(_0x1e39c5['ticketType']===_0x42e1('0xe')){logger[_0x42e1('0x1b')](_0x42e1('0x22'),_0x4e2572,_0x1e39c5[_0x42e1('0x23')]);switch(_0x1e39c5['moduleSearch']){case _0x42e1('0x24'):return _0x329bb8[_0x42e1('0x16')]('Contact')[_0x42e1('0x17')](_0x2b72ec,_0xa1422c)['execute']()[_0x42e1('0x19')](function(_0x406e68){if(_0x406e68&&_0x406e68[_0x42e1('0x25')]){return _0x406e68;}else{return _0x329bb8[_0x42e1('0x16')](_0x42e1('0x26'))['find'](_0x2b72ec,_0xa1422c);}});case _0x42e1('0x27'):return _0x329bb8[_0x42e1('0x16')](_0x42e1('0x28'))[_0x42e1('0x17')](_0x2b72ec,_0xa1422c)['execute']();case _0x42e1('0x29'):return _0x329bb8[_0x42e1('0x16')](_0x42e1('0x26'))[_0x42e1('0x17')](_0x2b72ec,_0xa1422c);default:return null;}}else if(_0x1e39c5[_0x42e1('0xd')]==='Case'){logger[_0x42e1('0x1b')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x4e2572,_0x42e1('0x27'));return _0x329bb8[_0x42e1('0x16')](_0x42e1('0x28'))[_0x42e1('0x17')](_0x2b72ec,_0xa1422c)[_0x42e1('0x18')]();}})[_0x42e1('0x19')](function(_0xbe87b5){if(_0xbe87b5&&_0xbe87b5[_0x42e1('0x25')]){var _0x25d6de=_[_0x42e1('0x17')](_0xbe87b5,function(_0x2761b6){return _0x2761b6[_0x42e1('0x2a')]===_0x4e2572;});if(_0x25d6de){return BPromise[_0x42e1('0x1c')]({'id':_0x25d6de['Id'],'name':_0x25d6de[_0x42e1('0x1d')],'phone':_0x25d6de['Phone']});}}})[_0x42e1('0x19')](function(_0x207ead){if(_0x207ead){logger['info'](_0x42e1('0x2b'),_0x4e2572);return BPromise[_0x42e1('0x1c')](_0x207ead);}else{logger['info']('Enduser\x20with\x20phone\x20%s\x20not\x20found.',_0x4e2572);var _0x1ca02d={'LastName':_0x507752!==_0x42e1('0x2c')?_0x507752:util[_0x42e1('0x2d')](_0x42e1('0x2e'),_0x4e2572),'Phone':_0x4e2572};if(_0x1e39c5[_0x42e1('0x2f')]){if(_0x1e39c5['moduleCreate']==='contact'){logger[_0x42e1('0x1b')](_0x42e1('0x30'),_0x4e2572,_0x1e39c5[_0x42e1('0x2f')]);}else if(_0x1e39c5[_0x42e1('0x2f')]==='lead'&&_0x1e39c5[_0x42e1('0xd')]===_0x42e1('0xe')){logger[_0x42e1('0x1b')](_0x42e1('0x30'),_0x4e2572,_0x1e39c5[_0x42e1('0x2f')]);_0x1ca02d[_0x42e1('0x31')]=_0x42e1('0x32');}else{return null;}}return _0x329bb8[_0x42e1('0x16')](_[_0x42e1('0x33')](_0x1e39c5['moduleCreate']))[_0x42e1('0x14')](_0x1ca02d);}});}function getCustomFields(_0x2874f5,_0x3a95ae){var _0x5592b8={};if(_0x2874f5['length']>0x0){_[_0x42e1('0x34')](_0x2874f5,function(_0x309bbe){if(_0x309bbe['type']===_0x42e1('0x35')&&_0x309bbe[_0x42e1('0x36')]){_0x5592b8[_0x309bbe[_0x42e1('0x36')]]=_0x309bbe['content'][_0x42e1('0x37')]();}else if(_0x309bbe[_0x42e1('0x38')]==='variable'&&_0x309bbe['variableName']&&_0x309bbe[_0x42e1('0x36')]){_0x3a95ae[_0x309bbe['variableName']]&&(_0x5592b8[_0x309bbe[_0x42e1('0x36')]]=_0x3a95ae[_0x309bbe['variableName']]['toString']());}else if(_0x309bbe[_0x42e1('0x38')]==='customVariable'&&_0x309bbe[_0x42e1('0x39')]&&_0x309bbe[_0x42e1('0x39')][_0x42e1('0x3a')]&&_0x309bbe[_0x42e1('0x36')]){_0x3a95ae[_0x309bbe[_0x42e1('0x39')][_0x42e1('0x3a')]['toLowerCase']()]&&(_0x5592b8[_0x309bbe[_0x42e1('0x36')]]=_0x3a95ae[_0x309bbe[_0x42e1('0x39')][_0x42e1('0x3a')][_0x42e1('0x3b')]()]['toString']());}});}return _0x5592b8;}function getConnection(_0x52ff59){var _0x41b2ad=_0x52ff59['password'][_0x42e1('0x3c')](_0x52ff59[_0x42e1('0x3d')]);var _0x52ae9a=new jsforce[(_0x42e1('0x3e'))]({'oauth2':{'loginUrl':_0x52ff59[_0x42e1('0x3f')]||'https://login.salesforce.com','clientId':_0x52ff59['clientId'],'clientSecret':_0x52ff59[_0x42e1('0x40')]}});return _0x52ae9a[_0x42e1('0x41')](_0x52ff59[_0x42e1('0x42')],_0x41b2ad)[_0x42e1('0x19')](function(){logger[_0x42e1('0x1b')]('Connection\x20established.');return _0x52ae9a;});}exports['queue']=function(_0x8a0bf5,_0x125248,_0x3f8c77,_0x16b7c2,_0x3d4ae3,_0x2a4d88){var _0x4f228e,_0x3af466,_0x58f88b,_0x55dc02;_0x2a4d88[_0x42e1('0x43')]=intUtil[_0x42e1('0x44')](_0x2a4d88[_0x42e1('0x43')]);_0x2a4d88[_0x42e1('0x3f')]=intUtil[_0x42e1('0x44')](_0x2a4d88['remoteUri']);if(_0x3d4ae3&&_0x3d4ae3[_0x42e1('0x45')]){logger[_0x42e1('0x1b')]('[QUEUE]',_0x42e1('0x46'));_0x125248[_0x42e1('0x47')]=util[_0x42e1('0x2d')](_0x42e1('0x48'),_0x2a4d88[_0x42e1('0x43')],_0x125248[_0x42e1('0x49')],md5(_0x125248[_0x42e1('0x49')]));}else{_0x125248['recordingURL']='';}return getConnection(_0x2a4d88)[_0x42e1('0x19')](function(_0x3ad3e0){_0x55dc02=_0x3ad3e0;return getUser(_0x2a4d88,_0x16b7c2['email'],_0x55dc02);})[_0x42e1('0x19')](function(_0x1ac437){_0x4f228e=_0x1ac437;return getEndUser(_0x2a4d88,_0x3f8c77,_0x125248[_0x42e1('0x4a')],_0x125248[_0x42e1('0x4b')],_0x55dc02);})[_0x42e1('0x19')](function(_0x179584){_0x3af466=_0x179584;return getTicket(_0x2a4d88,_0x4f228e,_0x3af466,_0x3f8c77,_0x125248,_0x3f8c77[_0x42e1('0x4c')],_0x55dc02,_0x42e1('0x4d'));})[_0x42e1('0x19')](function(_0xf88570){_0x58f88b=_0xf88570;logger['info'](_0x42e1('0x4e'),_0x58f88b['id']);logger['info'](_0x42e1('0x4f'),_0x58f88b['id'],_0x16b7c2[_0x42e1('0x3a')],_0x2a4d88[_0x42e1('0x38')]);switch(_0x2a4d88[_0x42e1('0x38')]){case'integrationTab':emit(util[_0x42e1('0x2d')](_0x42e1('0x50'),_0x16b7c2[_0x42e1('0x3a')]),_0x42e1('0x51'),{'recordId':_0x58f88b['id']});break;case _0x42e1('0x52'):emit(util[_0x42e1('0x2d')]('user:%s',_0x16b7c2[_0x42e1('0x3a')]),'trigger:browser:url',{'uri':util[_0x42e1('0x2d')](_0x42e1('0x53'),_0x55dc02[_0x42e1('0x54')],_0x58f88b['id'])});break;default:logger['error'](_0x42e1('0x55'));}})[_0x42e1('0x56')](function(_0x946764){logger[_0x42e1('0x57')](_0x42e1('0x58'),JSON[_0x42e1('0x59')](_0x946764));});};exports['outbound']=function(_0x57b218,_0x511a56,_0x7a231a,_0x3cf893,_0x6c9a71,_0x5def34,_0x2d3987){var _0x5740fb,_0x2547d5,_0x2f4000,_0x47d56b;_0x5def34['serverUrl']=intUtil[_0x42e1('0x44')](_0x5def34[_0x42e1('0x43')]);_0x5def34['remoteUri']=intUtil[_0x42e1('0x44')](_0x5def34[_0x42e1('0x3f')]);if(_0x2d3987&&_0x2d3987[_0x42e1('0x5a')]&&_0x2d3987[_0x42e1('0x5a')]!==_0x42e1('0x5b')){logger[_0x42e1('0x1b')]('[OUTBOUND]',_0x42e1('0x46'));_0x511a56['recordingURL']=util[_0x42e1('0x2d')](_0x42e1('0x48'),_0x5def34[_0x42e1('0x43')],_0x511a56[_0x42e1('0x49')],md5(_0x511a56['uniqueid']));}return getConnection(_0x5def34)[_0x42e1('0x19')](function(_0x5bb94d){_0x47d56b=_0x5bb94d;return getUser(_0x5def34,_0x3cf893[_0x42e1('0x5c')],_0x47d56b);})[_0x42e1('0x19')](function(_0x36d32f){_0x5740fb=_0x36d32f;return getEndUser(_0x5def34,_0x7a231a,_0x511a56[_0x42e1('0x5d')],_0x511a56['destcalleridnum'],_0x47d56b);})[_0x42e1('0x19')](function(_0x582472){_0x2547d5=_0x582472;return getTicket(_0x5def34,_0x5740fb,_0x2547d5,_0x7a231a,_0x511a56,_0x7a231a['Fields'],_0x47d56b,_0x42e1('0x5e'));})[_0x42e1('0x19')](function(_0x4aa494){_0x2f4000=_0x4aa494;logger[_0x42e1('0x1b')](_0x42e1('0x5f'),_0x2f4000['id']);logger[_0x42e1('0x1b')](_0x42e1('0x60'),_0x2f4000['id'],_0x3cf893[_0x42e1('0x3a')],_0x5def34[_0x42e1('0x38')]);switch(_0x5def34['type']){case'integrationTab':emit(util['format']('user:%s',_0x3cf893[_0x42e1('0x3a')]),'trigger:salesforce:display',{'recordId':_0x2f4000['id']});break;case _0x42e1('0x52'):emit(util[_0x42e1('0x2d')]('user:%s',_0x3cf893[_0x42e1('0x3a')]),_0x42e1('0x61'),{'uri':util[_0x42e1('0x2d')](_0x42e1('0x53'),_0x47d56b[_0x42e1('0x54')],_0x2f4000['id'])});break;default:logger[_0x42e1('0x57')](_0x42e1('0x62'),_0x42e1('0x63'));}})[_0x42e1('0x56')](function(_0x54a26d){logger[_0x42e1('0x57')]('[OUTBOUND]',JSON[_0x42e1('0x59')](_0x54a26d));});};exports[_0x42e1('0x64')]=function(_0x218d35,_0x5c2847,_0x23b642,_0xf20911,_0x22cfc1,_0x515ef9){var _0x3b1536,_0x1016cc,_0x55e42b,_0xf16ec1;_0x515ef9[_0x42e1('0x43')]=intUtil[_0x42e1('0x44')](_0x515ef9['serverUrl']);_0x515ef9[_0x42e1('0x3f')]=intUtil['stripTrailingSlash'](_0x515ef9[_0x42e1('0x3f')]);if(_0x22cfc1&&_0x22cfc1[_0x42e1('0x45')]){logger[_0x42e1('0x1b')]('['+_0x5c2847[_0x42e1('0x65')][_0x42e1('0x66')]()+']',_0x42e1('0x46'));_0x5c2847[_0x42e1('0x47')]=util[_0x42e1('0x2d')](_0x42e1('0x48'),_0x515ef9['serverUrl'],_0x5c2847[_0x42e1('0x49')],md5(_0x5c2847[_0x42e1('0x49')]));}else{_0x5c2847[_0x42e1('0x47')]='';}return getConnection(_0x515ef9)[_0x42e1('0x19')](function(_0x46e9ae){_0xf16ec1=_0x46e9ae;if(!_[_0x42e1('0x67')](_0xf20911)){return getUser(_0x515ef9,_0xf20911[_0x42e1('0x3a')],_0xf16ec1);}else{return getUser(_0x515ef9,null,_0xf16ec1);}})[_0x42e1('0x19')](function(_0x433643){_0x3b1536=_0x433643;return getEndUser(_0x515ef9,_0x23b642,_0x5c2847[_0x42e1('0x4a')],_0x5c2847[_0x42e1('0x4b')],_0xf16ec1);})[_0x42e1('0x19')](function(_0x450a3a){_0x1016cc=_0x450a3a;return getTicket(_0x515ef9,_0x3b1536,_0x1016cc,_0x23b642,_0x5c2847,_0x23b642['Fields'],_0xf16ec1);})[_0x42e1('0x19')](function(_0xc8535b){_0x55e42b=_0xc8535b;logger[_0x42e1('0x1b')]('['+_0x5c2847[_0x42e1('0x65')]['toUpperCase']()+_0x42e1('0x68'),_0x55e42b['id']);logger[_0x42e1('0x1b')]('['+_0x5c2847[_0x42e1('0x65')]['toUpperCase']()+_0x42e1('0x69'),_0x515ef9[_0x42e1('0x38')]);})['catch'](function(_0x56743c){logger[_0x42e1('0x57')]('['+_0x5c2847['lastevent'][_0x42e1('0x66')]()+']',JSON[_0x42e1('0x59')](_0x56743c));});};
\ No newline at end of file
+var _0xcc46=['%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','email','calleridname','calleridnum','Fields','[QUEUE]\x20Ticket\x20%s\x20created','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','user:%s','newTab','trigger:browser:url','instanceUrl','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!','uniqueid','destcalleridname','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','trigger:salesforce:display','%s/%s/e','stringify','unmanaged','isNil','lastevent','toUpperCase',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.','request-promise','moment','bluebird','md5','jsforce','util','ioredis','./util','../../../../config/environment','../../../../config/logger','salesforce','redis','defaults','localhost','socket.io-emitter','emit','ticketType','assign','utc','getString','Subjects','WhoId','Case','Descriptions','ContactId','sobject','create','User','find','then','length','Email','info','Agent\x20%s\x20found.','resolve','Name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','identity','user_id','display_name','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','moduleSearch','contact_lead','Contact','execute','Lead','lead','contact','Phone','Enduser\x20with\x20phone\x20%s\x20not\x20found.','<unknown>','format','Caller\x20-\x20%s','moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','Task','Company','No\x20Company','upperFirst','forEach','type','idField','content','toString','variable','variableName','Variable','name','toLowerCase','password','concat','securityToken','https://login.salesforce.com','clientSecret','login','username','Connection\x20established.','queue','serverUrl','stripTrailingSlash','remoteUri','monitor_format','[QUEUE]','recordingURL'];(function(_0x12840e,_0xc5687d){var _0x4e321d=function(_0x169eef){while(--_0x169eef){_0x12840e['push'](_0x12840e['shift']());}};_0x4e321d(++_0xc5687d);}(_0xcc46,0x105));var _0x6cc4=function(_0xbc1840,_0x2db64a){_0xbc1840=_0xbc1840-0x0;var _0x1aef24=_0xcc46[_0xbc1840];return _0x1aef24;};'use strict';var _=require('lodash');var rp=require(_0x6cc4('0x0'));var moment=require(_0x6cc4('0x1'));var BPromise=require(_0x6cc4('0x2'));var md5=require(_0x6cc4('0x3'));var jsforce=require(_0x6cc4('0x4'));var util=require(_0x6cc4('0x5'));var Redis=require(_0x6cc4('0x6'));var intUtil=require(_0x6cc4('0x7'));var config=require(_0x6cc4('0x8'));var logger=require(_0x6cc4('0x9'))(_0x6cc4('0xa'));config[_0x6cc4('0xb')]=_[_0x6cc4('0xc')](config[_0x6cc4('0xb')],{'host':_0x6cc4('0xd'),'port':0x18eb});var io=require(_0x6cc4('0xe'))(new Redis(config['redis']));function emit(_0x1a4ef5,_0x274817,_0x417ecb){io['to'](_0x1a4ef5)[_0x6cc4('0xf')](_0x274817,_0x417ecb);}function getTicket(_0x382726,_0x313f8a,_0x2bc97f,_0x1a2b86,_0x304595,_0x2fc623,_0x40f7d1,_0x51be3b){var _0x407783={};if(_0x1a2b86[_0x6cc4('0x10')]==='Task'){_0x407783=Object[_0x6cc4('0x11')]({},{'OwnerId':_0x313f8a['id'],'ActivityDate':moment[_0x6cc4('0x12')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x6cc4('0x13')](_0x1a2b86[_0x6cc4('0x14')],_0x304595,'\x20'),'Description':intUtil[_0x6cc4('0x13')](_0x1a2b86['Descriptions'],_0x304595,'\x0a')},getCustomFields(_0x2fc623,_0x304595));if(_0x2bc97f){_0x407783[_0x6cc4('0x15')]=_0x2bc97f['id'];}}else if(_0x1a2b86[_0x6cc4('0x10')]===_0x6cc4('0x16')){_0x407783=Object[_0x6cc4('0x11')]({},{'OwnerId':_0x313f8a['id'],'Subject':intUtil[_0x6cc4('0x13')](_0x1a2b86[_0x6cc4('0x14')],_0x304595,'\x20'),'Description':intUtil[_0x6cc4('0x13')](_0x1a2b86[_0x6cc4('0x17')],_0x304595,'\x0a')},getCustomFields(_0x2fc623,_0x304595));if(_0x2bc97f){_0x407783[_0x6cc4('0x18')]=_0x2bc97f['id'];}}return _0x40f7d1[_0x6cc4('0x19')](_0x1a2b86['ticketType'])[_0x6cc4('0x1a')](_0x407783);}function getUser(_0x4f828e,_0x3cf75e,_0x441e65){if(!_['isNil'](_0x3cf75e)&&intUtil['validateEmail'](_0x3cf75e)){var _0x135f72={'Email':_0x3cf75e};var _0x55fb52={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x441e65[_0x6cc4('0x19')](_0x6cc4('0x1b'))[_0x6cc4('0x1c')](_0x135f72,_0x55fb52)['execute']()[_0x6cc4('0x1d')](function(_0x2cbdb3){if(_0x2cbdb3[_0x6cc4('0x1e')]){var _0x1a6b5a=_[_0x6cc4('0x1c')](_0x2cbdb3,function(_0x10f253){return _0x10f253[_0x6cc4('0x1f')]===_0x3cf75e;});if(_0x1a6b5a){logger[_0x6cc4('0x20')](_0x6cc4('0x21'),_0x3cf75e);return BPromise[_0x6cc4('0x22')]({'id':_0x1a6b5a['Id'],'name':_0x1a6b5a[_0x6cc4('0x23')]});}}else{logger[_0x6cc4('0x20')](_0x6cc4('0x24'),_0x3cf75e);return _0x441e65[_0x6cc4('0x25')]()[_0x6cc4('0x1d')](function(_0xb2d21e){return BPromise[_0x6cc4('0x22')]({'id':_0xb2d21e[_0x6cc4('0x26')],'name':_0xb2d21e[_0x6cc4('0x27')]});});}});}else{logger['info']('Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.',_0x3cf75e);return _0x441e65[_0x6cc4('0x25')]()[_0x6cc4('0x1d')](function(_0x3ebf15){return BPromise[_0x6cc4('0x22')]({'id':_0x3ebf15[_0x6cc4('0x26')],'name':_0x3ebf15[_0x6cc4('0x27')]});});}}function getEndUser(_0x15fdbf,_0x4de5c0,_0x14290c,_0x3f5aaa,_0x5ce847){var _0x3d39f9={'Phone':_0x3f5aaa};var _0x59d617={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x6cc4('0x22')]()[_0x6cc4('0x1d')](function(){if(_0x4de5c0[_0x6cc4('0x10')]==='Task'){logger[_0x6cc4('0x20')](_0x6cc4('0x28'),_0x3f5aaa,_0x4de5c0[_0x6cc4('0x29')]);switch(_0x4de5c0[_0x6cc4('0x29')]){case _0x6cc4('0x2a'):return _0x5ce847['sobject'](_0x6cc4('0x2b'))[_0x6cc4('0x1c')](_0x3d39f9,_0x59d617)[_0x6cc4('0x2c')]()[_0x6cc4('0x1d')](function(_0xa88c9b){if(_0xa88c9b&&_0xa88c9b[_0x6cc4('0x1e')]){return _0xa88c9b;}else{return _0x5ce847[_0x6cc4('0x19')](_0x6cc4('0x2d'))['find'](_0x3d39f9,_0x59d617);}});case'contact':return _0x5ce847['sobject'](_0x6cc4('0x2b'))[_0x6cc4('0x1c')](_0x3d39f9,_0x59d617)[_0x6cc4('0x2c')]();case _0x6cc4('0x2e'):return _0x5ce847[_0x6cc4('0x19')](_0x6cc4('0x2d'))[_0x6cc4('0x1c')](_0x3d39f9,_0x59d617);default:return null;}}else if(_0x4de5c0[_0x6cc4('0x10')]==='Case'){logger[_0x6cc4('0x20')](_0x6cc4('0x28'),_0x3f5aaa,_0x6cc4('0x2f'));return _0x5ce847[_0x6cc4('0x19')](_0x6cc4('0x2b'))[_0x6cc4('0x1c')](_0x3d39f9,_0x59d617)[_0x6cc4('0x2c')]();}})[_0x6cc4('0x1d')](function(_0x3e5540){if(_0x3e5540&&_0x3e5540[_0x6cc4('0x1e')]){var _0x3052c5=_[_0x6cc4('0x1c')](_0x3e5540,function(_0x3e551e){return _0x3e551e[_0x6cc4('0x30')]===_0x3f5aaa;});if(_0x3052c5){return BPromise[_0x6cc4('0x22')]({'id':_0x3052c5['Id'],'name':_0x3052c5['Name'],'phone':_0x3052c5['Phone']});}}})['then'](function(_0x40ba83){if(_0x40ba83){logger['info']('Enduser\x20with\x20phone\x20%s\x20found.',_0x3f5aaa);return BPromise[_0x6cc4('0x22')](_0x40ba83);}else{logger[_0x6cc4('0x20')](_0x6cc4('0x31'),_0x3f5aaa);var _0x3daef9={'LastName':_0x14290c!==_0x6cc4('0x32')?_0x14290c:util[_0x6cc4('0x33')](_0x6cc4('0x34'),_0x3f5aaa),'Phone':_0x3f5aaa};if(_0x4de5c0['moduleCreate']){if(_0x4de5c0[_0x6cc4('0x35')]===_0x6cc4('0x2f')){logger[_0x6cc4('0x20')](_0x6cc4('0x36'),_0x3f5aaa,_0x4de5c0[_0x6cc4('0x35')]);}else if(_0x4de5c0[_0x6cc4('0x35')]===_0x6cc4('0x2e')&&_0x4de5c0['ticketType']===_0x6cc4('0x37')){logger[_0x6cc4('0x20')](_0x6cc4('0x36'),_0x3f5aaa,_0x4de5c0[_0x6cc4('0x35')]);_0x3daef9[_0x6cc4('0x38')]=_0x6cc4('0x39');}else{return null;}}return _0x5ce847[_0x6cc4('0x19')](_[_0x6cc4('0x3a')](_0x4de5c0[_0x6cc4('0x35')]))['create'](_0x3daef9);}});}function getCustomFields(_0x1953c2,_0x25bff7){var _0x4293e1={};if(_0x1953c2[_0x6cc4('0x1e')]>0x0){_[_0x6cc4('0x3b')](_0x1953c2,function(_0x38521c){if(_0x38521c[_0x6cc4('0x3c')]==='string'&&_0x38521c[_0x6cc4('0x3d')]){_0x4293e1[_0x38521c[_0x6cc4('0x3d')]]=_0x38521c[_0x6cc4('0x3e')][_0x6cc4('0x3f')]();}else if(_0x38521c[_0x6cc4('0x3c')]===_0x6cc4('0x40')&&_0x38521c[_0x6cc4('0x41')]&&_0x38521c[_0x6cc4('0x3d')]){_0x25bff7[_0x38521c[_0x6cc4('0x41')]]&&(_0x4293e1[_0x38521c[_0x6cc4('0x3d')]]=_0x25bff7[_0x38521c[_0x6cc4('0x41')]][_0x6cc4('0x3f')]());}else if(_0x38521c[_0x6cc4('0x3c')]==='customVariable'&&_0x38521c[_0x6cc4('0x42')]&&_0x38521c[_0x6cc4('0x42')][_0x6cc4('0x43')]&&_0x38521c['idField']){_0x25bff7[_0x38521c[_0x6cc4('0x42')][_0x6cc4('0x43')][_0x6cc4('0x44')]()]&&(_0x4293e1[_0x38521c[_0x6cc4('0x3d')]]=_0x25bff7[_0x38521c[_0x6cc4('0x42')]['name'][_0x6cc4('0x44')]()][_0x6cc4('0x3f')]());}});}return _0x4293e1;}function getConnection(_0x508aa7){var _0x2dba24=_0x508aa7[_0x6cc4('0x45')][_0x6cc4('0x46')](_0x508aa7[_0x6cc4('0x47')]);var _0x137b27=new jsforce['Connection']({'oauth2':{'loginUrl':_0x508aa7['remoteUri']||_0x6cc4('0x48'),'clientId':_0x508aa7['clientId'],'clientSecret':_0x508aa7[_0x6cc4('0x49')]}});return _0x137b27[_0x6cc4('0x4a')](_0x508aa7[_0x6cc4('0x4b')],_0x2dba24)[_0x6cc4('0x1d')](function(){logger[_0x6cc4('0x20')](_0x6cc4('0x4c'));return _0x137b27;});}exports[_0x6cc4('0x4d')]=function(_0x4d1f27,_0x4b4b21,_0x230467,_0x4a5e72,_0x297b9f,_0x1b4ccb){var _0x3565ed,_0x27e7bd,_0xa8ea38,_0x206307;_0x1b4ccb[_0x6cc4('0x4e')]=intUtil[_0x6cc4('0x4f')](_0x1b4ccb[_0x6cc4('0x4e')]);_0x1b4ccb[_0x6cc4('0x50')]=intUtil[_0x6cc4('0x4f')](_0x1b4ccb['remoteUri']);if(_0x297b9f&&_0x297b9f[_0x6cc4('0x51')]){logger[_0x6cc4('0x20')](_0x6cc4('0x52'),'Recording\x20is\x20enabled!');_0x4b4b21[_0x6cc4('0x53')]=util[_0x6cc4('0x33')](_0x6cc4('0x54'),_0x1b4ccb[_0x6cc4('0x4e')],_0x4b4b21['uniqueid'],md5(_0x4b4b21['uniqueid']));}else{_0x4b4b21[_0x6cc4('0x53')]='';}return getConnection(_0x1b4ccb)[_0x6cc4('0x1d')](function(_0x113dbb){_0x206307=_0x113dbb;return getUser(_0x1b4ccb,_0x4a5e72[_0x6cc4('0x55')],_0x206307);})['then'](function(_0x2a0eba){_0x3565ed=_0x2a0eba;return getEndUser(_0x1b4ccb,_0x230467,_0x4b4b21[_0x6cc4('0x56')],_0x4b4b21[_0x6cc4('0x57')],_0x206307);})[_0x6cc4('0x1d')](function(_0x4efd55){_0x27e7bd=_0x4efd55;return getTicket(_0x1b4ccb,_0x3565ed,_0x27e7bd,_0x230467,_0x4b4b21,_0x230467[_0x6cc4('0x58')],_0x206307,_0x6cc4('0x4d'));})['then'](function(_0x412985){_0xa8ea38=_0x412985;logger[_0x6cc4('0x20')](_0x6cc4('0x59'),_0xa8ea38['id']);logger[_0x6cc4('0x20')](_0x6cc4('0x5a'),_0xa8ea38['id'],_0x4a5e72[_0x6cc4('0x43')],_0x1b4ccb[_0x6cc4('0x3c')]);switch(_0x1b4ccb[_0x6cc4('0x3c')]){case'integrationTab':emit(util['format'](_0x6cc4('0x5b'),_0x4a5e72['name']),'trigger:salesforce:display',{'recordId':_0xa8ea38['id']});break;case _0x6cc4('0x5c'):emit(util[_0x6cc4('0x33')](_0x6cc4('0x5b'),_0x4a5e72[_0x6cc4('0x43')]),_0x6cc4('0x5d'),{'uri':util['format']('%s/%s/e',_0x206307[_0x6cc4('0x5e')],_0xa8ea38['id'])});break;default:logger[_0x6cc4('0x5f')](_0x6cc4('0x60'));}})[_0x6cc4('0x61')](function(_0x20b890){logger[_0x6cc4('0x5f')](_0x6cc4('0x52'),JSON['stringify'](_0x20b890));});};exports['outbound']=function(_0x2bcafe,_0x168319,_0x93cdac,_0x399597,_0x56c961,_0x3ab417,_0xdfb2da){var _0x1996dc,_0x4c56f4,_0x162a40,_0x5b5a93;_0x3ab417['serverUrl']=intUtil[_0x6cc4('0x4f')](_0x3ab417[_0x6cc4('0x4e')]);_0x3ab417[_0x6cc4('0x50')]=intUtil['stripTrailingSlash'](_0x3ab417[_0x6cc4('0x50')]);if(_0xdfb2da&&_0xdfb2da[_0x6cc4('0x62')]&&_0xdfb2da[_0x6cc4('0x62')]!==_0x6cc4('0x63')){logger['info'](_0x6cc4('0x64'),_0x6cc4('0x65'));_0x168319['recordingURL']=util[_0x6cc4('0x33')](_0x6cc4('0x54'),_0x3ab417[_0x6cc4('0x4e')],_0x168319[_0x6cc4('0x66')],md5(_0x168319[_0x6cc4('0x66')]));}return getConnection(_0x3ab417)[_0x6cc4('0x1d')](function(_0x372e7e){_0x5b5a93=_0x372e7e;return getUser(_0x3ab417,_0x399597[_0x6cc4('0x55')],_0x5b5a93);})[_0x6cc4('0x1d')](function(_0x53b929){_0x1996dc=_0x53b929;return getEndUser(_0x3ab417,_0x93cdac,_0x168319[_0x6cc4('0x67')],_0x168319['destcalleridnum'],_0x5b5a93);})['then'](function(_0x26711c){_0x4c56f4=_0x26711c;return getTicket(_0x3ab417,_0x1996dc,_0x4c56f4,_0x93cdac,_0x168319,_0x93cdac['Fields'],_0x5b5a93,'outbound');})[_0x6cc4('0x1d')](function(_0x1d714f){_0x162a40=_0x1d714f;logger[_0x6cc4('0x20')]('[OUTBOUND]\x20Ticket\x20%s\x20created.',_0x162a40['id']);logger[_0x6cc4('0x20')](_0x6cc4('0x68'),_0x162a40['id'],_0x399597[_0x6cc4('0x43')],_0x3ab417[_0x6cc4('0x3c')]);switch(_0x3ab417[_0x6cc4('0x3c')]){case _0x6cc4('0x69'):emit(util[_0x6cc4('0x33')](_0x6cc4('0x5b'),_0x399597['name']),_0x6cc4('0x6a'),{'recordId':_0x162a40['id']});break;case _0x6cc4('0x5c'):emit(util['format'](_0x6cc4('0x5b'),_0x399597[_0x6cc4('0x43')]),_0x6cc4('0x5d'),{'uri':util['format'](_0x6cc4('0x6b'),_0x5b5a93[_0x6cc4('0x5e')],_0x162a40['id'])});break;default:logger['error'](_0x6cc4('0x64'),'Salesforce\x20account\x20type\x20not\x20recognized');}})[_0x6cc4('0x61')](function(_0x44cb0d){logger[_0x6cc4('0x5f')](_0x6cc4('0x64'),JSON[_0x6cc4('0x6c')](_0x44cb0d));});};exports[_0x6cc4('0x6d')]=function(_0x36bd15,_0x848be,_0x17a6db,_0x392f6a,_0x3e6b0c,_0x3d2984){var _0x572979,_0x2856a3,_0x95087b,_0x3f45c9;_0x3d2984[_0x6cc4('0x4e')]=intUtil['stripTrailingSlash'](_0x3d2984[_0x6cc4('0x4e')]);_0x3d2984[_0x6cc4('0x50')]=intUtil['stripTrailingSlash'](_0x3d2984[_0x6cc4('0x50')]);if(_0x3e6b0c&&_0x3e6b0c[_0x6cc4('0x51')]){logger['info']('['+_0x848be['lastevent']['toUpperCase']()+']',_0x6cc4('0x65'));_0x848be[_0x6cc4('0x53')]=util[_0x6cc4('0x33')](_0x6cc4('0x54'),_0x3d2984[_0x6cc4('0x4e')],_0x848be[_0x6cc4('0x66')],md5(_0x848be['uniqueid']));}else{_0x848be[_0x6cc4('0x53')]='';}return getConnection(_0x3d2984)[_0x6cc4('0x1d')](function(_0x26e250){_0x3f45c9=_0x26e250;if(!_[_0x6cc4('0x6e')](_0x392f6a)){return getUser(_0x3d2984,_0x392f6a['name'],_0x3f45c9);}else{return getUser(_0x3d2984,null,_0x3f45c9);}})[_0x6cc4('0x1d')](function(_0x4272ab){_0x572979=_0x4272ab;return getEndUser(_0x3d2984,_0x17a6db,_0x848be[_0x6cc4('0x56')],_0x848be[_0x6cc4('0x57')],_0x3f45c9);})[_0x6cc4('0x1d')](function(_0x369b12){_0x2856a3=_0x369b12;return getTicket(_0x3d2984,_0x572979,_0x2856a3,_0x17a6db,_0x848be,_0x17a6db[_0x6cc4('0x58')],_0x3f45c9);})[_0x6cc4('0x1d')](function(_0xf6f1ee){_0x95087b=_0xf6f1ee;logger[_0x6cc4('0x20')]('['+_0x848be[_0x6cc4('0x6f')][_0x6cc4('0x70')]()+_0x6cc4('0x71'),_0x95087b['id']);logger[_0x6cc4('0x20')]('['+_0x848be['lastevent'][_0x6cc4('0x70')]()+_0x6cc4('0x72'),_0x3d2984[_0x6cc4('0x3c')]);})[_0x6cc4('0x61')](function(_0x4a42d9){logger[_0x6cc4('0x5f')]('['+_0x848be[_0x6cc4('0x6f')]['toUpperCase']()+']',JSON[_0x6cc4('0x6c')](_0x4a42d9));});};
\ No newline at end of file