Built motion from commit (unavailable).|2.5.0
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
index 04c2f23..4c20784 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb5a9=['ticketType','Task','assign','utc','getString','Descriptions','WhoId','Subjects','ContactId','create','isNil','validateEmail','User','find','execute','then','Email','info','resolve','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','sobject','Contact','Lead','contact','lead','Case','length','Phone','Name','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','content','type','variable','variableName','idField','toString','Variable','name','toLowerCase','password','concat','securityToken','Connection','remoteUri','https://login.salesforce.com','clientId','clientSecret','login','username','queue','serverUrl','stripTrailingSlash','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','recordingURL','email','calleridname','calleridnum','Fields','integrationTab','user:%s','trigger:salesforce:display','trigger:browser:url','%s/%s/e','instanceUrl','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','error','stringify','recordingFormat','none','[OUTBOUND]','destcalleridname','destcalleridnum','outbound','[OUTBOUND]\x20Ticket\x20%s\x20created.','newTab','Salesforce\x20account\x20type\x20not\x20recognized','[ABANDONED]','[ABANDONED]\x20Ticket\x20%s\x20created.','[ABANDONED]\x20Integration\x20account\x20type\x20%s.','request-promise','moment','bluebird','md5','jsforce','util','ioredis','./util','../../../../config/environment','../../../../config/logger','redis','socket.io-emitter','emit'];(function(_0x55cf9d,_0x2795b3){var _0x2fd425=function(_0x18e233){while(--_0x18e233){_0x55cf9d['push'](_0x55cf9d['shift']());}};_0x2fd425(++_0x2795b3);}(_0xb5a9,0x1af));var _0x9b5a=function(_0x1063ae,_0x30ad0a){_0x1063ae=_0x1063ae-0x0;var _0x77842f=_0xb5a9[_0x1063ae];return _0x77842f;};'use strict';var _=require('lodash');var rp=require(_0x9b5a('0x0'));var moment=require(_0x9b5a('0x1'));var BPromise=require(_0x9b5a('0x2'));var md5=require(_0x9b5a('0x3'));var jsforce=require(_0x9b5a('0x4'));var util=require(_0x9b5a('0x5'));var Redis=require(_0x9b5a('0x6'));var intUtil=require(_0x9b5a('0x7'));var config=require(_0x9b5a('0x8'));var logger=require(_0x9b5a('0x9'))('salesforce');config['redis']=_['defaults'](config[_0x9b5a('0xa')],{'host':'localhost','port':0x18eb});var io=require(_0x9b5a('0xb'))(new Redis(config[_0x9b5a('0xa')]));function emit(_0x4a0a61,_0x321922,_0x478fed){io['to'](_0x4a0a61)[_0x9b5a('0xc')](_0x321922,_0x478fed);}function getTicket(_0x2e072f,_0x5b6615,_0x40bb49,_0x109d8a,_0x165b81,_0x5cfbb5,_0x4dcca8,_0x3237b6){var _0x4dcb4d={};if(_0x109d8a[_0x9b5a('0xd')]===_0x9b5a('0xe')){_0x4dcb4d=Object[_0x9b5a('0xf')]({},{'OwnerId':_0x5b6615['id'],'ActivityDate':moment[_0x9b5a('0x10')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x9b5a('0x11')](_0x109d8a['Subjects'],_0x165b81,'\x20'),'Description':intUtil[_0x9b5a('0x11')](_0x109d8a[_0x9b5a('0x12')],_0x165b81,'\x0a')},getCustomFields(_0x5cfbb5,_0x165b81));if(_0x40bb49){_0x4dcb4d[_0x9b5a('0x13')]=_0x40bb49['id'];}}else if(_0x109d8a['ticketType']==='Case'){_0x4dcb4d=Object[_0x9b5a('0xf')]({},{'OwnerId':_0x5b6615['id'],'Subject':intUtil[_0x9b5a('0x11')](_0x109d8a[_0x9b5a('0x14')],_0x165b81,'\x20'),'Description':intUtil[_0x9b5a('0x11')](_0x109d8a['Descriptions'],_0x165b81,'\x0a')},getCustomFields(_0x5cfbb5,_0x165b81));if(_0x40bb49){_0x4dcb4d[_0x9b5a('0x15')]=_0x40bb49['id'];}}return _0x4dcca8['sobject'](_0x109d8a['ticketType'])[_0x9b5a('0x16')](_0x4dcb4d);}function getUser(_0x1653bb,_0x73442b,_0x355dd4){if(!_[_0x9b5a('0x17')](_0x73442b)&&intUtil[_0x9b5a('0x18')](_0x73442b)){var _0x43469d={'Email':_0x73442b};var _0x2f911b={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x355dd4['sobject'](_0x9b5a('0x19'))[_0x9b5a('0x1a')](_0x43469d,_0x2f911b)[_0x9b5a('0x1b')]()[_0x9b5a('0x1c')](function(_0x235453){if(_0x235453['length']){var _0x2db88e=_[_0x9b5a('0x1a')](_0x235453,function(_0x2ced73){return _0x2ced73[_0x9b5a('0x1d')]===_0x73442b;});if(_0x2db88e){logger[_0x9b5a('0x1e')]('Agent\x20%s\x20found.',_0x73442b);return BPromise[_0x9b5a('0x1f')]({'id':_0x2db88e['Id'],'name':_0x2db88e['Name']});}}else{logger[_0x9b5a('0x1e')](_0x9b5a('0x20'),_0x73442b);return _0x355dd4[_0x9b5a('0x21')]()[_0x9b5a('0x1c')](function(_0x4d644a){return BPromise['resolve']({'id':_0x4d644a[_0x9b5a('0x22')],'name':_0x4d644a[_0x9b5a('0x23')]});});}});}else{logger[_0x9b5a('0x1e')](_0x9b5a('0x20'),_0x73442b);return _0x355dd4['identity']()[_0x9b5a('0x1c')](function(_0x4f270f){return BPromise['resolve']({'id':_0x4f270f[_0x9b5a('0x22')],'name':_0x4f270f[_0x9b5a('0x23')]});});}}function getEndUser(_0x1eb7bb,_0x1d1e7b,_0xb5c655,_0x454c1a,_0xbb31e4){var _0x46d066={'Phone':_0x454c1a};var _0x569f56={'Id':!![],'Name':!![],'Phone':!![]};return BPromise['resolve']()['then'](function(){if(_0x1d1e7b['ticketType']===_0x9b5a('0xe')){logger[_0x9b5a('0x1e')](_0x9b5a('0x24'),_0x454c1a,_0x1d1e7b[_0x9b5a('0x25')]);switch(_0x1d1e7b[_0x9b5a('0x25')]){case _0x9b5a('0x26'):return _0xbb31e4[_0x9b5a('0x27')](_0x9b5a('0x28'))[_0x9b5a('0x1a')](_0x46d066,_0x569f56)['execute']()['then'](function(_0xc0c118){if(_0xc0c118&&_0xc0c118['length']){return _0xc0c118;}else{return _0xbb31e4['sobject'](_0x9b5a('0x29'))['find'](_0x46d066,_0x569f56);}});case _0x9b5a('0x2a'):return _0xbb31e4[_0x9b5a('0x27')](_0x9b5a('0x28'))[_0x9b5a('0x1a')](_0x46d066,_0x569f56)[_0x9b5a('0x1b')]();case _0x9b5a('0x2b'):return _0xbb31e4[_0x9b5a('0x27')](_0x9b5a('0x29'))[_0x9b5a('0x1a')](_0x46d066,_0x569f56);default:return null;}}else if(_0x1d1e7b[_0x9b5a('0xd')]===_0x9b5a('0x2c')){logger[_0x9b5a('0x1e')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x454c1a,_0x9b5a('0x2a'));return _0xbb31e4[_0x9b5a('0x27')](_0x9b5a('0x28'))[_0x9b5a('0x1a')](_0x46d066,_0x569f56)[_0x9b5a('0x1b')]();}})['then'](function(_0x1c94f5){if(_0x1c94f5&&_0x1c94f5[_0x9b5a('0x2d')]){var _0x44d33b=_[_0x9b5a('0x1a')](_0x1c94f5,function(_0x28e6c2){return _0x28e6c2[_0x9b5a('0x2e')]===_0x454c1a;});if(_0x44d33b){return BPromise['resolve']({'id':_0x44d33b['Id'],'name':_0x44d33b[_0x9b5a('0x2f')],'phone':_0x44d33b[_0x9b5a('0x2e')]});}}})[_0x9b5a('0x1c')](function(_0x3d5b2a){if(_0x3d5b2a){logger['info']('Enduser\x20with\x20phone\x20%s\x20found.',_0x454c1a);return BPromise[_0x9b5a('0x1f')](_0x3d5b2a);}else{logger[_0x9b5a('0x1e')](_0x9b5a('0x30'),_0x454c1a);var _0x5964f3={'LastName':_0xb5c655!==_0x9b5a('0x31')?_0xb5c655:util[_0x9b5a('0x32')](_0x9b5a('0x33'),_0x454c1a),'Phone':_0x454c1a};if(_0x1d1e7b[_0x9b5a('0x34')]){if(_0x1d1e7b[_0x9b5a('0x34')]===_0x9b5a('0x2a')){logger['info']('Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.',_0x454c1a,_0x1d1e7b[_0x9b5a('0x34')]);}else if(_0x1d1e7b[_0x9b5a('0x34')]==='lead'&&_0x1d1e7b[_0x9b5a('0xd')]===_0x9b5a('0xe')){logger['info'](_0x9b5a('0x35'),_0x454c1a,_0x1d1e7b[_0x9b5a('0x34')]);_0x5964f3[_0x9b5a('0x36')]=_0x9b5a('0x37');}else{return null;}}return _0xbb31e4[_0x9b5a('0x27')](_[_0x9b5a('0x38')](_0x1d1e7b['moduleCreate']))[_0x9b5a('0x16')](_0x5964f3);}});}function getCustomFields(_0x2a3e9b,_0x702801){var _0xf01e7a={};if(_0x2a3e9b['length']>0x0){_['forEach'](_0x2a3e9b,function(_0x2add38){if(_0x2add38['type']==='string'&&_0x2add38['idField']){_0xf01e7a[_0x2add38['idField']]=_0x2add38[_0x9b5a('0x39')]['toString']();}else if(_0x2add38[_0x9b5a('0x3a')]===_0x9b5a('0x3b')&&_0x2add38[_0x9b5a('0x3c')]&&_0x2add38[_0x9b5a('0x3d')]){_0x702801[_0x2add38[_0x9b5a('0x3c')]]&&(_0xf01e7a[_0x2add38['idField']]=_0x702801[_0x2add38[_0x9b5a('0x3c')]][_0x9b5a('0x3e')]());}else if(_0x2add38[_0x9b5a('0x3a')]==='customVariable'&&_0x2add38[_0x9b5a('0x3f')]&&_0x2add38[_0x9b5a('0x3f')][_0x9b5a('0x40')]&&_0x2add38[_0x9b5a('0x3d')]){_0x702801[_0x2add38[_0x9b5a('0x3f')][_0x9b5a('0x40')][_0x9b5a('0x41')]()]&&(_0xf01e7a[_0x2add38['idField']]=_0x702801[_0x2add38[_0x9b5a('0x3f')]['name']['toLowerCase']()][_0x9b5a('0x3e')]());}});}return _0xf01e7a;}function getConnection(_0x5aaaf5){var _0x45ecaa=_0x5aaaf5[_0x9b5a('0x42')][_0x9b5a('0x43')](_0x5aaaf5[_0x9b5a('0x44')]);var _0x1978f0=new jsforce[(_0x9b5a('0x45'))]({'oauth2':{'loginUrl':_0x5aaaf5[_0x9b5a('0x46')]||_0x9b5a('0x47'),'clientId':_0x5aaaf5[_0x9b5a('0x48')],'clientSecret':_0x5aaaf5[_0x9b5a('0x49')]}});return _0x1978f0[_0x9b5a('0x4a')](_0x5aaaf5[_0x9b5a('0x4b')],_0x45ecaa)[_0x9b5a('0x1c')](function(){logger[_0x9b5a('0x1e')]('Connection\x20established.');return _0x1978f0;});}exports[_0x9b5a('0x4c')]=function(_0x470606,_0x390672,_0x5e48eb,_0x2110ce,_0x16c326,_0x332d43){var _0x47a4f0,_0x4b1602,_0x1ab3b2,_0x269cf5;_0x332d43[_0x9b5a('0x4d')]=intUtil[_0x9b5a('0x4e')](_0x332d43['serverUrl']);_0x332d43[_0x9b5a('0x46')]=intUtil['stripTrailingSlash'](_0x332d43[_0x9b5a('0x46')]);if(_0x16c326&&_0x16c326[_0x9b5a('0x4f')]){logger[_0x9b5a('0x1e')](_0x9b5a('0x50'),_0x9b5a('0x51'));_0x390672['recordingURL']=util[_0x9b5a('0x32')](_0x9b5a('0x52'),_0x332d43[_0x9b5a('0x4d')],_0x390672[_0x9b5a('0x53')],md5(_0x390672[_0x9b5a('0x53')]));}else{_0x390672[_0x9b5a('0x54')]='';}return getConnection(_0x332d43)['then'](function(_0x57c19f){_0x269cf5=_0x57c19f;return getUser(_0x332d43,_0x2110ce[_0x9b5a('0x55')],_0x269cf5);})[_0x9b5a('0x1c')](function(_0x34925a){_0x47a4f0=_0x34925a;return getEndUser(_0x332d43,_0x5e48eb,_0x390672[_0x9b5a('0x56')],_0x390672[_0x9b5a('0x57')],_0x269cf5);})[_0x9b5a('0x1c')](function(_0x54e95e){_0x4b1602=_0x54e95e;return getTicket(_0x332d43,_0x47a4f0,_0x4b1602,_0x5e48eb,_0x390672,_0x5e48eb[_0x9b5a('0x58')],_0x269cf5,_0x9b5a('0x4c'));})[_0x9b5a('0x1c')](function(_0x5269da){_0x1ab3b2=_0x5269da;logger['info']('[QUEUE]\x20Ticket\x20%s\x20created',_0x1ab3b2['id']);logger['info']('[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.',_0x1ab3b2['id'],_0x2110ce[_0x9b5a('0x40')],_0x332d43['type']);switch(_0x332d43[_0x9b5a('0x3a')]){case _0x9b5a('0x59'):emit(util[_0x9b5a('0x32')](_0x9b5a('0x5a'),_0x2110ce[_0x9b5a('0x40')]),_0x9b5a('0x5b'),{'recordId':_0x1ab3b2['id']});break;case'newTab':emit(util[_0x9b5a('0x32')]('user:%s',_0x2110ce[_0x9b5a('0x40')]),_0x9b5a('0x5c'),{'uri':util['format'](_0x9b5a('0x5d'),_0x269cf5[_0x9b5a('0x5e')],_0x1ab3b2['id'])});break;default:logger['error'](_0x9b5a('0x5f'));}})[_0x9b5a('0x60')](function(_0x450812){logger[_0x9b5a('0x61')](_0x9b5a('0x50'),JSON[_0x9b5a('0x62')](_0x450812));});};exports['outbound']=function(_0x55f357,_0x438d15,_0x336cd8,_0xf299fb,_0x15d389,_0x2f59f1,_0x218b86){var _0x5b37ce,_0x51188b,_0x5ee72c,_0x2f45f9;_0x2f59f1[_0x9b5a('0x4d')]=intUtil['stripTrailingSlash'](_0x2f59f1[_0x9b5a('0x4d')]);_0x2f59f1[_0x9b5a('0x46')]=intUtil[_0x9b5a('0x4e')](_0x2f59f1[_0x9b5a('0x46')]);if(_0x218b86&&_0x218b86[_0x9b5a('0x63')]&&_0x218b86[_0x9b5a('0x63')]!==_0x9b5a('0x64')){logger[_0x9b5a('0x1e')](_0x9b5a('0x65'),_0x9b5a('0x51'));_0x438d15[_0x9b5a('0x54')]=util['format'](_0x9b5a('0x52'),_0x2f59f1[_0x9b5a('0x4d')],_0x438d15['uniqueid'],md5(_0x438d15[_0x9b5a('0x53')]));}return getConnection(_0x2f59f1)[_0x9b5a('0x1c')](function(_0x52b420){_0x2f45f9=_0x52b420;return getUser(_0x2f59f1,_0xf299fb[_0x9b5a('0x55')],_0x2f45f9);})[_0x9b5a('0x1c')](function(_0x55095d){_0x5b37ce=_0x55095d;return getEndUser(_0x2f59f1,_0x336cd8,_0x438d15[_0x9b5a('0x66')],_0x438d15[_0x9b5a('0x67')],_0x2f45f9);})[_0x9b5a('0x1c')](function(_0x258b23){_0x51188b=_0x258b23;return getTicket(_0x2f59f1,_0x5b37ce,_0x51188b,_0x336cd8,_0x438d15,_0x336cd8[_0x9b5a('0x58')],_0x2f45f9,_0x9b5a('0x68'));})[_0x9b5a('0x1c')](function(_0x588b42){_0x5ee72c=_0x588b42;logger['info'](_0x9b5a('0x69'),_0x5ee72c['id']);logger[_0x9b5a('0x1e')]('[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.',_0x5ee72c['id'],_0xf299fb['name'],_0x2f59f1[_0x9b5a('0x3a')]);switch(_0x2f59f1[_0x9b5a('0x3a')]){case'integrationTab':emit(util[_0x9b5a('0x32')](_0x9b5a('0x5a'),_0xf299fb[_0x9b5a('0x40')]),_0x9b5a('0x5b'),{'recordId':_0x5ee72c['id']});break;case _0x9b5a('0x6a'):emit(util[_0x9b5a('0x32')](_0x9b5a('0x5a'),_0xf299fb[_0x9b5a('0x40')]),'trigger:browser:url',{'uri':util['format']('%s/%s/e',_0x2f45f9[_0x9b5a('0x5e')],_0x5ee72c['id'])});break;default:logger[_0x9b5a('0x61')]('[OUTBOUND]',_0x9b5a('0x6b'));}})[_0x9b5a('0x60')](function(_0x17fa23){logger[_0x9b5a('0x61')](_0x9b5a('0x65'),JSON[_0x9b5a('0x62')](_0x17fa23));});};exports['abandoned']=function(_0x1c39b1,_0x54e43e,_0x4c23ce,_0x4a5696,_0xc42c1a,_0x24d7a5){var _0x4ca4c7,_0x5f0ee5,_0x14f735,_0x5aa47a;_0x24d7a5[_0x9b5a('0x4d')]=intUtil['stripTrailingSlash'](_0x24d7a5[_0x9b5a('0x4d')]);_0x24d7a5[_0x9b5a('0x46')]=intUtil[_0x9b5a('0x4e')](_0x24d7a5[_0x9b5a('0x46')]);if(_0xc42c1a&&_0xc42c1a[_0x9b5a('0x4f')]){logger[_0x9b5a('0x1e')](_0x9b5a('0x6c'),_0x9b5a('0x51'));_0x54e43e[_0x9b5a('0x54')]=util[_0x9b5a('0x32')](_0x9b5a('0x52'),_0x24d7a5[_0x9b5a('0x4d')],_0x54e43e[_0x9b5a('0x53')],md5(_0x54e43e[_0x9b5a('0x53')]));}else{_0x54e43e[_0x9b5a('0x54')]='';}return getConnection(_0x24d7a5)['then'](function(_0x5c9965){_0x5aa47a=_0x5c9965;if(!_[_0x9b5a('0x17')](_0x4a5696)){return getUser(_0x24d7a5,_0x4a5696[_0x9b5a('0x40')],_0x5aa47a);}else{return getUser(_0x24d7a5,null,_0x5aa47a);}})[_0x9b5a('0x1c')](function(_0x4f56c9){_0x4ca4c7=_0x4f56c9;return getEndUser(_0x24d7a5,_0x4c23ce,_0x54e43e['calleridname'],_0x54e43e['calleridnum'],_0x5aa47a);})[_0x9b5a('0x1c')](function(_0x108e43){_0x5f0ee5=_0x108e43;return getTicket(_0x24d7a5,_0x4ca4c7,_0x5f0ee5,_0x4c23ce,_0x54e43e,_0x4c23ce[_0x9b5a('0x58')],_0x5aa47a);})[_0x9b5a('0x1c')](function(_0x3e418a){_0x14f735=_0x3e418a;logger['info'](_0x9b5a('0x6d'),_0x14f735['id']);logger[_0x9b5a('0x1e')](_0x9b5a('0x6e'),_0x24d7a5['type']);})[_0x9b5a('0x60')](function(_0x1d0b25){logger[_0x9b5a('0x61')](_0x9b5a('0x6c'),JSON[_0x9b5a('0x62')](_0x1d0b25));});};
\ No newline at end of file
+var _0x5de3=['ioredis','./util','../../../../config/environment','../../../../config/logger','redis','localhost','emit','Task','assign','utc','getString','WhoId','ticketType','Subjects','ContactId','sobject','validateEmail','find','execute','then','length','Email','info','Agent\x20%s\x20found.','Name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','resolve','user_id','display_name','moduleSearch','contact_lead','Contact','Lead','contact','lead','Case','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','Caller\x20-\x20%s','moduleCreate','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','Company','No\x20Company','upperFirst','create','forEach','type','string','idField','variable','variableName','toString','customVariable','Variable','name','toLowerCase','password','concat','securityToken','Connection','remoteUri','https://login.salesforce.com','clientId','clientSecret','login','username','Connection\x20established.','queue','serverUrl','stripTrailingSlash','Recording\x20is\x20enabled!','uniqueid','recordingURL','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','trigger:browser:url','%s/%s/e','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','[QUEUE]','stringify','outbound','recordingFormat','none','[OUTBOUND]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','email','destcalleridnum','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','Salesforce\x20account\x20type\x20not\x20recognized','catch','abandoned','monitor_format','[ABANDONED]','isNil','[ABANDONED]\x20Integration\x20account\x20type\x20%s.','lodash','request-promise','moment','bluebird','jsforce','util'];(function(_0x251592,_0x1e6246){var _0x3e8be9=function(_0x4f32af){while(--_0x4f32af){_0x251592['push'](_0x251592['shift']());}};_0x3e8be9(++_0x1e6246);}(_0x5de3,0xdc));var _0x35de=function(_0x3443d3,_0xf1bb82){_0x3443d3=_0x3443d3-0x0;var _0x3de675=_0x5de3[_0x3443d3];return _0x3de675;};'use strict';var _=require(_0x35de('0x0'));var rp=require(_0x35de('0x1'));var moment=require(_0x35de('0x2'));var BPromise=require(_0x35de('0x3'));var md5=require('md5');var jsforce=require(_0x35de('0x4'));var util=require(_0x35de('0x5'));var Redis=require(_0x35de('0x6'));var intUtil=require(_0x35de('0x7'));var config=require(_0x35de('0x8'));var logger=require(_0x35de('0x9'))('salesforce');config[_0x35de('0xa')]=_['defaults'](config[_0x35de('0xa')],{'host':_0x35de('0xb'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x35de('0xa')]));function emit(_0x3f5885,_0x51e1a1,_0x397f2d){io['to'](_0x3f5885)[_0x35de('0xc')](_0x51e1a1,_0x397f2d);}function getTicket(_0x19ac6a,_0x3b617d,_0xcc2d0b,_0x1d7722,_0x1742c3,_0xcce962,_0xe24664,_0x2827ca){var _0x58eb1b={};if(_0x1d7722['ticketType']===_0x35de('0xd')){_0x58eb1b=Object[_0x35de('0xe')]({},{'OwnerId':_0x3b617d['id'],'ActivityDate':moment[_0x35de('0xf')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x35de('0x10')](_0x1d7722['Subjects'],_0x1742c3,'\x20'),'Description':intUtil[_0x35de('0x10')](_0x1d7722['Descriptions'],_0x1742c3,'\x0a')},getCustomFields(_0xcce962,_0x1742c3));if(_0xcc2d0b){_0x58eb1b[_0x35de('0x11')]=_0xcc2d0b['id'];}}else if(_0x1d7722[_0x35de('0x12')]==='Case'){_0x58eb1b=Object[_0x35de('0xe')]({},{'OwnerId':_0x3b617d['id'],'Subject':intUtil['getString'](_0x1d7722[_0x35de('0x13')],_0x1742c3,'\x20'),'Description':intUtil[_0x35de('0x10')](_0x1d7722['Descriptions'],_0x1742c3,'\x0a')},getCustomFields(_0xcce962,_0x1742c3));if(_0xcc2d0b){_0x58eb1b[_0x35de('0x14')]=_0xcc2d0b['id'];}}return _0xe24664[_0x35de('0x15')](_0x1d7722['ticketType'])['create'](_0x58eb1b);}function getUser(_0x37eb34,_0xb3ab5d,_0x3f041f){if(!_['isNil'](_0xb3ab5d)&&intUtil[_0x35de('0x16')](_0xb3ab5d)){var _0x20d807={'Email':_0xb3ab5d};var _0x45ef6c={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x3f041f[_0x35de('0x15')]('User')[_0x35de('0x17')](_0x20d807,_0x45ef6c)[_0x35de('0x18')]()[_0x35de('0x19')](function(_0x30390a){if(_0x30390a[_0x35de('0x1a')]){var _0x377959=_[_0x35de('0x17')](_0x30390a,function(_0x3e27fa){return _0x3e27fa[_0x35de('0x1b')]===_0xb3ab5d;});if(_0x377959){logger[_0x35de('0x1c')](_0x35de('0x1d'),_0xb3ab5d);return BPromise['resolve']({'id':_0x377959['Id'],'name':_0x377959[_0x35de('0x1e')]});}}else{logger[_0x35de('0x1c')](_0x35de('0x1f'),_0xb3ab5d);return _0x3f041f['identity']()[_0x35de('0x19')](function(_0x1e998d){return BPromise[_0x35de('0x20')]({'id':_0x1e998d[_0x35de('0x21')],'name':_0x1e998d['display_name']});});}});}else{logger[_0x35de('0x1c')](_0x35de('0x1f'),_0xb3ab5d);return _0x3f041f['identity']()['then'](function(_0x16de68){return BPromise[_0x35de('0x20')]({'id':_0x16de68[_0x35de('0x21')],'name':_0x16de68[_0x35de('0x22')]});});}}function getEndUser(_0x21af52,_0x27b66d,_0x28ba44,_0x3a07d2,_0x3ce123){var _0x2034fb={'Phone':_0x3a07d2};var _0x4e9ffe={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x35de('0x20')]()[_0x35de('0x19')](function(){if(_0x27b66d['ticketType']===_0x35de('0xd')){logger[_0x35de('0x1c')]('Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.',_0x3a07d2,_0x27b66d[_0x35de('0x23')]);switch(_0x27b66d[_0x35de('0x23')]){case _0x35de('0x24'):return _0x3ce123[_0x35de('0x15')](_0x35de('0x25'))[_0x35de('0x17')](_0x2034fb,_0x4e9ffe)[_0x35de('0x18')]()[_0x35de('0x19')](function(_0x5b6785){if(_0x5b6785&&_0x5b6785[_0x35de('0x1a')]){return _0x5b6785;}else{return _0x3ce123[_0x35de('0x15')](_0x35de('0x26'))[_0x35de('0x17')](_0x2034fb,_0x4e9ffe);}});case _0x35de('0x27'):return _0x3ce123[_0x35de('0x15')]('Contact')[_0x35de('0x17')](_0x2034fb,_0x4e9ffe)['execute']();case _0x35de('0x28'):return _0x3ce123[_0x35de('0x15')]('Lead')[_0x35de('0x17')](_0x2034fb,_0x4e9ffe);default:return null;}}else if(_0x27b66d['ticketType']===_0x35de('0x29')){logger[_0x35de('0x1c')](_0x35de('0x2a'),_0x3a07d2,_0x35de('0x27'));return _0x3ce123[_0x35de('0x15')](_0x35de('0x25'))[_0x35de('0x17')](_0x2034fb,_0x4e9ffe)[_0x35de('0x18')]();}})[_0x35de('0x19')](function(_0x213932){if(_0x213932&&_0x213932[_0x35de('0x1a')]){var _0x4c428a=_[_0x35de('0x17')](_0x213932,function(_0x3a51f4){return _0x3a51f4[_0x35de('0x2b')]===_0x3a07d2;});if(_0x4c428a){return BPromise[_0x35de('0x20')]({'id':_0x4c428a['Id'],'name':_0x4c428a[_0x35de('0x1e')],'phone':_0x4c428a[_0x35de('0x2b')]});}}})['then'](function(_0x723651){if(_0x723651){logger['info'](_0x35de('0x2c'),_0x3a07d2);return BPromise[_0x35de('0x20')](_0x723651);}else{logger[_0x35de('0x1c')](_0x35de('0x2d'),_0x3a07d2);var _0x5c2f5d={'LastName':_0x28ba44!==_0x35de('0x2e')?_0x28ba44:util[_0x35de('0x2f')](_0x35de('0x30'),_0x3a07d2),'Phone':_0x3a07d2};if(_0x27b66d[_0x35de('0x31')]){if(_0x27b66d[_0x35de('0x31')]===_0x35de('0x27')){logger['info'](_0x35de('0x32'),_0x3a07d2,_0x27b66d[_0x35de('0x31')]);}else if(_0x27b66d[_0x35de('0x31')]===_0x35de('0x28')&&_0x27b66d[_0x35de('0x12')]==='Task'){logger['info'](_0x35de('0x32'),_0x3a07d2,_0x27b66d[_0x35de('0x31')]);_0x5c2f5d[_0x35de('0x33')]=_0x35de('0x34');}else{return null;}}return _0x3ce123[_0x35de('0x15')](_[_0x35de('0x35')](_0x27b66d['moduleCreate']))[_0x35de('0x36')](_0x5c2f5d);}});}function getCustomFields(_0x16ce96,_0x27e483){var _0x3c8341={};if(_0x16ce96[_0x35de('0x1a')]>0x0){_[_0x35de('0x37')](_0x16ce96,function(_0x115cfa){if(_0x115cfa[_0x35de('0x38')]===_0x35de('0x39')&&_0x115cfa['idField']){_0x3c8341[_0x115cfa[_0x35de('0x3a')]]=_0x115cfa['content']['toString']();}else if(_0x115cfa['type']===_0x35de('0x3b')&&_0x115cfa['variableName']&&_0x115cfa[_0x35de('0x3a')]){_0x27e483[_0x115cfa[_0x35de('0x3c')]]&&(_0x3c8341[_0x115cfa['idField']]=_0x27e483[_0x115cfa['variableName']][_0x35de('0x3d')]());}else if(_0x115cfa['type']===_0x35de('0x3e')&&_0x115cfa['Variable']&&_0x115cfa[_0x35de('0x3f')][_0x35de('0x40')]&&_0x115cfa[_0x35de('0x3a')]){_0x27e483[_0x115cfa['Variable'][_0x35de('0x40')][_0x35de('0x41')]()]&&(_0x3c8341[_0x115cfa['idField']]=_0x27e483[_0x115cfa['Variable']['name'][_0x35de('0x41')]()][_0x35de('0x3d')]());}});}return _0x3c8341;}function getConnection(_0x2e672a){var _0x1dea27=_0x2e672a[_0x35de('0x42')][_0x35de('0x43')](_0x2e672a[_0x35de('0x44')]);var _0x5e5dc6=new jsforce[(_0x35de('0x45'))]({'oauth2':{'loginUrl':_0x2e672a[_0x35de('0x46')]||_0x35de('0x47'),'clientId':_0x2e672a[_0x35de('0x48')],'clientSecret':_0x2e672a[_0x35de('0x49')]}});return _0x5e5dc6[_0x35de('0x4a')](_0x2e672a[_0x35de('0x4b')],_0x1dea27)[_0x35de('0x19')](function(){logger[_0x35de('0x1c')](_0x35de('0x4c'));return _0x5e5dc6;});}exports[_0x35de('0x4d')]=function(_0x7ad348,_0x522a17,_0x9c01ec,_0x1ba56d,_0x1c61eb,_0x5025c8){var _0x56a3af,_0x20b77e,_0x5e0d25,_0x156332;_0x5025c8[_0x35de('0x4e')]=intUtil[_0x35de('0x4f')](_0x5025c8['serverUrl']);_0x5025c8[_0x35de('0x46')]=intUtil[_0x35de('0x4f')](_0x5025c8['remoteUri']);if(_0x1c61eb&&_0x1c61eb['monitor_format']){logger[_0x35de('0x1c')]('[QUEUE]',_0x35de('0x50'));_0x522a17['recordingURL']=util[_0x35de('0x2f')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x5025c8[_0x35de('0x4e')],_0x522a17[_0x35de('0x51')],md5(_0x522a17[_0x35de('0x51')]));}else{_0x522a17[_0x35de('0x52')]='';}return getConnection(_0x5025c8)[_0x35de('0x19')](function(_0x1f9f54){_0x156332=_0x1f9f54;return getUser(_0x5025c8,_0x1ba56d['email'],_0x156332);})['then'](function(_0x4ccfd7){_0x56a3af=_0x4ccfd7;return getEndUser(_0x5025c8,_0x9c01ec,_0x522a17[_0x35de('0x53')],_0x522a17[_0x35de('0x54')],_0x156332);})[_0x35de('0x19')](function(_0x202101){_0x20b77e=_0x202101;return getTicket(_0x5025c8,_0x56a3af,_0x20b77e,_0x9c01ec,_0x522a17,_0x9c01ec[_0x35de('0x55')],_0x156332,_0x35de('0x4d'));})[_0x35de('0x19')](function(_0x2e14a4){_0x5e0d25=_0x2e14a4;logger[_0x35de('0x1c')](_0x35de('0x56'),_0x5e0d25['id']);logger[_0x35de('0x1c')](_0x35de('0x57'),_0x5e0d25['id'],_0x1ba56d['name'],_0x5025c8['type']);switch(_0x5025c8[_0x35de('0x38')]){case _0x35de('0x58'):emit(util[_0x35de('0x2f')](_0x35de('0x59'),_0x1ba56d[_0x35de('0x40')]),_0x35de('0x5a'),{'recordId':_0x5e0d25['id']});break;case _0x35de('0x5b'):emit(util[_0x35de('0x2f')]('user:%s',_0x1ba56d[_0x35de('0x40')]),_0x35de('0x5c'),{'uri':util['format'](_0x35de('0x5d'),_0x156332['instanceUrl'],_0x5e0d25['id'])});break;default:logger[_0x35de('0x5e')](_0x35de('0x5f'));}})['catch'](function(_0x56ec66){logger[_0x35de('0x5e')](_0x35de('0x60'),JSON[_0x35de('0x61')](_0x56ec66));});};exports[_0x35de('0x62')]=function(_0x3568a5,_0x5de69c,_0x1d48e2,_0x438f00,_0x4f0e24,_0x2fd299,_0x4682a6){var _0x489b3c,_0x27fefb,_0x11370a,_0x412223;_0x2fd299[_0x35de('0x4e')]=intUtil[_0x35de('0x4f')](_0x2fd299[_0x35de('0x4e')]);_0x2fd299['remoteUri']=intUtil[_0x35de('0x4f')](_0x2fd299[_0x35de('0x46')]);if(_0x4682a6&&_0x4682a6[_0x35de('0x63')]&&_0x4682a6[_0x35de('0x63')]!==_0x35de('0x64')){logger['info'](_0x35de('0x65'),_0x35de('0x50'));_0x5de69c[_0x35de('0x52')]=util[_0x35de('0x2f')](_0x35de('0x66'),_0x2fd299[_0x35de('0x4e')],_0x5de69c['uniqueid'],md5(_0x5de69c[_0x35de('0x51')]));}return getConnection(_0x2fd299)[_0x35de('0x19')](function(_0x1aa726){_0x412223=_0x1aa726;return getUser(_0x2fd299,_0x438f00[_0x35de('0x67')],_0x412223);})[_0x35de('0x19')](function(_0x3aad7f){_0x489b3c=_0x3aad7f;return getEndUser(_0x2fd299,_0x1d48e2,_0x5de69c['destcalleridname'],_0x5de69c[_0x35de('0x68')],_0x412223);})['then'](function(_0x3f11e8){_0x27fefb=_0x3f11e8;return getTicket(_0x2fd299,_0x489b3c,_0x27fefb,_0x1d48e2,_0x5de69c,_0x1d48e2[_0x35de('0x55')],_0x412223,_0x35de('0x62'));})[_0x35de('0x19')](function(_0xeac7c2){_0x11370a=_0xeac7c2;logger[_0x35de('0x1c')]('[OUTBOUND]\x20Ticket\x20%s\x20created.',_0x11370a['id']);logger['info'](_0x35de('0x69'),_0x11370a['id'],_0x438f00[_0x35de('0x40')],_0x2fd299[_0x35de('0x38')]);switch(_0x2fd299[_0x35de('0x38')]){case'integrationTab':emit(util[_0x35de('0x2f')]('user:%s',_0x438f00['name']),_0x35de('0x5a'),{'recordId':_0x11370a['id']});break;case'newTab':emit(util['format']('user:%s',_0x438f00[_0x35de('0x40')]),_0x35de('0x5c'),{'uri':util[_0x35de('0x2f')]('%s/%s/e',_0x412223['instanceUrl'],_0x11370a['id'])});break;default:logger[_0x35de('0x5e')](_0x35de('0x65'),_0x35de('0x6a'));}})[_0x35de('0x6b')](function(_0x558f4a){logger[_0x35de('0x5e')](_0x35de('0x65'),JSON[_0x35de('0x61')](_0x558f4a));});};exports[_0x35de('0x6c')]=function(_0x24d1ca,_0x1b8a37,_0x530886,_0x201efd,_0x39e698,_0x325654){var _0x55be84,_0x18a732,_0x4094a7,_0x2b9601;_0x325654[_0x35de('0x4e')]=intUtil['stripTrailingSlash'](_0x325654[_0x35de('0x4e')]);_0x325654['remoteUri']=intUtil[_0x35de('0x4f')](_0x325654['remoteUri']);if(_0x39e698&&_0x39e698[_0x35de('0x6d')]){logger[_0x35de('0x1c')](_0x35de('0x6e'),'Recording\x20is\x20enabled!');_0x1b8a37['recordingURL']=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x325654[_0x35de('0x4e')],_0x1b8a37[_0x35de('0x51')],md5(_0x1b8a37['uniqueid']));}else{_0x1b8a37['recordingURL']='';}return getConnection(_0x325654)[_0x35de('0x19')](function(_0x54af41){_0x2b9601=_0x54af41;if(!_[_0x35de('0x6f')](_0x201efd)){return getUser(_0x325654,_0x201efd[_0x35de('0x40')],_0x2b9601);}else{return getUser(_0x325654,null,_0x2b9601);}})[_0x35de('0x19')](function(_0x4e34d2){_0x55be84=_0x4e34d2;return getEndUser(_0x325654,_0x530886,_0x1b8a37[_0x35de('0x53')],_0x1b8a37[_0x35de('0x54')],_0x2b9601);})['then'](function(_0x3d7dec){_0x18a732=_0x3d7dec;return getTicket(_0x325654,_0x55be84,_0x18a732,_0x530886,_0x1b8a37,_0x530886['Fields'],_0x2b9601);})['then'](function(_0x22f589){_0x4094a7=_0x22f589;logger[_0x35de('0x1c')]('[ABANDONED]\x20Ticket\x20%s\x20created.',_0x4094a7['id']);logger[_0x35de('0x1c')](_0x35de('0x70'),_0x325654[_0x35de('0x38')]);})[_0x35de('0x6b')](function(_0x384a8a){logger[_0x35de('0x5e')](_0x35de('0x6e'),JSON['stringify'](_0x384a8a));});};
\ No newline at end of file