Built motion from commit (unavailable).|2.5.14
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
index 9f14eb5..cd8542e 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xc330=['request-promise','moment','bluebird','jsforce','ioredis','./util','../../../../config/environment','../../../../config/logger','salesforce','redis','localhost','socket.io-emitter','emit','ticketType','assign','utc','getString','Subjects','Descriptions','Case','sobject','create','isNil','validateEmail','find','execute','length','Email','Name','info','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','identity','then','user_id','resolve','Task','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','moduleSearch','contact_lead','Contact','Lead','contact','lead','Phone','Enduser\x20with\x20phone\x20%s\x20found.','Enduser\x20with\x20phone\x20%s\x20not\x20found.','<unknown>','Caller\x20-\x20%s','moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','Company','No\x20Company','upperFirst','forEach','string','idField','content','type','variable','variableName','toString','customVariable','Variable','name','toLowerCase','password','concat','securityToken','Connection','remoteUri','https://login.salesforce.com','clientId','clientSecret','login','Connection\x20established.','queue','serverUrl','stripTrailingSlash','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','format','uniqueid','recordingURL','email','calleridname','calleridnum','Fields','[QUEUE]\x20Ticket\x20%s\x20created','user:%s','trigger:salesforce:display','newTab','trigger:browser:url','%s/%s/e','instanceUrl','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','stringify','outbound','recordingFormat','none','[OUTBOUND]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','destcalleridname','[OUTBOUND]\x20Ticket\x20%s\x20created.','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','unmanaged','lastevent','toUpperCase',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.'];(function(_0x3c12f5,_0x2dd4b9){var _0x40fcad=function(_0x46b9f6){while(--_0x46b9f6){_0x3c12f5['push'](_0x3c12f5['shift']());}};_0x40fcad(++_0x2dd4b9);}(_0xc330,0xe2));var _0x0c33=function(_0x1d1779,_0x284147){_0x1d1779=_0x1d1779-0x0;var _0x2377e9=_0xc330[_0x1d1779];return _0x2377e9;};'use strict';var _=require('lodash');var rp=require(_0x0c33('0x0'));var moment=require(_0x0c33('0x1'));var BPromise=require(_0x0c33('0x2'));var md5=require('md5');var jsforce=require(_0x0c33('0x3'));var util=require('util');var Redis=require(_0x0c33('0x4'));var intUtil=require(_0x0c33('0x5'));var config=require(_0x0c33('0x6'));var logger=require(_0x0c33('0x7'))(_0x0c33('0x8'));config[_0x0c33('0x9')]=_['defaults'](config[_0x0c33('0x9')],{'host':_0x0c33('0xa'),'port':0x18eb});var io=require(_0x0c33('0xb'))(new Redis(config[_0x0c33('0x9')]));function emit(_0x36ad9f,_0x4e15c3,_0x308e32){io['to'](_0x36ad9f)[_0x0c33('0xc')](_0x4e15c3,_0x308e32);}function getTicket(_0x1befd2,_0x3dde79,_0x5a6bae,_0x2bf539,_0x5ef6c5,_0x5d3384,_0x4a0e6d,_0x268146){var _0x2f1273={};if(_0x2bf539[_0x0c33('0xd')]==='Task'){_0x2f1273=Object[_0x0c33('0xe')]({},{'OwnerId':_0x3dde79['id'],'ActivityDate':moment[_0x0c33('0xf')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x0c33('0x10')](_0x2bf539[_0x0c33('0x11')],_0x5ef6c5,'\x20'),'Description':intUtil[_0x0c33('0x10')](_0x2bf539[_0x0c33('0x12')],_0x5ef6c5,'\x0a')},getCustomFields(_0x5d3384,_0x5ef6c5));if(_0x5a6bae){_0x2f1273['WhoId']=_0x5a6bae['id'];}}else if(_0x2bf539[_0x0c33('0xd')]===_0x0c33('0x13')){_0x2f1273=Object[_0x0c33('0xe')]({},{'OwnerId':_0x3dde79['id'],'Subject':intUtil['getString'](_0x2bf539[_0x0c33('0x11')],_0x5ef6c5,'\x20'),'Description':intUtil['getString'](_0x2bf539[_0x0c33('0x12')],_0x5ef6c5,'\x0a')},getCustomFields(_0x5d3384,_0x5ef6c5));if(_0x5a6bae){_0x2f1273['ContactId']=_0x5a6bae['id'];}}return _0x4a0e6d[_0x0c33('0x14')](_0x2bf539[_0x0c33('0xd')])[_0x0c33('0x15')](_0x2f1273);}function getUser(_0x55e995,_0x329a51,_0x45cc69){if(!_[_0x0c33('0x16')](_0x329a51)&&intUtil[_0x0c33('0x17')](_0x329a51)){var _0x30c059={'Email':_0x329a51};var _0x34ae47={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x45cc69[_0x0c33('0x14')]('User')[_0x0c33('0x18')](_0x30c059,_0x34ae47)[_0x0c33('0x19')]()['then'](function(_0x55af0e){if(_0x55af0e[_0x0c33('0x1a')]){var _0x395bf0=_['find'](_0x55af0e,function(_0x49d80a){return _0x49d80a[_0x0c33('0x1b')]===_0x329a51;});if(_0x395bf0){logger['info']('Agent\x20%s\x20found.',_0x329a51);return BPromise['resolve']({'id':_0x395bf0['Id'],'name':_0x395bf0[_0x0c33('0x1c')]});}}else{logger[_0x0c33('0x1d')](_0x0c33('0x1e'),_0x329a51);return _0x45cc69[_0x0c33('0x1f')]()[_0x0c33('0x20')](function(_0x247b9b){return BPromise['resolve']({'id':_0x247b9b[_0x0c33('0x21')],'name':_0x247b9b['display_name']});});}});}else{logger['info'](_0x0c33('0x1e'),_0x329a51);return _0x45cc69[_0x0c33('0x1f')]()['then'](function(_0x2a28b7){return BPromise[_0x0c33('0x22')]({'id':_0x2a28b7[_0x0c33('0x21')],'name':_0x2a28b7['display_name']});});}}function getEndUser(_0x1d12a8,_0x6582b7,_0x2c6fd1,_0x1db6bf,_0x517fba){var _0x36280f={'Phone':_0x1db6bf};var _0x5e821f={'Id':!![],'Name':!![],'Phone':!![]};return BPromise['resolve']()[_0x0c33('0x20')](function(){if(_0x6582b7[_0x0c33('0xd')]===_0x0c33('0x23')){logger[_0x0c33('0x1d')](_0x0c33('0x24'),_0x1db6bf,_0x6582b7[_0x0c33('0x25')]);switch(_0x6582b7['moduleSearch']){case _0x0c33('0x26'):return _0x517fba['sobject'](_0x0c33('0x27'))['find'](_0x36280f,_0x5e821f)[_0x0c33('0x19')]()[_0x0c33('0x20')](function(_0x1c4485){if(_0x1c4485&&_0x1c4485[_0x0c33('0x1a')]){return _0x1c4485;}else{return _0x517fba['sobject'](_0x0c33('0x28'))['find'](_0x36280f,_0x5e821f);}});case _0x0c33('0x29'):return _0x517fba['sobject'](_0x0c33('0x27'))['find'](_0x36280f,_0x5e821f)[_0x0c33('0x19')]();case _0x0c33('0x2a'):return _0x517fba[_0x0c33('0x14')](_0x0c33('0x28'))[_0x0c33('0x18')](_0x36280f,_0x5e821f);default:return null;}}else if(_0x6582b7['ticketType']==='Case'){logger['info'](_0x0c33('0x24'),_0x1db6bf,_0x0c33('0x29'));return _0x517fba['sobject'](_0x0c33('0x27'))[_0x0c33('0x18')](_0x36280f,_0x5e821f)[_0x0c33('0x19')]();}})['then'](function(_0x17d3b7){if(_0x17d3b7&&_0x17d3b7['length']){var _0x4c931b=_['find'](_0x17d3b7,function(_0x2aee1a){return _0x2aee1a['Phone']===_0x1db6bf;});if(_0x4c931b){return BPromise['resolve']({'id':_0x4c931b['Id'],'name':_0x4c931b[_0x0c33('0x1c')],'phone':_0x4c931b[_0x0c33('0x2b')]});}}})[_0x0c33('0x20')](function(_0x254d9a){if(_0x254d9a){logger[_0x0c33('0x1d')](_0x0c33('0x2c'),_0x1db6bf);return BPromise[_0x0c33('0x22')](_0x254d9a);}else{logger[_0x0c33('0x1d')](_0x0c33('0x2d'),_0x1db6bf);var _0x4c4740={'LastName':_0x2c6fd1!==_0x0c33('0x2e')?_0x2c6fd1:util['format'](_0x0c33('0x2f'),_0x1db6bf),'Phone':_0x1db6bf};if(_0x6582b7[_0x0c33('0x30')]){if(_0x6582b7['moduleCreate']===_0x0c33('0x29')){logger['info'](_0x0c33('0x31'),_0x1db6bf,_0x6582b7[_0x0c33('0x30')]);}else if(_0x6582b7['moduleCreate']===_0x0c33('0x2a')&&_0x6582b7['ticketType']===_0x0c33('0x23')){logger[_0x0c33('0x1d')](_0x0c33('0x31'),_0x1db6bf,_0x6582b7[_0x0c33('0x30')]);_0x4c4740[_0x0c33('0x32')]=_0x0c33('0x33');}else{return null;}}return _0x517fba[_0x0c33('0x14')](_[_0x0c33('0x34')](_0x6582b7[_0x0c33('0x30')]))[_0x0c33('0x15')](_0x4c4740);}});}function getCustomFields(_0x52e4b4,_0x197655){var _0xed2a93={};if(_0x52e4b4[_0x0c33('0x1a')]>0x0){_[_0x0c33('0x35')](_0x52e4b4,function(_0x5c9559){if(_0x5c9559['type']===_0x0c33('0x36')&&_0x5c9559[_0x0c33('0x37')]){_0xed2a93[_0x5c9559['idField']]=_0x5c9559[_0x0c33('0x38')]['toString']();}else if(_0x5c9559[_0x0c33('0x39')]===_0x0c33('0x3a')&&_0x5c9559['variableName']&&_0x5c9559[_0x0c33('0x37')]){_0x197655[_0x5c9559[_0x0c33('0x3b')]]&&(_0xed2a93[_0x5c9559[_0x0c33('0x37')]]=_0x197655[_0x5c9559[_0x0c33('0x3b')]][_0x0c33('0x3c')]());}else if(_0x5c9559[_0x0c33('0x39')]===_0x0c33('0x3d')&&_0x5c9559[_0x0c33('0x3e')]&&_0x5c9559['Variable'][_0x0c33('0x3f')]&&_0x5c9559[_0x0c33('0x37')]){_0x197655[_0x5c9559[_0x0c33('0x3e')]['name'][_0x0c33('0x40')]()]&&(_0xed2a93[_0x5c9559['idField']]=_0x197655[_0x5c9559[_0x0c33('0x3e')][_0x0c33('0x3f')][_0x0c33('0x40')]()][_0x0c33('0x3c')]());}});}return _0xed2a93;}function getConnection(_0x29a28c){var _0x289115=_0x29a28c[_0x0c33('0x41')][_0x0c33('0x42')](_0x29a28c[_0x0c33('0x43')]);var _0x858649=new jsforce[(_0x0c33('0x44'))]({'oauth2':{'loginUrl':_0x29a28c[_0x0c33('0x45')]||_0x0c33('0x46'),'clientId':_0x29a28c[_0x0c33('0x47')],'clientSecret':_0x29a28c[_0x0c33('0x48')]}});return _0x858649[_0x0c33('0x49')](_0x29a28c['username'],_0x289115)[_0x0c33('0x20')](function(){logger['info'](_0x0c33('0x4a'));return _0x858649;});}exports[_0x0c33('0x4b')]=function(_0x12b21a,_0x5628da,_0xdaf425,_0x1e5e0a,_0x5648a0,_0x4607c6){var _0x2c7e9e,_0xbf2660,_0x355488,_0x5a77d8;_0x4607c6[_0x0c33('0x4c')]=intUtil[_0x0c33('0x4d')](_0x4607c6[_0x0c33('0x4c')]);_0x4607c6[_0x0c33('0x45')]=intUtil[_0x0c33('0x4d')](_0x4607c6[_0x0c33('0x45')]);if(_0x5648a0&&_0x5648a0[_0x0c33('0x4e')]){logger[_0x0c33('0x1d')](_0x0c33('0x4f'),_0x0c33('0x50'));_0x5628da['recordingURL']=util[_0x0c33('0x51')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x4607c6[_0x0c33('0x4c')],_0x5628da['uniqueid'],md5(_0x5628da[_0x0c33('0x52')]));}else{_0x5628da[_0x0c33('0x53')]='';}return getConnection(_0x4607c6)['then'](function(_0x5f34f0){_0x5a77d8=_0x5f34f0;return getUser(_0x4607c6,_0x1e5e0a[_0x0c33('0x54')],_0x5a77d8);})[_0x0c33('0x20')](function(_0x1649d6){_0x2c7e9e=_0x1649d6;return getEndUser(_0x4607c6,_0xdaf425,_0x5628da[_0x0c33('0x55')],_0x5628da[_0x0c33('0x56')],_0x5a77d8);})[_0x0c33('0x20')](function(_0xe71fb8){_0xbf2660=_0xe71fb8;return getTicket(_0x4607c6,_0x2c7e9e,_0xbf2660,_0xdaf425,_0x5628da,_0xdaf425[_0x0c33('0x57')],_0x5a77d8,_0x0c33('0x4b'));})[_0x0c33('0x20')](function(_0xe80642){_0x355488=_0xe80642;logger['info'](_0x0c33('0x58'),_0x355488['id']);logger[_0x0c33('0x1d')]('[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.',_0x355488['id'],_0x1e5e0a['name'],_0x4607c6[_0x0c33('0x39')]);switch(_0x4607c6[_0x0c33('0x39')]){case'integrationTab':emit(util[_0x0c33('0x51')](_0x0c33('0x59'),_0x1e5e0a[_0x0c33('0x3f')]),_0x0c33('0x5a'),{'recordId':_0x355488['id']});break;case _0x0c33('0x5b'):emit(util[_0x0c33('0x51')](_0x0c33('0x59'),_0x1e5e0a[_0x0c33('0x3f')]),_0x0c33('0x5c'),{'uri':util['format'](_0x0c33('0x5d'),_0x5a77d8[_0x0c33('0x5e')],_0x355488['id'])});break;default:logger[_0x0c33('0x5f')](_0x0c33('0x60'));}})[_0x0c33('0x61')](function(_0x5cdaa4){logger[_0x0c33('0x5f')](_0x0c33('0x4f'),JSON[_0x0c33('0x62')](_0x5cdaa4));});};exports[_0x0c33('0x63')]=function(_0x2b999c,_0x479851,_0x40f44b,_0x359fb1,_0x330fec,_0x36b63f,_0x1daa51){var _0x464654,_0x43eb4e,_0x3ebc4b,_0x3d474e;_0x36b63f[_0x0c33('0x4c')]=intUtil['stripTrailingSlash'](_0x36b63f['serverUrl']);_0x36b63f[_0x0c33('0x45')]=intUtil['stripTrailingSlash'](_0x36b63f[_0x0c33('0x45')]);if(_0x1daa51&&_0x1daa51[_0x0c33('0x64')]&&_0x1daa51[_0x0c33('0x64')]!==_0x0c33('0x65')){logger[_0x0c33('0x1d')](_0x0c33('0x66'),_0x0c33('0x50'));_0x479851[_0x0c33('0x53')]=util[_0x0c33('0x51')](_0x0c33('0x67'),_0x36b63f[_0x0c33('0x4c')],_0x479851[_0x0c33('0x52')],md5(_0x479851[_0x0c33('0x52')]));}return getConnection(_0x36b63f)[_0x0c33('0x20')](function(_0x5e9f90){_0x3d474e=_0x5e9f90;return getUser(_0x36b63f,_0x359fb1[_0x0c33('0x54')],_0x3d474e);})[_0x0c33('0x20')](function(_0x36a38c){_0x464654=_0x36a38c;return getEndUser(_0x36b63f,_0x40f44b,_0x479851[_0x0c33('0x68')],_0x479851['destcalleridnum'],_0x3d474e);})['then'](function(_0x2b4ff1){_0x43eb4e=_0x2b4ff1;return getTicket(_0x36b63f,_0x464654,_0x43eb4e,_0x40f44b,_0x479851,_0x40f44b[_0x0c33('0x57')],_0x3d474e,_0x0c33('0x63'));})[_0x0c33('0x20')](function(_0x187906){_0x3ebc4b=_0x187906;logger[_0x0c33('0x1d')](_0x0c33('0x69'),_0x3ebc4b['id']);logger[_0x0c33('0x1d')](_0x0c33('0x6a'),_0x3ebc4b['id'],_0x359fb1[_0x0c33('0x3f')],_0x36b63f['type']);switch(_0x36b63f[_0x0c33('0x39')]){case _0x0c33('0x6b'):emit(util['format'](_0x0c33('0x59'),_0x359fb1[_0x0c33('0x3f')]),'trigger:salesforce:display',{'recordId':_0x3ebc4b['id']});break;case _0x0c33('0x5b'):emit(util[_0x0c33('0x51')]('user:%s',_0x359fb1[_0x0c33('0x3f')]),'trigger:browser:url',{'uri':util['format'](_0x0c33('0x5d'),_0x3d474e[_0x0c33('0x5e')],_0x3ebc4b['id'])});break;default:logger[_0x0c33('0x5f')]('[OUTBOUND]','Salesforce\x20account\x20type\x20not\x20recognized');}})['catch'](function(_0x18a34c){logger[_0x0c33('0x5f')](_0x0c33('0x66'),JSON[_0x0c33('0x62')](_0x18a34c));});};exports[_0x0c33('0x6c')]=function(_0x2de199,_0x28b3c0,_0x28c2ee,_0x1ea193,_0x5aed99,_0x20b5de){var _0x182441,_0x2b5312,_0x374234,_0x4b093e;_0x20b5de[_0x0c33('0x4c')]=intUtil[_0x0c33('0x4d')](_0x20b5de[_0x0c33('0x4c')]);_0x20b5de['remoteUri']=intUtil['stripTrailingSlash'](_0x20b5de['remoteUri']);if(_0x5aed99&&_0x5aed99[_0x0c33('0x4e')]){logger[_0x0c33('0x1d')]('['+_0x28b3c0[_0x0c33('0x6d')][_0x0c33('0x6e')]()+']',_0x0c33('0x50'));_0x28b3c0[_0x0c33('0x53')]=util[_0x0c33('0x51')](_0x0c33('0x67'),_0x20b5de[_0x0c33('0x4c')],_0x28b3c0[_0x0c33('0x52')],md5(_0x28b3c0[_0x0c33('0x52')]));}else{_0x28b3c0[_0x0c33('0x53')]='';}return getConnection(_0x20b5de)[_0x0c33('0x20')](function(_0x4acd36){_0x4b093e=_0x4acd36;if(!_[_0x0c33('0x16')](_0x1ea193)){return getUser(_0x20b5de,_0x1ea193[_0x0c33('0x3f')],_0x4b093e);}else{return getUser(_0x20b5de,null,_0x4b093e);}})[_0x0c33('0x20')](function(_0x445a38){_0x182441=_0x445a38;return getEndUser(_0x20b5de,_0x28c2ee,_0x28b3c0['calleridname'],_0x28b3c0['calleridnum'],_0x4b093e);})[_0x0c33('0x20')](function(_0x5e2525){_0x2b5312=_0x5e2525;return getTicket(_0x20b5de,_0x182441,_0x2b5312,_0x28c2ee,_0x28b3c0,_0x28c2ee[_0x0c33('0x57')],_0x4b093e);})[_0x0c33('0x20')](function(_0x1c3674){_0x374234=_0x1c3674;logger[_0x0c33('0x1d')]('['+_0x28b3c0[_0x0c33('0x6d')][_0x0c33('0x6e')]()+_0x0c33('0x6f'),_0x374234['id']);logger[_0x0c33('0x1d')]('['+_0x28b3c0[_0x0c33('0x6d')][_0x0c33('0x6e')]()+_0x0c33('0x70'),_0x20b5de[_0x0c33('0x39')]);})[_0x0c33('0x61')](function(_0x135a10){logger[_0x0c33('0x5f')]('['+_0x28b3c0['lastevent'][_0x0c33('0x6e')]()+']',JSON[_0x0c33('0x62')](_0x135a10));});};
\ No newline at end of file
+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