Built motion from commit (unavailable).|2.5.29
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
index ab017f0..baad059 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xedf7=['ioredis','./util','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','Task','assign','utc','getString','Subjects','Descriptions','ticketType','Case','ContactId','sobject','create','User','find','execute','then','length','Name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','resolve','user_id','display_name','info','identity','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','moduleSearch','contact_lead','Contact','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.','Company','No\x20Company','upperFirst','forEach','type','string','idField','content','toString','variable','variableName','customVariable','Variable','name','toLowerCase','password','concat','securityToken','Connection','https://login.salesforce.com','clientId','clientSecret','username','Connection\x20established.','queue','serverUrl','stripTrailingSlash','remoteUri','[QUEUE]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','recordingURL','calleridname','Fields','[QUEUE]\x20Ticket\x20%s\x20created','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','user:%s','trigger:salesforce:display','newTab','%s/%s/e','instanceUrl','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','outbound','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!','email','destcalleridname','destcalleridnum','[OUTBOUND]\x20Ticket\x20%s\x20created.','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','Salesforce\x20account\x20type\x20not\x20recognized','catch','stringify','lastevent','toUpperCase',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.','moment','bluebird','md5','jsforce','util'];(function(_0x1eb3ea,_0xb9a59){var _0x1993db=function(_0x93bc2c){while(--_0x93bc2c){_0x1eb3ea['push'](_0x1eb3ea['shift']());}};_0x1993db(++_0xb9a59);}(_0xedf7,0x1b7));var _0x7edf=function(_0x242fad,_0x195335){_0x242fad=_0x242fad-0x0;var _0x25af22=_0xedf7[_0x242fad];return _0x25af22;};'use strict';var _=require('lodash');var rp=require('request-promise');var moment=require(_0x7edf('0x0'));var BPromise=require(_0x7edf('0x1'));var md5=require(_0x7edf('0x2'));var jsforce=require(_0x7edf('0x3'));var util=require(_0x7edf('0x4'));var Redis=require(_0x7edf('0x5'));var intUtil=require(_0x7edf('0x6'));var config=require(_0x7edf('0x7'));var logger=require(_0x7edf('0x8'))('salesforce');config[_0x7edf('0x9')]=_[_0x7edf('0xa')](config[_0x7edf('0x9')],{'host':_0x7edf('0xb'),'port':0x18eb});var io=require(_0x7edf('0xc'))(new Redis(config[_0x7edf('0x9')]));function emit(_0x3d0bd9,_0x485ffd,_0x508686){io['to'](_0x3d0bd9)['emit'](_0x485ffd,_0x508686);}function getTicket(_0x2d6494,_0x2d6645,_0x3f2ae9,_0x4424b4,_0x521bf6,_0x106fa2,_0x5cf73d,_0x2828ed){var _0x200728={};if(_0x4424b4['ticketType']===_0x7edf('0xd')){_0x200728=Object[_0x7edf('0xe')]({},{'OwnerId':_0x2d6645['id'],'ActivityDate':moment[_0x7edf('0xf')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x7edf('0x10')](_0x4424b4[_0x7edf('0x11')],_0x521bf6,'\x20'),'Description':intUtil['getString'](_0x4424b4[_0x7edf('0x12')],_0x521bf6,'\x0a')},getCustomFields(_0x106fa2,_0x521bf6));if(_0x3f2ae9){_0x200728['WhoId']=_0x3f2ae9['id'];}}else if(_0x4424b4[_0x7edf('0x13')]===_0x7edf('0x14')){_0x200728=Object[_0x7edf('0xe')]({},{'OwnerId':_0x2d6645['id'],'Subject':intUtil[_0x7edf('0x10')](_0x4424b4[_0x7edf('0x11')],_0x521bf6,'\x20'),'Description':intUtil['getString'](_0x4424b4[_0x7edf('0x12')],_0x521bf6,'\x0a')},getCustomFields(_0x106fa2,_0x521bf6));if(_0x3f2ae9){_0x200728[_0x7edf('0x15')]=_0x3f2ae9['id'];}}return _0x5cf73d[_0x7edf('0x16')](_0x4424b4[_0x7edf('0x13')])[_0x7edf('0x17')](_0x200728);}function getUser(_0x243ea2,_0x2bf282,_0x16ed08){if(!_['isNil'](_0x2bf282)&&intUtil['validateEmail'](_0x2bf282)){var _0x2fecb2={'Email':_0x2bf282};var _0x2a6e13={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x16ed08[_0x7edf('0x16')](_0x7edf('0x18'))[_0x7edf('0x19')](_0x2fecb2,_0x2a6e13)[_0x7edf('0x1a')]()[_0x7edf('0x1b')](function(_0x680aed){if(_0x680aed[_0x7edf('0x1c')]){var _0xa09ff8=_[_0x7edf('0x19')](_0x680aed,function(_0x2ab98b){return _0x2ab98b['Email']===_0x2bf282;});if(_0xa09ff8){logger['info']('Agent\x20%s\x20found.',_0x2bf282);return BPromise['resolve']({'id':_0xa09ff8['Id'],'name':_0xa09ff8[_0x7edf('0x1d')]});}}else{logger['info'](_0x7edf('0x1e'),_0x2bf282);return _0x16ed08['identity']()[_0x7edf('0x1b')](function(_0x2c7d2e){return BPromise[_0x7edf('0x1f')]({'id':_0x2c7d2e[_0x7edf('0x20')],'name':_0x2c7d2e[_0x7edf('0x21')]});});}});}else{logger[_0x7edf('0x22')](_0x7edf('0x1e'),_0x2bf282);return _0x16ed08[_0x7edf('0x23')]()[_0x7edf('0x1b')](function(_0x1e52f7){return BPromise[_0x7edf('0x1f')]({'id':_0x1e52f7[_0x7edf('0x20')],'name':_0x1e52f7[_0x7edf('0x21')]});});}}function getEndUser(_0x572957,_0x2fe794,_0x4f471d,_0x34874b,_0x2588ac){var _0x45f460={'Phone':_0x34874b};var _0x5b68cc={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x7edf('0x1f')]()['then'](function(){if(_0x2fe794[_0x7edf('0x13')]==='Task'){logger[_0x7edf('0x22')](_0x7edf('0x24'),_0x34874b,_0x2fe794[_0x7edf('0x25')]);switch(_0x2fe794[_0x7edf('0x25')]){case _0x7edf('0x26'):return _0x2588ac[_0x7edf('0x16')](_0x7edf('0x27'))[_0x7edf('0x19')](_0x45f460,_0x5b68cc)[_0x7edf('0x1a')]()['then'](function(_0xe68794){if(_0xe68794&&_0xe68794[_0x7edf('0x1c')]){return _0xe68794;}else{return _0x2588ac[_0x7edf('0x16')](_0x7edf('0x28'))['find'](_0x45f460,_0x5b68cc);}});case'contact':return _0x2588ac[_0x7edf('0x16')]('Contact')[_0x7edf('0x19')](_0x45f460,_0x5b68cc)[_0x7edf('0x1a')]();case _0x7edf('0x29'):return _0x2588ac['sobject'](_0x7edf('0x28'))[_0x7edf('0x19')](_0x45f460,_0x5b68cc);default:return null;}}else if(_0x2fe794[_0x7edf('0x13')]===_0x7edf('0x14')){logger['info'](_0x7edf('0x24'),_0x34874b,_0x7edf('0x2a'));return _0x2588ac[_0x7edf('0x16')](_0x7edf('0x27'))[_0x7edf('0x19')](_0x45f460,_0x5b68cc)[_0x7edf('0x1a')]();}})[_0x7edf('0x1b')](function(_0x4dfa05){if(_0x4dfa05&&_0x4dfa05[_0x7edf('0x1c')]){var _0xdf52b1=_[_0x7edf('0x19')](_0x4dfa05,function(_0x10abc8){return _0x10abc8[_0x7edf('0x2b')]===_0x34874b;});if(_0xdf52b1){return BPromise[_0x7edf('0x1f')]({'id':_0xdf52b1['Id'],'name':_0xdf52b1[_0x7edf('0x1d')],'phone':_0xdf52b1[_0x7edf('0x2b')]});}}})[_0x7edf('0x1b')](function(_0x3f6167){if(_0x3f6167){logger[_0x7edf('0x22')]('Enduser\x20with\x20phone\x20%s\x20found.',_0x34874b);return BPromise[_0x7edf('0x1f')](_0x3f6167);}else{logger['info'](_0x7edf('0x2c'),_0x34874b);var _0xb8a9c2={'LastName':_0x4f471d!==_0x7edf('0x2d')?_0x4f471d:util[_0x7edf('0x2e')](_0x7edf('0x2f'),_0x34874b),'Phone':_0x34874b};if(_0x2fe794[_0x7edf('0x30')]){if(_0x2fe794[_0x7edf('0x30')]==='contact'){logger['info'](_0x7edf('0x31'),_0x34874b,_0x2fe794['moduleCreate']);}else if(_0x2fe794[_0x7edf('0x30')]===_0x7edf('0x29')&&_0x2fe794['ticketType']==='Task'){logger[_0x7edf('0x22')](_0x7edf('0x31'),_0x34874b,_0x2fe794[_0x7edf('0x30')]);_0xb8a9c2[_0x7edf('0x32')]=_0x7edf('0x33');}else{return null;}}return _0x2588ac[_0x7edf('0x16')](_[_0x7edf('0x34')](_0x2fe794[_0x7edf('0x30')]))[_0x7edf('0x17')](_0xb8a9c2);}});}function getCustomFields(_0x1bc7af,_0x1abd2e){var _0x4741f5={};if(_0x1bc7af[_0x7edf('0x1c')]>0x0){_[_0x7edf('0x35')](_0x1bc7af,function(_0x1fec91){if(_0x1fec91[_0x7edf('0x36')]===_0x7edf('0x37')&&_0x1fec91[_0x7edf('0x38')]){_0x4741f5[_0x1fec91[_0x7edf('0x38')]]=_0x1fec91[_0x7edf('0x39')][_0x7edf('0x3a')]();}else if(_0x1fec91['type']===_0x7edf('0x3b')&&_0x1fec91[_0x7edf('0x3c')]&&_0x1fec91['idField']){_0x1abd2e[_0x1fec91[_0x7edf('0x3c')]]&&(_0x4741f5[_0x1fec91['idField']]=_0x1abd2e[_0x1fec91[_0x7edf('0x3c')]]['toString']());}else if(_0x1fec91[_0x7edf('0x36')]===_0x7edf('0x3d')&&_0x1fec91[_0x7edf('0x3e')]&&_0x1fec91['Variable'][_0x7edf('0x3f')]&&_0x1fec91[_0x7edf('0x38')]){_0x1abd2e[_0x1fec91[_0x7edf('0x3e')][_0x7edf('0x3f')][_0x7edf('0x40')]()]&&(_0x4741f5[_0x1fec91[_0x7edf('0x38')]]=_0x1abd2e[_0x1fec91[_0x7edf('0x3e')][_0x7edf('0x3f')][_0x7edf('0x40')]()][_0x7edf('0x3a')]());}});}return _0x4741f5;}function getConnection(_0x108b24){var _0x262347=_0x108b24[_0x7edf('0x41')][_0x7edf('0x42')](_0x108b24[_0x7edf('0x43')]);var _0x2f34cd=new jsforce[(_0x7edf('0x44'))]({'oauth2':{'loginUrl':_0x108b24['remoteUri']||_0x7edf('0x45'),'clientId':_0x108b24[_0x7edf('0x46')],'clientSecret':_0x108b24[_0x7edf('0x47')]}});return _0x2f34cd['login'](_0x108b24[_0x7edf('0x48')],_0x262347)['then'](function(){logger[_0x7edf('0x22')](_0x7edf('0x49'));return _0x2f34cd;});}exports[_0x7edf('0x4a')]=function(_0x34af73,_0x4116da,_0x43b0f1,_0x58d727,_0xf6f6e7,_0x2511b4){var _0x1dcbb1,_0x25b1a3,_0x15ac5b,_0xa8d8f2;_0x2511b4[_0x7edf('0x4b')]=intUtil[_0x7edf('0x4c')](_0x2511b4[_0x7edf('0x4b')]);_0x2511b4['remoteUri']=intUtil[_0x7edf('0x4c')](_0x2511b4[_0x7edf('0x4d')]);if(_0xf6f6e7&&_0xf6f6e7['monitor_format']){logger[_0x7edf('0x22')](_0x7edf('0x4e'),'Recording\x20is\x20enabled!');_0x4116da['recordingURL']=util[_0x7edf('0x2e')](_0x7edf('0x4f'),_0x2511b4[_0x7edf('0x4b')],_0x4116da[_0x7edf('0x50')],md5(_0x4116da['uniqueid']));}else{_0x4116da[_0x7edf('0x51')]='';}return getConnection(_0x2511b4)[_0x7edf('0x1b')](function(_0xe56711){_0xa8d8f2=_0xe56711;return getUser(_0x2511b4,_0x58d727['email'],_0xa8d8f2);})[_0x7edf('0x1b')](function(_0x57861b){_0x1dcbb1=_0x57861b;return getEndUser(_0x2511b4,_0x43b0f1,_0x4116da[_0x7edf('0x52')],_0x4116da['calleridnum'],_0xa8d8f2);})[_0x7edf('0x1b')](function(_0x5dde74){_0x25b1a3=_0x5dde74;return getTicket(_0x2511b4,_0x1dcbb1,_0x25b1a3,_0x43b0f1,_0x4116da,_0x43b0f1[_0x7edf('0x53')],_0xa8d8f2,_0x7edf('0x4a'));})[_0x7edf('0x1b')](function(_0x513dbc){_0x15ac5b=_0x513dbc;logger['info'](_0x7edf('0x54'),_0x15ac5b['id']);logger[_0x7edf('0x22')](_0x7edf('0x55'),_0x15ac5b['id'],_0x58d727[_0x7edf('0x3f')],_0x2511b4['type']);switch(_0x2511b4['type']){case'integrationTab':emit(util[_0x7edf('0x2e')](_0x7edf('0x56'),_0x58d727[_0x7edf('0x3f')]),_0x7edf('0x57'),{'recordId':_0x15ac5b['id']});break;case _0x7edf('0x58'):emit(util[_0x7edf('0x2e')](_0x7edf('0x56'),_0x58d727['name']),'trigger:browser:url',{'uri':util[_0x7edf('0x2e')](_0x7edf('0x59'),_0xa8d8f2[_0x7edf('0x5a')],_0x15ac5b['id'])});break;default:logger[_0x7edf('0x5b')](_0x7edf('0x5c'));}})['catch'](function(_0x33334f){logger[_0x7edf('0x5b')](_0x7edf('0x4e'),JSON['stringify'](_0x33334f));});};exports[_0x7edf('0x5d')]=function(_0x529cb1,_0x26e2c4,_0x42b915,_0x35f8b2,_0xaf690a,_0x5dfdc4,_0xee8c87){var _0x1b4a63,_0x299a92,_0x1704cc,_0x45874d;_0x5dfdc4[_0x7edf('0x4b')]=intUtil['stripTrailingSlash'](_0x5dfdc4['serverUrl']);_0x5dfdc4[_0x7edf('0x4d')]=intUtil[_0x7edf('0x4c')](_0x5dfdc4[_0x7edf('0x4d')]);if(_0xee8c87&&_0xee8c87[_0x7edf('0x5e')]&&_0xee8c87[_0x7edf('0x5e')]!==_0x7edf('0x5f')){logger[_0x7edf('0x22')](_0x7edf('0x60'),_0x7edf('0x61'));_0x26e2c4[_0x7edf('0x51')]=util[_0x7edf('0x2e')](_0x7edf('0x4f'),_0x5dfdc4['serverUrl'],_0x26e2c4['uniqueid'],md5(_0x26e2c4[_0x7edf('0x50')]));}return getConnection(_0x5dfdc4)[_0x7edf('0x1b')](function(_0x457eef){_0x45874d=_0x457eef;return getUser(_0x5dfdc4,_0x35f8b2[_0x7edf('0x62')],_0x45874d);})[_0x7edf('0x1b')](function(_0x7f82b3){_0x1b4a63=_0x7f82b3;return getEndUser(_0x5dfdc4,_0x42b915,_0x26e2c4[_0x7edf('0x63')],_0x26e2c4[_0x7edf('0x64')],_0x45874d);})[_0x7edf('0x1b')](function(_0x48bf7e){_0x299a92=_0x48bf7e;return getTicket(_0x5dfdc4,_0x1b4a63,_0x299a92,_0x42b915,_0x26e2c4,_0x42b915[_0x7edf('0x53')],_0x45874d,_0x7edf('0x5d'));})['then'](function(_0x270e81){_0x1704cc=_0x270e81;logger[_0x7edf('0x22')](_0x7edf('0x65'),_0x1704cc['id']);logger[_0x7edf('0x22')](_0x7edf('0x66'),_0x1704cc['id'],_0x35f8b2['name'],_0x5dfdc4[_0x7edf('0x36')]);switch(_0x5dfdc4['type']){case _0x7edf('0x67'):emit(util[_0x7edf('0x2e')](_0x7edf('0x56'),_0x35f8b2[_0x7edf('0x3f')]),_0x7edf('0x57'),{'recordId':_0x1704cc['id']});break;case _0x7edf('0x58'):emit(util[_0x7edf('0x2e')](_0x7edf('0x56'),_0x35f8b2[_0x7edf('0x3f')]),'trigger:browser:url',{'uri':util[_0x7edf('0x2e')](_0x7edf('0x59'),_0x45874d[_0x7edf('0x5a')],_0x1704cc['id'])});break;default:logger['error']('[OUTBOUND]',_0x7edf('0x68'));}})[_0x7edf('0x69')](function(_0xb45034){logger[_0x7edf('0x5b')](_0x7edf('0x60'),JSON[_0x7edf('0x6a')](_0xb45034));});};exports['unmanaged']=function(_0x21e498,_0x48e6ff,_0x3d3b0a,_0x510eb7,_0x4e1e37,_0x2cd3c4){var _0xa90ddf,_0x52226a,_0x5a9e38,_0x59cfd7;_0x2cd3c4['serverUrl']=intUtil[_0x7edf('0x4c')](_0x2cd3c4[_0x7edf('0x4b')]);_0x2cd3c4['remoteUri']=intUtil['stripTrailingSlash'](_0x2cd3c4[_0x7edf('0x4d')]);if(_0x4e1e37&&_0x4e1e37['monitor_format']){logger[_0x7edf('0x22')]('['+_0x48e6ff[_0x7edf('0x6b')][_0x7edf('0x6c')]()+']',_0x7edf('0x61'));_0x48e6ff[_0x7edf('0x51')]=util[_0x7edf('0x2e')](_0x7edf('0x4f'),_0x2cd3c4[_0x7edf('0x4b')],_0x48e6ff['uniqueid'],md5(_0x48e6ff[_0x7edf('0x50')]));}else{_0x48e6ff[_0x7edf('0x51')]='';}return getConnection(_0x2cd3c4)['then'](function(_0x5c4d4d){_0x59cfd7=_0x5c4d4d;if(!_['isNil'](_0x510eb7)){return getUser(_0x2cd3c4,_0x510eb7[_0x7edf('0x3f')],_0x59cfd7);}else{return getUser(_0x2cd3c4,null,_0x59cfd7);}})[_0x7edf('0x1b')](function(_0x38833a){_0xa90ddf=_0x38833a;return getEndUser(_0x2cd3c4,_0x3d3b0a,_0x48e6ff[_0x7edf('0x52')],_0x48e6ff['calleridnum'],_0x59cfd7);})['then'](function(_0x4de90f){_0x52226a=_0x4de90f;return getTicket(_0x2cd3c4,_0xa90ddf,_0x52226a,_0x3d3b0a,_0x48e6ff,_0x3d3b0a['Fields'],_0x59cfd7);})['then'](function(_0x4e1f29){_0x5a9e38=_0x4e1f29;logger['info']('['+_0x48e6ff[_0x7edf('0x6b')]['toUpperCase']()+_0x7edf('0x6d'),_0x5a9e38['id']);logger[_0x7edf('0x22')]('['+_0x48e6ff['lastevent'][_0x7edf('0x6c')]()+_0x7edf('0x6e'),_0x2cd3c4[_0x7edf('0x36')]);})[_0x7edf('0x69')](function(_0x305ca0){logger[_0x7edf('0x5b')]('['+_0x48e6ff[_0x7edf('0x6b')][_0x7edf('0x6c')]()+']',JSON[_0x7edf('0x6a')](_0x305ca0));});};
\ No newline at end of file
+var _0x1db8=['then','length','Email','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','additionalSearchContact','$or','Contact','additionalSearchLead','merge','Lead','account_contact_lead','cloneDeep','additionalSearchAccount','Account','first','Name','Phone','type','toLowerCase','Enduser\x20with\x20phone\x20%s\x20not\x20found','moduleCreate','LastName','format','Caller\x20-\x20%s','<unknown>','Company','No\x20Company','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','forEach','includes','string','picklist','idField','content','toString','variable','variableName','Variable','name','password','concat','securityToken','Connection','clientSecret','login','username','Connection\x20established.','queue','stripTrailingSlash','serverUrl','remoteUri','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','uniqueid','calleridnum','Fields','[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','user:%s','trigger:salesforce:display','trigger:browser:url','instanceUrl','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','outbound','recordingFormat','none','[OUTBOUND]','destcalleridnum','[OUTBOUND]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.','integrationTab','Salesforce\x20account\x20type\x20not\x20recognized','toUpperCase','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','lastevent',']\x20Ticket\x20%s\x20created.','lodash','request-promise','moment','bluebird','md5','util','ioredis','./util','../../../../config/environment','defaults','redis','localhost','socket.io-emitter','emit','getString','Descriptions','ticketType','Task','utc','IsReminderSet','IsRecurrence','contact','endUserType','account','WhatId','Case','ContactId','AccountId','lead','leadId','info','Association\x20between\x20Case\x20and\x20Lead\x20skipped','sobject','create','isNil','validateEmail','User','find','execute'];(function(_0x291df7,_0x4d98bf){var _0x5c10cd=function(_0x450757){while(--_0x450757){_0x291df7['push'](_0x291df7['shift']());}};_0x5c10cd(++_0x4d98bf);}(_0x1db8,0x1c9));var _0x81db=function(_0x1a36a5,_0x746928){_0x1a36a5=_0x1a36a5-0x0;var _0x746243=_0x1db8[_0x1a36a5];return _0x746243;};'use strict';var _=require(_0x81db('0x0'));var rp=require(_0x81db('0x1'));var moment=require(_0x81db('0x2'));var BPromise=require(_0x81db('0x3'));var md5=require(_0x81db('0x4'));var jsforce=require('jsforce');var util=require(_0x81db('0x5'));var Redis=require(_0x81db('0x6'));var intUtil=require(_0x81db('0x7'));var config=require(_0x81db('0x8'));var logger=require('../../../../config/logger')('salesforce');config['redis']=_[_0x81db('0x9')](config[_0x81db('0xa')],{'host':_0x81db('0xb'),'port':0x18eb});var io=require(_0x81db('0xc'))(new Redis(config[_0x81db('0xa')]));function emit(_0x56f8ca,_0x3d8ce7,_0xec0bf2){io['to'](_0x56f8ca)[_0x81db('0xd')](_0x3d8ce7,_0xec0bf2);}function getTicket(_0x1ee155,_0x35108c,_0x2d805e,_0x2b0441,_0x3cd2f2,_0x284ce2,_0x571c34,_0x30d6df){var _0x1e903c=Object['assign']({},{'OwnerId':_0x35108c['id'],'Subject':intUtil['getString'](_0x2b0441['Subjects'],_0x3cd2f2,'\x20'),'Description':intUtil[_0x81db('0xe')](_0x2b0441[_0x81db('0xf')],_0x3cd2f2,'\x0a')},getCustomFields(_0x284ce2,_0x3cd2f2));if(_0x2d805e){if(_0x2b0441[_0x81db('0x10')]===_0x81db('0x11')){_0x1e903c['ActivityDate']=moment[_0x81db('0x12')]();_0x1e903c[_0x81db('0x13')]=![];_0x1e903c[_0x81db('0x14')]=![];if(_0x2d805e['endUserType']===_0x81db('0x15')||_0x2d805e[_0x81db('0x16')]==='lead'){_0x1e903c['WhoId']=_0x2d805e['id'];}else if(_0x2d805e[_0x81db('0x16')]===_0x81db('0x17')){_0x1e903c[_0x81db('0x18')]=_0x2d805e['id'];}}else if(_0x2b0441['ticketType']===_0x81db('0x19')){if(_0x2d805e['endUserType']===_0x81db('0x15')){_0x1e903c[_0x81db('0x1a')]=_0x2d805e['id'];}else if(_0x2d805e['endUserType']===_0x81db('0x17')){_0x1e903c[_0x81db('0x1b')]=_0x2d805e['id'];}else if(_0x2d805e[_0x81db('0x16')]===_0x81db('0x1c')&&_0x2b0441['leadId']){_0x1e903c[_0x2b0441[_0x81db('0x1d')]]=_0x2d805e['id'];}else{logger[_0x81db('0x1e')](_0x81db('0x1f'));}}}return _0x571c34[_0x81db('0x20')](_0x2b0441[_0x81db('0x10')])[_0x81db('0x21')](_0x1e903c);}function getUser(_0x2b0e46,_0x1df348,_0x4f9bd0){if(!_[_0x81db('0x22')](_0x1df348)&&intUtil[_0x81db('0x23')](_0x1df348)){var _0xa2294b={'Email':_0x1df348};var _0x1e8281={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x4f9bd0[_0x81db('0x20')](_0x81db('0x24'))[_0x81db('0x25')](_0xa2294b,_0x1e8281)[_0x81db('0x26')]()[_0x81db('0x27')](function(_0x3908c4){if(_0x3908c4[_0x81db('0x28')]){var _0xe6d905=_[_0x81db('0x25')](_0x3908c4,function(_0x266b4f){return _0x266b4f[_0x81db('0x29')]===_0x1df348;});if(_0xe6d905){logger['info']('Agent\x20%s\x20found.',_0x1df348);return BPromise[_0x81db('0x2a')]({'id':_0xe6d905['Id'],'name':_0xe6d905['Name']});}}else{logger['info'](_0x81db('0x2b'),_0x1df348);return _0x4f9bd0[_0x81db('0x2c')]()[_0x81db('0x27')](function(_0x5ac99a){return BPromise[_0x81db('0x2a')]({'id':_0x5ac99a[_0x81db('0x2d')],'name':_0x5ac99a[_0x81db('0x2e')]});});}});}else{logger[_0x81db('0x1e')](_0x81db('0x2b'),_0x1df348);return _0x4f9bd0[_0x81db('0x2c')]()[_0x81db('0x27')](function(_0x41fae1){return BPromise['resolve']({'id':_0x41fae1['user_id'],'name':_0x41fae1[_0x81db('0x2e')]});});}}function getEndUser(_0x31e176,_0x497c62,_0x469e31,_0x2b5716,_0x37238b){var _0x28a293={'$or':{'Phone':_0x2b5716}};var _0x1de349={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x81db('0x2a')]()['then'](function(){logger[_0x81db('0x1e')](_0x81db('0x2f'),_0x2b5716,_0x497c62[_0x81db('0x30')]);switch(_0x497c62[_0x81db('0x30')]){case _0x81db('0x31'):var _0x2f9217=_['cloneDeep'](_0x28a293);if(_0x497c62[_0x81db('0x32')]){var _0x41adfd={};_0x41adfd[_0x497c62[_0x81db('0x32')]]=_0x2b5716;_['merge'](_0x2f9217[_0x81db('0x33')],_0x41adfd);}return _0x37238b[_0x81db('0x20')](_0x81db('0x34'))[_0x81db('0x25')](_0x2f9217,_0x1de349)[_0x81db('0x26')]()[_0x81db('0x27')](function(_0x5eef51){if(_0x5eef51&&_0x5eef51[_0x81db('0x28')]){return _0x5eef51;}else{var _0x15dc38=_['cloneDeep'](_0x28a293);if(_0x497c62[_0x81db('0x35')]){var _0x1506a8={};_0x1506a8[_0x497c62[_0x81db('0x35')]]=_0x2b5716;_[_0x81db('0x36')](_0x15dc38[_0x81db('0x33')],_0x1506a8);}return _0x37238b[_0x81db('0x20')](_0x81db('0x37'))[_0x81db('0x25')](_0x15dc38,_0x1de349);}});case _0x81db('0x38'):var _0x36c96b=_[_0x81db('0x39')](_0x28a293);if(_0x497c62[_0x81db('0x3a')]){var _0x41adfd={};_0x41adfd[_0x497c62['additionalSearchAccount']]=_0x2b5716;_['merge'](_0x36c96b['$or'],_0x41adfd);}return _0x37238b[_0x81db('0x20')](_0x81db('0x3b'))[_0x81db('0x25')](_0x36c96b,_0x1de349)[_0x81db('0x26')]()[_0x81db('0x27')](function(_0x73094a){if(_0x73094a&&_0x73094a[_0x81db('0x28')]){return _0x73094a;}else{var _0x438cff=_['cloneDeep'](_0x28a293);if(_0x497c62[_0x81db('0x32')]){var _0x998090={};_0x998090[_0x497c62[_0x81db('0x32')]]=_0x2b5716;_[_0x81db('0x36')](_0x438cff[_0x81db('0x33')],_0x998090);}return _0x37238b[_0x81db('0x20')](_0x81db('0x34'))[_0x81db('0x25')](_0x438cff,_0x1de349)[_0x81db('0x27')](function(_0x5a188e){if(_0x5a188e&&_0x5a188e[_0x81db('0x28')]){return _0x5a188e;}else{var _0x8607dd=_['cloneDeep'](_0x28a293);if(_0x497c62[_0x81db('0x35')]){var _0x5adc74={};_0x5adc74[_0x497c62['additionalSearchLead']]=_0x2b5716;_['merge'](_0x8607dd['$or'],_0x5adc74);}return _0x37238b[_0x81db('0x20')](_0x81db('0x37'))['find'](_0x8607dd,_0x1de349);}});}});case _0x81db('0x15'):var _0x2f9217=_[_0x81db('0x39')](_0x28a293);if(_0x497c62[_0x81db('0x32')]){var _0x41adfd={};_0x41adfd[_0x497c62[_0x81db('0x32')]]=_0x2b5716;_[_0x81db('0x36')](_0x2f9217[_0x81db('0x33')],_0x41adfd);}return _0x37238b[_0x81db('0x20')](_0x81db('0x34'))['find'](_0x2f9217,_0x1de349)[_0x81db('0x26')]();case _0x81db('0x1c'):var _0x25ee2f=_[_0x81db('0x39')](_0x28a293);if(_0x497c62[_0x81db('0x35')]){var _0x41adfd={};_0x41adfd[_0x497c62[_0x81db('0x35')]]=_0x2b5716;_[_0x81db('0x36')](_0x25ee2f[_0x81db('0x33')],_0x41adfd);}return _0x37238b['sobject'](_0x81db('0x37'))['find'](_0x25ee2f,_0x1de349);case _0x81db('0x17'):var _0x36c96b=_[_0x81db('0x39')](_0x28a293);if(_0x497c62[_0x81db('0x3a')]){var _0x41adfd={};_0x41adfd[_0x497c62[_0x81db('0x3a')]]=_0x2b5716;_[_0x81db('0x36')](_0x36c96b[_0x81db('0x33')],_0x41adfd);}return _0x37238b[_0x81db('0x20')]('Account')['find'](_0x36c96b,_0x1de349);default:return null;}})['then'](function(_0x8d9d20){if(_0x8d9d20&&_0x8d9d20[_0x81db('0x28')]){var _0x3d4530=_[_0x81db('0x3c')](_0x8d9d20);if(_0x3d4530){return BPromise['resolve']({'id':_0x3d4530['Id'],'name':_0x3d4530[_0x81db('0x3d')],'phone':_0x3d4530[_0x81db('0x3e')],'endUserType':_0x3d4530['attributes'][_0x81db('0x3f')][_0x81db('0x40')]()});}}})[_0x81db('0x27')](function(_0x7febfe){if(_0x7febfe){logger[_0x81db('0x1e')]('Enduser\x20(%s)\x20with\x20phone\x20%s\x20found',_0x7febfe['endUserType'],_0x2b5716);return BPromise[_0x81db('0x2a')](_0x7febfe);}else{logger['info'](_0x81db('0x41'),_0x2b5716);var _0x2db59f={'Phone':_0x2b5716};if(_0x497c62[_0x81db('0x42')]){if(_0x497c62[_0x81db('0x42')]===_0x81db('0x15')){logger[_0x81db('0x1e')]('Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.',_0x2b5716,_0x497c62[_0x81db('0x42')]);_0x2db59f[_0x81db('0x43')]=_0x469e31!=='<unknown>'?_0x469e31:util[_0x81db('0x44')](_0x81db('0x45'),_0x2b5716);}else if(_0x497c62[_0x81db('0x42')]===_0x81db('0x1c')){logger[_0x81db('0x1e')]('Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.',_0x2b5716,_0x497c62['moduleCreate']);_0x2db59f[_0x81db('0x43')]=_0x469e31!==_0x81db('0x46')?_0x469e31:util[_0x81db('0x44')](_0x81db('0x45'),_0x2b5716);_0x2db59f[_0x81db('0x47')]=_0x81db('0x48');}else if(_0x497c62[_0x81db('0x42')]===_0x81db('0x17')){logger[_0x81db('0x1e')](_0x81db('0x49'),_0x2b5716,_0x497c62[_0x81db('0x42')]);_0x2db59f[_0x81db('0x3d')]=_0x469e31!==_0x81db('0x46')?_0x469e31:util[_0x81db('0x44')]('Caller\x20-\x20%s',_0x2b5716);}else{return null;}}return _0x37238b[_0x81db('0x20')](_['upperFirst'](_0x497c62[_0x81db('0x42')]))[_0x81db('0x21')](_0x2db59f)[_0x81db('0x27')](function(_0xc4e12){return BPromise[_0x81db('0x2a')]({'id':_0xc4e12['id'],'endUserType':_0x497c62[_0x81db('0x42')]});});}});}function getCustomFields(_0x2e5bda,_0x5dae92){var _0x4b4842={};if(_0x2e5bda[_0x81db('0x28')]>0x0){_[_0x81db('0x4a')](_0x2e5bda,function(_0x4cdecb){if(_[_0x81db('0x4b')]([_0x81db('0x4c'),_0x81db('0x4d')],_0x4cdecb[_0x81db('0x3f')])&&_0x4cdecb[_0x81db('0x4e')]){_0x4b4842[_0x4cdecb[_0x81db('0x4e')]]=_0x4cdecb[_0x81db('0x4f')][_0x81db('0x50')]();}else if(_0x4cdecb[_0x81db('0x3f')]===_0x81db('0x51')&&_0x4cdecb[_0x81db('0x52')]&&_0x4cdecb[_0x81db('0x4e')]){_0x5dae92[_0x4cdecb[_0x81db('0x52')]]&&(_0x4b4842[_0x4cdecb[_0x81db('0x4e')]]=_0x5dae92[_0x4cdecb['variableName']]['toString']());}else if(_0x4cdecb[_0x81db('0x3f')]==='customVariable'&&_0x4cdecb[_0x81db('0x53')]&&_0x4cdecb[_0x81db('0x53')][_0x81db('0x54')]&&_0x4cdecb[_0x81db('0x4e')]){_0x5dae92[_0x4cdecb[_0x81db('0x53')][_0x81db('0x54')]['toLowerCase']()]&&(_0x4b4842[_0x4cdecb[_0x81db('0x4e')]]=_0x5dae92[_0x4cdecb[_0x81db('0x53')][_0x81db('0x54')]['toLowerCase']()][_0x81db('0x50')]());}});}return _0x4b4842;}function getConnection(_0x26a88b){var _0x410a27=_0x26a88b[_0x81db('0x55')][_0x81db('0x56')](_0x26a88b[_0x81db('0x57')]);var _0x5a0987=new jsforce[(_0x81db('0x58'))]({'oauth2':{'loginUrl':_0x26a88b['remoteUri']||'https://login.salesforce.com','clientId':_0x26a88b['clientId'],'clientSecret':_0x26a88b[_0x81db('0x59')]}});return _0x5a0987[_0x81db('0x5a')](_0x26a88b[_0x81db('0x5b')],_0x410a27)[_0x81db('0x27')](function(){logger[_0x81db('0x1e')](_0x81db('0x5c'));return _0x5a0987;});}exports[_0x81db('0x5d')]=function(_0x57948c,_0x5e5098,_0x5aa110,_0x30375e,_0x252d92,_0x21bd0a){var _0x3578a4,_0x49de55,_0x589f2e,_0x432c43;_0x21bd0a['serverUrl']=intUtil[_0x81db('0x5e')](_0x21bd0a[_0x81db('0x5f')]);_0x21bd0a[_0x81db('0x60')]=intUtil[_0x81db('0x5e')](_0x21bd0a[_0x81db('0x60')]);if(_0x252d92&&_0x252d92[_0x81db('0x61')]){logger[_0x81db('0x1e')](_0x81db('0x62'),_0x81db('0x63'));_0x5e5098[_0x81db('0x64')]=util[_0x81db('0x44')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x21bd0a[_0x81db('0x5f')],_0x5e5098[_0x81db('0x65')],md5(_0x5e5098[_0x81db('0x65')]));}else{_0x5e5098['recordingURL']='';}return getConnection(_0x21bd0a)[_0x81db('0x27')](function(_0x5cea20){_0x432c43=_0x5cea20;return getUser(_0x21bd0a,_0x30375e['email'],_0x432c43);})[_0x81db('0x27')](function(_0x7c64bb){_0x3578a4=_0x7c64bb;return getEndUser(_0x21bd0a,_0x5aa110,_0x5e5098['calleridname'],_0x5e5098[_0x81db('0x66')],_0x432c43);})[_0x81db('0x27')](function(_0x29340e){_0x49de55=_0x29340e;return getTicket(_0x21bd0a,_0x3578a4,_0x49de55,_0x5aa110,_0x5e5098,_0x5aa110[_0x81db('0x67')],_0x432c43,_0x81db('0x5d'));})[_0x81db('0x27')](function(_0x4b7bb6){_0x589f2e=_0x4b7bb6;logger[_0x81db('0x1e')]('[QUEUE]\x20Ticket\x20%s\x20created',_0x589f2e['id']);logger['info'](_0x81db('0x68'),_0x589f2e['id'],_0x30375e[_0x81db('0x54')],_0x21bd0a['type']);switch(_0x21bd0a[_0x81db('0x3f')]){case'integrationTab':emit(util[_0x81db('0x44')](_0x81db('0x69'),_0x30375e[_0x81db('0x54')]),_0x81db('0x6a'),{'recordId':_0x589f2e['id']});break;case'newTab':emit(util[_0x81db('0x44')](_0x81db('0x69'),_0x30375e[_0x81db('0x54')]),_0x81db('0x6b'),{'uri':util[_0x81db('0x44')]('%s/%s/e',_0x432c43[_0x81db('0x6c')],_0x589f2e['id'])});break;default:logger[_0x81db('0x6d')](_0x81db('0x6e'));}})[_0x81db('0x6f')](function(_0x33ac6c){logger[_0x81db('0x6d')](_0x81db('0x62'),_0x33ac6c);});};exports[_0x81db('0x70')]=function(_0x27e56a,_0x5c1414,_0x4c1044,_0x464ff9,_0x803fce,_0x23fb8a,_0x30dff7){var _0x31f311,_0x13c2ae,_0x5e5bfc,_0xfa00d1;_0x23fb8a['serverUrl']=intUtil[_0x81db('0x5e')](_0x23fb8a['serverUrl']);_0x23fb8a[_0x81db('0x60')]=intUtil[_0x81db('0x5e')](_0x23fb8a[_0x81db('0x60')]);if(_0x30dff7&&_0x30dff7[_0x81db('0x71')]&&_0x30dff7[_0x81db('0x71')]!==_0x81db('0x72')){logger[_0x81db('0x1e')](_0x81db('0x73'),'Recording\x20is\x20enabled!');_0x5c1414[_0x81db('0x64')]=util[_0x81db('0x44')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x23fb8a['serverUrl'],_0x5c1414['uniqueid'],md5(_0x5c1414[_0x81db('0x65')]));}return getConnection(_0x23fb8a)['then'](function(_0x535f2e){_0xfa00d1=_0x535f2e;return getUser(_0x23fb8a,_0x464ff9['email'],_0xfa00d1);})[_0x81db('0x27')](function(_0xe41857){_0x31f311=_0xe41857;return getEndUser(_0x23fb8a,_0x4c1044,_0x5c1414['destcalleridname'],_0x5c1414[_0x81db('0x74')],_0xfa00d1);})['then'](function(_0x5439ed){_0x13c2ae=_0x5439ed;return getTicket(_0x23fb8a,_0x31f311,_0x13c2ae,_0x4c1044,_0x5c1414,_0x4c1044[_0x81db('0x67')],_0xfa00d1,_0x81db('0x70'));})[_0x81db('0x27')](function(_0x281ed5){_0x5e5bfc=_0x281ed5;logger[_0x81db('0x1e')]('[OUTBOUND]\x20Ticket\x20%s\x20created.',_0x5e5bfc['id']);logger[_0x81db('0x1e')](_0x81db('0x75'),_0x5e5bfc['id'],_0x464ff9[_0x81db('0x54')],_0x23fb8a[_0x81db('0x3f')]);switch(_0x23fb8a[_0x81db('0x3f')]){case _0x81db('0x76'):emit(util[_0x81db('0x44')](_0x81db('0x69'),_0x464ff9[_0x81db('0x54')]),_0x81db('0x6a'),{'recordId':_0x5e5bfc['id']});break;case'newTab':emit(util[_0x81db('0x44')]('user:%s',_0x464ff9[_0x81db('0x54')]),'trigger:browser:url',{'uri':util['format']('%s/%s/e',_0xfa00d1['instanceUrl'],_0x5e5bfc['id'])});break;default:logger[_0x81db('0x6d')](_0x81db('0x73'),_0x81db('0x77'));}})['catch'](function(_0x102f0e){logger['error'](_0x81db('0x73'),_0x102f0e);});};exports['unmanaged']=function(_0x5247c4,_0x352f32,_0x5a0aa9,_0x4b77eb,_0x35c82f,_0x223634){var _0x37327a,_0x4178d3,_0x22babf,_0x7fe8d5;_0x223634[_0x81db('0x5f')]=intUtil['stripTrailingSlash'](_0x223634[_0x81db('0x5f')]);_0x223634['remoteUri']=intUtil[_0x81db('0x5e')](_0x223634['remoteUri']);if(_0x35c82f&&_0x35c82f[_0x81db('0x61')]){logger[_0x81db('0x1e')]('['+_0x352f32['lastevent'][_0x81db('0x78')]()+']',_0x81db('0x63'));_0x352f32[_0x81db('0x64')]=util['format'](_0x81db('0x79'),_0x223634['serverUrl'],_0x352f32[_0x81db('0x65')],md5(_0x352f32[_0x81db('0x65')]));}else{_0x352f32[_0x81db('0x64')]='';}return getConnection(_0x223634)['then'](function(_0xb91d63){_0x7fe8d5=_0xb91d63;if(!_[_0x81db('0x22')](_0x4b77eb)){return getUser(_0x223634,_0x4b77eb[_0x81db('0x54')],_0x7fe8d5);}else{return getUser(_0x223634,null,_0x7fe8d5);}})[_0x81db('0x27')](function(_0xf2b07a){_0x37327a=_0xf2b07a;return getEndUser(_0x223634,_0x5a0aa9,_0x352f32['calleridname'],_0x352f32[_0x81db('0x66')],_0x7fe8d5);})['then'](function(_0x57262b){_0x4178d3=_0x57262b;return getTicket(_0x223634,_0x37327a,_0x4178d3,_0x5a0aa9,_0x352f32,_0x5a0aa9['Fields'],_0x7fe8d5);})[_0x81db('0x27')](function(_0x25b506){_0x22babf=_0x25b506;logger[_0x81db('0x1e')]('['+_0x352f32[_0x81db('0x7a')][_0x81db('0x78')]()+_0x81db('0x7b'),_0x22babf['id']);logger[_0x81db('0x1e')]('['+_0x352f32[_0x81db('0x7a')][_0x81db('0x78')]()+']\x20Integration\x20account\x20type\x20%s.',_0x223634['type']);})[_0x81db('0x6f')](function(_0xe4acbb){logger['error']('['+_0x352f32[_0x81db('0x7a')][_0x81db('0x78')]()+']',_0xe4acbb);});};
\ No newline at end of file