Built motion from commit (unavailable).|2.5.14
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
index cd8542e..a9fdf15 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xeaa3=['contact','Phone','Name','Enduser\x20with\x20phone\x20%s\x20found.','Enduser\x20with\x20phone\x20%s\x20not\x20found.','format','moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','upperFirst','create','forEach','type','string','idField','content','toString','variable','variableName','customVariable','Variable','name','toLowerCase','password','concat','securityToken','Connection','remoteUri','clientId','login','username','Connection\x20established.','queue','serverUrl','stripTrailingSlash','monitor_format','Recording\x20is\x20enabled!','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','recordingURL','email','calleridnum','integrationTab','user:%s','trigger:salesforce:display','newTab','trigger:browser:url','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','[QUEUE]','outbound','recordingFormat','none','[OUTBOUND]','destcalleridname','Fields','[OUTBOUND]\x20Ticket\x20%s\x20created.','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','%s/%s/e','instanceUrl','Salesforce\x20account\x20type\x20not\x20recognized','stringify','unmanaged','lastevent','toUpperCase','calleridname',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.','lodash','moment','bluebird','md5','jsforce','ioredis','./util','../../../../config/environment','../../../../config/logger','salesforce','redis','defaults','localhost','socket.io-emitter','utc','getString','Subjects','Descriptions','ticketType','Case','assign','ContactId','sobject','isNil','validateEmail','User','find','execute','then','Email','info','resolve','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','identity','user_id','display_name','moduleSearch','contact_lead','Contact','length','Lead'];(function(_0x7e6cf7,_0x4c8e23){var _0x18d4ee=function(_0x14b2fc){while(--_0x14b2fc){_0x7e6cf7['push'](_0x7e6cf7['shift']());}};_0x18d4ee(++_0x4c8e23);}(_0xeaa3,0x18b));var _0x3eaa=function(_0x46a3f3,_0x1c04a9){_0x46a3f3=_0x46a3f3-0x0;var _0x486e7b=_0xeaa3[_0x46a3f3];return _0x486e7b;};'use strict';var _=require(_0x3eaa('0x0'));var rp=require('request-promise');var moment=require(_0x3eaa('0x1'));var BPromise=require(_0x3eaa('0x2'));var md5=require(_0x3eaa('0x3'));var jsforce=require(_0x3eaa('0x4'));var util=require('util');var Redis=require(_0x3eaa('0x5'));var intUtil=require(_0x3eaa('0x6'));var config=require(_0x3eaa('0x7'));var logger=require(_0x3eaa('0x8'))(_0x3eaa('0x9'));config[_0x3eaa('0xa')]=_[_0x3eaa('0xb')](config[_0x3eaa('0xa')],{'host':_0x3eaa('0xc'),'port':0x18eb});var io=require(_0x3eaa('0xd'))(new Redis(config[_0x3eaa('0xa')]));function emit(_0x1582f8,_0x3f980a,_0x549c98){io['to'](_0x1582f8)['emit'](_0x3f980a,_0x549c98);}function getTicket(_0x4afa56,_0x34a8a2,_0x502a50,_0x3ca225,_0x3ba365,_0x4f5eb7,_0x2f7b60,_0x2f605e){var _0x3d62d3={};if(_0x3ca225['ticketType']==='Task'){_0x3d62d3=Object['assign']({},{'OwnerId':_0x34a8a2['id'],'ActivityDate':moment[_0x3eaa('0xe')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x3eaa('0xf')](_0x3ca225[_0x3eaa('0x10')],_0x3ba365,'\x20'),'Description':intUtil[_0x3eaa('0xf')](_0x3ca225[_0x3eaa('0x11')],_0x3ba365,'\x0a')},getCustomFields(_0x4f5eb7,_0x3ba365));if(_0x502a50){_0x3d62d3['WhoId']=_0x502a50['id'];}}else if(_0x3ca225[_0x3eaa('0x12')]===_0x3eaa('0x13')){_0x3d62d3=Object[_0x3eaa('0x14')]({},{'OwnerId':_0x34a8a2['id'],'Subject':intUtil[_0x3eaa('0xf')](_0x3ca225[_0x3eaa('0x10')],_0x3ba365,'\x20'),'Description':intUtil[_0x3eaa('0xf')](_0x3ca225['Descriptions'],_0x3ba365,'\x0a')},getCustomFields(_0x4f5eb7,_0x3ba365));if(_0x502a50){_0x3d62d3[_0x3eaa('0x15')]=_0x502a50['id'];}}return _0x2f7b60[_0x3eaa('0x16')](_0x3ca225[_0x3eaa('0x12')])['create'](_0x3d62d3);}function getUser(_0x34630d,_0x123d71,_0x591a3d){if(!_[_0x3eaa('0x17')](_0x123d71)&&intUtil[_0x3eaa('0x18')](_0x123d71)){var _0xb843d4={'Email':_0x123d71};var _0x57c25e={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x591a3d['sobject'](_0x3eaa('0x19'))[_0x3eaa('0x1a')](_0xb843d4,_0x57c25e)[_0x3eaa('0x1b')]()[_0x3eaa('0x1c')](function(_0x36bf20){if(_0x36bf20['length']){var _0x405c4b=_['find'](_0x36bf20,function(_0x39ad06){return _0x39ad06[_0x3eaa('0x1d')]===_0x123d71;});if(_0x405c4b){logger[_0x3eaa('0x1e')]('Agent\x20%s\x20found.',_0x123d71);return BPromise[_0x3eaa('0x1f')]({'id':_0x405c4b['Id'],'name':_0x405c4b['Name']});}}else{logger[_0x3eaa('0x1e')](_0x3eaa('0x20'),_0x123d71);return _0x591a3d[_0x3eaa('0x21')]()[_0x3eaa('0x1c')](function(_0x2d1c45){return BPromise[_0x3eaa('0x1f')]({'id':_0x2d1c45[_0x3eaa('0x22')],'name':_0x2d1c45[_0x3eaa('0x23')]});});}});}else{logger[_0x3eaa('0x1e')](_0x3eaa('0x20'),_0x123d71);return _0x591a3d[_0x3eaa('0x21')]()[_0x3eaa('0x1c')](function(_0x389df1){return BPromise[_0x3eaa('0x1f')]({'id':_0x389df1['user_id'],'name':_0x389df1[_0x3eaa('0x23')]});});}}function getEndUser(_0x5d8ba8,_0x38f295,_0x199458,_0x1ec9c0,_0x355a24){var _0x34d238={'Phone':_0x1ec9c0};var _0x36a066={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x3eaa('0x1f')]()[_0x3eaa('0x1c')](function(){if(_0x38f295['ticketType']==='Task'){logger['info']('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x1ec9c0,_0x38f295[_0x3eaa('0x24')]);switch(_0x38f295[_0x3eaa('0x24')]){case _0x3eaa('0x25'):return _0x355a24[_0x3eaa('0x16')](_0x3eaa('0x26'))['find'](_0x34d238,_0x36a066)[_0x3eaa('0x1b')]()[_0x3eaa('0x1c')](function(_0x1b4518){if(_0x1b4518&&_0x1b4518[_0x3eaa('0x27')]){return _0x1b4518;}else{return _0x355a24[_0x3eaa('0x16')](_0x3eaa('0x28'))[_0x3eaa('0x1a')](_0x34d238,_0x36a066);}});case _0x3eaa('0x29'):return _0x355a24['sobject'](_0x3eaa('0x26'))[_0x3eaa('0x1a')](_0x34d238,_0x36a066)[_0x3eaa('0x1b')]();case'lead':return _0x355a24[_0x3eaa('0x16')]('Lead')[_0x3eaa('0x1a')](_0x34d238,_0x36a066);default:return null;}}else if(_0x38f295[_0x3eaa('0x12')]===_0x3eaa('0x13')){logger[_0x3eaa('0x1e')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x1ec9c0,'contact');return _0x355a24[_0x3eaa('0x16')](_0x3eaa('0x26'))[_0x3eaa('0x1a')](_0x34d238,_0x36a066)[_0x3eaa('0x1b')]();}})['then'](function(_0x161e7c){if(_0x161e7c&&_0x161e7c[_0x3eaa('0x27')]){var _0x3122a9=_[_0x3eaa('0x1a')](_0x161e7c,function(_0xb5b47f){return _0xb5b47f[_0x3eaa('0x2a')]===_0x1ec9c0;});if(_0x3122a9){return BPromise[_0x3eaa('0x1f')]({'id':_0x3122a9['Id'],'name':_0x3122a9[_0x3eaa('0x2b')],'phone':_0x3122a9['Phone']});}}})[_0x3eaa('0x1c')](function(_0x545737){if(_0x545737){logger[_0x3eaa('0x1e')](_0x3eaa('0x2c'),_0x1ec9c0);return BPromise['resolve'](_0x545737);}else{logger[_0x3eaa('0x1e')](_0x3eaa('0x2d'),_0x1ec9c0);var _0x43ff98={'LastName':_0x199458!=='<unknown>'?_0x199458:util[_0x3eaa('0x2e')]('Caller\x20-\x20%s',_0x1ec9c0),'Phone':_0x1ec9c0};if(_0x38f295[_0x3eaa('0x2f')]){if(_0x38f295[_0x3eaa('0x2f')]===_0x3eaa('0x29')){logger[_0x3eaa('0x1e')](_0x3eaa('0x30'),_0x1ec9c0,_0x38f295[_0x3eaa('0x2f')]);}else if(_0x38f295[_0x3eaa('0x2f')]==='lead'&&_0x38f295[_0x3eaa('0x12')]==='Task'){logger['info']('Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.',_0x1ec9c0,_0x38f295[_0x3eaa('0x2f')]);_0x43ff98['Company']='No\x20Company';}else{return null;}}return _0x355a24[_0x3eaa('0x16')](_[_0x3eaa('0x31')](_0x38f295[_0x3eaa('0x2f')]))[_0x3eaa('0x32')](_0x43ff98);}});}function getCustomFields(_0xa74241,_0x272e6f){var _0x61defd={};if(_0xa74241[_0x3eaa('0x27')]>0x0){_[_0x3eaa('0x33')](_0xa74241,function(_0x285a0a){if(_0x285a0a[_0x3eaa('0x34')]===_0x3eaa('0x35')&&_0x285a0a['idField']){_0x61defd[_0x285a0a[_0x3eaa('0x36')]]=_0x285a0a[_0x3eaa('0x37')][_0x3eaa('0x38')]();}else if(_0x285a0a[_0x3eaa('0x34')]===_0x3eaa('0x39')&&_0x285a0a['variableName']&&_0x285a0a['idField']){_0x272e6f[_0x285a0a['variableName']]&&(_0x61defd[_0x285a0a[_0x3eaa('0x36')]]=_0x272e6f[_0x285a0a[_0x3eaa('0x3a')]][_0x3eaa('0x38')]());}else if(_0x285a0a[_0x3eaa('0x34')]===_0x3eaa('0x3b')&&_0x285a0a[_0x3eaa('0x3c')]&&_0x285a0a['Variable'][_0x3eaa('0x3d')]&&_0x285a0a[_0x3eaa('0x36')]){_0x272e6f[_0x285a0a[_0x3eaa('0x3c')][_0x3eaa('0x3d')][_0x3eaa('0x3e')]()]&&(_0x61defd[_0x285a0a[_0x3eaa('0x36')]]=_0x272e6f[_0x285a0a[_0x3eaa('0x3c')][_0x3eaa('0x3d')][_0x3eaa('0x3e')]()][_0x3eaa('0x38')]());}});}return _0x61defd;}function getConnection(_0x32b29a){var _0x4a09b3=_0x32b29a[_0x3eaa('0x3f')][_0x3eaa('0x40')](_0x32b29a[_0x3eaa('0x41')]);var _0x2c05a9=new jsforce[(_0x3eaa('0x42'))]({'oauth2':{'loginUrl':_0x32b29a[_0x3eaa('0x43')]||'https://login.salesforce.com','clientId':_0x32b29a[_0x3eaa('0x44')],'clientSecret':_0x32b29a['clientSecret']}});return _0x2c05a9[_0x3eaa('0x45')](_0x32b29a[_0x3eaa('0x46')],_0x4a09b3)[_0x3eaa('0x1c')](function(){logger['info'](_0x3eaa('0x47'));return _0x2c05a9;});}exports[_0x3eaa('0x48')]=function(_0x2538e8,_0x5ae623,_0x4c2dc7,_0x3a31f2,_0x4aab61,_0x410b88){var _0x571408,_0x5f2cc2,_0x45e84e,_0x20c989;_0x410b88[_0x3eaa('0x49')]=intUtil[_0x3eaa('0x4a')](_0x410b88['serverUrl']);_0x410b88[_0x3eaa('0x43')]=intUtil[_0x3eaa('0x4a')](_0x410b88[_0x3eaa('0x43')]);if(_0x4aab61&&_0x4aab61[_0x3eaa('0x4b')]){logger[_0x3eaa('0x1e')]('[QUEUE]',_0x3eaa('0x4c'));_0x5ae623['recordingURL']=util[_0x3eaa('0x2e')](_0x3eaa('0x4d'),_0x410b88[_0x3eaa('0x49')],_0x5ae623[_0x3eaa('0x4e')],md5(_0x5ae623[_0x3eaa('0x4e')]));}else{_0x5ae623[_0x3eaa('0x4f')]='';}return getConnection(_0x410b88)['then'](function(_0xbb99a){_0x20c989=_0xbb99a;return getUser(_0x410b88,_0x3a31f2[_0x3eaa('0x50')],_0x20c989);})[_0x3eaa('0x1c')](function(_0x2426d8){_0x571408=_0x2426d8;return getEndUser(_0x410b88,_0x4c2dc7,_0x5ae623['calleridname'],_0x5ae623[_0x3eaa('0x51')],_0x20c989);})[_0x3eaa('0x1c')](function(_0x1022c9){_0x5f2cc2=_0x1022c9;return getTicket(_0x410b88,_0x571408,_0x5f2cc2,_0x4c2dc7,_0x5ae623,_0x4c2dc7['Fields'],_0x20c989,_0x3eaa('0x48'));})[_0x3eaa('0x1c')](function(_0x48d3d2){_0x45e84e=_0x48d3d2;logger[_0x3eaa('0x1e')]('[QUEUE]\x20Ticket\x20%s\x20created',_0x45e84e['id']);logger['info']('[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.',_0x45e84e['id'],_0x3a31f2[_0x3eaa('0x3d')],_0x410b88['type']);switch(_0x410b88['type']){case _0x3eaa('0x52'):emit(util[_0x3eaa('0x2e')](_0x3eaa('0x53'),_0x3a31f2[_0x3eaa('0x3d')]),_0x3eaa('0x54'),{'recordId':_0x45e84e['id']});break;case _0x3eaa('0x55'):emit(util[_0x3eaa('0x2e')](_0x3eaa('0x53'),_0x3a31f2[_0x3eaa('0x3d')]),_0x3eaa('0x56'),{'uri':util[_0x3eaa('0x2e')]('%s/%s/e',_0x20c989['instanceUrl'],_0x45e84e['id'])});break;default:logger[_0x3eaa('0x57')](_0x3eaa('0x58'));}})[_0x3eaa('0x59')](function(_0x5eeef9){logger[_0x3eaa('0x57')](_0x3eaa('0x5a'),JSON['stringify'](_0x5eeef9));});};exports[_0x3eaa('0x5b')]=function(_0x5936ba,_0x66e44,_0xdc40c6,_0xe7a51e,_0x36ee64,_0x284166,_0xc0b7ba){var _0x33c60b,_0x5f2ba7,_0x3a93c1,_0x298886;_0x284166[_0x3eaa('0x49')]=intUtil[_0x3eaa('0x4a')](_0x284166[_0x3eaa('0x49')]);_0x284166[_0x3eaa('0x43')]=intUtil[_0x3eaa('0x4a')](_0x284166[_0x3eaa('0x43')]);if(_0xc0b7ba&&_0xc0b7ba[_0x3eaa('0x5c')]&&_0xc0b7ba[_0x3eaa('0x5c')]!==_0x3eaa('0x5d')){logger[_0x3eaa('0x1e')](_0x3eaa('0x5e'),_0x3eaa('0x4c'));_0x66e44[_0x3eaa('0x4f')]=util[_0x3eaa('0x2e')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x284166[_0x3eaa('0x49')],_0x66e44[_0x3eaa('0x4e')],md5(_0x66e44[_0x3eaa('0x4e')]));}return getConnection(_0x284166)[_0x3eaa('0x1c')](function(_0xe82a85){_0x298886=_0xe82a85;return getUser(_0x284166,_0xe7a51e['email'],_0x298886);})[_0x3eaa('0x1c')](function(_0x36cf63){_0x33c60b=_0x36cf63;return getEndUser(_0x284166,_0xdc40c6,_0x66e44[_0x3eaa('0x5f')],_0x66e44['destcalleridnum'],_0x298886);})['then'](function(_0x22c806){_0x5f2ba7=_0x22c806;return getTicket(_0x284166,_0x33c60b,_0x5f2ba7,_0xdc40c6,_0x66e44,_0xdc40c6[_0x3eaa('0x60')],_0x298886,_0x3eaa('0x5b'));})['then'](function(_0x4ac61b){_0x3a93c1=_0x4ac61b;logger[_0x3eaa('0x1e')](_0x3eaa('0x61'),_0x3a93c1['id']);logger[_0x3eaa('0x1e')](_0x3eaa('0x62'),_0x3a93c1['id'],_0xe7a51e[_0x3eaa('0x3d')],_0x284166[_0x3eaa('0x34')]);switch(_0x284166['type']){case _0x3eaa('0x52'):emit(util[_0x3eaa('0x2e')]('user:%s',_0xe7a51e[_0x3eaa('0x3d')]),'trigger:salesforce:display',{'recordId':_0x3a93c1['id']});break;case'newTab':emit(util[_0x3eaa('0x2e')](_0x3eaa('0x53'),_0xe7a51e[_0x3eaa('0x3d')]),_0x3eaa('0x56'),{'uri':util[_0x3eaa('0x2e')](_0x3eaa('0x63'),_0x298886[_0x3eaa('0x64')],_0x3a93c1['id'])});break;default:logger[_0x3eaa('0x57')]('[OUTBOUND]',_0x3eaa('0x65'));}})[_0x3eaa('0x59')](function(_0x12f7cb){logger[_0x3eaa('0x57')](_0x3eaa('0x5e'),JSON[_0x3eaa('0x66')](_0x12f7cb));});};exports[_0x3eaa('0x67')]=function(_0x11b0d2,_0x2370ed,_0xf22026,_0x15f876,_0x3e652f,_0x2de488){var _0x5277aa,_0x55b736,_0x3189f1,_0x2aa795;_0x2de488[_0x3eaa('0x49')]=intUtil[_0x3eaa('0x4a')](_0x2de488[_0x3eaa('0x49')]);_0x2de488['remoteUri']=intUtil[_0x3eaa('0x4a')](_0x2de488[_0x3eaa('0x43')]);if(_0x3e652f&&_0x3e652f[_0x3eaa('0x4b')]){logger[_0x3eaa('0x1e')]('['+_0x2370ed[_0x3eaa('0x68')][_0x3eaa('0x69')]()+']',_0x3eaa('0x4c'));_0x2370ed[_0x3eaa('0x4f')]=util[_0x3eaa('0x2e')](_0x3eaa('0x4d'),_0x2de488[_0x3eaa('0x49')],_0x2370ed[_0x3eaa('0x4e')],md5(_0x2370ed[_0x3eaa('0x4e')]));}else{_0x2370ed['recordingURL']='';}return getConnection(_0x2de488)['then'](function(_0x265dd6){_0x2aa795=_0x265dd6;if(!_['isNil'](_0x15f876)){return getUser(_0x2de488,_0x15f876[_0x3eaa('0x3d')],_0x2aa795);}else{return getUser(_0x2de488,null,_0x2aa795);}})['then'](function(_0x32af81){_0x5277aa=_0x32af81;return getEndUser(_0x2de488,_0xf22026,_0x2370ed[_0x3eaa('0x6a')],_0x2370ed[_0x3eaa('0x51')],_0x2aa795);})[_0x3eaa('0x1c')](function(_0x3f801f){_0x55b736=_0x3f801f;return getTicket(_0x2de488,_0x5277aa,_0x55b736,_0xf22026,_0x2370ed,_0xf22026[_0x3eaa('0x60')],_0x2aa795);})[_0x3eaa('0x1c')](function(_0x41d2a3){_0x3189f1=_0x41d2a3;logger['info']('['+_0x2370ed[_0x3eaa('0x68')]['toUpperCase']()+_0x3eaa('0x6b'),_0x3189f1['id']);logger[_0x3eaa('0x1e')]('['+_0x2370ed['lastevent'][_0x3eaa('0x69')]()+_0x3eaa('0x6c'),_0x2de488[_0x3eaa('0x34')]);})['catch'](function(_0x22a788){logger[_0x3eaa('0x57')]('['+_0x2370ed['lastevent'][_0x3eaa('0x69')]()+']',JSON[_0x3eaa('0x66')](_0x22a788));});};
\ No newline at end of file
+var _0xa197=['[OUTBOUND]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','destcalleridnum','Fields','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','trigger:salesforce:display','Salesforce\x20account\x20type\x20not\x20recognized','unmanaged','monitor_format','toUpperCase',']\x20Integration\x20account\x20type\x20%s.','lastevent','lodash','request-promise','moment','bluebird','md5','util','ioredis','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','emit','ticketType','Task','assign','getString','Subjects','Descriptions','ContactId','sobject','create','isNil','validateEmail','find','execute','then','length','Agent\x20%s\x20found.','resolve','Name','info','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','user_id','display_name','moduleSearch','contact_lead','Contact','Lead','Case','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','contact','Phone','Enduser\x20with\x20phone\x20%s\x20not\x20found.','<unknown>','format','Caller\x20-\x20%s','moduleCreate','lead','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','Company','No\x20Company','upperFirst','forEach','string','idField','type','variable','variableName','customVariable','Variable','name','toLowerCase','toString','password','securityToken','Connection','remoteUri','https://login.salesforce.com','clientId','clientSecret','login','username','Connection\x20established.','queue','serverUrl','stripTrailingSlash','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','uniqueid','email','calleridname','calleridnum','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','user:%s','newTab','trigger:browser:url','%s/%s/e','instanceUrl','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','stringify','outbound','recordingFormat'];(function(_0x113828,_0x377874){var _0x3a930a=function(_0x4fa6a5){while(--_0x4fa6a5){_0x113828['push'](_0x113828['shift']());}};_0x3a930a(++_0x377874);}(_0xa197,0x1c4));var _0x7a19=function(_0x5a79e2,_0x319b1a){_0x5a79e2=_0x5a79e2-0x0;var _0x266c45=_0xa197[_0x5a79e2];return _0x266c45;};'use strict';var _=require(_0x7a19('0x0'));var rp=require(_0x7a19('0x1'));var moment=require(_0x7a19('0x2'));var BPromise=require(_0x7a19('0x3'));var md5=require(_0x7a19('0x4'));var jsforce=require('jsforce');var util=require(_0x7a19('0x5'));var Redis=require(_0x7a19('0x6'));var intUtil=require('./util');var config=require(_0x7a19('0x7'));var logger=require(_0x7a19('0x8'))('salesforce');config[_0x7a19('0x9')]=_[_0x7a19('0xa')](config[_0x7a19('0x9')],{'host':_0x7a19('0xb'),'port':0x18eb});var io=require(_0x7a19('0xc'))(new Redis(config[_0x7a19('0x9')]));function emit(_0x3f448e,_0x2551da,_0x1cbbfa){io['to'](_0x3f448e)[_0x7a19('0xd')](_0x2551da,_0x1cbbfa);}function getTicket(_0x453086,_0xeecd96,_0x4f1fc8,_0x122a30,_0x4d542e,_0xbf79a8,_0x5cfc44,_0xa01bfa){var _0x1c88f2={};if(_0x122a30[_0x7a19('0xe')]===_0x7a19('0xf')){_0x1c88f2=Object[_0x7a19('0x10')]({},{'OwnerId':_0xeecd96['id'],'ActivityDate':moment['utc'](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x7a19('0x11')](_0x122a30[_0x7a19('0x12')],_0x4d542e,'\x20'),'Description':intUtil['getString'](_0x122a30[_0x7a19('0x13')],_0x4d542e,'\x0a')},getCustomFields(_0xbf79a8,_0x4d542e));if(_0x4f1fc8){_0x1c88f2['WhoId']=_0x4f1fc8['id'];}}else if(_0x122a30[_0x7a19('0xe')]==='Case'){_0x1c88f2=Object[_0x7a19('0x10')]({},{'OwnerId':_0xeecd96['id'],'Subject':intUtil[_0x7a19('0x11')](_0x122a30[_0x7a19('0x12')],_0x4d542e,'\x20'),'Description':intUtil[_0x7a19('0x11')](_0x122a30[_0x7a19('0x13')],_0x4d542e,'\x0a')},getCustomFields(_0xbf79a8,_0x4d542e));if(_0x4f1fc8){_0x1c88f2[_0x7a19('0x14')]=_0x4f1fc8['id'];}}return _0x5cfc44[_0x7a19('0x15')](_0x122a30[_0x7a19('0xe')])[_0x7a19('0x16')](_0x1c88f2);}function getUser(_0x128fc8,_0x4a5bd0,_0x23476e){if(!_[_0x7a19('0x17')](_0x4a5bd0)&&intUtil[_0x7a19('0x18')](_0x4a5bd0)){var _0x553b1d={'Email':_0x4a5bd0};var _0x24fdb4={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x23476e[_0x7a19('0x15')]('User')[_0x7a19('0x19')](_0x553b1d,_0x24fdb4)[_0x7a19('0x1a')]()[_0x7a19('0x1b')](function(_0x5e6138){if(_0x5e6138[_0x7a19('0x1c')]){var _0x23630e=_['find'](_0x5e6138,function(_0x7cf298){return _0x7cf298['Email']===_0x4a5bd0;});if(_0x23630e){logger['info'](_0x7a19('0x1d'),_0x4a5bd0);return BPromise[_0x7a19('0x1e')]({'id':_0x23630e['Id'],'name':_0x23630e[_0x7a19('0x1f')]});}}else{logger[_0x7a19('0x20')](_0x7a19('0x21'),_0x4a5bd0);return _0x23476e['identity']()[_0x7a19('0x1b')](function(_0x479501){return BPromise[_0x7a19('0x1e')]({'id':_0x479501[_0x7a19('0x22')],'name':_0x479501['display_name']});});}});}else{logger[_0x7a19('0x20')](_0x7a19('0x21'),_0x4a5bd0);return _0x23476e['identity']()[_0x7a19('0x1b')](function(_0x196974){return BPromise['resolve']({'id':_0x196974[_0x7a19('0x22')],'name':_0x196974[_0x7a19('0x23')]});});}}function getEndUser(_0x349fc9,_0x3de9a3,_0x29e7b5,_0x288b1f,_0xc0d292){var _0x58c3ec={'Phone':_0x288b1f};var _0x395e33={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x7a19('0x1e')]()[_0x7a19('0x1b')](function(){if(_0x3de9a3[_0x7a19('0xe')]===_0x7a19('0xf')){logger[_0x7a19('0x20')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x288b1f,_0x3de9a3[_0x7a19('0x24')]);switch(_0x3de9a3[_0x7a19('0x24')]){case _0x7a19('0x25'):return _0xc0d292[_0x7a19('0x15')](_0x7a19('0x26'))[_0x7a19('0x19')](_0x58c3ec,_0x395e33)['execute']()[_0x7a19('0x1b')](function(_0x26ed26){if(_0x26ed26&&_0x26ed26[_0x7a19('0x1c')]){return _0x26ed26;}else{return _0xc0d292[_0x7a19('0x15')](_0x7a19('0x27'))['find'](_0x58c3ec,_0x395e33);}});case'contact':return _0xc0d292[_0x7a19('0x15')](_0x7a19('0x26'))[_0x7a19('0x19')](_0x58c3ec,_0x395e33)[_0x7a19('0x1a')]();case'lead':return _0xc0d292[_0x7a19('0x15')](_0x7a19('0x27'))[_0x7a19('0x19')](_0x58c3ec,_0x395e33);default:return null;}}else if(_0x3de9a3[_0x7a19('0xe')]===_0x7a19('0x28')){logger[_0x7a19('0x20')](_0x7a19('0x29'),_0x288b1f,_0x7a19('0x2a'));return _0xc0d292[_0x7a19('0x15')](_0x7a19('0x26'))[_0x7a19('0x19')](_0x58c3ec,_0x395e33)[_0x7a19('0x1a')]();}})[_0x7a19('0x1b')](function(_0x5345ce){if(_0x5345ce&&_0x5345ce['length']){var _0x35b740=_[_0x7a19('0x19')](_0x5345ce,function(_0x5602d6){return _0x5602d6[_0x7a19('0x2b')]===_0x288b1f;});if(_0x35b740){return BPromise[_0x7a19('0x1e')]({'id':_0x35b740['Id'],'name':_0x35b740[_0x7a19('0x1f')],'phone':_0x35b740[_0x7a19('0x2b')]});}}})[_0x7a19('0x1b')](function(_0x30d2bb){if(_0x30d2bb){logger[_0x7a19('0x20')]('Enduser\x20with\x20phone\x20%s\x20found.',_0x288b1f);return BPromise[_0x7a19('0x1e')](_0x30d2bb);}else{logger[_0x7a19('0x20')](_0x7a19('0x2c'),_0x288b1f);var _0x17f1a6={'LastName':_0x29e7b5!==_0x7a19('0x2d')?_0x29e7b5:util[_0x7a19('0x2e')](_0x7a19('0x2f'),_0x288b1f),'Phone':_0x288b1f};if(_0x3de9a3['moduleCreate']){if(_0x3de9a3[_0x7a19('0x30')]===_0x7a19('0x2a')){logger['info']('Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.',_0x288b1f,_0x3de9a3[_0x7a19('0x30')]);}else if(_0x3de9a3[_0x7a19('0x30')]===_0x7a19('0x31')&&_0x3de9a3[_0x7a19('0xe')]==='Task'){logger['info'](_0x7a19('0x32'),_0x288b1f,_0x3de9a3['moduleCreate']);_0x17f1a6[_0x7a19('0x33')]=_0x7a19('0x34');}else{return null;}}return _0xc0d292[_0x7a19('0x15')](_[_0x7a19('0x35')](_0x3de9a3[_0x7a19('0x30')]))[_0x7a19('0x16')](_0x17f1a6);}});}function getCustomFields(_0x28db14,_0x196c3a){var _0x50f26e={};if(_0x28db14[_0x7a19('0x1c')]>0x0){_[_0x7a19('0x36')](_0x28db14,function(_0x543ec1){if(_0x543ec1['type']===_0x7a19('0x37')&&_0x543ec1[_0x7a19('0x38')]){_0x50f26e[_0x543ec1[_0x7a19('0x38')]]=_0x543ec1['content']['toString']();}else if(_0x543ec1[_0x7a19('0x39')]===_0x7a19('0x3a')&&_0x543ec1[_0x7a19('0x3b')]&&_0x543ec1[_0x7a19('0x38')]){_0x196c3a[_0x543ec1[_0x7a19('0x3b')]]&&(_0x50f26e[_0x543ec1[_0x7a19('0x38')]]=_0x196c3a[_0x543ec1[_0x7a19('0x3b')]]['toString']());}else if(_0x543ec1['type']===_0x7a19('0x3c')&&_0x543ec1[_0x7a19('0x3d')]&&_0x543ec1[_0x7a19('0x3d')][_0x7a19('0x3e')]&&_0x543ec1[_0x7a19('0x38')]){_0x196c3a[_0x543ec1[_0x7a19('0x3d')][_0x7a19('0x3e')]['toLowerCase']()]&&(_0x50f26e[_0x543ec1[_0x7a19('0x38')]]=_0x196c3a[_0x543ec1['Variable'][_0x7a19('0x3e')][_0x7a19('0x3f')]()][_0x7a19('0x40')]());}});}return _0x50f26e;}function getConnection(_0x404d6d){var _0x268fb9=_0x404d6d[_0x7a19('0x41')]['concat'](_0x404d6d[_0x7a19('0x42')]);var _0x1282d4=new jsforce[(_0x7a19('0x43'))]({'oauth2':{'loginUrl':_0x404d6d[_0x7a19('0x44')]||_0x7a19('0x45'),'clientId':_0x404d6d[_0x7a19('0x46')],'clientSecret':_0x404d6d[_0x7a19('0x47')]}});return _0x1282d4[_0x7a19('0x48')](_0x404d6d[_0x7a19('0x49')],_0x268fb9)[_0x7a19('0x1b')](function(){logger[_0x7a19('0x20')](_0x7a19('0x4a'));return _0x1282d4;});}exports[_0x7a19('0x4b')]=function(_0x49e4bf,_0xb03c39,_0x4390b0,_0xd1bc17,_0x4d1250,_0x226353){var _0x35206f,_0x118855,_0x124524,_0x2880d8;_0x226353[_0x7a19('0x4c')]=intUtil[_0x7a19('0x4d')](_0x226353[_0x7a19('0x4c')]);_0x226353[_0x7a19('0x44')]=intUtil['stripTrailingSlash'](_0x226353[_0x7a19('0x44')]);if(_0x4d1250&&_0x4d1250['monitor_format']){logger[_0x7a19('0x20')](_0x7a19('0x4e'),_0x7a19('0x4f'));_0xb03c39[_0x7a19('0x50')]=util[_0x7a19('0x2e')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x226353[_0x7a19('0x4c')],_0xb03c39[_0x7a19('0x51')],md5(_0xb03c39['uniqueid']));}else{_0xb03c39[_0x7a19('0x50')]='';}return getConnection(_0x226353)[_0x7a19('0x1b')](function(_0x321565){_0x2880d8=_0x321565;return getUser(_0x226353,_0xd1bc17[_0x7a19('0x52')],_0x2880d8);})[_0x7a19('0x1b')](function(_0x52a658){_0x35206f=_0x52a658;return getEndUser(_0x226353,_0x4390b0,_0xb03c39[_0x7a19('0x53')],_0xb03c39[_0x7a19('0x54')],_0x2880d8);})[_0x7a19('0x1b')](function(_0x1ad860){_0x118855=_0x1ad860;return getTicket(_0x226353,_0x35206f,_0x118855,_0x4390b0,_0xb03c39,_0x4390b0['Fields'],_0x2880d8,_0x7a19('0x4b'));})[_0x7a19('0x1b')](function(_0x47747c){_0x124524=_0x47747c;logger[_0x7a19('0x20')]('[QUEUE]\x20Ticket\x20%s\x20created',_0x124524['id']);logger['info'](_0x7a19('0x55'),_0x124524['id'],_0xd1bc17['name'],_0x226353['type']);switch(_0x226353[_0x7a19('0x39')]){case _0x7a19('0x56'):emit(util[_0x7a19('0x2e')](_0x7a19('0x57'),_0xd1bc17[_0x7a19('0x3e')]),'trigger:salesforce:display',{'recordId':_0x124524['id']});break;case _0x7a19('0x58'):emit(util[_0x7a19('0x2e')](_0x7a19('0x57'),_0xd1bc17[_0x7a19('0x3e')]),_0x7a19('0x59'),{'uri':util['format'](_0x7a19('0x5a'),_0x2880d8[_0x7a19('0x5b')],_0x124524['id'])});break;default:logger[_0x7a19('0x5c')](_0x7a19('0x5d'));}})[_0x7a19('0x5e')](function(_0x122918){logger[_0x7a19('0x5c')](_0x7a19('0x4e'),JSON[_0x7a19('0x5f')](_0x122918));});};exports[_0x7a19('0x60')]=function(_0x45d5d6,_0x48c03d,_0x292419,_0x1dd66f,_0x5529a2,_0x5dda41,_0x2974b2){var _0x3f5c02,_0x257889,_0x1c6b46,_0x223003;_0x5dda41['serverUrl']=intUtil[_0x7a19('0x4d')](_0x5dda41[_0x7a19('0x4c')]);_0x5dda41['remoteUri']=intUtil['stripTrailingSlash'](_0x5dda41[_0x7a19('0x44')]);if(_0x2974b2&&_0x2974b2[_0x7a19('0x61')]&&_0x2974b2['recordingFormat']!=='none'){logger['info'](_0x7a19('0x62'),'Recording\x20is\x20enabled!');_0x48c03d['recordingURL']=util[_0x7a19('0x2e')](_0x7a19('0x63'),_0x5dda41[_0x7a19('0x4c')],_0x48c03d[_0x7a19('0x51')],md5(_0x48c03d[_0x7a19('0x51')]));}return getConnection(_0x5dda41)['then'](function(_0x31741a){_0x223003=_0x31741a;return getUser(_0x5dda41,_0x1dd66f[_0x7a19('0x52')],_0x223003);})[_0x7a19('0x1b')](function(_0x467d05){_0x3f5c02=_0x467d05;return getEndUser(_0x5dda41,_0x292419,_0x48c03d['destcalleridname'],_0x48c03d[_0x7a19('0x64')],_0x223003);})['then'](function(_0x37ecf6){_0x257889=_0x37ecf6;return getTicket(_0x5dda41,_0x3f5c02,_0x257889,_0x292419,_0x48c03d,_0x292419[_0x7a19('0x65')],_0x223003,_0x7a19('0x60'));})[_0x7a19('0x1b')](function(_0x27298f){_0x1c6b46=_0x27298f;logger['info']('[OUTBOUND]\x20Ticket\x20%s\x20created.',_0x1c6b46['id']);logger['info'](_0x7a19('0x66'),_0x1c6b46['id'],_0x1dd66f[_0x7a19('0x3e')],_0x5dda41[_0x7a19('0x39')]);switch(_0x5dda41['type']){case _0x7a19('0x56'):emit(util['format'](_0x7a19('0x57'),_0x1dd66f[_0x7a19('0x3e')]),_0x7a19('0x67'),{'recordId':_0x1c6b46['id']});break;case _0x7a19('0x58'):emit(util[_0x7a19('0x2e')]('user:%s',_0x1dd66f['name']),_0x7a19('0x59'),{'uri':util[_0x7a19('0x2e')](_0x7a19('0x5a'),_0x223003['instanceUrl'],_0x1c6b46['id'])});break;default:logger[_0x7a19('0x5c')]('[OUTBOUND]',_0x7a19('0x68'));}})[_0x7a19('0x5e')](function(_0x4ce69e){logger[_0x7a19('0x5c')](_0x7a19('0x62'),JSON[_0x7a19('0x5f')](_0x4ce69e));});};exports[_0x7a19('0x69')]=function(_0x2e78ef,_0x4aaf5e,_0x530206,_0x1f4126,_0x5aff73,_0x566098){var _0x32c8e2,_0x2a4701,_0x3c6755,_0x2a578f;_0x566098[_0x7a19('0x4c')]=intUtil['stripTrailingSlash'](_0x566098[_0x7a19('0x4c')]);_0x566098[_0x7a19('0x44')]=intUtil[_0x7a19('0x4d')](_0x566098[_0x7a19('0x44')]);if(_0x5aff73&&_0x5aff73[_0x7a19('0x6a')]){logger[_0x7a19('0x20')]('['+_0x4aaf5e['lastevent'][_0x7a19('0x6b')]()+']',_0x7a19('0x4f'));_0x4aaf5e[_0x7a19('0x50')]=util['format'](_0x7a19('0x63'),_0x566098[_0x7a19('0x4c')],_0x4aaf5e[_0x7a19('0x51')],md5(_0x4aaf5e['uniqueid']));}else{_0x4aaf5e[_0x7a19('0x50')]='';}return getConnection(_0x566098)[_0x7a19('0x1b')](function(_0x1433ce){_0x2a578f=_0x1433ce;if(!_[_0x7a19('0x17')](_0x1f4126)){return getUser(_0x566098,_0x1f4126['name'],_0x2a578f);}else{return getUser(_0x566098,null,_0x2a578f);}})[_0x7a19('0x1b')](function(_0x3d979f){_0x32c8e2=_0x3d979f;return getEndUser(_0x566098,_0x530206,_0x4aaf5e[_0x7a19('0x53')],_0x4aaf5e[_0x7a19('0x54')],_0x2a578f);})[_0x7a19('0x1b')](function(_0xc99357){_0x2a4701=_0xc99357;return getTicket(_0x566098,_0x32c8e2,_0x2a4701,_0x530206,_0x4aaf5e,_0x530206[_0x7a19('0x65')],_0x2a578f);})[_0x7a19('0x1b')](function(_0x5c65cb){_0x3c6755=_0x5c65cb;logger[_0x7a19('0x20')]('['+_0x4aaf5e['lastevent']['toUpperCase']()+']\x20Ticket\x20%s\x20created.',_0x3c6755['id']);logger[_0x7a19('0x20')]('['+_0x4aaf5e['lastevent'][_0x7a19('0x6b')]()+_0x7a19('0x6c'),_0x566098[_0x7a19('0x39')]);})[_0x7a19('0x5e')](function(_0x251eab){logger[_0x7a19('0x5c')]('['+_0x4aaf5e[_0x7a19('0x6d')]['toUpperCase']()+']',JSON[_0x7a19('0x5f')](_0x251eab));});};
\ No newline at end of file