Built motion from commit (unavailable).|2.4.4
[motion2.git] / server / services / ami / trigger / integration / vtiger.js
index 2e71356..920065c 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xddb8=['Ticket\x20created!','%s/index.php?module=HelpDesk&view=Detail&record=%s&app=SUPPORT','split','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','[QUEUE]','stripTrailingSlash','recordingFormat','none','[OUTBOUND]','destcalleridname','destcalleridnum','The\x20Ticket\x20ID\x20is:','abandoned','[ABANDONED]','Fields','request-promise','bluebird','md5','ioredis','./util','../../../../config/environment','../../../../config/logger','vTiger','redis','localhost','socket.io-emitter','emit','length','forEach','string','idField','content','toString','type','variable','variableName','customVariable','Variable','name','toLowerCase','info','Creating\x20new\x20ticket...','merge','Open','getString','Subjects','POST','remoteUri','create','sessionName','stringify','resolve','result','format','Ticket\x20could\x20not\x20be\x20created\x20due\x20to:\x20%s','catch','statusCode','error','createTicket','validateEmail','Getting\x20agent\x20with\x20email','GET','%s/webservice.php','query','admin','SELECT\x20first_name,\x20last_name,\x20email1\x20FROM\x20Users\x20WHERE\x20email1=\x27%s\x27;','success','Agent\x20found!','last_name','[vTiger],\x20%s,\x20%s,\x20%s','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','userId','username','getUser','Searching\x20end\x20user\x20with\x20phone','then','Enduser\x20found!','firstname','Contacts','Enduser\x20created.','lastname','phone','getEndUser','accessKey','getConnection','[HTTP]','monitor_format','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','serverUrl','uniqueid','email','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:'];(function(_0x30ae5e,_0x391fc4){var _0x1f2e93=function(_0x60307d){while(--_0x60307d){_0x30ae5e['push'](_0x30ae5e['shift']());}};_0x1f2e93(++_0x391fc4);}(_0xddb8,0xd7));var _0x8ddb=function(_0x336b2c,_0xf89e9f){_0x336b2c=_0x336b2c-0x0;var _0x23dd8f=_0xddb8[_0x336b2c];return _0x23dd8f;};'use strict';var _=require('lodash');var rp=require(_0x8ddb('0x0'));var BPromise=require(_0x8ddb('0x1'));var md5=require(_0x8ddb('0x2'));var util=require('util');var Redis=require(_0x8ddb('0x3'));var intUtil=require(_0x8ddb('0x4'));var config=require(_0x8ddb('0x5'));var logger=require(_0x8ddb('0x6'))(_0x8ddb('0x7'));config[_0x8ddb('0x8')]=_['defaults'](config['redis'],{'host':_0x8ddb('0x9'),'port':0x18eb});var io=require(_0x8ddb('0xa'))(new Redis(config['redis']));function emit(_0x49d529,_0x27b901,_0x2af85c){io['to'](_0x49d529)[_0x8ddb('0xb')](_0x27b901,_0x2af85c);}function getCustomFields(_0x49b77e,_0x459f24){var _0x21d488={};if(_0x49b77e[_0x8ddb('0xc')]>0x0){_[_0x8ddb('0xd')](_0x49b77e,function(_0x258ac4){if(_0x258ac4['type']===_0x8ddb('0xe')&&_0x258ac4[_0x8ddb('0xf')]){_0x21d488[_0x258ac4['idField']]=_0x258ac4[_0x8ddb('0x10')][_0x8ddb('0x11')]();}else if(_0x258ac4[_0x8ddb('0x12')]===_0x8ddb('0x13')&&_0x258ac4[_0x8ddb('0x14')]&&_0x258ac4[_0x8ddb('0xf')]&&_0x459f24[_0x258ac4[_0x8ddb('0x14')]]){_0x21d488[_0x258ac4[_0x8ddb('0xf')]]=_0x459f24[_0x258ac4[_0x8ddb('0x14')]]['toString']();}else if(_0x258ac4[_0x8ddb('0x12')]===_0x8ddb('0x15')&&_0x258ac4[_0x8ddb('0x16')]&&_0x258ac4[_0x8ddb('0x16')][_0x8ddb('0x17')]&&_0x258ac4[_0x8ddb('0xf')]&&_0x459f24[_0x258ac4[_0x8ddb('0x16')][_0x8ddb('0x17')]['toLowerCase']()]){_0x21d488[_0x258ac4[_0x8ddb('0xf')]]=_0x459f24[_0x258ac4['Variable'][_0x8ddb('0x17')][_0x8ddb('0x18')]()][_0x8ddb('0x11')]();}});}return _0x21d488;}function createTicket(_0x4a8693,_0x3dee19,_0xc11909,_0x13a3f8,_0x26cee6,_0x14b115,_0x10628d){logger[_0x8ddb('0x19')](_0x8ddb('0x1a'));var _0x1030b3=_[_0x8ddb('0x1b')]({'parent_id':'','assigned_user_id':_0x3dee19['id'],'ticketpriorities':'Normal','ticketstatus':_0x8ddb('0x1c'),'ticket_title':intUtil[_0x8ddb('0x1d')](_0x13a3f8[_0x8ddb('0x1e')],_0x26cee6,'\x20'),'description':intUtil[_0x8ddb('0x1d')](_0x13a3f8['Descriptions'],_0x26cee6,'\x0a'),'contact_id':_0xc11909['id']},getCustomFields(_0x14b115,_0x26cee6));var _0x42b978={'method':_0x8ddb('0x1f'),'uri':util['format']('%s/webservice.php',_0x4a8693[_0x8ddb('0x20')]),'form':{'operation':_0x8ddb('0x21'),'username':'admin','sessionName':_0x10628d[_0x8ddb('0x22')],'elementType':'HelpDesk','element':JSON[_0x8ddb('0x23')](_0x1030b3)},'json':!![]};return request(_0x42b978)['then'](function(_0x53b199){if(_0x53b199['success']){return BPromise[_0x8ddb('0x24')]({'id':_0x53b199[_0x8ddb('0x25')]['id']});}else{throw new Error(util[_0x8ddb('0x26')](_0x8ddb('0x27'),JSON[_0x8ddb('0x23')](_0x53b199['error'])));}})[_0x8ddb('0x28')](function(_0xc74028){var _0x3c7622=_0xc74028[_0x8ddb('0x29')]||0x1f4;logger[_0x8ddb('0x2a')]('[vTiger],\x20%s,\x20%s,\x20%s',_0x8ddb('0x2b'),_0x3c7622,JSON['stringify'](_0xc74028));});}function getUser(_0x1e4625,_0x4c0281,_0x5b080c){if(intUtil[_0x8ddb('0x2c')](_0x4c0281)){logger[_0x8ddb('0x19')](_0x8ddb('0x2d'),_0x4c0281);return request({'method':_0x8ddb('0x2e'),'uri':util[_0x8ddb('0x26')](_0x8ddb('0x2f'),_0x1e4625[_0x8ddb('0x20')]),'qs':{'operation':_0x8ddb('0x30'),'username':_0x8ddb('0x31'),'sessionName':_0x5b080c['sessionName'],'query':util[_0x8ddb('0x26')](_0x8ddb('0x32'),_0x4c0281)},'json':!![]})['then'](function(_0x46f47a){if(_0x46f47a[_0x8ddb('0x33')]&&_0x46f47a[_0x8ddb('0x25')][_0x8ddb('0xc')]){logger[_0x8ddb('0x19')](_0x8ddb('0x34'));return BPromise['resolve']({'id':_0x46f47a[_0x8ddb('0x25')][0x0]['id'],'email':_0x46f47a[_0x8ddb('0x25')][0x0]['email1'],'name':_0x46f47a[_0x8ddb('0x25')][0x0]['first_name']+'\x20'+_0x46f47a['result'][_0x8ddb('0x35')]});}else{logger['info']('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');return BPromise[_0x8ddb('0x24')]({'id':_0x5b080c['userId'],'email':_0x1e4625['username'],'name':_0x8ddb('0x31')});}})[_0x8ddb('0x28')](function(_0x50f960){var _0x116c06=_0x50f960['statusCode']||0x1f4;logger[_0x8ddb('0x2a')](_0x8ddb('0x36'),'getUser',_0x116c06,JSON[_0x8ddb('0x23')](_0x50f960));});}else{logger['info'](_0x8ddb('0x37'));return BPromise[_0x8ddb('0x24')]({'id':_0x5b080c[_0x8ddb('0x38')],'email':_0x1e4625[_0x8ddb('0x39')],'name':_0x8ddb('0x31')})[_0x8ddb('0x28')](function(_0x5bd9f9){var _0x3ff2e5=_0x5bd9f9['statusCode']||0x1f4;logger[_0x8ddb('0x2a')](_0x8ddb('0x36'),_0x8ddb('0x3a'),_0x3ff2e5,JSON[_0x8ddb('0x23')](_0x5bd9f9));});}}function getEndUser(_0x836e36,_0x50faa2,_0x5ed4af,_0x22e75b){logger['info'](_0x8ddb('0x3b'),_0x5ed4af);return request({'method':_0x8ddb('0x2e'),'uri':util[_0x8ddb('0x26')](_0x8ddb('0x2f'),_0x836e36[_0x8ddb('0x20')]),'qs':{'operation':_0x8ddb('0x30'),'username':_0x8ddb('0x31'),'sessionName':_0x22e75b[_0x8ddb('0x22')],'query':util[_0x8ddb('0x26')]('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;',_0x5ed4af,_0x5ed4af,_0x5ed4af,_0x5ed4af,_0x5ed4af)},'json':!![]})[_0x8ddb('0x3c')](function(_0x29c6d6){if(_0x29c6d6['success']&&_0x29c6d6[_0x8ddb('0x25')][_0x8ddb('0xc')]){logger[_0x8ddb('0x19')](_0x8ddb('0x3d'));return BPromise[_0x8ddb('0x24')]({'id':_0x29c6d6[_0x8ddb('0x25')][0x0]['id'],'name':_0x29c6d6[_0x8ddb('0x25')][0x0][_0x8ddb('0x3e')]+'\x20'+_0x29c6d6[_0x8ddb('0x25')][0x0]['lastname'],'phone':_0x5ed4af});}else{logger[_0x8ddb('0x19')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!');return request({'method':_0x8ddb('0x1f'),'uri':util['format'](_0x8ddb('0x2f'),_0x836e36['remoteUri']),'form':{'operation':_0x8ddb('0x21'),'sessionName':_0x22e75b['sessionName'],'elementType':_0x8ddb('0x3f'),'element':JSON[_0x8ddb('0x23')]({'lastname':_0x50faa2,'phone':_0x5ed4af,'assigned_user_id':'\x20'})},'json':!![]})[_0x8ddb('0x3c')](function(_0x36754b){logger['info'](_0x8ddb('0x40'));return BPromise[_0x8ddb('0x24')]({'id':_0x36754b['result']['id'],'name':_0x36754b['result'][_0x8ddb('0x41')],'phone':_0x36754b[_0x8ddb('0x25')][_0x8ddb('0x42')]});})[_0x8ddb('0x28')](function(_0x3257d){var _0x7a0a6e=_0x3257d[_0x8ddb('0x29')]||0x1f4;logger[_0x8ddb('0x2a')](_0x8ddb('0x36'),_0x8ddb('0x43'),_0x7a0a6e,JSON[_0x8ddb('0x23')](_0x3257d));});}});}function getConnection(_0x170ca2){var _0x175c35=_0x170ca2[_0x8ddb('0x39')];var _0x2815bc=_0x170ca2[_0x8ddb('0x44')];return request({'method':_0x8ddb('0x2e'),'uri':util[_0x8ddb('0x26')](_0x8ddb('0x2f'),_0x170ca2[_0x8ddb('0x20')]),'qs':{'operation':'getchallenge','username':_0x175c35},'json':!![]})[_0x8ddb('0x3c')](function(_0xb535d3){if(_0xb535d3[_0x8ddb('0x33')]){return request({'method':_0x8ddb('0x1f'),'uri':util[_0x8ddb('0x26')](_0x8ddb('0x2f'),_0x170ca2[_0x8ddb('0x20')]),'form':{'operation':'login','username':_0x8ddb('0x31'),'accessKey':md5(_0xb535d3[_0x8ddb('0x25')]['token']+_0x2815bc)},'json':!![]});}})[_0x8ddb('0x3c')](function(_0x35e78b){if(_0x35e78b[_0x8ddb('0x33')]){return BPromise[_0x8ddb('0x24')](_0x35e78b['result']);}else{throw new Error(util[_0x8ddb('0x26')]('Account\x20%d\x20is\x20not\x20valid',_0x170ca2['id']));}})[_0x8ddb('0x28')](function(_0x223586){var _0x215a74=_0x223586[_0x8ddb('0x29')]||0x1f4;logger[_0x8ddb('0x2a')](_0x8ddb('0x36'),_0x8ddb('0x45'),_0x215a74,JSON[_0x8ddb('0x23')](_0x223586));});}function request(_0x4e5dda){logger[_0x8ddb('0x19')](_0x8ddb('0x46'),JSON[_0x8ddb('0x23')](_0x4e5dda));return rp(_0x4e5dda);}exports['queue']=function(_0x3a497b,_0x523624,_0x15bdad,_0x19b2f8,_0x5642c2,_0x2356ab){var _0x2f67ae,_0x5bb8c6,_0x51c1d7,_0x46efd1;_0x2356ab[_0x8ddb('0x20')]=intUtil['stripTrailingSlash'](_0x2356ab['remoteUri']);if(_0x5642c2&&_0x5642c2[_0x8ddb('0x47')]){logger[_0x8ddb('0x19')]('[QUEUE]',_0x8ddb('0x48'));_0x523624[_0x8ddb('0x49')]=util[_0x8ddb('0x26')](_0x8ddb('0x4a'),_0x2356ab[_0x8ddb('0x4b')],_0x523624[_0x8ddb('0x4c')],md5(_0x523624[_0x8ddb('0x4c')]));}else{_0x523624[_0x8ddb('0x49')]='';}return getConnection(_0x2356ab)['then'](function(_0x526c35){_0x46efd1=_0x526c35;return getUser(_0x2356ab,_0x19b2f8[_0x8ddb('0x4d')],_0x46efd1);})[_0x8ddb('0x3c')](function(_0xba6b0b){_0x2f67ae=_0xba6b0b;logger[_0x8ddb('0x19')](_0x8ddb('0x4e'),_0x2f67ae['id']);return getEndUser(_0x2356ab,_0x523624[_0x8ddb('0x4f')],_0x523624[_0x8ddb('0x50')],_0x46efd1);})[_0x8ddb('0x3c')](function(_0x203215){_0x5bb8c6=_0x203215;logger['info'](_0x8ddb('0x51'),_0x5bb8c6['id']);return createTicket(_0x2356ab,_0x2f67ae,_0x5bb8c6,_0x15bdad,_0x523624,_0x15bdad['Fields'],_0x46efd1);})[_0x8ddb('0x3c')](function(_0xcdb024){_0x51c1d7=_0xcdb024;logger[_0x8ddb('0x19')](_0x8ddb('0x52'));logger['info']('The\x20Ticket\x20ID\x20is:',_0x51c1d7['id']);var _0x5b1210=util[_0x8ddb('0x26')](_0x8ddb('0x53'),_0x2356ab[_0x8ddb('0x20')],_[_0x8ddb('0x54')](_0x51c1d7['id'],'x')[0x1]);logger[_0x8ddb('0x19')]('[QUEUE]',_0x8ddb('0x55'));emit(util['format'](_0x8ddb('0x56'),_0x19b2f8['name']),_0x8ddb('0x57'),{'uri':_0x5b1210});})[_0x8ddb('0x28')](function(_0x29b476){logger[_0x8ddb('0x2a')](_0x8ddb('0x58'),JSON[_0x8ddb('0x23')](_0x29b476));});};exports['outbound']=function(_0x369ca7,_0x3e2de2,_0x1bd4fc,_0x4f0ae4,_0x583a09,_0x1e15c3,_0x73e809){var _0x84f32b,_0x2a59cc,_0x43f67f,_0x1b995b;_0x1e15c3[_0x8ddb('0x20')]=intUtil[_0x8ddb('0x59')](_0x1e15c3['remoteUri']);_0x1e15c3['serverUrl']=intUtil[_0x8ddb('0x59')](_0x1e15c3[_0x8ddb('0x4b')]);if(_0x73e809&&_0x73e809[_0x8ddb('0x5a')]&&_0x73e809[_0x8ddb('0x5a')]!==_0x8ddb('0x5b')){logger[_0x8ddb('0x19')](_0x8ddb('0x5c'),_0x8ddb('0x48'));_0x3e2de2[_0x8ddb('0x49')]=util['format'](_0x8ddb('0x4a'),_0x1e15c3[_0x8ddb('0x4b')],_0x3e2de2[_0x8ddb('0x4c')],md5(_0x3e2de2['uniqueid']));}return getConnection(_0x1e15c3)[_0x8ddb('0x3c')](function(_0x149ce6){_0x1b995b=_0x149ce6;return getUser(_0x1e15c3,_0x4f0ae4['email'],_0x1b995b);})[_0x8ddb('0x3c')](function(_0x2c8ce1){_0x84f32b=_0x2c8ce1;logger[_0x8ddb('0x19')](_0x8ddb('0x4e'),_0x84f32b['id']);return getEndUser(_0x1e15c3,_0x3e2de2[_0x8ddb('0x5d')],_0x3e2de2[_0x8ddb('0x5e')],_0x1b995b);})[_0x8ddb('0x3c')](function(_0x28bda2){_0x2a59cc=_0x28bda2;logger['info'](_0x8ddb('0x51'),_0x2a59cc['id']);return createTicket(_0x1e15c3,_0x84f32b,_0x2a59cc,_0x1bd4fc,_0x3e2de2,_0x1bd4fc['Fields'],_0x1b995b);})['then'](function(_0x17ab4d){_0x43f67f=_0x17ab4d;logger['info'](_0x8ddb('0x52'));logger[_0x8ddb('0x19')](_0x8ddb('0x5f'),_0x43f67f['id']);var _0x2109c4=util['format']('%s/index.php?module=HelpDesk&view=Detail&record=%s&app=SUPPORT',_0x1e15c3[_0x8ddb('0x20')],_[_0x8ddb('0x54')](_0x43f67f['id'],'x')[0x1]);logger['info']('[OUTBOUND]',_0x8ddb('0x55'));emit(util[_0x8ddb('0x26')](_0x8ddb('0x56'),_0x4f0ae4[_0x8ddb('0x17')]),_0x8ddb('0x57'),{'uri':_0x2109c4});})[_0x8ddb('0x28')](function(_0x3e86bf){logger[_0x8ddb('0x2a')](_0x8ddb('0x5c'),JSON[_0x8ddb('0x23')](_0x3e86bf));});};exports[_0x8ddb('0x60')]=function(_0xaebed4,_0x2342af,_0x2a8894,_0x5c88c8,_0x2eaf9b,_0x7dc1a2){var _0x3ceca7,_0x3ee1b4,_0x54eac4,_0x2af470;_0x7dc1a2[_0x8ddb('0x20')]=intUtil[_0x8ddb('0x59')](_0x7dc1a2[_0x8ddb('0x20')]);_0x7dc1a2['serverUrl']=intUtil[_0x8ddb('0x59')](_0x7dc1a2[_0x8ddb('0x4b')]);if(_0x2eaf9b&&_0x2eaf9b['monitor_format']){logger[_0x8ddb('0x19')](_0x8ddb('0x61'),_0x8ddb('0x48'));_0x2342af[_0x8ddb('0x49')]=util[_0x8ddb('0x26')](_0x8ddb('0x4a'),_0x7dc1a2[_0x8ddb('0x4b')],_0x2342af[_0x8ddb('0x4c')],md5(_0x2342af[_0x8ddb('0x4c')]));}else{_0x2342af[_0x8ddb('0x49')]='';}return getConnection(_0x7dc1a2)[_0x8ddb('0x3c')](function(_0xa98da9){_0x2af470=_0xa98da9;return getUser(_0x7dc1a2,'',_0x2af470);})[_0x8ddb('0x3c')](function(_0xed4758){_0x3ceca7=_0xed4758;logger['info'](_0x8ddb('0x4e'),_0x3ceca7['id']);return getEndUser(_0x7dc1a2,_0x2342af[_0x8ddb('0x4f')],_0x2342af[_0x8ddb('0x50')],_0x2af470);})['then'](function(_0x47a1e3){_0x3ee1b4=_0x47a1e3;logger[_0x8ddb('0x19')](_0x8ddb('0x51'),_0x3ee1b4['id']);return createTicket(_0x7dc1a2,_0x3ceca7,_0x3ee1b4,_0x2a8894,_0x2342af,_0x2a8894[_0x8ddb('0x62')],_0x2af470);})[_0x8ddb('0x3c')](function(_0x4e3591){_0x54eac4=_0x4e3591;logger[_0x8ddb('0x19')](_0x8ddb('0x52'));logger[_0x8ddb('0x19')](_0x8ddb('0x5f'),_0x54eac4['id']);})['catch'](function(_0x961cd4){logger[_0x8ddb('0x2a')](_0x8ddb('0x61'),JSON[_0x8ddb('0x23')](_0x961cd4));});};
\ No newline at end of file
+var _0x56dc=['Agent\x20found!','email1','first_name','last_name','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','userId','username','admin','catch','getUser','Searching\x20end\x20user\x20with\x20phone','format','query','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;','success','Enduser\x20found!','lastname','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','Contacts','phone','getEndUser','accessKey','getchallenge','login','token','getConnection','[HTTP]','monitor_format','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','serverUrl','uniqueid','email','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','The\x20Ticket\x20ID\x20is:','%s/index.php?module=HelpDesk&view=Detail&record=%s&app=SUPPORT','split','[QUEUE]','trigger:browser:url','outbound','stripTrailingSlash','recordingFormat','none','The\x20User\x20ID\x20is:','destcalleridname','[OUTBOUND]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','[ABANDONED]','calleridname','lodash','bluebird','md5','util','ioredis','./util','../../../../config/logger','vTiger','redis','defaults','localhost','emit','length','type','string','idField','content','toString','variableName','customVariable','Variable','name','toLowerCase','info','merge','Normal','Open','Descriptions','POST','remoteUri','create','sessionName','HelpDesk','stringify','then','resolve','result','Ticket\x20could\x20not\x20be\x20created\x20due\x20to:\x20%s','error','statusCode','[vTiger],\x20%s,\x20%s,\x20%s','createTicket','validateEmail','Getting\x20agent\x20with\x20email','GET','%s/webservice.php','SELECT\x20first_name,\x20last_name,\x20email1\x20FROM\x20Users\x20WHERE\x20email1=\x27%s\x27;'];(function(_0x1a36a5,_0x746928){var _0x746243=function(_0x481966){while(--_0x481966){_0x1a36a5['push'](_0x1a36a5['shift']());}};_0x746243(++_0x746928);}(_0x56dc,0xfd));var _0xc56d=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x56dc[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0xc56d('0x0'));var rp=require('request-promise');var BPromise=require(_0xc56d('0x1'));var md5=require(_0xc56d('0x2'));var util=require(_0xc56d('0x3'));var Redis=require(_0xc56d('0x4'));var intUtil=require(_0xc56d('0x5'));var config=require('../../../../config/environment');var logger=require(_0xc56d('0x6'))(_0xc56d('0x7'));config[_0xc56d('0x8')]=_[_0xc56d('0x9')](config[_0xc56d('0x8')],{'host':_0xc56d('0xa'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xc56d('0x8')]));function emit(_0x24b556,_0x3ac7cd,_0x51ca01){io['to'](_0x24b556)[_0xc56d('0xb')](_0x3ac7cd,_0x51ca01);}function getCustomFields(_0x1043f9,_0x3ff2cb){var _0x1df34e={};if(_0x1043f9[_0xc56d('0xc')]>0x0){_['forEach'](_0x1043f9,function(_0x3bfd34){if(_0x3bfd34[_0xc56d('0xd')]===_0xc56d('0xe')&&_0x3bfd34['idField']){_0x1df34e[_0x3bfd34[_0xc56d('0xf')]]=_0x3bfd34[_0xc56d('0x10')][_0xc56d('0x11')]();}else if(_0x3bfd34[_0xc56d('0xd')]==='variable'&&_0x3bfd34[_0xc56d('0x12')]&&_0x3bfd34[_0xc56d('0xf')]&&_0x3ff2cb[_0x3bfd34[_0xc56d('0x12')]]){_0x1df34e[_0x3bfd34['idField']]=_0x3ff2cb[_0x3bfd34[_0xc56d('0x12')]][_0xc56d('0x11')]();}else if(_0x3bfd34[_0xc56d('0xd')]===_0xc56d('0x13')&&_0x3bfd34['Variable']&&_0x3bfd34[_0xc56d('0x14')][_0xc56d('0x15')]&&_0x3bfd34['idField']&&_0x3ff2cb[_0x3bfd34['Variable'][_0xc56d('0x15')][_0xc56d('0x16')]()]){_0x1df34e[_0x3bfd34[_0xc56d('0xf')]]=_0x3ff2cb[_0x3bfd34[_0xc56d('0x14')]['name'][_0xc56d('0x16')]()]['toString']();}});}return _0x1df34e;}function createTicket(_0x25df28,_0x1058a1,_0x523cfd,_0x23cced,_0x22f20a,_0x256e8f,_0x2bdb45){logger[_0xc56d('0x17')]('Creating\x20new\x20ticket...');var _0x2f6736=_[_0xc56d('0x18')]({'parent_id':'','assigned_user_id':_0x1058a1['id'],'ticketpriorities':_0xc56d('0x19'),'ticketstatus':_0xc56d('0x1a'),'ticket_title':intUtil['getString'](_0x23cced['Subjects'],_0x22f20a,'\x20'),'description':intUtil['getString'](_0x23cced[_0xc56d('0x1b')],_0x22f20a,'\x0a'),'contact_id':_0x523cfd['id']},getCustomFields(_0x256e8f,_0x22f20a));var _0x1c9a1c={'method':_0xc56d('0x1c'),'uri':util['format']('%s/webservice.php',_0x25df28[_0xc56d('0x1d')]),'form':{'operation':_0xc56d('0x1e'),'username':'admin','sessionName':_0x2bdb45[_0xc56d('0x1f')],'elementType':_0xc56d('0x20'),'element':JSON[_0xc56d('0x21')](_0x2f6736)},'json':!![]};return request(_0x1c9a1c)[_0xc56d('0x22')](function(_0x527929){if(_0x527929['success']){return BPromise[_0xc56d('0x23')]({'id':_0x527929[_0xc56d('0x24')]['id']});}else{throw new Error(util['format'](_0xc56d('0x25'),JSON[_0xc56d('0x21')](_0x527929[_0xc56d('0x26')])));}})['catch'](function(_0x29e8e2){var _0x2e48ae=_0x29e8e2[_0xc56d('0x27')]||0x1f4;logger[_0xc56d('0x26')](_0xc56d('0x28'),_0xc56d('0x29'),_0x2e48ae,JSON['stringify'](_0x29e8e2));});}function getUser(_0x5a50fb,_0x51e7c7,_0xb1c8ab){if(intUtil[_0xc56d('0x2a')](_0x51e7c7)){logger[_0xc56d('0x17')](_0xc56d('0x2b'),_0x51e7c7);return request({'method':_0xc56d('0x2c'),'uri':util['format'](_0xc56d('0x2d'),_0x5a50fb['remoteUri']),'qs':{'operation':'query','username':'admin','sessionName':_0xb1c8ab[_0xc56d('0x1f')],'query':util['format'](_0xc56d('0x2e'),_0x51e7c7)},'json':!![]})[_0xc56d('0x22')](function(_0x32d057){if(_0x32d057['success']&&_0x32d057[_0xc56d('0x24')][_0xc56d('0xc')]){logger[_0xc56d('0x17')](_0xc56d('0x2f'));return BPromise['resolve']({'id':_0x32d057['result'][0x0]['id'],'email':_0x32d057['result'][0x0][_0xc56d('0x30')],'name':_0x32d057[_0xc56d('0x24')][0x0][_0xc56d('0x31')]+'\x20'+_0x32d057[_0xc56d('0x24')][_0xc56d('0x32')]});}else{logger['info'](_0xc56d('0x33'));return BPromise[_0xc56d('0x23')]({'id':_0xb1c8ab[_0xc56d('0x34')],'email':_0x5a50fb[_0xc56d('0x35')],'name':_0xc56d('0x36')});}})[_0xc56d('0x37')](function(_0x2f63dc){var _0x4a855f=_0x2f63dc[_0xc56d('0x27')]||0x1f4;logger['error'](_0xc56d('0x28'),_0xc56d('0x38'),_0x4a855f,JSON['stringify'](_0x2f63dc));});}else{logger[_0xc56d('0x17')](_0xc56d('0x33'));return BPromise[_0xc56d('0x23')]({'id':_0xb1c8ab[_0xc56d('0x34')],'email':_0x5a50fb[_0xc56d('0x35')],'name':_0xc56d('0x36')})[_0xc56d('0x37')](function(_0x37b4a8){var _0x475408=_0x37b4a8[_0xc56d('0x27')]||0x1f4;logger[_0xc56d('0x26')](_0xc56d('0x28'),_0xc56d('0x38'),_0x475408,JSON[_0xc56d('0x21')](_0x37b4a8));});}}function getEndUser(_0x25c96b,_0x360cd8,_0x45ff19,_0x3cdbf1){logger[_0xc56d('0x17')](_0xc56d('0x39'),_0x45ff19);return request({'method':_0xc56d('0x2c'),'uri':util[_0xc56d('0x3a')](_0xc56d('0x2d'),_0x25c96b[_0xc56d('0x1d')]),'qs':{'operation':_0xc56d('0x3b'),'username':_0xc56d('0x36'),'sessionName':_0x3cdbf1[_0xc56d('0x1f')],'query':util[_0xc56d('0x3a')](_0xc56d('0x3c'),_0x45ff19,_0x45ff19,_0x45ff19,_0x45ff19,_0x45ff19)},'json':!![]})['then'](function(_0x402775){if(_0x402775[_0xc56d('0x3d')]&&_0x402775[_0xc56d('0x24')]['length']){logger['info'](_0xc56d('0x3e'));return BPromise['resolve']({'id':_0x402775['result'][0x0]['id'],'name':_0x402775['result'][0x0]['firstname']+'\x20'+_0x402775['result'][0x0][_0xc56d('0x3f')],'phone':_0x45ff19});}else{logger[_0xc56d('0x17')](_0xc56d('0x40'));return request({'method':_0xc56d('0x1c'),'uri':util[_0xc56d('0x3a')](_0xc56d('0x2d'),_0x25c96b[_0xc56d('0x1d')]),'form':{'operation':_0xc56d('0x1e'),'sessionName':_0x3cdbf1[_0xc56d('0x1f')],'elementType':_0xc56d('0x41'),'element':JSON['stringify']({'lastname':_0x360cd8,'phone':_0x45ff19,'assigned_user_id':'\x20'})},'json':!![]})[_0xc56d('0x22')](function(_0x25da4b){logger[_0xc56d('0x17')]('Enduser\x20created.');return BPromise[_0xc56d('0x23')]({'id':_0x25da4b[_0xc56d('0x24')]['id'],'name':_0x25da4b[_0xc56d('0x24')][_0xc56d('0x3f')],'phone':_0x25da4b[_0xc56d('0x24')][_0xc56d('0x42')]});})[_0xc56d('0x37')](function(_0x258bc4){var _0x556dd3=_0x258bc4[_0xc56d('0x27')]||0x1f4;logger[_0xc56d('0x26')](_0xc56d('0x28'),_0xc56d('0x43'),_0x556dd3,JSON[_0xc56d('0x21')](_0x258bc4));});}});}function getConnection(_0x462359){var _0x198112=_0x462359['username'];var _0x203abf=_0x462359[_0xc56d('0x44')];return request({'method':_0xc56d('0x2c'),'uri':util['format'](_0xc56d('0x2d'),_0x462359[_0xc56d('0x1d')]),'qs':{'operation':_0xc56d('0x45'),'username':_0x198112},'json':!![]})[_0xc56d('0x22')](function(_0x2a744f){if(_0x2a744f[_0xc56d('0x3d')]){return request({'method':_0xc56d('0x1c'),'uri':util['format'](_0xc56d('0x2d'),_0x462359['remoteUri']),'form':{'operation':_0xc56d('0x46'),'username':_0xc56d('0x36'),'accessKey':md5(_0x2a744f['result'][_0xc56d('0x47')]+_0x203abf)},'json':!![]});}})[_0xc56d('0x22')](function(_0x24adf3){if(_0x24adf3['success']){return BPromise[_0xc56d('0x23')](_0x24adf3[_0xc56d('0x24')]);}else{throw new Error(util[_0xc56d('0x3a')]('Account\x20%d\x20is\x20not\x20valid',_0x462359['id']));}})[_0xc56d('0x37')](function(_0x1f0c54){var _0x606d8f=_0x1f0c54[_0xc56d('0x27')]||0x1f4;logger[_0xc56d('0x26')]('[vTiger],\x20%s,\x20%s,\x20%s',_0xc56d('0x48'),_0x606d8f,JSON[_0xc56d('0x21')](_0x1f0c54));});}function request(_0x23e3cf){logger[_0xc56d('0x17')](_0xc56d('0x49'),JSON[_0xc56d('0x21')](_0x23e3cf));return rp(_0x23e3cf);}exports['queue']=function(_0x526baf,_0x1ab838,_0x20d7b6,_0x2524a1,_0x8b4879,_0x584e59){var _0x9b34ac,_0xa54d26,_0x3bc8eb,_0x256ebb;_0x584e59[_0xc56d('0x1d')]=intUtil['stripTrailingSlash'](_0x584e59[_0xc56d('0x1d')]);if(_0x8b4879&&_0x8b4879[_0xc56d('0x4a')]){logger[_0xc56d('0x17')]('[QUEUE]',_0xc56d('0x4b'));_0x1ab838[_0xc56d('0x4c')]=util['format'](_0xc56d('0x4d'),_0x584e59[_0xc56d('0x4e')],_0x1ab838[_0xc56d('0x4f')],md5(_0x1ab838['uniqueid']));}else{_0x1ab838[_0xc56d('0x4c')]='';}return getConnection(_0x584e59)[_0xc56d('0x22')](function(_0x4117f5){_0x256ebb=_0x4117f5;return getUser(_0x584e59,_0x2524a1[_0xc56d('0x50')],_0x256ebb);})[_0xc56d('0x22')](function(_0x46a469){_0x9b34ac=_0x46a469;logger['info']('The\x20User\x20ID\x20is:',_0x9b34ac['id']);return getEndUser(_0x584e59,_0x1ab838['calleridname'],_0x1ab838[_0xc56d('0x51')],_0x256ebb);})['then'](function(_0x3dd5a5){_0xa54d26=_0x3dd5a5;logger[_0xc56d('0x17')](_0xc56d('0x52'),_0xa54d26['id']);return createTicket(_0x584e59,_0x9b34ac,_0xa54d26,_0x20d7b6,_0x1ab838,_0x20d7b6[_0xc56d('0x53')],_0x256ebb);})[_0xc56d('0x22')](function(_0x2944ee){_0x3bc8eb=_0x2944ee;logger[_0xc56d('0x17')]('Ticket\x20created!');logger['info'](_0xc56d('0x54'),_0x3bc8eb['id']);var _0x180fc9=util['format'](_0xc56d('0x55'),_0x584e59[_0xc56d('0x1d')],_[_0xc56d('0x56')](_0x3bc8eb['id'],'x')[0x1]);logger[_0xc56d('0x17')](_0xc56d('0x57'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xc56d('0x3a')]('user:%s',_0x2524a1[_0xc56d('0x15')]),_0xc56d('0x58'),{'uri':_0x180fc9});})[_0xc56d('0x37')](function(_0x2ef74d){logger[_0xc56d('0x26')](_0xc56d('0x57'),JSON[_0xc56d('0x21')](_0x2ef74d));});};exports[_0xc56d('0x59')]=function(_0x5615fc,_0x43e78a,_0xc20908,_0x4b3d74,_0x31f078,_0x42319b,_0x19938f){var _0x195d5a,_0x392896,_0x673d5c,_0x1ce40a;_0x42319b[_0xc56d('0x1d')]=intUtil[_0xc56d('0x5a')](_0x42319b[_0xc56d('0x1d')]);_0x42319b[_0xc56d('0x4e')]=intUtil[_0xc56d('0x5a')](_0x42319b['serverUrl']);if(_0x19938f&&_0x19938f[_0xc56d('0x5b')]&&_0x19938f[_0xc56d('0x5b')]!==_0xc56d('0x5c')){logger['info']('[OUTBOUND]',_0xc56d('0x4b'));_0x43e78a[_0xc56d('0x4c')]=util[_0xc56d('0x3a')](_0xc56d('0x4d'),_0x42319b[_0xc56d('0x4e')],_0x43e78a[_0xc56d('0x4f')],md5(_0x43e78a[_0xc56d('0x4f')]));}return getConnection(_0x42319b)[_0xc56d('0x22')](function(_0x46e566){_0x1ce40a=_0x46e566;return getUser(_0x42319b,_0x4b3d74['email'],_0x1ce40a);})['then'](function(_0x2ac4fe){_0x195d5a=_0x2ac4fe;logger['info'](_0xc56d('0x5d'),_0x195d5a['id']);return getEndUser(_0x42319b,_0x43e78a[_0xc56d('0x5e')],_0x43e78a['destcalleridnum'],_0x1ce40a);})[_0xc56d('0x22')](function(_0x3a468f){_0x392896=_0x3a468f;logger[_0xc56d('0x17')](_0xc56d('0x52'),_0x392896['id']);return createTicket(_0x42319b,_0x195d5a,_0x392896,_0xc20908,_0x43e78a,_0xc20908[_0xc56d('0x53')],_0x1ce40a);})[_0xc56d('0x22')](function(_0x48d489){_0x673d5c=_0x48d489;logger[_0xc56d('0x17')]('Ticket\x20created!');logger[_0xc56d('0x17')]('The\x20Ticket\x20ID\x20is:',_0x673d5c['id']);var _0x1f64d9=util[_0xc56d('0x3a')](_0xc56d('0x55'),_0x42319b['remoteUri'],_['split'](_0x673d5c['id'],'x')[0x1]);logger[_0xc56d('0x17')](_0xc56d('0x5f'),_0xc56d('0x60'));emit(util[_0xc56d('0x3a')](_0xc56d('0x61'),_0x4b3d74[_0xc56d('0x15')]),_0xc56d('0x58'),{'uri':_0x1f64d9});})[_0xc56d('0x37')](function(_0x855aab){logger[_0xc56d('0x26')](_0xc56d('0x5f'),JSON[_0xc56d('0x21')](_0x855aab));});};exports['abandoned']=function(_0x920659,_0x505800,_0x540ef9,_0x33c2c7,_0x5806d1,_0x17ebd9){var _0x3cdafa,_0x44a9df,_0x15ffc2,_0x3fc729;_0x17ebd9[_0xc56d('0x1d')]=intUtil[_0xc56d('0x5a')](_0x17ebd9[_0xc56d('0x1d')]);_0x17ebd9['serverUrl']=intUtil[_0xc56d('0x5a')](_0x17ebd9['serverUrl']);if(_0x5806d1&&_0x5806d1[_0xc56d('0x4a')]){logger[_0xc56d('0x17')](_0xc56d('0x62'),_0xc56d('0x4b'));_0x505800['recordingURL']=util[_0xc56d('0x3a')](_0xc56d('0x4d'),_0x17ebd9['serverUrl'],_0x505800['uniqueid'],md5(_0x505800['uniqueid']));}else{_0x505800[_0xc56d('0x4c')]='';}return getConnection(_0x17ebd9)[_0xc56d('0x22')](function(_0x2dc125){_0x3fc729=_0x2dc125;return getUser(_0x17ebd9,'',_0x3fc729);})[_0xc56d('0x22')](function(_0x18ebf){_0x3cdafa=_0x18ebf;logger[_0xc56d('0x17')]('The\x20User\x20ID\x20is:',_0x3cdafa['id']);return getEndUser(_0x17ebd9,_0x505800[_0xc56d('0x63')],_0x505800[_0xc56d('0x51')],_0x3fc729);})[_0xc56d('0x22')](function(_0x34f456){_0x44a9df=_0x34f456;logger[_0xc56d('0x17')](_0xc56d('0x52'),_0x44a9df['id']);return createTicket(_0x17ebd9,_0x3cdafa,_0x44a9df,_0x540ef9,_0x505800,_0x540ef9[_0xc56d('0x53')],_0x3fc729);})[_0xc56d('0x22')](function(_0x59c445){_0x15ffc2=_0x59c445;logger[_0xc56d('0x17')]('Ticket\x20created!');logger[_0xc56d('0x17')](_0xc56d('0x54'),_0x15ffc2['id']);})[_0xc56d('0x37')](function(_0x2714dc){logger[_0xc56d('0x26')](_0xc56d('0x62'),JSON[_0xc56d('0x21')](_0x2714dc));});};
\ No newline at end of file