Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
index ca97c68..5b04051 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x629e=['none','[OUTBOUND]','destcalleridname','destcalleridnum','[OUTBOUND]\x20Ticket\x20%s\x20created.','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','Salesforce\x20account\x20type\x20not\x20recognized','unmanaged','toUpperCase','lastevent',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.','catch','lodash','request-promise','bluebird','jsforce','util','./util','../../../../config/environment','../../../../config/logger','salesforce','redis','defaults','socket.io-emitter','emit','ticketType','assign','utc','getString','Subjects','Descriptions','Case','ContactId','sobject','create','isNil','validateEmail','User','find','execute','then','info','Agent\x20%s\x20found.','Name','identity','resolve','user_id','display_name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','Task','moduleSearch','contact_lead','Contact','length','Lead','contact','lead','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','Phone','Enduser\x20with\x20phone\x20%s\x20found.','Enduser\x20with\x20phone\x20%s\x20not\x20found.','<unknown>','format','moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','Company','No\x20Company','upperFirst','forEach','idField','content','toString','type','variableName','Variable','name','toLowerCase','password','securityToken','Connection','remoteUri','clientId','clientSecret','login','username','Connection\x20established.','queue','serverUrl','stripTrailingSlash','monitor_format','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','email','calleridname','calleridnum','Fields','[QUEUE]\x20Ticket\x20%s\x20created','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','user:%s','trigger:salesforce:display','newTab','%s/%s/e','instanceUrl','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','[QUEUE]','stringify','outbound','recordingFormat'];(function(_0xab635a,_0x3ca754){var _0x345e0f=function(_0x57fdbf){while(--_0x57fdbf){_0xab635a['push'](_0xab635a['shift']());}};_0x345e0f(++_0x3ca754);}(_0x629e,0x160));var _0xe629=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x629e[_0xa464c9];return _0x3d73c4;};'use strict';var _=require(_0xe629('0x0'));var rp=require(_0xe629('0x1'));var moment=require('moment');var BPromise=require(_0xe629('0x2'));var md5=require('md5');var jsforce=require(_0xe629('0x3'));var util=require(_0xe629('0x4'));var Redis=require('ioredis');var intUtil=require(_0xe629('0x5'));var config=require(_0xe629('0x6'));var logger=require(_0xe629('0x7'))(_0xe629('0x8'));config[_0xe629('0x9')]=_[_0xe629('0xa')](config[_0xe629('0x9')],{'host':'localhost','port':0x18eb});var io=require(_0xe629('0xb'))(new Redis(config['redis']));function emit(_0x32c7d4,_0x5d1b79,_0x3c83b2){io['to'](_0x32c7d4)[_0xe629('0xc')](_0x5d1b79,_0x3c83b2);}function getTicket(_0x4ba46d,_0x2e8a75,_0x290a5d,_0x3b90e1,_0x34282a,_0x3f44df,_0x3f7e8c,_0x1fa1fe){var _0xfc9d2={};if(_0x3b90e1[_0xe629('0xd')]==='Task'){_0xfc9d2=Object[_0xe629('0xe')]({},{'OwnerId':_0x2e8a75['id'],'ActivityDate':moment[_0xe629('0xf')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0xe629('0x10')](_0x3b90e1[_0xe629('0x11')],_0x34282a,'\x20'),'Description':intUtil['getString'](_0x3b90e1[_0xe629('0x12')],_0x34282a,'\x0a')},getCustomFields(_0x3f44df,_0x34282a));if(_0x290a5d){_0xfc9d2['WhoId']=_0x290a5d['id'];}}else if(_0x3b90e1[_0xe629('0xd')]===_0xe629('0x13')){_0xfc9d2=Object['assign']({},{'OwnerId':_0x2e8a75['id'],'Subject':intUtil['getString'](_0x3b90e1['Subjects'],_0x34282a,'\x20'),'Description':intUtil[_0xe629('0x10')](_0x3b90e1[_0xe629('0x12')],_0x34282a,'\x0a')},getCustomFields(_0x3f44df,_0x34282a));if(_0x290a5d){_0xfc9d2[_0xe629('0x14')]=_0x290a5d['id'];}}return _0x3f7e8c[_0xe629('0x15')](_0x3b90e1[_0xe629('0xd')])[_0xe629('0x16')](_0xfc9d2);}function getUser(_0x1c9be1,_0x3870bd,_0x588e01){if(!_[_0xe629('0x17')](_0x3870bd)&&intUtil[_0xe629('0x18')](_0x3870bd)){var _0x1cf74e={'Email':_0x3870bd};var _0x2da0e3={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x588e01['sobject'](_0xe629('0x19'))[_0xe629('0x1a')](_0x1cf74e,_0x2da0e3)[_0xe629('0x1b')]()[_0xe629('0x1c')](function(_0x19b72a){if(_0x19b72a['length']){var _0x4748b7=_['find'](_0x19b72a,function(_0x3c9538){return _0x3c9538['Email']===_0x3870bd;});if(_0x4748b7){logger[_0xe629('0x1d')](_0xe629('0x1e'),_0x3870bd);return BPromise['resolve']({'id':_0x4748b7['Id'],'name':_0x4748b7[_0xe629('0x1f')]});}}else{logger[_0xe629('0x1d')]('Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.',_0x3870bd);return _0x588e01[_0xe629('0x20')]()[_0xe629('0x1c')](function(_0x13cce9){return BPromise[_0xe629('0x21')]({'id':_0x13cce9[_0xe629('0x22')],'name':_0x13cce9[_0xe629('0x23')]});});}});}else{logger[_0xe629('0x1d')](_0xe629('0x24'),_0x3870bd);return _0x588e01[_0xe629('0x20')]()[_0xe629('0x1c')](function(_0x1335ce){return BPromise[_0xe629('0x21')]({'id':_0x1335ce['user_id'],'name':_0x1335ce['display_name']});});}}function getEndUser(_0x5db6c3,_0x5436fa,_0x568ff4,_0x5305a3,_0x3e6cbe){var _0x2abf37={'Phone':_0x5305a3};var _0x504c31={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0xe629('0x21')]()['then'](function(){if(_0x5436fa[_0xe629('0xd')]===_0xe629('0x25')){logger[_0xe629('0x1d')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x5305a3,_0x5436fa[_0xe629('0x26')]);switch(_0x5436fa[_0xe629('0x26')]){case _0xe629('0x27'):return _0x3e6cbe[_0xe629('0x15')](_0xe629('0x28'))[_0xe629('0x1a')](_0x2abf37,_0x504c31)[_0xe629('0x1b')]()[_0xe629('0x1c')](function(_0x45fb9d){if(_0x45fb9d&&_0x45fb9d[_0xe629('0x29')]){return _0x45fb9d;}else{return _0x3e6cbe[_0xe629('0x15')](_0xe629('0x2a'))[_0xe629('0x1a')](_0x2abf37,_0x504c31);}});case _0xe629('0x2b'):return _0x3e6cbe[_0xe629('0x15')](_0xe629('0x28'))[_0xe629('0x1a')](_0x2abf37,_0x504c31)[_0xe629('0x1b')]();case _0xe629('0x2c'):return _0x3e6cbe['sobject']('Lead')[_0xe629('0x1a')](_0x2abf37,_0x504c31);default:return null;}}else if(_0x5436fa[_0xe629('0xd')]===_0xe629('0x13')){logger[_0xe629('0x1d')](_0xe629('0x2d'),_0x5305a3,_0xe629('0x2b'));return _0x3e6cbe[_0xe629('0x15')](_0xe629('0x28'))['find'](_0x2abf37,_0x504c31)[_0xe629('0x1b')]();}})[_0xe629('0x1c')](function(_0x585897){if(_0x585897&&_0x585897[_0xe629('0x29')]){var _0x5261d6=_[_0xe629('0x1a')](_0x585897,function(_0x3f4574){return _0x3f4574[_0xe629('0x2e')]===_0x5305a3;});if(_0x5261d6){return BPromise[_0xe629('0x21')]({'id':_0x5261d6['Id'],'name':_0x5261d6[_0xe629('0x1f')],'phone':_0x5261d6[_0xe629('0x2e')]});}}})[_0xe629('0x1c')](function(_0x3fccd6){if(_0x3fccd6){logger[_0xe629('0x1d')](_0xe629('0x2f'),_0x5305a3);return BPromise[_0xe629('0x21')](_0x3fccd6);}else{logger[_0xe629('0x1d')](_0xe629('0x30'),_0x5305a3);var _0x3a512a={'LastName':_0x568ff4!==_0xe629('0x31')?_0x568ff4:util[_0xe629('0x32')]('Caller\x20-\x20%s',_0x5305a3),'Phone':_0x5305a3};if(_0x5436fa[_0xe629('0x33')]){if(_0x5436fa['moduleCreate']==='contact'){logger['info'](_0xe629('0x34'),_0x5305a3,_0x5436fa[_0xe629('0x33')]);}else if(_0x5436fa[_0xe629('0x33')]==='lead'&&_0x5436fa[_0xe629('0xd')]===_0xe629('0x25')){logger[_0xe629('0x1d')](_0xe629('0x34'),_0x5305a3,_0x5436fa['moduleCreate']);_0x3a512a[_0xe629('0x35')]=_0xe629('0x36');}else{return null;}}return _0x3e6cbe['sobject'](_[_0xe629('0x37')](_0x5436fa['moduleCreate']))[_0xe629('0x16')](_0x3a512a);}});}function getCustomFields(_0x492157,_0x205569){var _0x54089b={};if(_0x492157[_0xe629('0x29')]>0x0){_[_0xe629('0x38')](_0x492157,function(_0x5e0d75){if(_0x5e0d75['type']==='string'&&_0x5e0d75[_0xe629('0x39')]){_0x54089b[_0x5e0d75['idField']]=_0x5e0d75[_0xe629('0x3a')][_0xe629('0x3b')]();}else if(_0x5e0d75[_0xe629('0x3c')]==='variable'&&_0x5e0d75[_0xe629('0x3d')]&&_0x5e0d75[_0xe629('0x39')]){_0x205569[_0x5e0d75['variableName']]&&(_0x54089b[_0x5e0d75['idField']]=_0x205569[_0x5e0d75[_0xe629('0x3d')]][_0xe629('0x3b')]());}else if(_0x5e0d75['type']==='customVariable'&&_0x5e0d75[_0xe629('0x3e')]&&_0x5e0d75[_0xe629('0x3e')][_0xe629('0x3f')]&&_0x5e0d75[_0xe629('0x39')]){_0x205569[_0x5e0d75[_0xe629('0x3e')][_0xe629('0x3f')][_0xe629('0x40')]()]&&(_0x54089b[_0x5e0d75['idField']]=_0x205569[_0x5e0d75[_0xe629('0x3e')]['name']['toLowerCase']()][_0xe629('0x3b')]());}});}return _0x54089b;}function getConnection(_0x3840ce){var _0x512940=_0x3840ce[_0xe629('0x41')]['concat'](_0x3840ce[_0xe629('0x42')]);var _0x436b4c=new jsforce[(_0xe629('0x43'))]({'oauth2':{'loginUrl':_0x3840ce[_0xe629('0x44')]||'https://login.salesforce.com','clientId':_0x3840ce[_0xe629('0x45')],'clientSecret':_0x3840ce[_0xe629('0x46')]}});return _0x436b4c[_0xe629('0x47')](_0x3840ce[_0xe629('0x48')],_0x512940)['then'](function(){logger[_0xe629('0x1d')](_0xe629('0x49'));return _0x436b4c;});}exports[_0xe629('0x4a')]=function(_0xa53b21,_0x6e1836,_0xd729b9,_0xd61dd7,_0x50e9f8,_0x164e3f){var _0xf5f306,_0x5f0e27,_0x1ce04e,_0x4e0310;_0x164e3f[_0xe629('0x4b')]=intUtil[_0xe629('0x4c')](_0x164e3f[_0xe629('0x4b')]);_0x164e3f[_0xe629('0x44')]=intUtil[_0xe629('0x4c')](_0x164e3f['remoteUri']);if(_0x50e9f8&&_0x50e9f8[_0xe629('0x4d')]){logger[_0xe629('0x1d')]('[QUEUE]',_0xe629('0x4e'));_0x6e1836[_0xe629('0x4f')]=util[_0xe629('0x32')](_0xe629('0x50'),_0x164e3f[_0xe629('0x4b')],_0x6e1836[_0xe629('0x51')],md5(_0x6e1836[_0xe629('0x51')]));}else{_0x6e1836[_0xe629('0x4f')]='';}return getConnection(_0x164e3f)[_0xe629('0x1c')](function(_0xdab0d2){_0x4e0310=_0xdab0d2;return getUser(_0x164e3f,_0xd61dd7[_0xe629('0x52')],_0x4e0310);})[_0xe629('0x1c')](function(_0x816ab7){_0xf5f306=_0x816ab7;return getEndUser(_0x164e3f,_0xd729b9,_0x6e1836[_0xe629('0x53')],_0x6e1836[_0xe629('0x54')],_0x4e0310);})[_0xe629('0x1c')](function(_0x221b64){_0x5f0e27=_0x221b64;return getTicket(_0x164e3f,_0xf5f306,_0x5f0e27,_0xd729b9,_0x6e1836,_0xd729b9[_0xe629('0x55')],_0x4e0310,_0xe629('0x4a'));})[_0xe629('0x1c')](function(_0x214708){_0x1ce04e=_0x214708;logger['info'](_0xe629('0x56'),_0x1ce04e['id']);logger[_0xe629('0x1d')](_0xe629('0x57'),_0x1ce04e['id'],_0xd61dd7[_0xe629('0x3f')],_0x164e3f[_0xe629('0x3c')]);switch(_0x164e3f[_0xe629('0x3c')]){case _0xe629('0x58'):emit(util[_0xe629('0x32')](_0xe629('0x59'),_0xd61dd7[_0xe629('0x3f')]),_0xe629('0x5a'),{'recordId':_0x1ce04e['id']});break;case _0xe629('0x5b'):emit(util[_0xe629('0x32')](_0xe629('0x59'),_0xd61dd7[_0xe629('0x3f')]),'trigger:browser:url',{'uri':util[_0xe629('0x32')](_0xe629('0x5c'),_0x4e0310[_0xe629('0x5d')],_0x1ce04e['id'])});break;default:logger[_0xe629('0x5e')](_0xe629('0x5f'));}})['catch'](function(_0x16d376){logger[_0xe629('0x5e')](_0xe629('0x60'),JSON[_0xe629('0x61')](_0x16d376));});};exports[_0xe629('0x62')]=function(_0x545310,_0x36aaf4,_0x30bda6,_0x5281b3,_0x406319,_0x42ce19,_0x558f20){var _0x514936,_0x3f3a46,_0x201080,_0x174dc3;_0x42ce19[_0xe629('0x4b')]=intUtil[_0xe629('0x4c')](_0x42ce19[_0xe629('0x4b')]);_0x42ce19[_0xe629('0x44')]=intUtil[_0xe629('0x4c')](_0x42ce19['remoteUri']);if(_0x558f20&&_0x558f20[_0xe629('0x63')]&&_0x558f20['recordingFormat']!==_0xe629('0x64')){logger[_0xe629('0x1d')](_0xe629('0x65'),'Recording\x20is\x20enabled!');_0x36aaf4[_0xe629('0x4f')]=util[_0xe629('0x32')](_0xe629('0x50'),_0x42ce19[_0xe629('0x4b')],_0x36aaf4[_0xe629('0x51')],md5(_0x36aaf4[_0xe629('0x51')]));}return getConnection(_0x42ce19)['then'](function(_0x2eceb2){_0x174dc3=_0x2eceb2;return getUser(_0x42ce19,_0x5281b3[_0xe629('0x52')],_0x174dc3);})[_0xe629('0x1c')](function(_0x16551b){_0x514936=_0x16551b;return getEndUser(_0x42ce19,_0x30bda6,_0x36aaf4[_0xe629('0x66')],_0x36aaf4[_0xe629('0x67')],_0x174dc3);})[_0xe629('0x1c')](function(_0xd922db){_0x3f3a46=_0xd922db;return getTicket(_0x42ce19,_0x514936,_0x3f3a46,_0x30bda6,_0x36aaf4,_0x30bda6[_0xe629('0x55')],_0x174dc3,_0xe629('0x62'));})[_0xe629('0x1c')](function(_0x306827){_0x201080=_0x306827;logger['info'](_0xe629('0x68'),_0x201080['id']);logger[_0xe629('0x1d')](_0xe629('0x69'),_0x201080['id'],_0x5281b3['name'],_0x42ce19[_0xe629('0x3c')]);switch(_0x42ce19[_0xe629('0x3c')]){case'integrationTab':emit(util[_0xe629('0x32')](_0xe629('0x59'),_0x5281b3[_0xe629('0x3f')]),_0xe629('0x5a'),{'recordId':_0x201080['id']});break;case _0xe629('0x5b'):emit(util[_0xe629('0x32')]('user:%s',_0x5281b3[_0xe629('0x3f')]),'trigger:browser:url',{'uri':util['format'](_0xe629('0x5c'),_0x174dc3[_0xe629('0x5d')],_0x201080['id'])});break;default:logger[_0xe629('0x5e')](_0xe629('0x65'),_0xe629('0x6a'));}})['catch'](function(_0x5363ef){logger['error'](_0xe629('0x65'),JSON[_0xe629('0x61')](_0x5363ef));});};exports[_0xe629('0x6b')]=function(_0x102855,_0x55e2ba,_0x121cc2,_0x1e5b8e,_0x3db91f,_0x5accfc){var _0xb41efc,_0x245d06,_0x1ce1b4,_0x53ce46;_0x5accfc[_0xe629('0x4b')]=intUtil['stripTrailingSlash'](_0x5accfc[_0xe629('0x4b')]);_0x5accfc[_0xe629('0x44')]=intUtil[_0xe629('0x4c')](_0x5accfc[_0xe629('0x44')]);if(_0x3db91f&&_0x3db91f[_0xe629('0x4d')]){logger['info']('['+_0x55e2ba['lastevent'][_0xe629('0x6c')]()+']',_0xe629('0x4e'));_0x55e2ba[_0xe629('0x4f')]=util[_0xe629('0x32')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x5accfc[_0xe629('0x4b')],_0x55e2ba[_0xe629('0x51')],md5(_0x55e2ba[_0xe629('0x51')]));}else{_0x55e2ba[_0xe629('0x4f')]='';}return getConnection(_0x5accfc)[_0xe629('0x1c')](function(_0x66bc6){_0x53ce46=_0x66bc6;if(!_[_0xe629('0x17')](_0x1e5b8e)){return getUser(_0x5accfc,_0x1e5b8e['name'],_0x53ce46);}else{return getUser(_0x5accfc,null,_0x53ce46);}})[_0xe629('0x1c')](function(_0x2dc58e){_0xb41efc=_0x2dc58e;return getEndUser(_0x5accfc,_0x121cc2,_0x55e2ba[_0xe629('0x53')],_0x55e2ba[_0xe629('0x54')],_0x53ce46);})[_0xe629('0x1c')](function(_0x43ada7){_0x245d06=_0x43ada7;return getTicket(_0x5accfc,_0xb41efc,_0x245d06,_0x121cc2,_0x55e2ba,_0x121cc2[_0xe629('0x55')],_0x53ce46);})[_0xe629('0x1c')](function(_0x46f9b2){_0x1ce1b4=_0x46f9b2;logger['info']('['+_0x55e2ba[_0xe629('0x6d')]['toUpperCase']()+_0xe629('0x6e'),_0x1ce1b4['id']);logger[_0xe629('0x1d')]('['+_0x55e2ba[_0xe629('0x6d')][_0xe629('0x6c')]()+_0xe629('0x6f'),_0x5accfc[_0xe629('0x3c')]);})[_0xe629('0x70')](function(_0x3076bf){logger[_0xe629('0x5e')]('['+_0x55e2ba[_0xe629('0x6d')]['toUpperCase']()+']',JSON[_0xe629('0x61')](_0x3076bf));});};
\ No newline at end of file
+var _0xbc40=['calleridnum','Fields','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','trigger:salesforce:display','trigger:browser:url','instanceUrl','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','[QUEUE]','stringify','recordingFormat','none','Recording\x20is\x20enabled!','destcalleridnum','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','user:%s','%s/%s/e','[OUTBOUND]','Salesforce\x20account\x20type\x20not\x20recognized','unmanaged','toUpperCase','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','lastevent',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.','lodash','request-promise','moment','bluebird','jsforce','util','ioredis','./util','../../../../config/logger','salesforce','redis','localhost','socket.io-emitter','emit','Task','assign','getString','Subjects','Descriptions','WhoId','ticketType','Case','create','isNil','validateEmail','sobject','User','find','then','length','Email','info','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','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','content','toString','type','variableName','customVariable','Variable','name','toLowerCase','password','securityToken','Connection','https://login.salesforce.com','clientSecret','login','Connection\x20established.','queue','serverUrl','stripTrailingSlash','remoteUri','recordingURL','uniqueid','email','calleridname'];(function(_0x411be6,_0x9b926){var _0xf61a3a=function(_0x4930a8){while(--_0x4930a8){_0x411be6['push'](_0x411be6['shift']());}};_0xf61a3a(++_0x9b926);}(_0xbc40,0x162));var _0x0bc4=function(_0x20d2e9,_0x49664e){_0x20d2e9=_0x20d2e9-0x0;var _0x56d870=_0xbc40[_0x20d2e9];return _0x56d870;};'use strict';var _=require(_0x0bc4('0x0'));var rp=require(_0x0bc4('0x1'));var moment=require(_0x0bc4('0x2'));var BPromise=require(_0x0bc4('0x3'));var md5=require('md5');var jsforce=require(_0x0bc4('0x4'));var util=require(_0x0bc4('0x5'));var Redis=require(_0x0bc4('0x6'));var intUtil=require(_0x0bc4('0x7'));var config=require('../../../../config/environment');var logger=require(_0x0bc4('0x8'))(_0x0bc4('0x9'));config['redis']=_['defaults'](config[_0x0bc4('0xa')],{'host':_0x0bc4('0xb'),'port':0x18eb});var io=require(_0x0bc4('0xc'))(new Redis(config[_0x0bc4('0xa')]));function emit(_0x19077e,_0x189675,_0x565058){io['to'](_0x19077e)[_0x0bc4('0xd')](_0x189675,_0x565058);}function getTicket(_0x184076,_0xa3174c,_0x3deb63,_0x15e184,_0x3d7adb,_0x43bf66,_0x21a46f,_0x44ee05){var _0x1b1845={};if(_0x15e184['ticketType']===_0x0bc4('0xe')){_0x1b1845=Object[_0x0bc4('0xf')]({},{'OwnerId':_0xa3174c['id'],'ActivityDate':moment['utc'](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x0bc4('0x10')](_0x15e184[_0x0bc4('0x11')],_0x3d7adb,'\x20'),'Description':intUtil[_0x0bc4('0x10')](_0x15e184[_0x0bc4('0x12')],_0x3d7adb,'\x0a')},getCustomFields(_0x43bf66,_0x3d7adb));if(_0x3deb63){_0x1b1845[_0x0bc4('0x13')]=_0x3deb63['id'];}}else if(_0x15e184[_0x0bc4('0x14')]===_0x0bc4('0x15')){_0x1b1845=Object['assign']({},{'OwnerId':_0xa3174c['id'],'Subject':intUtil[_0x0bc4('0x10')](_0x15e184['Subjects'],_0x3d7adb,'\x20'),'Description':intUtil[_0x0bc4('0x10')](_0x15e184[_0x0bc4('0x12')],_0x3d7adb,'\x0a')},getCustomFields(_0x43bf66,_0x3d7adb));if(_0x3deb63){_0x1b1845['ContactId']=_0x3deb63['id'];}}return _0x21a46f['sobject'](_0x15e184['ticketType'])[_0x0bc4('0x16')](_0x1b1845);}function getUser(_0x478bd4,_0x2e611e,_0x54c400){if(!_[_0x0bc4('0x17')](_0x2e611e)&&intUtil[_0x0bc4('0x18')](_0x2e611e)){var _0x20fa30={'Email':_0x2e611e};var _0x4b81a9={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x54c400[_0x0bc4('0x19')](_0x0bc4('0x1a'))[_0x0bc4('0x1b')](_0x20fa30,_0x4b81a9)['execute']()[_0x0bc4('0x1c')](function(_0x4f881a){if(_0x4f881a[_0x0bc4('0x1d')]){var _0xfd1895=_[_0x0bc4('0x1b')](_0x4f881a,function(_0x4cf688){return _0x4cf688[_0x0bc4('0x1e')]===_0x2e611e;});if(_0xfd1895){logger[_0x0bc4('0x1f')]('Agent\x20%s\x20found.',_0x2e611e);return BPromise[_0x0bc4('0x20')]({'id':_0xfd1895['Id'],'name':_0xfd1895[_0x0bc4('0x21')]});}}else{logger[_0x0bc4('0x1f')](_0x0bc4('0x22'),_0x2e611e);return _0x54c400[_0x0bc4('0x23')]()[_0x0bc4('0x1c')](function(_0x1d9323){return BPromise['resolve']({'id':_0x1d9323[_0x0bc4('0x24')],'name':_0x1d9323['display_name']});});}});}else{logger[_0x0bc4('0x1f')](_0x0bc4('0x22'),_0x2e611e);return _0x54c400[_0x0bc4('0x23')]()[_0x0bc4('0x1c')](function(_0x1777c4){return BPromise[_0x0bc4('0x20')]({'id':_0x1777c4['user_id'],'name':_0x1777c4[_0x0bc4('0x25')]});});}}function getEndUser(_0x2f2033,_0x20187d,_0x497389,_0x47cf14,_0x1f5efa){var _0x13f878={'Phone':_0x47cf14};var _0x3ecead={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x0bc4('0x20')]()['then'](function(){if(_0x20187d[_0x0bc4('0x14')]===_0x0bc4('0xe')){logger[_0x0bc4('0x1f')](_0x0bc4('0x26'),_0x47cf14,_0x20187d[_0x0bc4('0x27')]);switch(_0x20187d[_0x0bc4('0x27')]){case _0x0bc4('0x28'):return _0x1f5efa['sobject'](_0x0bc4('0x29'))['find'](_0x13f878,_0x3ecead)[_0x0bc4('0x2a')]()[_0x0bc4('0x1c')](function(_0x2869bc){if(_0x2869bc&&_0x2869bc[_0x0bc4('0x1d')]){return _0x2869bc;}else{return _0x1f5efa[_0x0bc4('0x19')](_0x0bc4('0x2b'))['find'](_0x13f878,_0x3ecead);}});case _0x0bc4('0x2c'):return _0x1f5efa[_0x0bc4('0x19')](_0x0bc4('0x29'))[_0x0bc4('0x1b')](_0x13f878,_0x3ecead)[_0x0bc4('0x2a')]();case _0x0bc4('0x2d'):return _0x1f5efa[_0x0bc4('0x19')]('Lead')[_0x0bc4('0x1b')](_0x13f878,_0x3ecead);default:return null;}}else if(_0x20187d['ticketType']===_0x0bc4('0x15')){logger[_0x0bc4('0x1f')](_0x0bc4('0x26'),_0x47cf14,_0x0bc4('0x2c'));return _0x1f5efa[_0x0bc4('0x19')](_0x0bc4('0x29'))[_0x0bc4('0x1b')](_0x13f878,_0x3ecead)[_0x0bc4('0x2a')]();}})[_0x0bc4('0x1c')](function(_0x100dd1){if(_0x100dd1&&_0x100dd1['length']){var _0x404896=_[_0x0bc4('0x1b')](_0x100dd1,function(_0x87142a){return _0x87142a['Phone']===_0x47cf14;});if(_0x404896){return BPromise[_0x0bc4('0x20')]({'id':_0x404896['Id'],'name':_0x404896[_0x0bc4('0x21')],'phone':_0x404896[_0x0bc4('0x2e')]});}}})[_0x0bc4('0x1c')](function(_0x464929){if(_0x464929){logger[_0x0bc4('0x1f')](_0x0bc4('0x2f'),_0x47cf14);return BPromise[_0x0bc4('0x20')](_0x464929);}else{logger[_0x0bc4('0x1f')]('Enduser\x20with\x20phone\x20%s\x20not\x20found.',_0x47cf14);var _0x254de6={'LastName':_0x497389!==_0x0bc4('0x30')?_0x497389:util[_0x0bc4('0x31')](_0x0bc4('0x32'),_0x47cf14),'Phone':_0x47cf14};if(_0x20187d[_0x0bc4('0x33')]){if(_0x20187d[_0x0bc4('0x33')]===_0x0bc4('0x2c')){logger[_0x0bc4('0x1f')](_0x0bc4('0x34'),_0x47cf14,_0x20187d[_0x0bc4('0x33')]);}else if(_0x20187d['moduleCreate']===_0x0bc4('0x2d')&&_0x20187d[_0x0bc4('0x14')]===_0x0bc4('0xe')){logger[_0x0bc4('0x1f')]('Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.',_0x47cf14,_0x20187d[_0x0bc4('0x33')]);_0x254de6[_0x0bc4('0x35')]=_0x0bc4('0x36');}else{return null;}}return _0x1f5efa['sobject'](_[_0x0bc4('0x37')](_0x20187d[_0x0bc4('0x33')]))[_0x0bc4('0x16')](_0x254de6);}});}function getCustomFields(_0x458fc6,_0x2a6a05){var _0x1f69de={};if(_0x458fc6[_0x0bc4('0x1d')]>0x0){_[_0x0bc4('0x38')](_0x458fc6,function(_0x16bdb6){if(_0x16bdb6['type']===_0x0bc4('0x39')&&_0x16bdb6[_0x0bc4('0x3a')]){_0x1f69de[_0x16bdb6[_0x0bc4('0x3a')]]=_0x16bdb6[_0x0bc4('0x3b')][_0x0bc4('0x3c')]();}else if(_0x16bdb6[_0x0bc4('0x3d')]==='variable'&&_0x16bdb6[_0x0bc4('0x3e')]&&_0x16bdb6[_0x0bc4('0x3a')]){_0x2a6a05[_0x16bdb6['variableName']]&&(_0x1f69de[_0x16bdb6[_0x0bc4('0x3a')]]=_0x2a6a05[_0x16bdb6[_0x0bc4('0x3e')]][_0x0bc4('0x3c')]());}else if(_0x16bdb6[_0x0bc4('0x3d')]===_0x0bc4('0x3f')&&_0x16bdb6[_0x0bc4('0x40')]&&_0x16bdb6[_0x0bc4('0x40')][_0x0bc4('0x41')]&&_0x16bdb6[_0x0bc4('0x3a')]){_0x2a6a05[_0x16bdb6[_0x0bc4('0x40')][_0x0bc4('0x41')][_0x0bc4('0x42')]()]&&(_0x1f69de[_0x16bdb6[_0x0bc4('0x3a')]]=_0x2a6a05[_0x16bdb6['Variable'][_0x0bc4('0x41')][_0x0bc4('0x42')]()][_0x0bc4('0x3c')]());}});}return _0x1f69de;}function getConnection(_0x65aed1){var _0x41c8ea=_0x65aed1[_0x0bc4('0x43')]['concat'](_0x65aed1[_0x0bc4('0x44')]);var _0xd9b7a0=new jsforce[(_0x0bc4('0x45'))]({'oauth2':{'loginUrl':_0x65aed1['remoteUri']||_0x0bc4('0x46'),'clientId':_0x65aed1['clientId'],'clientSecret':_0x65aed1[_0x0bc4('0x47')]}});return _0xd9b7a0[_0x0bc4('0x48')](_0x65aed1['username'],_0x41c8ea)[_0x0bc4('0x1c')](function(){logger[_0x0bc4('0x1f')](_0x0bc4('0x49'));return _0xd9b7a0;});}exports[_0x0bc4('0x4a')]=function(_0xbf54f1,_0x365276,_0x57bf1e,_0x3141e6,_0x5f1b34,_0x2b9723){var _0xe178bf,_0x2fb631,_0x236582,_0x5689fd;_0x2b9723[_0x0bc4('0x4b')]=intUtil[_0x0bc4('0x4c')](_0x2b9723[_0x0bc4('0x4b')]);_0x2b9723[_0x0bc4('0x4d')]=intUtil['stripTrailingSlash'](_0x2b9723[_0x0bc4('0x4d')]);if(_0x5f1b34&&_0x5f1b34['monitor_format']){logger['info']('[QUEUE]','Recording\x20is\x20enabled!');_0x365276[_0x0bc4('0x4e')]=util[_0x0bc4('0x31')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x2b9723[_0x0bc4('0x4b')],_0x365276[_0x0bc4('0x4f')],md5(_0x365276[_0x0bc4('0x4f')]));}else{_0x365276[_0x0bc4('0x4e')]='';}return getConnection(_0x2b9723)[_0x0bc4('0x1c')](function(_0xcf81e3){_0x5689fd=_0xcf81e3;return getUser(_0x2b9723,_0x3141e6[_0x0bc4('0x50')],_0x5689fd);})[_0x0bc4('0x1c')](function(_0x2a6e62){_0xe178bf=_0x2a6e62;return getEndUser(_0x2b9723,_0x57bf1e,_0x365276[_0x0bc4('0x51')],_0x365276[_0x0bc4('0x52')],_0x5689fd);})[_0x0bc4('0x1c')](function(_0x2eb6c9){_0x2fb631=_0x2eb6c9;return getTicket(_0x2b9723,_0xe178bf,_0x2fb631,_0x57bf1e,_0x365276,_0x57bf1e[_0x0bc4('0x53')],_0x5689fd,_0x0bc4('0x4a'));})[_0x0bc4('0x1c')](function(_0x27b7a5){_0x236582=_0x27b7a5;logger['info']('[QUEUE]\x20Ticket\x20%s\x20created',_0x236582['id']);logger[_0x0bc4('0x1f')](_0x0bc4('0x54'),_0x236582['id'],_0x3141e6['name'],_0x2b9723[_0x0bc4('0x3d')]);switch(_0x2b9723[_0x0bc4('0x3d')]){case _0x0bc4('0x55'):emit(util[_0x0bc4('0x31')]('user:%s',_0x3141e6[_0x0bc4('0x41')]),_0x0bc4('0x56'),{'recordId':_0x236582['id']});break;case'newTab':emit(util[_0x0bc4('0x31')]('user:%s',_0x3141e6[_0x0bc4('0x41')]),_0x0bc4('0x57'),{'uri':util[_0x0bc4('0x31')]('%s/%s/e',_0x5689fd[_0x0bc4('0x58')],_0x236582['id'])});break;default:logger[_0x0bc4('0x59')](_0x0bc4('0x5a'));}})[_0x0bc4('0x5b')](function(_0x2dfddb){logger['error'](_0x0bc4('0x5c'),JSON[_0x0bc4('0x5d')](_0x2dfddb));});};exports['outbound']=function(_0x117b3c,_0x5f3a96,_0x23e884,_0xe0b901,_0x27edd1,_0x2e5947,_0x4856b5){var _0x1f45b4,_0x1cd726,_0xdab1d0,_0x383bef;_0x2e5947[_0x0bc4('0x4b')]=intUtil[_0x0bc4('0x4c')](_0x2e5947[_0x0bc4('0x4b')]);_0x2e5947[_0x0bc4('0x4d')]=intUtil['stripTrailingSlash'](_0x2e5947[_0x0bc4('0x4d')]);if(_0x4856b5&&_0x4856b5[_0x0bc4('0x5e')]&&_0x4856b5[_0x0bc4('0x5e')]!==_0x0bc4('0x5f')){logger[_0x0bc4('0x1f')]('[OUTBOUND]',_0x0bc4('0x60'));_0x5f3a96['recordingURL']=util[_0x0bc4('0x31')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x2e5947[_0x0bc4('0x4b')],_0x5f3a96[_0x0bc4('0x4f')],md5(_0x5f3a96[_0x0bc4('0x4f')]));}return getConnection(_0x2e5947)['then'](function(_0x1985c0){_0x383bef=_0x1985c0;return getUser(_0x2e5947,_0xe0b901['email'],_0x383bef);})[_0x0bc4('0x1c')](function(_0x354454){_0x1f45b4=_0x354454;return getEndUser(_0x2e5947,_0x23e884,_0x5f3a96['destcalleridname'],_0x5f3a96[_0x0bc4('0x61')],_0x383bef);})['then'](function(_0x2dd720){_0x1cd726=_0x2dd720;return getTicket(_0x2e5947,_0x1f45b4,_0x1cd726,_0x23e884,_0x5f3a96,_0x23e884[_0x0bc4('0x53')],_0x383bef,'outbound');})[_0x0bc4('0x1c')](function(_0xc53a12){_0xdab1d0=_0xc53a12;logger['info']('[OUTBOUND]\x20Ticket\x20%s\x20created.',_0xdab1d0['id']);logger[_0x0bc4('0x1f')](_0x0bc4('0x62'),_0xdab1d0['id'],_0xe0b901[_0x0bc4('0x41')],_0x2e5947['type']);switch(_0x2e5947['type']){case'integrationTab':emit(util[_0x0bc4('0x31')](_0x0bc4('0x63'),_0xe0b901[_0x0bc4('0x41')]),'trigger:salesforce:display',{'recordId':_0xdab1d0['id']});break;case'newTab':emit(util[_0x0bc4('0x31')]('user:%s',_0xe0b901[_0x0bc4('0x41')]),_0x0bc4('0x57'),{'uri':util[_0x0bc4('0x31')](_0x0bc4('0x64'),_0x383bef[_0x0bc4('0x58')],_0xdab1d0['id'])});break;default:logger[_0x0bc4('0x59')](_0x0bc4('0x65'),_0x0bc4('0x66'));}})[_0x0bc4('0x5b')](function(_0xe2863f){logger[_0x0bc4('0x59')](_0x0bc4('0x65'),JSON[_0x0bc4('0x5d')](_0xe2863f));});};exports[_0x0bc4('0x67')]=function(_0x59870b,_0x92cf09,_0xed2078,_0x41f08a,_0x441393,_0x4be1ea){var _0x2cd882,_0x2124e4,_0x443ca9,_0x1851dd;_0x4be1ea[_0x0bc4('0x4b')]=intUtil[_0x0bc4('0x4c')](_0x4be1ea['serverUrl']);_0x4be1ea[_0x0bc4('0x4d')]=intUtil[_0x0bc4('0x4c')](_0x4be1ea[_0x0bc4('0x4d')]);if(_0x441393&&_0x441393['monitor_format']){logger[_0x0bc4('0x1f')]('['+_0x92cf09['lastevent'][_0x0bc4('0x68')]()+']','Recording\x20is\x20enabled!');_0x92cf09[_0x0bc4('0x4e')]=util[_0x0bc4('0x31')](_0x0bc4('0x69'),_0x4be1ea['serverUrl'],_0x92cf09['uniqueid'],md5(_0x92cf09['uniqueid']));}else{_0x92cf09[_0x0bc4('0x4e')]='';}return getConnection(_0x4be1ea)[_0x0bc4('0x1c')](function(_0x32336d){_0x1851dd=_0x32336d;if(!_[_0x0bc4('0x17')](_0x41f08a)){return getUser(_0x4be1ea,_0x41f08a[_0x0bc4('0x41')],_0x1851dd);}else{return getUser(_0x4be1ea,null,_0x1851dd);}})[_0x0bc4('0x1c')](function(_0x16b1b2){_0x2cd882=_0x16b1b2;return getEndUser(_0x4be1ea,_0xed2078,_0x92cf09[_0x0bc4('0x51')],_0x92cf09['calleridnum'],_0x1851dd);})[_0x0bc4('0x1c')](function(_0x3b6c87){_0x2124e4=_0x3b6c87;return getTicket(_0x4be1ea,_0x2cd882,_0x2124e4,_0xed2078,_0x92cf09,_0xed2078[_0x0bc4('0x53')],_0x1851dd);})['then'](function(_0x321313){_0x443ca9=_0x321313;logger[_0x0bc4('0x1f')]('['+_0x92cf09[_0x0bc4('0x6a')][_0x0bc4('0x68')]()+_0x0bc4('0x6b'),_0x443ca9['id']);logger[_0x0bc4('0x1f')]('['+_0x92cf09[_0x0bc4('0x6a')][_0x0bc4('0x68')]()+_0x0bc4('0x6c'),_0x4be1ea[_0x0bc4('0x3d')]);})[_0x0bc4('0x5b')](function(_0x17f98d){logger[_0x0bc4('0x59')]('['+_0x92cf09[_0x0bc4('0x6a')]['toUpperCase']()+']',JSON['stringify'](_0x17f98d));});};
\ No newline at end of file