Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / services / ami / trigger / integration / salesforce.js
index 5ad662b..4685eca 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9b94=['toString','variable','variableName','Variable','name','toLowerCase','password','concat','securityToken','Connection','https://login.salesforce.com','clientId','clientSecret','login','username','queue','serverUrl','stripTrailingSlash','remoteUri','monitor_format','[QUEUE]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','calleridname','calleridnum','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','trigger:browser:url','%s/%s/e','instanceUrl','error','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','stringify','outbound','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!','recordingURL','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','unmanaged','lastevent','toUpperCase',']\x20Ticket\x20%s\x20created.',']\x20Integration\x20account\x20type\x20%s.','request-promise','moment','bluebird','md5','util','ioredis','../../../../config/environment','../../../../config/logger','salesforce','redis','defaults','localhost','socket.io-emitter','emit','ticketType','Task','assign','getString','Descriptions','WhoId','Case','Subjects','ContactId','create','isNil','validateEmail','find','execute','then','length','Email','info','resolve','identity','display_name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','sobject','Contact','Lead','contact','Phone','Name','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.','lead','Company','No\x20Company','upperFirst','forEach','type','idField','content'];(function(_0x4d4c0e,_0x3dd03b){var _0x35d10b=function(_0x4faeeb){while(--_0x4faeeb){_0x4d4c0e['push'](_0x4d4c0e['shift']());}};_0x35d10b(++_0x3dd03b);}(_0x9b94,0xaa));var _0x49b9=function(_0x1086f6,_0x2dcdaa){_0x1086f6=_0x1086f6-0x0;var _0x281347=_0x9b94[_0x1086f6];return _0x281347;};'use strict';var _=require('lodash');var rp=require(_0x49b9('0x0'));var moment=require(_0x49b9('0x1'));var BPromise=require(_0x49b9('0x2'));var md5=require(_0x49b9('0x3'));var jsforce=require('jsforce');var util=require(_0x49b9('0x4'));var Redis=require(_0x49b9('0x5'));var intUtil=require('./util');var config=require(_0x49b9('0x6'));var logger=require(_0x49b9('0x7'))(_0x49b9('0x8'));config[_0x49b9('0x9')]=_[_0x49b9('0xa')](config['redis'],{'host':_0x49b9('0xb'),'port':0x18eb});var io=require(_0x49b9('0xc'))(new Redis(config['redis']));function emit(_0x3c0918,_0x24f725,_0x53d21d){io['to'](_0x3c0918)[_0x49b9('0xd')](_0x24f725,_0x53d21d);}function getTicket(_0x3708f9,_0x4a81c9,_0x48ab17,_0x13c676,_0xd26f64,_0x34c92f,_0x442bdc,_0x3ea2c8){var _0x355be1={};if(_0x13c676[_0x49b9('0xe')]===_0x49b9('0xf')){_0x355be1=Object[_0x49b9('0x10')]({},{'OwnerId':_0x4a81c9['id'],'ActivityDate':moment['utc'](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x49b9('0x11')](_0x13c676['Subjects'],_0xd26f64,'\x20'),'Description':intUtil[_0x49b9('0x11')](_0x13c676[_0x49b9('0x12')],_0xd26f64,'\x0a')},getCustomFields(_0x34c92f,_0xd26f64));if(_0x48ab17){_0x355be1[_0x49b9('0x13')]=_0x48ab17['id'];}}else if(_0x13c676[_0x49b9('0xe')]===_0x49b9('0x14')){_0x355be1=Object[_0x49b9('0x10')]({},{'OwnerId':_0x4a81c9['id'],'Subject':intUtil[_0x49b9('0x11')](_0x13c676[_0x49b9('0x15')],_0xd26f64,'\x20'),'Description':intUtil[_0x49b9('0x11')](_0x13c676[_0x49b9('0x12')],_0xd26f64,'\x0a')},getCustomFields(_0x34c92f,_0xd26f64));if(_0x48ab17){_0x355be1[_0x49b9('0x16')]=_0x48ab17['id'];}}return _0x442bdc['sobject'](_0x13c676[_0x49b9('0xe')])[_0x49b9('0x17')](_0x355be1);}function getUser(_0x36497d,_0x19124d,_0x20d634){if(!_[_0x49b9('0x18')](_0x19124d)&&intUtil[_0x49b9('0x19')](_0x19124d)){var _0x1770bf={'Email':_0x19124d};var _0x518f50={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x20d634['sobject']('User')[_0x49b9('0x1a')](_0x1770bf,_0x518f50)[_0x49b9('0x1b')]()[_0x49b9('0x1c')](function(_0x37b9c5){if(_0x37b9c5[_0x49b9('0x1d')]){var _0x168d12=_[_0x49b9('0x1a')](_0x37b9c5,function(_0x38cc40){return _0x38cc40[_0x49b9('0x1e')]===_0x19124d;});if(_0x168d12){logger[_0x49b9('0x1f')]('Agent\x20%s\x20found.',_0x19124d);return BPromise[_0x49b9('0x20')]({'id':_0x168d12['Id'],'name':_0x168d12['Name']});}}else{logger['info']('Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.',_0x19124d);return _0x20d634[_0x49b9('0x21')]()[_0x49b9('0x1c')](function(_0x5d6951){return BPromise[_0x49b9('0x20')]({'id':_0x5d6951['user_id'],'name':_0x5d6951[_0x49b9('0x22')]});});}});}else{logger['info'](_0x49b9('0x23'),_0x19124d);return _0x20d634[_0x49b9('0x21')]()[_0x49b9('0x1c')](function(_0x19e727){return BPromise[_0x49b9('0x20')]({'id':_0x19e727['user_id'],'name':_0x19e727[_0x49b9('0x22')]});});}}function getEndUser(_0x382408,_0x2b3134,_0x435b5c,_0x3eaefe,_0x1ae9d4){var _0x581778={'Phone':_0x3eaefe};var _0x5a97bb={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x49b9('0x20')]()[_0x49b9('0x1c')](function(){if(_0x2b3134['ticketType']==='Task'){logger[_0x49b9('0x1f')](_0x49b9('0x24'),_0x3eaefe,_0x2b3134['moduleSearch']);switch(_0x2b3134['moduleSearch']){case'contact_lead':return _0x1ae9d4[_0x49b9('0x25')](_0x49b9('0x26'))[_0x49b9('0x1a')](_0x581778,_0x5a97bb)['execute']()[_0x49b9('0x1c')](function(_0x5654b2){if(_0x5654b2&&_0x5654b2[_0x49b9('0x1d')]){return _0x5654b2;}else{return _0x1ae9d4['sobject'](_0x49b9('0x27'))[_0x49b9('0x1a')](_0x581778,_0x5a97bb);}});case _0x49b9('0x28'):return _0x1ae9d4[_0x49b9('0x25')](_0x49b9('0x26'))[_0x49b9('0x1a')](_0x581778,_0x5a97bb)['execute']();case'lead':return _0x1ae9d4[_0x49b9('0x25')](_0x49b9('0x27'))[_0x49b9('0x1a')](_0x581778,_0x5a97bb);default:return null;}}else if(_0x2b3134[_0x49b9('0xe')]===_0x49b9('0x14')){logger[_0x49b9('0x1f')](_0x49b9('0x24'),_0x3eaefe,_0x49b9('0x28'));return _0x1ae9d4[_0x49b9('0x25')](_0x49b9('0x26'))[_0x49b9('0x1a')](_0x581778,_0x5a97bb)['execute']();}})['then'](function(_0x2d2887){if(_0x2d2887&&_0x2d2887[_0x49b9('0x1d')]){var _0x37b484=_[_0x49b9('0x1a')](_0x2d2887,function(_0x3cfd45){return _0x3cfd45[_0x49b9('0x29')]===_0x3eaefe;});if(_0x37b484){return BPromise[_0x49b9('0x20')]({'id':_0x37b484['Id'],'name':_0x37b484[_0x49b9('0x2a')],'phone':_0x37b484[_0x49b9('0x29')]});}}})[_0x49b9('0x1c')](function(_0x2adc5b){if(_0x2adc5b){logger['info'](_0x49b9('0x2b'),_0x3eaefe);return BPromise[_0x49b9('0x20')](_0x2adc5b);}else{logger['info'](_0x49b9('0x2c'),_0x3eaefe);var _0x3b5c2b={'LastName':_0x435b5c!==_0x49b9('0x2d')?_0x435b5c:util[_0x49b9('0x2e')](_0x49b9('0x2f'),_0x3eaefe),'Phone':_0x3eaefe};if(_0x2b3134[_0x49b9('0x30')]){if(_0x2b3134[_0x49b9('0x30')]==='contact'){logger[_0x49b9('0x1f')](_0x49b9('0x31'),_0x3eaefe,_0x2b3134[_0x49b9('0x30')]);}else if(_0x2b3134['moduleCreate']===_0x49b9('0x32')&&_0x2b3134[_0x49b9('0xe')]==='Task'){logger['info'](_0x49b9('0x31'),_0x3eaefe,_0x2b3134[_0x49b9('0x30')]);_0x3b5c2b[_0x49b9('0x33')]=_0x49b9('0x34');}else{return null;}}return _0x1ae9d4[_0x49b9('0x25')](_[_0x49b9('0x35')](_0x2b3134[_0x49b9('0x30')]))['create'](_0x3b5c2b);}});}function getCustomFields(_0x577133,_0x376281){var _0x1bddc1={};if(_0x577133['length']>0x0){_[_0x49b9('0x36')](_0x577133,function(_0x5d86a2){if(_0x5d86a2[_0x49b9('0x37')]==='string'&&_0x5d86a2[_0x49b9('0x38')]){_0x1bddc1[_0x5d86a2[_0x49b9('0x38')]]=_0x5d86a2[_0x49b9('0x39')][_0x49b9('0x3a')]();}else if(_0x5d86a2['type']===_0x49b9('0x3b')&&_0x5d86a2[_0x49b9('0x3c')]&&_0x5d86a2[_0x49b9('0x38')]){_0x376281[_0x5d86a2[_0x49b9('0x3c')]]&&(_0x1bddc1[_0x5d86a2[_0x49b9('0x38')]]=_0x376281[_0x5d86a2[_0x49b9('0x3c')]][_0x49b9('0x3a')]());}else if(_0x5d86a2[_0x49b9('0x37')]==='customVariable'&&_0x5d86a2[_0x49b9('0x3d')]&&_0x5d86a2[_0x49b9('0x3d')][_0x49b9('0x3e')]&&_0x5d86a2[_0x49b9('0x38')]){_0x376281[_0x5d86a2['Variable'][_0x49b9('0x3e')][_0x49b9('0x3f')]()]&&(_0x1bddc1[_0x5d86a2[_0x49b9('0x38')]]=_0x376281[_0x5d86a2['Variable'][_0x49b9('0x3e')]['toLowerCase']()][_0x49b9('0x3a')]());}});}return _0x1bddc1;}function getConnection(_0x1e1e10){var _0x62f05c=_0x1e1e10[_0x49b9('0x40')][_0x49b9('0x41')](_0x1e1e10[_0x49b9('0x42')]);var _0x21fb37=new jsforce[(_0x49b9('0x43'))]({'oauth2':{'loginUrl':_0x1e1e10['remoteUri']||_0x49b9('0x44'),'clientId':_0x1e1e10[_0x49b9('0x45')],'clientSecret':_0x1e1e10[_0x49b9('0x46')]}});return _0x21fb37[_0x49b9('0x47')](_0x1e1e10[_0x49b9('0x48')],_0x62f05c)['then'](function(){logger[_0x49b9('0x1f')]('Connection\x20established.');return _0x21fb37;});}exports[_0x49b9('0x49')]=function(_0x93d370,_0x52c152,_0x304907,_0x2384f5,_0x169a60,_0x3910a5){var _0x3c9fc9,_0x3981f2,_0x1e0394,_0x22d209;_0x3910a5[_0x49b9('0x4a')]=intUtil[_0x49b9('0x4b')](_0x3910a5['serverUrl']);_0x3910a5[_0x49b9('0x4c')]=intUtil['stripTrailingSlash'](_0x3910a5['remoteUri']);if(_0x169a60&&_0x169a60[_0x49b9('0x4d')]){logger['info'](_0x49b9('0x4e'),'Recording\x20is\x20enabled!');_0x52c152['recordingURL']=util[_0x49b9('0x2e')](_0x49b9('0x4f'),_0x3910a5[_0x49b9('0x4a')],_0x52c152[_0x49b9('0x50')],md5(_0x52c152[_0x49b9('0x50')]));}else{_0x52c152['recordingURL']='';}return getConnection(_0x3910a5)[_0x49b9('0x1c')](function(_0xd2fe8a){_0x22d209=_0xd2fe8a;return getUser(_0x3910a5,_0x2384f5['email'],_0x22d209);})[_0x49b9('0x1c')](function(_0x3f937a){_0x3c9fc9=_0x3f937a;return getEndUser(_0x3910a5,_0x304907,_0x52c152[_0x49b9('0x51')],_0x52c152[_0x49b9('0x52')],_0x22d209);})['then'](function(_0x13c5b1){_0x3981f2=_0x13c5b1;return getTicket(_0x3910a5,_0x3c9fc9,_0x3981f2,_0x304907,_0x52c152,_0x304907[_0x49b9('0x53')],_0x22d209,_0x49b9('0x49'));})[_0x49b9('0x1c')](function(_0x583cb1){_0x1e0394=_0x583cb1;logger[_0x49b9('0x1f')](_0x49b9('0x54'),_0x1e0394['id']);logger[_0x49b9('0x1f')](_0x49b9('0x55'),_0x1e0394['id'],_0x2384f5[_0x49b9('0x3e')],_0x3910a5[_0x49b9('0x37')]);switch(_0x3910a5[_0x49b9('0x37')]){case'integrationTab':emit(util[_0x49b9('0x2e')](_0x49b9('0x56'),_0x2384f5[_0x49b9('0x3e')]),_0x49b9('0x57'),{'recordId':_0x1e0394['id']});break;case _0x49b9('0x58'):emit(util[_0x49b9('0x2e')]('user:%s',_0x2384f5[_0x49b9('0x3e')]),_0x49b9('0x59'),{'uri':util[_0x49b9('0x2e')](_0x49b9('0x5a'),_0x22d209[_0x49b9('0x5b')],_0x1e0394['id'])});break;default:logger[_0x49b9('0x5c')](_0x49b9('0x5d'));}})[_0x49b9('0x5e')](function(_0x371bf4){logger[_0x49b9('0x5c')](_0x49b9('0x4e'),JSON[_0x49b9('0x5f')](_0x371bf4));});};exports[_0x49b9('0x60')]=function(_0x110ece,_0x2820f7,_0x548735,_0x7ceade,_0x5a1cd0,_0x5ee125,_0x23a03b){var _0x1c9bd4,_0x421dd2,_0x3915d1,_0x334528;_0x5ee125['serverUrl']=intUtil[_0x49b9('0x4b')](_0x5ee125[_0x49b9('0x4a')]);_0x5ee125[_0x49b9('0x4c')]=intUtil[_0x49b9('0x4b')](_0x5ee125[_0x49b9('0x4c')]);if(_0x23a03b&&_0x23a03b['recordingFormat']&&_0x23a03b[_0x49b9('0x61')]!==_0x49b9('0x62')){logger[_0x49b9('0x1f')](_0x49b9('0x63'),_0x49b9('0x64'));_0x2820f7[_0x49b9('0x65')]=util[_0x49b9('0x2e')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x5ee125[_0x49b9('0x4a')],_0x2820f7[_0x49b9('0x50')],md5(_0x2820f7[_0x49b9('0x50')]));}return getConnection(_0x5ee125)[_0x49b9('0x1c')](function(_0xf178e0){_0x334528=_0xf178e0;return getUser(_0x5ee125,_0x7ceade[_0x49b9('0x66')],_0x334528);})[_0x49b9('0x1c')](function(_0x15edea){_0x1c9bd4=_0x15edea;return getEndUser(_0x5ee125,_0x548735,_0x2820f7[_0x49b9('0x67')],_0x2820f7[_0x49b9('0x68')],_0x334528);})[_0x49b9('0x1c')](function(_0x502ec9){_0x421dd2=_0x502ec9;return getTicket(_0x5ee125,_0x1c9bd4,_0x421dd2,_0x548735,_0x2820f7,_0x548735[_0x49b9('0x53')],_0x334528,_0x49b9('0x60'));})[_0x49b9('0x1c')](function(_0x29a09b){_0x3915d1=_0x29a09b;logger['info'](_0x49b9('0x69'),_0x3915d1['id']);logger['info'](_0x49b9('0x6a'),_0x3915d1['id'],_0x7ceade[_0x49b9('0x3e')],_0x5ee125[_0x49b9('0x37')]);switch(_0x5ee125[_0x49b9('0x37')]){case _0x49b9('0x6b'):emit(util[_0x49b9('0x2e')](_0x49b9('0x56'),_0x7ceade[_0x49b9('0x3e')]),_0x49b9('0x57'),{'recordId':_0x3915d1['id']});break;case _0x49b9('0x58'):emit(util[_0x49b9('0x2e')](_0x49b9('0x56'),_0x7ceade[_0x49b9('0x3e')]),'trigger:browser:url',{'uri':util[_0x49b9('0x2e')](_0x49b9('0x5a'),_0x334528['instanceUrl'],_0x3915d1['id'])});break;default:logger[_0x49b9('0x5c')](_0x49b9('0x63'),_0x49b9('0x6c'));}})[_0x49b9('0x5e')](function(_0x438483){logger[_0x49b9('0x5c')]('[OUTBOUND]',JSON[_0x49b9('0x5f')](_0x438483));});};exports[_0x49b9('0x6d')]=function(_0x24360c,_0xc185fc,_0x195f61,_0x796070,_0x7be51e,_0x5e7540){var _0x285ece,_0x118349,_0x8e44d4,_0x9a20d8;_0x5e7540['serverUrl']=intUtil['stripTrailingSlash'](_0x5e7540['serverUrl']);_0x5e7540[_0x49b9('0x4c')]=intUtil[_0x49b9('0x4b')](_0x5e7540[_0x49b9('0x4c')]);if(_0x7be51e&&_0x7be51e[_0x49b9('0x4d')]){logger[_0x49b9('0x1f')]('['+_0xc185fc[_0x49b9('0x6e')][_0x49b9('0x6f')]()+']','Recording\x20is\x20enabled!');_0xc185fc[_0x49b9('0x65')]=util['format'](_0x49b9('0x4f'),_0x5e7540[_0x49b9('0x4a')],_0xc185fc[_0x49b9('0x50')],md5(_0xc185fc[_0x49b9('0x50')]));}else{_0xc185fc[_0x49b9('0x65')]='';}return getConnection(_0x5e7540)[_0x49b9('0x1c')](function(_0x1308d4){_0x9a20d8=_0x1308d4;if(!_[_0x49b9('0x18')](_0x796070)){return getUser(_0x5e7540,_0x796070['name'],_0x9a20d8);}else{return getUser(_0x5e7540,null,_0x9a20d8);}})[_0x49b9('0x1c')](function(_0x23edb5){_0x285ece=_0x23edb5;return getEndUser(_0x5e7540,_0x195f61,_0xc185fc[_0x49b9('0x51')],_0xc185fc['calleridnum'],_0x9a20d8);})[_0x49b9('0x1c')](function(_0x43201e){_0x118349=_0x43201e;return getTicket(_0x5e7540,_0x285ece,_0x118349,_0x195f61,_0xc185fc,_0x195f61[_0x49b9('0x53')],_0x9a20d8);})[_0x49b9('0x1c')](function(_0x47ade7){_0x8e44d4=_0x47ade7;logger['info']('['+_0xc185fc['lastevent'][_0x49b9('0x6f')]()+_0x49b9('0x70'),_0x8e44d4['id']);logger[_0x49b9('0x1f')]('['+_0xc185fc['lastevent'][_0x49b9('0x6f')]()+_0x49b9('0x71'),_0x5e7540[_0x49b9('0x37')]);})[_0x49b9('0x5e')](function(_0x5f229c){logger[_0x49b9('0x5c')]('['+_0xc185fc[_0x49b9('0x6e')]['toUpperCase']()+']',JSON['stringify'](_0x5f229c));});};
\ No newline at end of file
+var _0xc821=['request-promise','md5','jsforce','ioredis','./util','../../../../config/logger','salesforce','redis','defaults','localhost','socket.io-emitter','ticketType','assign','utc','getString','Subjects','WhoId','Case','ContactId','isNil','validateEmail','sobject','User','find','length','info','Agent\x20%s\x20found.','resolve','Name','identity','then','user_id','display_name','Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.','Task','Searching\x20enduser\x20with\x20phone\x20%s.\x20Serching\x20method\x20used\x20%s.','moduleSearch','Contact','execute','contact','Lead','Phone','Enduser\x20with\x20phone\x20%s\x20found.','Enduser\x20with\x20phone\x20%s\x20not\x20found.','<unknown>','format','Caller\x20-\x20%s','Enduser\x20with\x20phone\x20%s.\x20Creating\x20method\x20used\x20%s.','moduleCreate','lead','Company','No\x20Company','create','forEach','type','string','idField','content','variableName','toString','customVariable','Variable','name','toLowerCase','password','concat','securityToken','Connection','remoteUri','https://login.salesforce.com','clientId','clientSecret','login','username','Connection\x20established.','stripTrailingSlash','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','serverUrl','uniqueid','email','calleridnum','Fields','user:%s','trigger:salesforce:display','trigger:browser:url','[QUEUE]\x20Salesforce\x20account\x20type\x20not\x20recognized.','catch','error','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','newTab','instanceUrl','Salesforce\x20account\x20type\x20not\x20recognized','lastevent','toUpperCase','calleridname',']\x20Integration\x20account\x20type\x20%s.','stringify','lodash'];(function(_0x1812ae,_0x5c230d){var _0x253ffa=function(_0x338804){while(--_0x338804){_0x1812ae['push'](_0x1812ae['shift']());}};_0x253ffa(++_0x5c230d);}(_0xc821,0xd9));var _0x1c82=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xc821[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x1c82('0x0'));var rp=require(_0x1c82('0x1'));var moment=require('moment');var BPromise=require('bluebird');var md5=require(_0x1c82('0x2'));var jsforce=require(_0x1c82('0x3'));var util=require('util');var Redis=require(_0x1c82('0x4'));var intUtil=require(_0x1c82('0x5'));var config=require('../../../../config/environment');var logger=require(_0x1c82('0x6'))(_0x1c82('0x7'));config[_0x1c82('0x8')]=_[_0x1c82('0x9')](config[_0x1c82('0x8')],{'host':_0x1c82('0xa'),'port':0x18eb});var io=require(_0x1c82('0xb'))(new Redis(config[_0x1c82('0x8')]));function emit(_0x48430a,_0x1b980b,_0x1b0eb0){io['to'](_0x48430a)['emit'](_0x1b980b,_0x1b0eb0);}function getTicket(_0x49276d,_0x35546b,_0x5ed44e,_0x45aabb,_0x362e06,_0x2d3646,_0x575696,_0x527aec){var _0x2bf8b9={};if(_0x45aabb[_0x1c82('0xc')]==='Task'){_0x2bf8b9=Object[_0x1c82('0xd')]({},{'OwnerId':_0x35546b['id'],'ActivityDate':moment[_0x1c82('0xe')](),'IsReminderSet':![],'IsRecurrence':![],'Subject':intUtil[_0x1c82('0xf')](_0x45aabb[_0x1c82('0x10')],_0x362e06,'\x20'),'Description':intUtil[_0x1c82('0xf')](_0x45aabb['Descriptions'],_0x362e06,'\x0a')},getCustomFields(_0x2d3646,_0x362e06));if(_0x5ed44e){_0x2bf8b9[_0x1c82('0x11')]=_0x5ed44e['id'];}}else if(_0x45aabb[_0x1c82('0xc')]===_0x1c82('0x12')){_0x2bf8b9=Object['assign']({},{'OwnerId':_0x35546b['id'],'Subject':intUtil['getString'](_0x45aabb[_0x1c82('0x10')],_0x362e06,'\x20'),'Description':intUtil['getString'](_0x45aabb['Descriptions'],_0x362e06,'\x0a')},getCustomFields(_0x2d3646,_0x362e06));if(_0x5ed44e){_0x2bf8b9[_0x1c82('0x13')]=_0x5ed44e['id'];}}return _0x575696['sobject'](_0x45aabb[_0x1c82('0xc')])['create'](_0x2bf8b9);}function getUser(_0x3a9633,_0x902c96,_0x52f943){if(!_[_0x1c82('0x14')](_0x902c96)&&intUtil[_0x1c82('0x15')](_0x902c96)){var _0x24088a={'Email':_0x902c96};var _0x5747e8={'Id':!![],'Username':!![],'Name':!![],'Email':!![]};return _0x52f943[_0x1c82('0x16')](_0x1c82('0x17'))[_0x1c82('0x18')](_0x24088a,_0x5747e8)['execute']()['then'](function(_0x2184d5){if(_0x2184d5[_0x1c82('0x19')]){var _0x3e43f1=_['find'](_0x2184d5,function(_0x2da290){return _0x2da290['Email']===_0x902c96;});if(_0x3e43f1){logger[_0x1c82('0x1a')](_0x1c82('0x1b'),_0x902c96);return BPromise[_0x1c82('0x1c')]({'id':_0x3e43f1['Id'],'name':_0x3e43f1[_0x1c82('0x1d')]});}}else{logger[_0x1c82('0x1a')]('Agent\x20%s\x20not\x20found.\x20Switch\x20to\x20the\x20admin\x20account.',_0x902c96);return _0x52f943[_0x1c82('0x1e')]()[_0x1c82('0x1f')](function(_0x1bbcca){return BPromise['resolve']({'id':_0x1bbcca[_0x1c82('0x20')],'name':_0x1bbcca[_0x1c82('0x21')]});});}});}else{logger[_0x1c82('0x1a')](_0x1c82('0x22'),_0x902c96);return _0x52f943['identity']()[_0x1c82('0x1f')](function(_0x317fe0){return BPromise[_0x1c82('0x1c')]({'id':_0x317fe0[_0x1c82('0x20')],'name':_0x317fe0[_0x1c82('0x21')]});});}}function getEndUser(_0x301b82,_0x389799,_0x14d45a,_0x12e459,_0x15488f){var _0x266181={'Phone':_0x12e459};var _0x177a34={'Id':!![],'Name':!![],'Phone':!![]};return BPromise[_0x1c82('0x1c')]()['then'](function(){if(_0x389799[_0x1c82('0xc')]===_0x1c82('0x23')){logger[_0x1c82('0x1a')](_0x1c82('0x24'),_0x12e459,_0x389799[_0x1c82('0x25')]);switch(_0x389799[_0x1c82('0x25')]){case'contact_lead':return _0x15488f[_0x1c82('0x16')](_0x1c82('0x26'))[_0x1c82('0x18')](_0x266181,_0x177a34)[_0x1c82('0x27')]()[_0x1c82('0x1f')](function(_0x45a2bc){if(_0x45a2bc&&_0x45a2bc['length']){return _0x45a2bc;}else{return _0x15488f[_0x1c82('0x16')]('Lead')['find'](_0x266181,_0x177a34);}});case _0x1c82('0x28'):return _0x15488f[_0x1c82('0x16')](_0x1c82('0x26'))[_0x1c82('0x18')](_0x266181,_0x177a34)[_0x1c82('0x27')]();case'lead':return _0x15488f[_0x1c82('0x16')](_0x1c82('0x29'))[_0x1c82('0x18')](_0x266181,_0x177a34);default:return null;}}else if(_0x389799[_0x1c82('0xc')]===_0x1c82('0x12')){logger[_0x1c82('0x1a')](_0x1c82('0x24'),_0x12e459,_0x1c82('0x28'));return _0x15488f['sobject'](_0x1c82('0x26'))[_0x1c82('0x18')](_0x266181,_0x177a34)['execute']();}})[_0x1c82('0x1f')](function(_0x4327a8){if(_0x4327a8&&_0x4327a8[_0x1c82('0x19')]){var _0x3d41d1=_[_0x1c82('0x18')](_0x4327a8,function(_0x1ddfc0){return _0x1ddfc0[_0x1c82('0x2a')]===_0x12e459;});if(_0x3d41d1){return BPromise[_0x1c82('0x1c')]({'id':_0x3d41d1['Id'],'name':_0x3d41d1[_0x1c82('0x1d')],'phone':_0x3d41d1[_0x1c82('0x2a')]});}}})[_0x1c82('0x1f')](function(_0x476ef8){if(_0x476ef8){logger[_0x1c82('0x1a')](_0x1c82('0x2b'),_0x12e459);return BPromise[_0x1c82('0x1c')](_0x476ef8);}else{logger[_0x1c82('0x1a')](_0x1c82('0x2c'),_0x12e459);var _0xd508a4={'LastName':_0x14d45a!==_0x1c82('0x2d')?_0x14d45a:util[_0x1c82('0x2e')](_0x1c82('0x2f'),_0x12e459),'Phone':_0x12e459};if(_0x389799['moduleCreate']){if(_0x389799['moduleCreate']==='contact'){logger[_0x1c82('0x1a')](_0x1c82('0x30'),_0x12e459,_0x389799[_0x1c82('0x31')]);}else if(_0x389799['moduleCreate']===_0x1c82('0x32')&&_0x389799[_0x1c82('0xc')]===_0x1c82('0x23')){logger[_0x1c82('0x1a')](_0x1c82('0x30'),_0x12e459,_0x389799[_0x1c82('0x31')]);_0xd508a4[_0x1c82('0x33')]=_0x1c82('0x34');}else{return null;}}return _0x15488f[_0x1c82('0x16')](_['upperFirst'](_0x389799[_0x1c82('0x31')]))[_0x1c82('0x35')](_0xd508a4);}});}function getCustomFields(_0x59f394,_0x590e32){var _0x3652ac={};if(_0x59f394[_0x1c82('0x19')]>0x0){_[_0x1c82('0x36')](_0x59f394,function(_0x49a651){if(_0x49a651[_0x1c82('0x37')]===_0x1c82('0x38')&&_0x49a651[_0x1c82('0x39')]){_0x3652ac[_0x49a651['idField']]=_0x49a651[_0x1c82('0x3a')]['toString']();}else if(_0x49a651[_0x1c82('0x37')]==='variable'&&_0x49a651[_0x1c82('0x3b')]&&_0x49a651[_0x1c82('0x39')]){_0x590e32[_0x49a651[_0x1c82('0x3b')]]&&(_0x3652ac[_0x49a651[_0x1c82('0x39')]]=_0x590e32[_0x49a651[_0x1c82('0x3b')]][_0x1c82('0x3c')]());}else if(_0x49a651[_0x1c82('0x37')]===_0x1c82('0x3d')&&_0x49a651[_0x1c82('0x3e')]&&_0x49a651['Variable'][_0x1c82('0x3f')]&&_0x49a651[_0x1c82('0x39')]){_0x590e32[_0x49a651[_0x1c82('0x3e')][_0x1c82('0x3f')][_0x1c82('0x40')]()]&&(_0x3652ac[_0x49a651[_0x1c82('0x39')]]=_0x590e32[_0x49a651[_0x1c82('0x3e')][_0x1c82('0x3f')]['toLowerCase']()][_0x1c82('0x3c')]());}});}return _0x3652ac;}function getConnection(_0x4cf15f){var _0x3f6dd7=_0x4cf15f[_0x1c82('0x41')][_0x1c82('0x42')](_0x4cf15f[_0x1c82('0x43')]);var _0x2b4316=new jsforce[(_0x1c82('0x44'))]({'oauth2':{'loginUrl':_0x4cf15f[_0x1c82('0x45')]||_0x1c82('0x46'),'clientId':_0x4cf15f[_0x1c82('0x47')],'clientSecret':_0x4cf15f[_0x1c82('0x48')]}});return _0x2b4316[_0x1c82('0x49')](_0x4cf15f[_0x1c82('0x4a')],_0x3f6dd7)[_0x1c82('0x1f')](function(){logger[_0x1c82('0x1a')](_0x1c82('0x4b'));return _0x2b4316;});}exports['queue']=function(_0x174f16,_0x18c467,_0x4df0e7,_0x4268ca,_0x579b3f,_0x2eb994){var _0x18f550,_0x23fe67,_0x3e733f,_0x449b16;_0x2eb994['serverUrl']=intUtil['stripTrailingSlash'](_0x2eb994['serverUrl']);_0x2eb994['remoteUri']=intUtil[_0x1c82('0x4c')](_0x2eb994[_0x1c82('0x45')]);if(_0x579b3f&&_0x579b3f[_0x1c82('0x4d')]){logger[_0x1c82('0x1a')](_0x1c82('0x4e'),_0x1c82('0x4f'));_0x18c467[_0x1c82('0x50')]=util[_0x1c82('0x2e')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x2eb994[_0x1c82('0x51')],_0x18c467[_0x1c82('0x52')],md5(_0x18c467[_0x1c82('0x52')]));}else{_0x18c467[_0x1c82('0x50')]='';}return getConnection(_0x2eb994)[_0x1c82('0x1f')](function(_0x48fac4){_0x449b16=_0x48fac4;return getUser(_0x2eb994,_0x4268ca[_0x1c82('0x53')],_0x449b16);})[_0x1c82('0x1f')](function(_0x5beb6c){_0x18f550=_0x5beb6c;return getEndUser(_0x2eb994,_0x4df0e7,_0x18c467['calleridname'],_0x18c467[_0x1c82('0x54')],_0x449b16);})[_0x1c82('0x1f')](function(_0x1bd8f3){_0x23fe67=_0x1bd8f3;return getTicket(_0x2eb994,_0x18f550,_0x23fe67,_0x4df0e7,_0x18c467,_0x4df0e7[_0x1c82('0x55')],_0x449b16,'queue');})[_0x1c82('0x1f')](function(_0x5701ad){_0x3e733f=_0x5701ad;logger['info']('[QUEUE]\x20Ticket\x20%s\x20created',_0x3e733f['id']);logger[_0x1c82('0x1a')]('[QUEUE]\x20Displaying\x20ticket\x20%s\x20to\x20agent\x20%s.\x20Integration\x20account\x20type\x20%s.',_0x3e733f['id'],_0x4268ca[_0x1c82('0x3f')],_0x2eb994[_0x1c82('0x37')]);switch(_0x2eb994[_0x1c82('0x37')]){case'integrationTab':emit(util[_0x1c82('0x2e')](_0x1c82('0x56'),_0x4268ca[_0x1c82('0x3f')]),_0x1c82('0x57'),{'recordId':_0x3e733f['id']});break;case'newTab':emit(util[_0x1c82('0x2e')](_0x1c82('0x56'),_0x4268ca[_0x1c82('0x3f')]),_0x1c82('0x58'),{'uri':util[_0x1c82('0x2e')]('%s/%s/e',_0x449b16['instanceUrl'],_0x3e733f['id'])});break;default:logger['error'](_0x1c82('0x59'));}})[_0x1c82('0x5a')](function(_0x7c6f76){logger[_0x1c82('0x5b')](_0x1c82('0x4e'),JSON['stringify'](_0x7c6f76));});};exports[_0x1c82('0x5c')]=function(_0x3f44ce,_0x89c5ee,_0x4cddd9,_0x3f561b,_0x390519,_0x8f56ea,_0xace3a3){var _0x42f728,_0x387f27,_0x147e31,_0x13744e;_0x8f56ea['serverUrl']=intUtil[_0x1c82('0x4c')](_0x8f56ea[_0x1c82('0x51')]);_0x8f56ea['remoteUri']=intUtil['stripTrailingSlash'](_0x8f56ea[_0x1c82('0x45')]);if(_0xace3a3&&_0xace3a3[_0x1c82('0x5d')]&&_0xace3a3[_0x1c82('0x5d')]!==_0x1c82('0x5e')){logger[_0x1c82('0x1a')](_0x1c82('0x5f'),'Recording\x20is\x20enabled!');_0x89c5ee[_0x1c82('0x50')]=util['format'](_0x1c82('0x60'),_0x8f56ea[_0x1c82('0x51')],_0x89c5ee[_0x1c82('0x52')],md5(_0x89c5ee[_0x1c82('0x52')]));}return getConnection(_0x8f56ea)[_0x1c82('0x1f')](function(_0x217082){_0x13744e=_0x217082;return getUser(_0x8f56ea,_0x3f561b[_0x1c82('0x53')],_0x13744e);})[_0x1c82('0x1f')](function(_0x57e652){_0x42f728=_0x57e652;return getEndUser(_0x8f56ea,_0x4cddd9,_0x89c5ee[_0x1c82('0x61')],_0x89c5ee['destcalleridnum'],_0x13744e);})[_0x1c82('0x1f')](function(_0x4d2465){_0x387f27=_0x4d2465;return getTicket(_0x8f56ea,_0x42f728,_0x387f27,_0x4cddd9,_0x89c5ee,_0x4cddd9[_0x1c82('0x55')],_0x13744e,_0x1c82('0x5c'));})[_0x1c82('0x1f')](function(_0x2f1cb0){_0x147e31=_0x2f1cb0;logger[_0x1c82('0x1a')](_0x1c82('0x62'),_0x147e31['id']);logger[_0x1c82('0x1a')](_0x1c82('0x63'),_0x147e31['id'],_0x3f561b['name'],_0x8f56ea[_0x1c82('0x37')]);switch(_0x8f56ea[_0x1c82('0x37')]){case _0x1c82('0x64'):emit(util['format']('user:%s',_0x3f561b[_0x1c82('0x3f')]),'trigger:salesforce:display',{'recordId':_0x147e31['id']});break;case _0x1c82('0x65'):emit(util['format']('user:%s',_0x3f561b[_0x1c82('0x3f')]),_0x1c82('0x58'),{'uri':util['format']('%s/%s/e',_0x13744e[_0x1c82('0x66')],_0x147e31['id'])});break;default:logger[_0x1c82('0x5b')]('[OUTBOUND]',_0x1c82('0x67'));}})['catch'](function(_0x21e302){logger[_0x1c82('0x5b')](_0x1c82('0x5f'),JSON['stringify'](_0x21e302));});};exports['unmanaged']=function(_0x47ea78,_0x5bb1ca,_0x40c616,_0x3205d6,_0x3db68c,_0x3ec649){var _0x151b14,_0x3f6bf6,_0x20f741,_0x3df068;_0x3ec649[_0x1c82('0x51')]=intUtil[_0x1c82('0x4c')](_0x3ec649[_0x1c82('0x51')]);_0x3ec649[_0x1c82('0x45')]=intUtil[_0x1c82('0x4c')](_0x3ec649['remoteUri']);if(_0x3db68c&&_0x3db68c[_0x1c82('0x4d')]){logger['info']('['+_0x5bb1ca[_0x1c82('0x68')][_0x1c82('0x69')]()+']','Recording\x20is\x20enabled!');_0x5bb1ca[_0x1c82('0x50')]=util['format'](_0x1c82('0x60'),_0x3ec649[_0x1c82('0x51')],_0x5bb1ca[_0x1c82('0x52')],md5(_0x5bb1ca[_0x1c82('0x52')]));}else{_0x5bb1ca[_0x1c82('0x50')]='';}return getConnection(_0x3ec649)[_0x1c82('0x1f')](function(_0x6dd830){_0x3df068=_0x6dd830;if(!_[_0x1c82('0x14')](_0x3205d6)){return getUser(_0x3ec649,_0x3205d6[_0x1c82('0x3f')],_0x3df068);}else{return getUser(_0x3ec649,null,_0x3df068);}})[_0x1c82('0x1f')](function(_0x1132aa){_0x151b14=_0x1132aa;return getEndUser(_0x3ec649,_0x40c616,_0x5bb1ca[_0x1c82('0x6a')],_0x5bb1ca[_0x1c82('0x54')],_0x3df068);})[_0x1c82('0x1f')](function(_0x366bce){_0x3f6bf6=_0x366bce;return getTicket(_0x3ec649,_0x151b14,_0x3f6bf6,_0x40c616,_0x5bb1ca,_0x40c616[_0x1c82('0x55')],_0x3df068);})[_0x1c82('0x1f')](function(_0x41fd18){_0x20f741=_0x41fd18;logger[_0x1c82('0x1a')]('['+_0x5bb1ca[_0x1c82('0x68')][_0x1c82('0x69')]()+']\x20Ticket\x20%s\x20created.',_0x20f741['id']);logger[_0x1c82('0x1a')]('['+_0x5bb1ca[_0x1c82('0x68')][_0x1c82('0x69')]()+_0x1c82('0x6b'),_0x3ec649[_0x1c82('0x37')]);})[_0x1c82('0x5a')](function(_0x54bbfe){logger[_0x1c82('0x5b')]('['+_0x5bb1ca['lastevent'][_0x1c82('0x69')]()+']',JSON[_0x1c82('0x6c')](_0x54bbfe));});};
\ No newline at end of file