Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / services / ami / trigger / integration / vtiger.js
index 19fdbe2..f78450b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xf61c=['ioredis','./util','../../../../config/environment','../../../../config/logger','vTiger','redis','localhost','socket.io-emitter','emit','length','forEach','type','string','idField','variable','variableName','toString','customVariable','Variable','name','toLowerCase','Creating\x20new\x20ticket...','merge','Normal','Open','getString','Descriptions','POST','format','%s/webservice.php','remoteUri','create','HelpDesk','stringify','then','success','resolve','result','Ticket\x20could\x20not\x20be\x20created\x20due\x20to:\x20%s','error','catch','statusCode','[vTiger],\x20%s,\x20%s,\x20%s','createTicket','validateEmail','GET','query','username','SELECT\x20first_name,\x20last_name,\x20email1\x20FROM\x20Users\x20WHERE\x20email1=\x27%s\x27;','info','Agent\x20found!','email1','first_name','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','userId','admin','sessionName','SELECT\x20id,\x20firstname,\x20lastname,\x20email,\x20phone,\x20mobile,\x20homephone,\x20otherphone,\x20assistantphone\x20FROM\x20Contacts\x20WHERE\x20phone\x20=\x20\x27%s\x27\x20OR\x20mobile\x20=\x27%s\x27\x20OR\x20homephone\x20=\x27%s\x27\x20OR\x20otherphone\x20=\x27%s\x27\x20OR\x20assistantphone\x20=\x27%s\x27;','Enduser\x20found!','firstname','lastname','Contacts','Enduser\x20created.','phone','getEndUser','accessKey','getchallenge','login','getConnection','[HTTP]','queue','stripTrailingSlash','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','email','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','%s/index.php?module=HelpDesk&view=Detail&record=%s&app=SUPPORT','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','outbound','serverUrl','recordingFormat','none','[OUTBOUND]','destcalleridnum','trigger:browser:url','unmanaged','lastevent','toUpperCase','request-promise','util'];(function(_0x331c23,_0x4cb3ff){var _0x824184=function(_0x29b329){while(--_0x29b329){_0x331c23['push'](_0x331c23['shift']());}};_0x824184(++_0x4cb3ff);}(_0xf61c,0x192));var _0xcf61=function(_0x553304,_0x4dfc7c){_0x553304=_0x553304-0x0;var _0x2ea3b1=_0xf61c[_0x553304];return _0x2ea3b1;};'use strict';var _=require('lodash');var rp=require(_0xcf61('0x0'));var BPromise=require('bluebird');var md5=require('md5');var util=require(_0xcf61('0x1'));var Redis=require(_0xcf61('0x2'));var intUtil=require(_0xcf61('0x3'));var config=require(_0xcf61('0x4'));var logger=require(_0xcf61('0x5'))(_0xcf61('0x6'));config[_0xcf61('0x7')]=_['defaults'](config[_0xcf61('0x7')],{'host':_0xcf61('0x8'),'port':0x18eb});var io=require(_0xcf61('0x9'))(new Redis(config[_0xcf61('0x7')]));function emit(_0x1f414f,_0x47ea7f,_0x506ae8){io['to'](_0x1f414f)[_0xcf61('0xa')](_0x47ea7f,_0x506ae8);}function getCustomFields(_0x6470e3,_0x420804){var _0x33c577={};if(_0x6470e3[_0xcf61('0xb')]>0x0){_[_0xcf61('0xc')](_0x6470e3,function(_0x4844fe){if(_0x4844fe[_0xcf61('0xd')]===_0xcf61('0xe')&&_0x4844fe[_0xcf61('0xf')]){_0x33c577[_0x4844fe[_0xcf61('0xf')]]=_0x4844fe['content']['toString']();}else if(_0x4844fe[_0xcf61('0xd')]===_0xcf61('0x10')&&_0x4844fe[_0xcf61('0x11')]&&_0x4844fe[_0xcf61('0xf')]&&_0x420804[_0x4844fe[_0xcf61('0x11')]]){_0x33c577[_0x4844fe[_0xcf61('0xf')]]=_0x420804[_0x4844fe[_0xcf61('0x11')]][_0xcf61('0x12')]();}else if(_0x4844fe[_0xcf61('0xd')]===_0xcf61('0x13')&&_0x4844fe[_0xcf61('0x14')]&&_0x4844fe[_0xcf61('0x14')][_0xcf61('0x15')]&&_0x4844fe['idField']&&_0x420804[_0x4844fe[_0xcf61('0x14')][_0xcf61('0x15')][_0xcf61('0x16')]()]){_0x33c577[_0x4844fe[_0xcf61('0xf')]]=_0x420804[_0x4844fe['Variable'][_0xcf61('0x15')][_0xcf61('0x16')]()]['toString']();}});}return _0x33c577;}function createTicket(_0x50c990,_0x429e03,_0x32d81c,_0x4d7975,_0x261b36,_0x19c0e4,_0x2eff1d){logger['info'](_0xcf61('0x17'));var _0x15098f=_[_0xcf61('0x18')]({'parent_id':'','assigned_user_id':_0x429e03['id'],'ticketpriorities':_0xcf61('0x19'),'ticketstatus':_0xcf61('0x1a'),'ticket_title':intUtil[_0xcf61('0x1b')](_0x4d7975['Subjects'],_0x261b36,'\x20'),'description':intUtil[_0xcf61('0x1b')](_0x4d7975[_0xcf61('0x1c')],_0x261b36,'\x0a'),'contact_id':_0x32d81c['id']},getCustomFields(_0x19c0e4,_0x261b36));var _0x4c800c={'method':_0xcf61('0x1d'),'uri':util[_0xcf61('0x1e')](_0xcf61('0x1f'),_0x50c990[_0xcf61('0x20')]),'form':{'operation':_0xcf61('0x21'),'username':_0x50c990['username'],'sessionName':_0x2eff1d['sessionName'],'elementType':_0xcf61('0x22'),'element':JSON[_0xcf61('0x23')](_0x15098f)},'json':!![]};return request(_0x4c800c)[_0xcf61('0x24')](function(_0x514a0b){if(_0x514a0b[_0xcf61('0x25')]){return BPromise[_0xcf61('0x26')]({'id':_0x514a0b[_0xcf61('0x27')]['id']});}else{throw new Error(util[_0xcf61('0x1e')](_0xcf61('0x28'),JSON[_0xcf61('0x23')](_0x514a0b[_0xcf61('0x29')])));}})[_0xcf61('0x2a')](function(_0x39dc94){var _0x579200=_0x39dc94[_0xcf61('0x2b')]||0x1f4;logger[_0xcf61('0x29')](_0xcf61('0x2c'),_0xcf61('0x2d'),_0x579200,JSON['stringify'](_0x39dc94));});}function getUser(_0x5db09f,_0x29639e,_0x143401){if(intUtil[_0xcf61('0x2e')](_0x29639e)){logger['info']('Getting\x20agent\x20with\x20email',_0x29639e);return request({'method':_0xcf61('0x2f'),'uri':util['format'](_0xcf61('0x1f'),_0x5db09f[_0xcf61('0x20')]),'qs':{'operation':_0xcf61('0x30'),'username':_0x5db09f[_0xcf61('0x31')],'sessionName':_0x143401['sessionName'],'query':util['format'](_0xcf61('0x32'),_0x29639e)},'json':!![]})[_0xcf61('0x24')](function(_0xe591bd){if(_0xe591bd[_0xcf61('0x25')]&&_0xe591bd['result']['length']){logger[_0xcf61('0x33')](_0xcf61('0x34'));return BPromise['resolve']({'id':_0xe591bd[_0xcf61('0x27')][0x0]['id'],'email':_0xe591bd[_0xcf61('0x27')][0x0][_0xcf61('0x35')],'name':_0xe591bd[_0xcf61('0x27')][0x0][_0xcf61('0x36')]+'\x20'+_0xe591bd[_0xcf61('0x27')]['last_name']});}else{logger[_0xcf61('0x33')](_0xcf61('0x37'));return BPromise[_0xcf61('0x26')]({'id':_0x143401[_0xcf61('0x38')],'email':_0x5db09f[_0xcf61('0x31')],'name':_0xcf61('0x39')});}})['catch'](function(_0x320027){var _0x4e1d87=_0x320027[_0xcf61('0x2b')]||0x1f4;logger[_0xcf61('0x29')](_0xcf61('0x2c'),'getUser',_0x4e1d87,JSON[_0xcf61('0x23')](_0x320027));});}else{logger[_0xcf61('0x33')](_0xcf61('0x37'));return BPromise[_0xcf61('0x26')]({'id':_0x143401[_0xcf61('0x38')],'email':_0x5db09f[_0xcf61('0x31')],'name':_0xcf61('0x39')})[_0xcf61('0x2a')](function(_0x53bdff){var _0x38c7bc=_0x53bdff['statusCode']||0x1f4;logger[_0xcf61('0x29')](_0xcf61('0x2c'),'getUser',_0x38c7bc,JSON['stringify'](_0x53bdff));});}}function getEndUser(_0x2497a5,_0x144ce1,_0x1799e4,_0x425e75){logger['info']('Searching\x20end\x20user\x20with\x20phone',_0x1799e4);return request({'method':_0xcf61('0x2f'),'uri':util[_0xcf61('0x1e')](_0xcf61('0x1f'),_0x2497a5[_0xcf61('0x20')]),'qs':{'operation':_0xcf61('0x30'),'username':_0x2497a5[_0xcf61('0x31')],'sessionName':_0x425e75[_0xcf61('0x3a')],'query':util['format'](_0xcf61('0x3b'),_0x1799e4,_0x1799e4,_0x1799e4,_0x1799e4,_0x1799e4)},'json':!![]})[_0xcf61('0x24')](function(_0x309710){if(_0x309710[_0xcf61('0x25')]&&_0x309710[_0xcf61('0x27')][_0xcf61('0xb')]){logger[_0xcf61('0x33')](_0xcf61('0x3c'));return BPromise[_0xcf61('0x26')]({'id':_0x309710[_0xcf61('0x27')][0x0]['id'],'name':_0x309710[_0xcf61('0x27')][0x0][_0xcf61('0x3d')]+'\x20'+_0x309710[_0xcf61('0x27')][0x0][_0xcf61('0x3e')],'phone':_0x1799e4});}else{logger[_0xcf61('0x33')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!');return request({'method':_0xcf61('0x1d'),'uri':util[_0xcf61('0x1e')]('%s/webservice.php',_0x2497a5['remoteUri']),'form':{'operation':_0xcf61('0x21'),'sessionName':_0x425e75[_0xcf61('0x3a')],'elementType':_0xcf61('0x3f'),'element':JSON['stringify']({'lastname':_0x144ce1,'phone':_0x1799e4,'assigned_user_id':'\x20'})},'json':!![]})[_0xcf61('0x24')](function(_0x5121eb){logger[_0xcf61('0x33')](_0xcf61('0x40'));return BPromise[_0xcf61('0x26')]({'id':_0x5121eb[_0xcf61('0x27')]['id'],'name':_0x5121eb['result'][_0xcf61('0x3e')],'phone':_0x5121eb[_0xcf61('0x27')][_0xcf61('0x41')]});})[_0xcf61('0x2a')](function(_0x5767c5){var _0x28567d=_0x5767c5['statusCode']||0x1f4;logger[_0xcf61('0x29')](_0xcf61('0x2c'),_0xcf61('0x42'),_0x28567d,JSON['stringify'](_0x5767c5));});}});}function getConnection(_0x4bf744){var _0x3140e8=_0x4bf744['username'];var _0x35e1cc=_0x4bf744[_0xcf61('0x43')];return request({'method':'GET','uri':util[_0xcf61('0x1e')](_0xcf61('0x1f'),_0x4bf744['remoteUri']),'qs':{'operation':_0xcf61('0x44'),'username':_0x3140e8},'json':!![]})[_0xcf61('0x24')](function(_0x2aa5fa){if(_0x2aa5fa[_0xcf61('0x25')]){return request({'method':'POST','uri':util[_0xcf61('0x1e')](_0xcf61('0x1f'),_0x4bf744['remoteUri']),'form':{'operation':_0xcf61('0x45'),'username':_0x3140e8,'accessKey':md5(_0x2aa5fa[_0xcf61('0x27')]['token']+_0x35e1cc)},'json':!![]});}})['then'](function(_0x584098){if(_0x584098['success']){return BPromise[_0xcf61('0x26')](_0x584098[_0xcf61('0x27')]);}else{throw new Error(util[_0xcf61('0x1e')]('Account\x20%d\x20is\x20not\x20valid',_0x4bf744['id']));}})[_0xcf61('0x2a')](function(_0x9149de){var _0x267d9f=_0x9149de[_0xcf61('0x2b')]||0x1f4;logger[_0xcf61('0x29')](_0xcf61('0x2c'),_0xcf61('0x46'),_0x267d9f,JSON[_0xcf61('0x23')](_0x9149de));});}function request(_0x172f88){logger['info'](_0xcf61('0x47'),JSON[_0xcf61('0x23')](_0x172f88));return rp(_0x172f88);}exports[_0xcf61('0x48')]=function(_0x4b0d08,_0x4d268a,_0x409bdf,_0x104482,_0x3843df,_0x14b7f3){var _0x4654d3,_0x83cb80,_0x3f640c,_0xeddb12;_0x14b7f3[_0xcf61('0x20')]=intUtil[_0xcf61('0x49')](_0x14b7f3['remoteUri']);if(_0x3843df&&_0x3843df[_0xcf61('0x4a')]){logger[_0xcf61('0x33')](_0xcf61('0x4b'),_0xcf61('0x4c'));_0x4d268a[_0xcf61('0x4d')]=util[_0xcf61('0x1e')](_0xcf61('0x4e'),_0x14b7f3['serverUrl'],_0x4d268a[_0xcf61('0x4f')],md5(_0x4d268a[_0xcf61('0x4f')]));}else{_0x4d268a[_0xcf61('0x4d')]='';}return getConnection(_0x14b7f3)[_0xcf61('0x24')](function(_0xe18ff){_0xeddb12=_0xe18ff;return getUser(_0x14b7f3,_0x104482[_0xcf61('0x50')],_0xeddb12);})['then'](function(_0x225dfd){_0x4654d3=_0x225dfd;logger['info'](_0xcf61('0x51'),_0x4654d3['id']);return getEndUser(_0x14b7f3,_0x4d268a[_0xcf61('0x52')],_0x4d268a[_0xcf61('0x53')],_0xeddb12);})[_0xcf61('0x24')](function(_0x27c124){_0x83cb80=_0x27c124;logger[_0xcf61('0x33')](_0xcf61('0x54'),_0x83cb80['id']);return createTicket(_0x14b7f3,_0x4654d3,_0x83cb80,_0x409bdf,_0x4d268a,_0x409bdf[_0xcf61('0x55')],_0xeddb12);})[_0xcf61('0x24')](function(_0x330371){_0x3f640c=_0x330371;logger[_0xcf61('0x33')](_0xcf61('0x56'));logger[_0xcf61('0x33')](_0xcf61('0x57'),_0x3f640c['id']);var _0x47acf3=util[_0xcf61('0x1e')](_0xcf61('0x58'),_0x14b7f3[_0xcf61('0x20')],_['split'](_0x3f640c['id'],'x')[0x1]);logger['info'](_0xcf61('0x4b'),_0xcf61('0x59'));emit(util[_0xcf61('0x1e')](_0xcf61('0x5a'),_0x104482['name']),'trigger:browser:url',{'uri':_0x47acf3});})['catch'](function(_0x499d45){logger[_0xcf61('0x29')](_0xcf61('0x4b'),JSON['stringify'](_0x499d45));});};exports[_0xcf61('0x5b')]=function(_0x581df6,_0x3e243e,_0x6348db,_0x56d73a,_0x1fc96d,_0x4945b4,_0x5ce705){var _0x4e58a0,_0x40069d,_0x4cad84,_0x444a11;_0x4945b4[_0xcf61('0x20')]=intUtil[_0xcf61('0x49')](_0x4945b4[_0xcf61('0x20')]);_0x4945b4[_0xcf61('0x5c')]=intUtil[_0xcf61('0x49')](_0x4945b4[_0xcf61('0x5c')]);if(_0x5ce705&&_0x5ce705[_0xcf61('0x5d')]&&_0x5ce705[_0xcf61('0x5d')]!==_0xcf61('0x5e')){logger['info'](_0xcf61('0x5f'),_0xcf61('0x4c'));_0x3e243e[_0xcf61('0x4d')]=util[_0xcf61('0x1e')](_0xcf61('0x4e'),_0x4945b4[_0xcf61('0x5c')],_0x3e243e[_0xcf61('0x4f')],md5(_0x3e243e[_0xcf61('0x4f')]));}return getConnection(_0x4945b4)['then'](function(_0x121090){_0x444a11=_0x121090;return getUser(_0x4945b4,_0x56d73a[_0xcf61('0x50')],_0x444a11);})[_0xcf61('0x24')](function(_0x3d3e0b){_0x4e58a0=_0x3d3e0b;logger[_0xcf61('0x33')](_0xcf61('0x51'),_0x4e58a0['id']);return getEndUser(_0x4945b4,_0x3e243e['destcalleridname'],_0x3e243e[_0xcf61('0x60')],_0x444a11);})[_0xcf61('0x24')](function(_0x5d938d){_0x40069d=_0x5d938d;logger['info'](_0xcf61('0x54'),_0x40069d['id']);return createTicket(_0x4945b4,_0x4e58a0,_0x40069d,_0x6348db,_0x3e243e,_0x6348db[_0xcf61('0x55')],_0x444a11);})[_0xcf61('0x24')](function(_0x4c0c9f){_0x4cad84=_0x4c0c9f;logger[_0xcf61('0x33')](_0xcf61('0x56'));logger['info'](_0xcf61('0x57'),_0x4cad84['id']);var _0x55d8e5=util[_0xcf61('0x1e')](_0xcf61('0x58'),_0x4945b4[_0xcf61('0x20')],_['split'](_0x4cad84['id'],'x')[0x1]);logger[_0xcf61('0x33')]('[OUTBOUND]',_0xcf61('0x59'));emit(util[_0xcf61('0x1e')]('user:%s',_0x56d73a[_0xcf61('0x15')]),_0xcf61('0x61'),{'uri':_0x55d8e5});})['catch'](function(_0x428cea){logger[_0xcf61('0x29')](_0xcf61('0x5f'),JSON['stringify'](_0x428cea));});};exports[_0xcf61('0x62')]=function(_0x5d23b2,_0xc0d282,_0x4378ce,_0x29dce0,_0x57f033,_0x13efe0){var _0x2af18a,_0x123a75,_0x549c69,_0x5f2bc3;_0x13efe0['remoteUri']=intUtil['stripTrailingSlash'](_0x13efe0['remoteUri']);_0x13efe0['serverUrl']=intUtil[_0xcf61('0x49')](_0x13efe0[_0xcf61('0x5c')]);if(_0x57f033&&_0x57f033[_0xcf61('0x4a')]){logger['info']('['+_0xc0d282[_0xcf61('0x63')][_0xcf61('0x64')]()+']','Recording\x20is\x20enabled!');_0xc0d282['recordingURL']=util[_0xcf61('0x1e')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x13efe0[_0xcf61('0x5c')],_0xc0d282['uniqueid'],md5(_0xc0d282['uniqueid']));}else{_0xc0d282['recordingURL']='';}return getConnection(_0x13efe0)[_0xcf61('0x24')](function(_0x120e0f){_0x5f2bc3=_0x120e0f;return getUser(_0x13efe0,'',_0x5f2bc3);})[_0xcf61('0x24')](function(_0x596f6b){_0x2af18a=_0x596f6b;logger[_0xcf61('0x33')](_0xcf61('0x51'),_0x2af18a['id']);return getEndUser(_0x13efe0,_0xc0d282['calleridname'],_0xc0d282[_0xcf61('0x53')],_0x5f2bc3);})[_0xcf61('0x24')](function(_0x49dd43){_0x123a75=_0x49dd43;logger[_0xcf61('0x33')](_0xcf61('0x54'),_0x123a75['id']);return createTicket(_0x13efe0,_0x2af18a,_0x123a75,_0x4378ce,_0xc0d282,_0x4378ce['Fields'],_0x5f2bc3);})[_0xcf61('0x24')](function(_0x9dc6e2){_0x549c69=_0x9dc6e2;logger[_0xcf61('0x33')]('Ticket\x20created!');logger['info'](_0xcf61('0x57'),_0x549c69['id']);})[_0xcf61('0x2a')](function(_0x565b6f){logger[_0xcf61('0x29')]('['+_0xc0d282['lastevent']['toUpperCase']()+']',JSON[_0xcf61('0x23')](_0x565b6f));});};
\ No newline at end of file
+var _0x34e8=['redis','defaults','localhost','emit','length','forEach','includes','string','picklist','type','idField','toString','variableName','Variable','name','toLowerCase','info','Creating\x20new\x20ticket...','merge','Normal','getString','Subjects','POST','format','remoteUri','create','sessionName','HelpDesk','stringify','success','error','catch','statusCode','Getting\x20agent\x20with\x20email','GET','%s/webservice.php','query','username','SELECT\x20first_name,\x20last_name,\x20email1\x20FROM\x20Users\x20WHERE\x20email1=\x27%s\x27;','result','Agent\x20found!','resolve','email1','first_name','last_name','userId','[vTiger],\x20%s,\x20%s,\x20%s','getUser','admin','SELECT\x20id,\x20firstname,\x20lastname,\x20email,\x20phone,\x20mobile,\x20homephone,\x20otherphone,\x20assistantphone\x20FROM\x20Contacts\x20WHERE\x20phone\x20=\x20\x27%s\x27\x20OR\x20mobile\x20=\x27%s\x27\x20OR\x20homephone\x20=\x27%s\x27\x20OR\x20otherphone\x20=\x27%s\x27\x20OR\x20assistantphone\x20=\x27%s\x27;','Enduser\x20found!','firstname','lastname','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','phone','getEndUser','accessKey','getchallenge','then','login','token','Account\x20%d\x20is\x20not\x20valid','getConnection','[HTTP]','queue','Recording\x20is\x20enabled!','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','serverUrl','recordingURL','email','The\x20User\x20ID\x20is:','calleridnum','Fields','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','%s/index.php?module=HelpDesk&view=Detail&record=%s&app=SUPPORT','[QUEUE]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','outbound','stripTrailingSlash','recordingFormat','none','[OUTBOUND]','uniqueid','destcalleridname','destcalleridnum','The\x20Enduser\x20ID\x20is:','split','unmanaged','lastevent','toUpperCase','calleridname','lodash','request-promise','bluebird','md5','ioredis','./util','../../../../config/environment','../../../../config/logger','vTiger'];(function(_0x1076b3,_0x619f9c){var _0x5bb848=function(_0x1e3572){while(--_0x1e3572){_0x1076b3['push'](_0x1076b3['shift']());}};_0x5bb848(++_0x619f9c);}(_0x34e8,0x12c));var _0x834e=function(_0x29aef6,_0x460596){_0x29aef6=_0x29aef6-0x0;var _0x2bc5ea=_0x34e8[_0x29aef6];return _0x2bc5ea;};'use strict';var _=require(_0x834e('0x0'));var rp=require(_0x834e('0x1'));var BPromise=require(_0x834e('0x2'));var md5=require(_0x834e('0x3'));var util=require('util');var Redis=require(_0x834e('0x4'));var intUtil=require(_0x834e('0x5'));var config=require(_0x834e('0x6'));var logger=require(_0x834e('0x7'))(_0x834e('0x8'));config[_0x834e('0x9')]=_[_0x834e('0xa')](config['redis'],{'host':_0x834e('0xb'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x834e('0x9')]));function emit(_0x3cc2e3,_0x3a3ef6,_0x2e69e2){io['to'](_0x3cc2e3)[_0x834e('0xc')](_0x3a3ef6,_0x2e69e2);}function getCustomFields(_0x23501c,_0x363786){var _0x1af45a={};if(_0x23501c[_0x834e('0xd')]>0x0){_[_0x834e('0xe')](_0x23501c,function(_0x1e41fe){if(_[_0x834e('0xf')]([_0x834e('0x10'),_0x834e('0x11')],_0x1e41fe[_0x834e('0x12')])&&_0x1e41fe[_0x834e('0x13')]){_0x1af45a[_0x1e41fe[_0x834e('0x13')]]=_0x1e41fe['content'][_0x834e('0x14')]();}else if(_0x1e41fe[_0x834e('0x12')]==='variable'&&_0x1e41fe[_0x834e('0x15')]&&_0x1e41fe[_0x834e('0x13')]&&_0x363786[_0x1e41fe[_0x834e('0x15')]]){_0x1af45a[_0x1e41fe[_0x834e('0x13')]]=_0x363786[_0x1e41fe['variableName']][_0x834e('0x14')]();}else if(_0x1e41fe[_0x834e('0x12')]==='customVariable'&&_0x1e41fe[_0x834e('0x16')]&&_0x1e41fe['Variable'][_0x834e('0x17')]&&_0x1e41fe[_0x834e('0x13')]&&_0x363786[_0x1e41fe['Variable'][_0x834e('0x17')][_0x834e('0x18')]()]){_0x1af45a[_0x1e41fe[_0x834e('0x13')]]=_0x363786[_0x1e41fe['Variable'][_0x834e('0x17')][_0x834e('0x18')]()][_0x834e('0x14')]();}});}return _0x1af45a;}function createTicket(_0xb993a1,_0x237947,_0x254677,_0x1dd214,_0x595515,_0x2545b4,_0x1fd2c6){logger[_0x834e('0x19')](_0x834e('0x1a'));var _0x4ab05d=_[_0x834e('0x1b')]({'parent_id':'','assigned_user_id':_0x237947['id'],'ticketpriorities':_0x834e('0x1c'),'ticketstatus':'Open','ticket_title':intUtil[_0x834e('0x1d')](_0x1dd214[_0x834e('0x1e')],_0x595515,'\x20'),'description':intUtil[_0x834e('0x1d')](_0x1dd214['Descriptions'],_0x595515,'\x0a'),'contact_id':_0x254677['id']},getCustomFields(_0x2545b4,_0x595515));var _0x4e3f48={'method':_0x834e('0x1f'),'uri':util[_0x834e('0x20')]('%s/webservice.php',_0xb993a1[_0x834e('0x21')]),'form':{'operation':_0x834e('0x22'),'username':_0xb993a1['username'],'sessionName':_0x1fd2c6[_0x834e('0x23')],'elementType':_0x834e('0x24'),'element':JSON[_0x834e('0x25')](_0x4ab05d)},'json':!![]};return request(_0x4e3f48)['then'](function(_0x24fcf7){if(_0x24fcf7[_0x834e('0x26')]){return BPromise['resolve']({'id':_0x24fcf7['result']['id']});}else{throw new Error(util[_0x834e('0x20')]('Ticket\x20could\x20not\x20be\x20created\x20due\x20to:\x20%s',JSON[_0x834e('0x25')](_0x24fcf7[_0x834e('0x27')])));}})[_0x834e('0x28')](function(_0x2cc2eb){var _0x3cd928=_0x2cc2eb[_0x834e('0x29')]||0x1f4;logger['error']('[vTiger],\x20%s,\x20%s,\x20%s','createTicket',_0x3cd928,JSON['stringify'](_0x2cc2eb));});}function getUser(_0x2c7a8d,_0x567cea,_0x106d6a){if(intUtil['validateEmail'](_0x567cea)){logger[_0x834e('0x19')](_0x834e('0x2a'),_0x567cea);return request({'method':_0x834e('0x2b'),'uri':util[_0x834e('0x20')](_0x834e('0x2c'),_0x2c7a8d[_0x834e('0x21')]),'qs':{'operation':_0x834e('0x2d'),'username':_0x2c7a8d[_0x834e('0x2e')],'sessionName':_0x106d6a[_0x834e('0x23')],'query':util['format'](_0x834e('0x2f'),_0x567cea)},'json':!![]})['then'](function(_0x2c75c2){if(_0x2c75c2[_0x834e('0x26')]&&_0x2c75c2[_0x834e('0x30')][_0x834e('0xd')]){logger[_0x834e('0x19')](_0x834e('0x31'));return BPromise[_0x834e('0x32')]({'id':_0x2c75c2[_0x834e('0x30')][0x0]['id'],'email':_0x2c75c2[_0x834e('0x30')][0x0][_0x834e('0x33')],'name':_0x2c75c2['result'][0x0][_0x834e('0x34')]+'\x20'+_0x2c75c2[_0x834e('0x30')][_0x834e('0x35')]});}else{logger[_0x834e('0x19')]('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');return BPromise[_0x834e('0x32')]({'id':_0x106d6a[_0x834e('0x36')],'email':_0x2c7a8d['username'],'name':'admin'});}})['catch'](function(_0x3e58fa){var _0x41bf4d=_0x3e58fa[_0x834e('0x29')]||0x1f4;logger[_0x834e('0x27')](_0x834e('0x37'),_0x834e('0x38'),_0x41bf4d,JSON['stringify'](_0x3e58fa));});}else{logger[_0x834e('0x19')]('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');return BPromise[_0x834e('0x32')]({'id':_0x106d6a[_0x834e('0x36')],'email':_0x2c7a8d['username'],'name':_0x834e('0x39')})[_0x834e('0x28')](function(_0x491c28){var _0x481f70=_0x491c28[_0x834e('0x29')]||0x1f4;logger[_0x834e('0x27')](_0x834e('0x37'),_0x834e('0x38'),_0x481f70,JSON[_0x834e('0x25')](_0x491c28));});}}function getEndUser(_0x4ca43c,_0x1c5ed6,_0x548d1d,_0x50c243){logger[_0x834e('0x19')]('Searching\x20end\x20user\x20with\x20phone',_0x548d1d);return request({'method':_0x834e('0x2b'),'uri':util[_0x834e('0x20')](_0x834e('0x2c'),_0x4ca43c[_0x834e('0x21')]),'qs':{'operation':_0x834e('0x2d'),'username':_0x4ca43c['username'],'sessionName':_0x50c243[_0x834e('0x23')],'query':util[_0x834e('0x20')](_0x834e('0x3a'),_0x548d1d,_0x548d1d,_0x548d1d,_0x548d1d,_0x548d1d)},'json':!![]})['then'](function(_0x35380e){if(_0x35380e[_0x834e('0x26')]&&_0x35380e['result'][_0x834e('0xd')]){logger['info'](_0x834e('0x3b'));return BPromise[_0x834e('0x32')]({'id':_0x35380e['result'][0x0]['id'],'name':_0x35380e['result'][0x0][_0x834e('0x3c')]+'\x20'+_0x35380e[_0x834e('0x30')][0x0][_0x834e('0x3d')],'phone':_0x548d1d});}else{logger[_0x834e('0x19')](_0x834e('0x3e'));return request({'method':_0x834e('0x1f'),'uri':util[_0x834e('0x20')]('%s/webservice.php',_0x4ca43c[_0x834e('0x21')]),'form':{'operation':'create','sessionName':_0x50c243[_0x834e('0x23')],'elementType':'Contacts','element':JSON[_0x834e('0x25')]({'lastname':_0x1c5ed6,'phone':_0x548d1d,'assigned_user_id':'\x20'})},'json':!![]})['then'](function(_0x361f60){logger[_0x834e('0x19')]('Enduser\x20created.');return BPromise[_0x834e('0x32')]({'id':_0x361f60[_0x834e('0x30')]['id'],'name':_0x361f60[_0x834e('0x30')][_0x834e('0x3d')],'phone':_0x361f60[_0x834e('0x30')][_0x834e('0x3f')]});})[_0x834e('0x28')](function(_0x3ccd8e){var _0x5dc63b=_0x3ccd8e[_0x834e('0x29')]||0x1f4;logger['error'](_0x834e('0x37'),_0x834e('0x40'),_0x5dc63b,JSON['stringify'](_0x3ccd8e));});}});}function getConnection(_0x112306){var _0x42fd90=_0x112306[_0x834e('0x2e')];var _0x2112d5=_0x112306[_0x834e('0x41')];return request({'method':_0x834e('0x2b'),'uri':util['format']('%s/webservice.php',_0x112306[_0x834e('0x21')]),'qs':{'operation':_0x834e('0x42'),'username':_0x42fd90},'json':!![]})[_0x834e('0x43')](function(_0x40ff5a){if(_0x40ff5a[_0x834e('0x26')]){return request({'method':_0x834e('0x1f'),'uri':util[_0x834e('0x20')](_0x834e('0x2c'),_0x112306[_0x834e('0x21')]),'form':{'operation':_0x834e('0x44'),'username':_0x42fd90,'accessKey':md5(_0x40ff5a[_0x834e('0x30')][_0x834e('0x45')]+_0x2112d5)},'json':!![]});}})[_0x834e('0x43')](function(_0x1a3237){if(_0x1a3237[_0x834e('0x26')]){return BPromise[_0x834e('0x32')](_0x1a3237[_0x834e('0x30')]);}else{throw new Error(util[_0x834e('0x20')](_0x834e('0x46'),_0x112306['id']));}})[_0x834e('0x28')](function(_0x4cfacd){var _0x1cc0b8=_0x4cfacd[_0x834e('0x29')]||0x1f4;logger['error'](_0x834e('0x37'),_0x834e('0x47'),_0x1cc0b8,JSON['stringify'](_0x4cfacd));});}function request(_0x3dcca3){logger[_0x834e('0x19')](_0x834e('0x48'),JSON[_0x834e('0x25')](_0x3dcca3));return rp(_0x3dcca3);}exports[_0x834e('0x49')]=function(_0xb77aab,_0x4549ba,_0x4a8b32,_0x1ad7fe,_0x8bc6c6,_0x3e0550){var _0x363675,_0x86ad2b,_0x396bbe,_0x344b51;_0x3e0550[_0x834e('0x21')]=intUtil['stripTrailingSlash'](_0x3e0550[_0x834e('0x21')]);if(_0x8bc6c6&&_0x8bc6c6['monitor_format']){logger[_0x834e('0x19')]('[QUEUE]',_0x834e('0x4a'));_0x4549ba['recordingURL']=util['format'](_0x834e('0x4b'),_0x3e0550[_0x834e('0x4c')],_0x4549ba['uniqueid'],md5(_0x4549ba['uniqueid']));}else{_0x4549ba[_0x834e('0x4d')]='';}return getConnection(_0x3e0550)[_0x834e('0x43')](function(_0x138ed2){_0x344b51=_0x138ed2;return getUser(_0x3e0550,_0x1ad7fe[_0x834e('0x4e')],_0x344b51);})[_0x834e('0x43')](function(_0x315858){_0x363675=_0x315858;logger[_0x834e('0x19')](_0x834e('0x4f'),_0x363675['id']);return getEndUser(_0x3e0550,_0x4549ba['calleridname'],_0x4549ba[_0x834e('0x50')],_0x344b51);})[_0x834e('0x43')](function(_0x5d5ac2){_0x86ad2b=_0x5d5ac2;logger[_0x834e('0x19')]('The\x20Enduser\x20ID\x20is:',_0x86ad2b['id']);return createTicket(_0x3e0550,_0x363675,_0x86ad2b,_0x4a8b32,_0x4549ba,_0x4a8b32[_0x834e('0x51')],_0x344b51);})[_0x834e('0x43')](function(_0x5160c4){_0x396bbe=_0x5160c4;logger[_0x834e('0x19')](_0x834e('0x52'));logger[_0x834e('0x19')](_0x834e('0x53'),_0x396bbe['id']);var _0x5a2924=util[_0x834e('0x20')](_0x834e('0x54'),_0x3e0550[_0x834e('0x21')],_['split'](_0x396bbe['id'],'x')[0x1]);logger[_0x834e('0x19')](_0x834e('0x55'),_0x834e('0x56'));emit(util[_0x834e('0x20')](_0x834e('0x57'),_0x1ad7fe[_0x834e('0x17')]),_0x834e('0x58'),{'uri':_0x5a2924});})[_0x834e('0x28')](function(_0x208c21){logger[_0x834e('0x27')](_0x834e('0x55'),JSON[_0x834e('0x25')](_0x208c21));});};exports[_0x834e('0x59')]=function(_0x1659c8,_0x460a7a,_0x17b8e3,_0x297cce,_0x14ed83,_0x193a15,_0x3e3467){var _0xed4081,_0x2cb233,_0x5c83eb,_0x2145cf;_0x193a15[_0x834e('0x21')]=intUtil[_0x834e('0x5a')](_0x193a15[_0x834e('0x21')]);_0x193a15['serverUrl']=intUtil[_0x834e('0x5a')](_0x193a15['serverUrl']);if(_0x3e3467&&_0x3e3467['recordingFormat']&&_0x3e3467[_0x834e('0x5b')]!==_0x834e('0x5c')){logger[_0x834e('0x19')](_0x834e('0x5d'),_0x834e('0x4a'));_0x460a7a[_0x834e('0x4d')]=util[_0x834e('0x20')](_0x834e('0x4b'),_0x193a15['serverUrl'],_0x460a7a[_0x834e('0x5e')],md5(_0x460a7a['uniqueid']));}return getConnection(_0x193a15)[_0x834e('0x43')](function(_0xd35dda){_0x2145cf=_0xd35dda;return getUser(_0x193a15,_0x297cce['email'],_0x2145cf);})['then'](function(_0x4a4def){_0xed4081=_0x4a4def;logger[_0x834e('0x19')](_0x834e('0x4f'),_0xed4081['id']);return getEndUser(_0x193a15,_0x460a7a[_0x834e('0x5f')],_0x460a7a[_0x834e('0x60')],_0x2145cf);})['then'](function(_0x2b0d93){_0x2cb233=_0x2b0d93;logger[_0x834e('0x19')](_0x834e('0x61'),_0x2cb233['id']);return createTicket(_0x193a15,_0xed4081,_0x2cb233,_0x17b8e3,_0x460a7a,_0x17b8e3[_0x834e('0x51')],_0x2145cf);})[_0x834e('0x43')](function(_0x28b5c9){_0x5c83eb=_0x28b5c9;logger[_0x834e('0x19')](_0x834e('0x52'));logger[_0x834e('0x19')](_0x834e('0x53'),_0x5c83eb['id']);var _0x5b2bf6=util[_0x834e('0x20')](_0x834e('0x54'),_0x193a15[_0x834e('0x21')],_[_0x834e('0x62')](_0x5c83eb['id'],'x')[0x1]);logger['info'](_0x834e('0x5d'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util['format']('user:%s',_0x297cce[_0x834e('0x17')]),_0x834e('0x58'),{'uri':_0x5b2bf6});})['catch'](function(_0x2645df){logger[_0x834e('0x27')]('[OUTBOUND]',JSON[_0x834e('0x25')](_0x2645df));});};exports[_0x834e('0x63')]=function(_0x4b88e7,_0x5df169,_0x346be5,_0x2a42a3,_0x8bc7d9,_0x44c909){var _0x1d8e7,_0x493239,_0x264a6f,_0x520367;_0x44c909[_0x834e('0x21')]=intUtil[_0x834e('0x5a')](_0x44c909[_0x834e('0x21')]);_0x44c909['serverUrl']=intUtil[_0x834e('0x5a')](_0x44c909[_0x834e('0x4c')]);if(_0x8bc7d9&&_0x8bc7d9['monitor_format']){logger[_0x834e('0x19')]('['+_0x5df169[_0x834e('0x64')][_0x834e('0x65')]()+']','Recording\x20is\x20enabled!');_0x5df169[_0x834e('0x4d')]=util[_0x834e('0x20')](_0x834e('0x4b'),_0x44c909[_0x834e('0x4c')],_0x5df169[_0x834e('0x5e')],md5(_0x5df169[_0x834e('0x5e')]));}else{_0x5df169[_0x834e('0x4d')]='';}return getConnection(_0x44c909)[_0x834e('0x43')](function(_0xd49002){_0x520367=_0xd49002;return getUser(_0x44c909,'',_0x520367);})[_0x834e('0x43')](function(_0x57d898){_0x1d8e7=_0x57d898;logger['info']('The\x20User\x20ID\x20is:',_0x1d8e7['id']);return getEndUser(_0x44c909,_0x5df169[_0x834e('0x66')],_0x5df169[_0x834e('0x50')],_0x520367);})[_0x834e('0x43')](function(_0x37fa2c){_0x493239=_0x37fa2c;logger[_0x834e('0x19')]('The\x20Enduser\x20ID\x20is:',_0x493239['id']);return createTicket(_0x44c909,_0x1d8e7,_0x493239,_0x346be5,_0x5df169,_0x346be5['Fields'],_0x520367);})[_0x834e('0x43')](function(_0x1ad428){_0x264a6f=_0x1ad428;logger[_0x834e('0x19')](_0x834e('0x52'));logger[_0x834e('0x19')]('The\x20Ticket\x20ID\x20is:',_0x264a6f['id']);})[_0x834e('0x28')](function(_0x2b162a){logger[_0x834e('0x27')]('['+_0x5df169['lastevent'][_0x834e('0x65')]()+']',JSON[_0x834e('0x25')](_0x2b162a));});};
\ No newline at end of file