Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
index f7e761f..be2d77b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-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
+var _0x78ca=['password','securityToken','Connection','https://login.salesforce.com','clientId','clientSecret','login','username','Connection\x20established.','serverUrl','remoteUri','monitor_format','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','Fields','queue','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','trigger:salesforce:display','newTab','trigger:browser:url','%s/%s/e','instanceUrl','error','catch','stringify','outbound','stripTrailingSlash','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!','destcalleridname','destcalleridnum','user:%s','Salesforce\x20account\x20type\x20not\x20recognized','unmanaged','lastevent','toUpperCase','isNil','calleridname','calleridnum',']\x20Ticket\x20%s\x20created.','lodash','request-promise','md5','jsforce','util','ioredis','./util','../../../../config/logger','salesforce','redis','defaults','emit','ticketType','utc','getString','Subjects','Descriptions','WhoId','Case','assign','sobject','create','validateEmail','User','find','execute','then','length','info','Agent\x20%s\x20found.','resolve','Name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','identity','user_id','display_name','Task','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','moduleSearch','contact_lead','Lead','contact','Contact','lead','Phone','Enduser\x20with\x20phone\x20%s\x20found.','Enduser\x20with\x20phone\x20%s\x20not\x20found.','<unknown>','format','Caller\x20-\x20%s','moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','Company','No\x20Company','upperFirst','forEach','type','string','idField','content','toString','variableName','customVariable','Variable','name','toLowerCase'];(function(_0x10509b,_0x2a89fc){var _0x4db814=function(_0x2049e1){while(--_0x2049e1){_0x10509b['push'](_0x10509b['shift']());}};_0x4db814(++_0x2a89fc);}(_0x78ca,0x108));var _0xa78c=function(_0x17709b,_0x86bf58){_0x17709b=_0x17709b-0x0;var _0x2bbf51=_0x78ca[_0x17709b];return _0x2bbf51;};'use strict';var _=require(_0xa78c('0x0'));var rp=require(_0xa78c('0x1'));var moment=require('moment');var BPromise=require('bluebird');var md5=require(_0xa78c('0x2'));var jsforce=require(_0xa78c('0x3'));var util=require(_0xa78c('0x4'));var Redis=require(_0xa78c('0x5'));var intUtil=require(_0xa78c('0x6'));var config=require('../../../../config/environment');var logger=require(_0xa78c('0x7'))(_0xa78c('0x8'));config[_0xa78c('0x9')]=_[_0xa78c('0xa')](config[_0xa78c('0x9')],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xa78c('0x9')]));function emit(_0x4f897c,_0x333675,_0x21898f){io['to'](_0x4f897c)[_0xa78c('0xb')](_0x333675,_0x21898f);}function getTicket(_0x44ed0f,_0x427928,_0x1a82b9,_0xc2b01d,_0x3d9243,_0x37c7b8,_0xf23b95,_0x1179c1){var _0x3de5cd={};if(_0xc2b01d[_0xa78c('0xc')]==='Task'){_0x3de5cd=Object['assign']({},{'OwnerId':_0x427928['id'],'ActivityDate':moment[_0xa78c('0xd')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0xa78c('0xe')](_0xc2b01d[_0xa78c('0xf')],_0x3d9243,'\x20'),'Description':intUtil[_0xa78c('0xe')](_0xc2b01d[_0xa78c('0x10')],_0x3d9243,'\x0a')},getCustomFields(_0x37c7b8,_0x3d9243));if(_0x1a82b9){_0x3de5cd[_0xa78c('0x11')]=_0x1a82b9['id'];}}else if(_0xc2b01d[_0xa78c('0xc')]===_0xa78c('0x12')){_0x3de5cd=Object[_0xa78c('0x13')]({},{'OwnerId':_0x427928['id'],'Subject':intUtil[_0xa78c('0xe')](_0xc2b01d['Subjects'],_0x3d9243,'\x20'),'Description':intUtil[_0xa78c('0xe')](_0xc2b01d[_0xa78c('0x10')],_0x3d9243,'\x0a')},getCustomFields(_0x37c7b8,_0x3d9243));if(_0x1a82b9){_0x3de5cd['ContactId']=_0x1a82b9['id'];}}return _0xf23b95[_0xa78c('0x14')](_0xc2b01d[_0xa78c('0xc')])[_0xa78c('0x15')](_0x3de5cd);}function getUser(_0x3569b9,_0x49290d,_0xb20a89){if(!_['isNil'](_0x49290d)&&intUtil[_0xa78c('0x16')](_0x49290d)){var _0x370ab6={'Email':_0x49290d};var _0x3ee01c={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0xb20a89['sobject'](_0xa78c('0x17'))[_0xa78c('0x18')](_0x370ab6,_0x3ee01c)[_0xa78c('0x19')]()[_0xa78c('0x1a')](function(_0x26c8db){if(_0x26c8db[_0xa78c('0x1b')]){var _0x5a19b6=_['find'](_0x26c8db,function(_0x5d9874){return _0x5d9874['Email']===_0x49290d;});if(_0x5a19b6){logger[_0xa78c('0x1c')](_0xa78c('0x1d'),_0x49290d);return BPromise[_0xa78c('0x1e')]({'id':_0x5a19b6['Id'],'name':_0x5a19b6[_0xa78c('0x1f')]});}}else{logger[_0xa78c('0x1c')](_0xa78c('0x20'),_0x49290d);return _0xb20a89[_0xa78c('0x21')]()[_0xa78c('0x1a')](function(_0x15840e){return BPromise[_0xa78c('0x1e')]({'id':_0x15840e[_0xa78c('0x22')],'name':_0x15840e['display_name']});});}});}else{logger[_0xa78c('0x1c')]('Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.',_0x49290d);return _0xb20a89[_0xa78c('0x21')]()['then'](function(_0xfa3ee1){return BPromise[_0xa78c('0x1e')]({'id':_0xfa3ee1[_0xa78c('0x22')],'name':_0xfa3ee1[_0xa78c('0x23')]});});}}function getEndUser(_0x120ad7,_0x2e1a2d,_0x1a9929,_0x3324a3,_0x821b94){var _0x11f749={'Phone':_0x3324a3};var _0x1aa2d3={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0xa78c('0x1e')]()[_0xa78c('0x1a')](function(){if(_0x2e1a2d['ticketType']===_0xa78c('0x24')){logger[_0xa78c('0x1c')](_0xa78c('0x25'),_0x3324a3,_0x2e1a2d[_0xa78c('0x26')]);switch(_0x2e1a2d[_0xa78c('0x26')]){case _0xa78c('0x27'):return _0x821b94[_0xa78c('0x14')]('Contact')[_0xa78c('0x18')](_0x11f749,_0x1aa2d3)[_0xa78c('0x19')]()['then'](function(_0x44f640){if(_0x44f640&&_0x44f640[_0xa78c('0x1b')]){return _0x44f640;}else{return _0x821b94[_0xa78c('0x14')](_0xa78c('0x28'))[_0xa78c('0x18')](_0x11f749,_0x1aa2d3);}});case _0xa78c('0x29'):return _0x821b94['sobject'](_0xa78c('0x2a'))[_0xa78c('0x18')](_0x11f749,_0x1aa2d3)[_0xa78c('0x19')]();case _0xa78c('0x2b'):return _0x821b94[_0xa78c('0x14')](_0xa78c('0x28'))[_0xa78c('0x18')](_0x11f749,_0x1aa2d3);default:return null;}}else if(_0x2e1a2d[_0xa78c('0xc')]===_0xa78c('0x12')){logger[_0xa78c('0x1c')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x3324a3,_0xa78c('0x29'));return _0x821b94['sobject'](_0xa78c('0x2a'))[_0xa78c('0x18')](_0x11f749,_0x1aa2d3)[_0xa78c('0x19')]();}})[_0xa78c('0x1a')](function(_0x57c83c){if(_0x57c83c&&_0x57c83c[_0xa78c('0x1b')]){var _0x5141e6=_[_0xa78c('0x18')](_0x57c83c,function(_0x23739e){return _0x23739e[_0xa78c('0x2c')]===_0x3324a3;});if(_0x5141e6){return BPromise[_0xa78c('0x1e')]({'id':_0x5141e6['Id'],'name':_0x5141e6['Name'],'phone':_0x5141e6[_0xa78c('0x2c')]});}}})[_0xa78c('0x1a')](function(_0x5ea5b6){if(_0x5ea5b6){logger[_0xa78c('0x1c')](_0xa78c('0x2d'),_0x3324a3);return BPromise[_0xa78c('0x1e')](_0x5ea5b6);}else{logger[_0xa78c('0x1c')](_0xa78c('0x2e'),_0x3324a3);var _0x1a8376={'LastName':_0x1a9929!==_0xa78c('0x2f')?_0x1a9929:util[_0xa78c('0x30')](_0xa78c('0x31'),_0x3324a3),'Phone':_0x3324a3};if(_0x2e1a2d[_0xa78c('0x32')]){if(_0x2e1a2d[_0xa78c('0x32')]==='contact'){logger['info'](_0xa78c('0x33'),_0x3324a3,_0x2e1a2d[_0xa78c('0x32')]);}else if(_0x2e1a2d['moduleCreate']==='lead'&&_0x2e1a2d[_0xa78c('0xc')]===_0xa78c('0x24')){logger[_0xa78c('0x1c')](_0xa78c('0x33'),_0x3324a3,_0x2e1a2d[_0xa78c('0x32')]);_0x1a8376[_0xa78c('0x34')]=_0xa78c('0x35');}else{return null;}}return _0x821b94[_0xa78c('0x14')](_[_0xa78c('0x36')](_0x2e1a2d['moduleCreate']))[_0xa78c('0x15')](_0x1a8376);}});}function getCustomFields(_0x52dad2,_0x80135a){var _0x15439c={};if(_0x52dad2[_0xa78c('0x1b')]>0x0){_[_0xa78c('0x37')](_0x52dad2,function(_0x11c760){if(_0x11c760[_0xa78c('0x38')]===_0xa78c('0x39')&&_0x11c760[_0xa78c('0x3a')]){_0x15439c[_0x11c760[_0xa78c('0x3a')]]=_0x11c760[_0xa78c('0x3b')][_0xa78c('0x3c')]();}else if(_0x11c760['type']==='variable'&&_0x11c760[_0xa78c('0x3d')]&&_0x11c760[_0xa78c('0x3a')]){_0x80135a[_0x11c760['variableName']]&&(_0x15439c[_0x11c760[_0xa78c('0x3a')]]=_0x80135a[_0x11c760[_0xa78c('0x3d')]][_0xa78c('0x3c')]());}else if(_0x11c760[_0xa78c('0x38')]===_0xa78c('0x3e')&&_0x11c760[_0xa78c('0x3f')]&&_0x11c760[_0xa78c('0x3f')][_0xa78c('0x40')]&&_0x11c760['idField']){_0x80135a[_0x11c760['Variable']['name']['toLowerCase']()]&&(_0x15439c[_0x11c760['idField']]=_0x80135a[_0x11c760[_0xa78c('0x3f')][_0xa78c('0x40')][_0xa78c('0x41')]()]['toString']());}});}return _0x15439c;}function getConnection(_0x13948a){var _0x3bea21=_0x13948a[_0xa78c('0x42')]['concat'](_0x13948a[_0xa78c('0x43')]);var _0x2d8160=new jsforce[(_0xa78c('0x44'))]({'oauth2':{'loginUrl':_0x13948a['remoteUri']||_0xa78c('0x45'),'clientId':_0x13948a[_0xa78c('0x46')],'clientSecret':_0x13948a[_0xa78c('0x47')]}});return _0x2d8160[_0xa78c('0x48')](_0x13948a[_0xa78c('0x49')],_0x3bea21)[_0xa78c('0x1a')](function(){logger[_0xa78c('0x1c')](_0xa78c('0x4a'));return _0x2d8160;});}exports['queue']=function(_0x123ab3,_0x5578fd,_0x5493e5,_0x1c2ce0,_0x384eae,_0x4ec2a8){var _0x28e003,_0x1c1f0e,_0x2e4408,_0x354642;_0x4ec2a8['serverUrl']=intUtil['stripTrailingSlash'](_0x4ec2a8[_0xa78c('0x4b')]);_0x4ec2a8[_0xa78c('0x4c')]=intUtil['stripTrailingSlash'](_0x4ec2a8[_0xa78c('0x4c')]);if(_0x384eae&&_0x384eae[_0xa78c('0x4d')]){logger[_0xa78c('0x1c')]('[QUEUE]','Recording\x20is\x20enabled!');_0x5578fd[_0xa78c('0x4e')]=util['format'](_0xa78c('0x4f'),_0x4ec2a8[_0xa78c('0x4b')],_0x5578fd['uniqueid'],md5(_0x5578fd[_0xa78c('0x50')]));}else{_0x5578fd['recordingURL']='';}return getConnection(_0x4ec2a8)['then'](function(_0x2b17d7){_0x354642=_0x2b17d7;return getUser(_0x4ec2a8,_0x1c2ce0['email'],_0x354642);})[_0xa78c('0x1a')](function(_0x48d2ca){_0x28e003=_0x48d2ca;return getEndUser(_0x4ec2a8,_0x5493e5,_0x5578fd['calleridname'],_0x5578fd['calleridnum'],_0x354642);})['then'](function(_0x40dbf6){_0x1c1f0e=_0x40dbf6;return getTicket(_0x4ec2a8,_0x28e003,_0x1c1f0e,_0x5493e5,_0x5578fd,_0x5493e5[_0xa78c('0x51')],_0x354642,_0xa78c('0x52'));})[_0xa78c('0x1a')](function(_0x108873){_0x2e4408=_0x108873;logger[_0xa78c('0x1c')]('[QUEUE]\x20Ticket\x20%s\x20created',_0x2e4408['id']);logger[_0xa78c('0x1c')](_0xa78c('0x53'),_0x2e4408['id'],_0x1c2ce0[_0xa78c('0x40')],_0x4ec2a8['type']);switch(_0x4ec2a8['type']){case _0xa78c('0x54'):emit(util[_0xa78c('0x30')]('user:%s',_0x1c2ce0[_0xa78c('0x40')]),_0xa78c('0x55'),{'recordId':_0x2e4408['id']});break;case _0xa78c('0x56'):emit(util['format']('user:%s',_0x1c2ce0[_0xa78c('0x40')]),_0xa78c('0x57'),{'uri':util[_0xa78c('0x30')](_0xa78c('0x58'),_0x354642[_0xa78c('0x59')],_0x2e4408['id'])});break;default:logger[_0xa78c('0x5a')]('[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.');}})[_0xa78c('0x5b')](function(_0x303455){logger[_0xa78c('0x5a')]('[QUEUE]',JSON[_0xa78c('0x5c')](_0x303455));});};exports[_0xa78c('0x5d')]=function(_0x185e75,_0x3034ca,_0x5c3d3f,_0xa75094,_0x2d17ed,_0x4d931f,_0x38b887){var _0x4c46c2,_0x1dd036,_0x37655e,_0x3331fa;_0x4d931f[_0xa78c('0x4b')]=intUtil[_0xa78c('0x5e')](_0x4d931f[_0xa78c('0x4b')]);_0x4d931f[_0xa78c('0x4c')]=intUtil[_0xa78c('0x5e')](_0x4d931f[_0xa78c('0x4c')]);if(_0x38b887&&_0x38b887[_0xa78c('0x5f')]&&_0x38b887[_0xa78c('0x5f')]!==_0xa78c('0x60')){logger[_0xa78c('0x1c')](_0xa78c('0x61'),_0xa78c('0x62'));_0x3034ca[_0xa78c('0x4e')]=util['format'](_0xa78c('0x4f'),_0x4d931f[_0xa78c('0x4b')],_0x3034ca[_0xa78c('0x50')],md5(_0x3034ca[_0xa78c('0x50')]));}return getConnection(_0x4d931f)[_0xa78c('0x1a')](function(_0x5c208b){_0x3331fa=_0x5c208b;return getUser(_0x4d931f,_0xa75094['email'],_0x3331fa);})[_0xa78c('0x1a')](function(_0x176bea){_0x4c46c2=_0x176bea;return getEndUser(_0x4d931f,_0x5c3d3f,_0x3034ca[_0xa78c('0x63')],_0x3034ca[_0xa78c('0x64')],_0x3331fa);})[_0xa78c('0x1a')](function(_0x511213){_0x1dd036=_0x511213;return getTicket(_0x4d931f,_0x4c46c2,_0x1dd036,_0x5c3d3f,_0x3034ca,_0x5c3d3f[_0xa78c('0x51')],_0x3331fa,_0xa78c('0x5d'));})['then'](function(_0x4db0bf){_0x37655e=_0x4db0bf;logger[_0xa78c('0x1c')]('[OUTBOUND]\x20Ticket\x20%s\x20created.',_0x37655e['id']);logger[_0xa78c('0x1c')]('[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.',_0x37655e['id'],_0xa75094['name'],_0x4d931f[_0xa78c('0x38')]);switch(_0x4d931f['type']){case _0xa78c('0x54'):emit(util[_0xa78c('0x30')](_0xa78c('0x65'),_0xa75094[_0xa78c('0x40')]),_0xa78c('0x55'),{'recordId':_0x37655e['id']});break;case _0xa78c('0x56'):emit(util['format']('user:%s',_0xa75094[_0xa78c('0x40')]),_0xa78c('0x57'),{'uri':util[_0xa78c('0x30')](_0xa78c('0x58'),_0x3331fa['instanceUrl'],_0x37655e['id'])});break;default:logger[_0xa78c('0x5a')](_0xa78c('0x61'),_0xa78c('0x66'));}})[_0xa78c('0x5b')](function(_0x191925){logger['error'](_0xa78c('0x61'),JSON['stringify'](_0x191925));});};exports[_0xa78c('0x67')]=function(_0x43c346,_0x53d3da,_0x37445c,_0x5caede,_0x213672,_0x2a2293){var _0x581b6e,_0x2b3773,_0x1206d3,_0x257565;_0x2a2293['serverUrl']=intUtil[_0xa78c('0x5e')](_0x2a2293[_0xa78c('0x4b')]);_0x2a2293[_0xa78c('0x4c')]=intUtil['stripTrailingSlash'](_0x2a2293[_0xa78c('0x4c')]);if(_0x213672&&_0x213672['monitor_format']){logger[_0xa78c('0x1c')]('['+_0x53d3da[_0xa78c('0x68')][_0xa78c('0x69')]()+']',_0xa78c('0x62'));_0x53d3da[_0xa78c('0x4e')]=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x2a2293['serverUrl'],_0x53d3da[_0xa78c('0x50')],md5(_0x53d3da['uniqueid']));}else{_0x53d3da[_0xa78c('0x4e')]='';}return getConnection(_0x2a2293)['then'](function(_0x35d8d2){_0x257565=_0x35d8d2;if(!_[_0xa78c('0x6a')](_0x5caede)){return getUser(_0x2a2293,_0x5caede[_0xa78c('0x40')],_0x257565);}else{return getUser(_0x2a2293,null,_0x257565);}})['then'](function(_0x5c8912){_0x581b6e=_0x5c8912;return getEndUser(_0x2a2293,_0x37445c,_0x53d3da[_0xa78c('0x6b')],_0x53d3da[_0xa78c('0x6c')],_0x257565);})[_0xa78c('0x1a')](function(_0x5a9350){_0x2b3773=_0x5a9350;return getTicket(_0x2a2293,_0x581b6e,_0x2b3773,_0x37445c,_0x53d3da,_0x37445c[_0xa78c('0x51')],_0x257565);})[_0xa78c('0x1a')](function(_0x46e9c6){_0x1206d3=_0x46e9c6;logger[_0xa78c('0x1c')]('['+_0x53d3da[_0xa78c('0x68')]['toUpperCase']()+_0xa78c('0x6d'),_0x1206d3['id']);logger[_0xa78c('0x1c')]('['+_0x53d3da['lastevent'][_0xa78c('0x69')]()+']\x20Integration\x20account\x20type\x20%s.',_0x2a2293[_0xa78c('0x38')]);})[_0xa78c('0x5b')](function(_0x593966){logger['error']('['+_0x53d3da['lastevent'][_0xa78c('0x69')]()+']',JSON['stringify'](_0x593966));});};
\ No newline at end of file