Built motion from commit (unavailable).|2.5.1
[motion2.git] / server / services / ami / trigger / integration / vtiger.js
index c17ea82..fb67ecf 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x93cc=['toUpperCase','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','The\x20Ticket\x20ID\x20is:','lodash','request-promise','bluebird','md5','util','ioredis','./util','../../../../config/logger','vTiger','redis','localhost','socket.io-emitter','emit','length','forEach','type','string','idField','content','toString','variable','variableName','customVariable','Variable','name','toLowerCase','info','Creating\x20new\x20ticket...','Normal','Open','getString','Subjects','format','%s/webservice.php','remoteUri','username','sessionName','HelpDesk','stringify','success','resolve','result','Ticket\x20could\x20not\x20be\x20created\x20due\x20to:\x20%s','error','statusCode','createTicket','Getting\x20agent\x20with\x20email','GET','SELECT\x20first_name,\x20last_name,\x20email1\x20FROM\x20Users\x20WHERE\x20email1=\x27%s\x27;','then','Agent\x20found!','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','userId','admin','catch','getUser','[vTiger],\x20%s,\x20%s,\x20%s','Searching\x20end\x20user\x20with\x20phone','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;','firstname','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','create','Contacts','phone','accessKey','getchallenge','login','token','getConnection','[HTTP]','stripTrailingSlash','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','uniqueid','recordingURL','email','The\x20User\x20ID\x20is:','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','Ticket\x20created!','%s/index.php?module=HelpDesk&view=Detail&record=%s&app=SUPPORT','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','outbound','serverUrl','recordingFormat','[OUTBOUND]','destcalleridname','destcalleridnum','split','lastevent'];(function(_0x37b04c,_0x35ee92){var _0x2357f1=function(_0x59fb68){while(--_0x59fb68){_0x37b04c['push'](_0x37b04c['shift']());}};_0x2357f1(++_0x35ee92);}(_0x93cc,0x12c));var _0xc93c=function(_0x176b27,_0x3a4800){_0x176b27=_0x176b27-0x0;var _0x180895=_0x93cc[_0x176b27];return _0x180895;};'use strict';var _=require(_0xc93c('0x0'));var rp=require(_0xc93c('0x1'));var BPromise=require(_0xc93c('0x2'));var md5=require(_0xc93c('0x3'));var util=require(_0xc93c('0x4'));var Redis=require(_0xc93c('0x5'));var intUtil=require(_0xc93c('0x6'));var config=require('../../../../config/environment');var logger=require(_0xc93c('0x7'))(_0xc93c('0x8'));config['redis']=_['defaults'](config[_0xc93c('0x9')],{'host':_0xc93c('0xa'),'port':0x18eb});var io=require(_0xc93c('0xb'))(new Redis(config[_0xc93c('0x9')]));function emit(_0x227fef,_0xa1d40,_0x53dff7){io['to'](_0x227fef)[_0xc93c('0xc')](_0xa1d40,_0x53dff7);}function getCustomFields(_0x5ecec1,_0x53976a){var _0x573ee0={};if(_0x5ecec1[_0xc93c('0xd')]>0x0){_[_0xc93c('0xe')](_0x5ecec1,function(_0x401852){if(_0x401852[_0xc93c('0xf')]===_0xc93c('0x10')&&_0x401852[_0xc93c('0x11')]){_0x573ee0[_0x401852[_0xc93c('0x11')]]=_0x401852[_0xc93c('0x12')][_0xc93c('0x13')]();}else if(_0x401852['type']===_0xc93c('0x14')&&_0x401852['variableName']&&_0x401852[_0xc93c('0x11')]&&_0x53976a[_0x401852['variableName']]){_0x573ee0[_0x401852['idField']]=_0x53976a[_0x401852[_0xc93c('0x15')]][_0xc93c('0x13')]();}else if(_0x401852[_0xc93c('0xf')]===_0xc93c('0x16')&&_0x401852[_0xc93c('0x17')]&&_0x401852[_0xc93c('0x17')][_0xc93c('0x18')]&&_0x401852['idField']&&_0x53976a[_0x401852[_0xc93c('0x17')][_0xc93c('0x18')][_0xc93c('0x19')]()]){_0x573ee0[_0x401852['idField']]=_0x53976a[_0x401852[_0xc93c('0x17')][_0xc93c('0x18')]['toLowerCase']()][_0xc93c('0x13')]();}});}return _0x573ee0;}function createTicket(_0x3628bc,_0xf08326,_0x535691,_0x69bb6c,_0x55ea72,_0x2b19f0,_0x12538a){logger[_0xc93c('0x1a')](_0xc93c('0x1b'));var _0x16e20d=_['merge']({'parent_id':'','assigned_user_id':_0xf08326['id'],'ticketpriorities':_0xc93c('0x1c'),'ticketstatus':_0xc93c('0x1d'),'ticket_title':intUtil[_0xc93c('0x1e')](_0x69bb6c[_0xc93c('0x1f')],_0x55ea72,'\x20'),'description':intUtil['getString'](_0x69bb6c['Descriptions'],_0x55ea72,'\x0a'),'contact_id':_0x535691['id']},getCustomFields(_0x2b19f0,_0x55ea72));var _0x2d4ae1={'method':'POST','uri':util[_0xc93c('0x20')](_0xc93c('0x21'),_0x3628bc[_0xc93c('0x22')]),'form':{'operation':'create','username':_0x3628bc[_0xc93c('0x23')],'sessionName':_0x12538a[_0xc93c('0x24')],'elementType':_0xc93c('0x25'),'element':JSON[_0xc93c('0x26')](_0x16e20d)},'json':!![]};return request(_0x2d4ae1)['then'](function(_0x5b5e5f){if(_0x5b5e5f[_0xc93c('0x27')]){return BPromise[_0xc93c('0x28')]({'id':_0x5b5e5f[_0xc93c('0x29')]['id']});}else{throw new Error(util[_0xc93c('0x20')](_0xc93c('0x2a'),JSON[_0xc93c('0x26')](_0x5b5e5f[_0xc93c('0x2b')])));}})['catch'](function(_0x1871aa){var _0x2fabeb=_0x1871aa[_0xc93c('0x2c')]||0x1f4;logger['error']('[vTiger],\x20%s,\x20%s,\x20%s',_0xc93c('0x2d'),_0x2fabeb,JSON['stringify'](_0x1871aa));});}function getUser(_0x4430f9,_0x46cd59,_0x32c4e0){if(intUtil['validateEmail'](_0x46cd59)){logger[_0xc93c('0x1a')](_0xc93c('0x2e'),_0x46cd59);return request({'method':_0xc93c('0x2f'),'uri':util[_0xc93c('0x20')](_0xc93c('0x21'),_0x4430f9[_0xc93c('0x22')]),'qs':{'operation':'query','username':_0x4430f9['username'],'sessionName':_0x32c4e0[_0xc93c('0x24')],'query':util[_0xc93c('0x20')](_0xc93c('0x30'),_0x46cd59)},'json':!![]})[_0xc93c('0x31')](function(_0x2254f9){if(_0x2254f9[_0xc93c('0x27')]&&_0x2254f9[_0xc93c('0x29')][_0xc93c('0xd')]){logger[_0xc93c('0x1a')](_0xc93c('0x32'));return BPromise[_0xc93c('0x28')]({'id':_0x2254f9[_0xc93c('0x29')][0x0]['id'],'email':_0x2254f9[_0xc93c('0x29')][0x0]['email1'],'name':_0x2254f9['result'][0x0]['first_name']+'\x20'+_0x2254f9[_0xc93c('0x29')]['last_name']});}else{logger[_0xc93c('0x1a')](_0xc93c('0x33'));return BPromise[_0xc93c('0x28')]({'id':_0x32c4e0[_0xc93c('0x34')],'email':_0x4430f9['username'],'name':_0xc93c('0x35')});}})[_0xc93c('0x36')](function(_0x159c94){var _0x52b688=_0x159c94[_0xc93c('0x2c')]||0x1f4;logger['error']('[vTiger],\x20%s,\x20%s,\x20%s',_0xc93c('0x37'),_0x52b688,JSON[_0xc93c('0x26')](_0x159c94));});}else{logger[_0xc93c('0x1a')](_0xc93c('0x33'));return BPromise['resolve']({'id':_0x32c4e0[_0xc93c('0x34')],'email':_0x4430f9[_0xc93c('0x23')],'name':_0xc93c('0x35')})[_0xc93c('0x36')](function(_0x474c4d){var _0x39a7d6=_0x474c4d['statusCode']||0x1f4;logger[_0xc93c('0x2b')](_0xc93c('0x38'),_0xc93c('0x37'),_0x39a7d6,JSON[_0xc93c('0x26')](_0x474c4d));});}}function getEndUser(_0xaf0772,_0x2ef401,_0x180bc3,_0x15d0e7){logger['info'](_0xc93c('0x39'),_0x180bc3);return request({'method':_0xc93c('0x2f'),'uri':util[_0xc93c('0x20')](_0xc93c('0x21'),_0xaf0772[_0xc93c('0x22')]),'qs':{'operation':_0xc93c('0x3a'),'username':_0xaf0772['username'],'sessionName':_0x15d0e7[_0xc93c('0x24')],'query':util[_0xc93c('0x20')](_0xc93c('0x3b'),_0x180bc3,_0x180bc3,_0x180bc3,_0x180bc3,_0x180bc3)},'json':!![]})[_0xc93c('0x31')](function(_0x35c267){if(_0x35c267[_0xc93c('0x27')]&&_0x35c267[_0xc93c('0x29')][_0xc93c('0xd')]){logger[_0xc93c('0x1a')]('Enduser\x20found!');return BPromise[_0xc93c('0x28')]({'id':_0x35c267[_0xc93c('0x29')][0x0]['id'],'name':_0x35c267[_0xc93c('0x29')][0x0][_0xc93c('0x3c')]+'\x20'+_0x35c267['result'][0x0]['lastname'],'phone':_0x180bc3});}else{logger['info'](_0xc93c('0x3d'));return request({'method':'POST','uri':util['format'](_0xc93c('0x21'),_0xaf0772[_0xc93c('0x22')]),'form':{'operation':_0xc93c('0x3e'),'sessionName':_0x15d0e7[_0xc93c('0x24')],'elementType':_0xc93c('0x3f'),'element':JSON[_0xc93c('0x26')]({'lastname':_0x2ef401,'phone':_0x180bc3,'assigned_user_id':'\x20'})},'json':!![]})[_0xc93c('0x31')](function(_0xee53fa){logger['info']('Enduser\x20created.');return BPromise['resolve']({'id':_0xee53fa[_0xc93c('0x29')]['id'],'name':_0xee53fa[_0xc93c('0x29')]['lastname'],'phone':_0xee53fa['result'][_0xc93c('0x40')]});})[_0xc93c('0x36')](function(_0x436a73){var _0x52dce2=_0x436a73['statusCode']||0x1f4;logger[_0xc93c('0x2b')](_0xc93c('0x38'),'getEndUser',_0x52dce2,JSON[_0xc93c('0x26')](_0x436a73));});}});}function getConnection(_0x312324){var _0xfee3c4=_0x312324[_0xc93c('0x23')];var _0x542852=_0x312324[_0xc93c('0x41')];return request({'method':'GET','uri':util[_0xc93c('0x20')]('%s/webservice.php',_0x312324['remoteUri']),'qs':{'operation':_0xc93c('0x42'),'username':_0xfee3c4},'json':!![]})[_0xc93c('0x31')](function(_0x3c95d4){if(_0x3c95d4[_0xc93c('0x27')]){return request({'method':'POST','uri':util[_0xc93c('0x20')](_0xc93c('0x21'),_0x312324['remoteUri']),'form':{'operation':_0xc93c('0x43'),'username':_0xfee3c4,'accessKey':md5(_0x3c95d4[_0xc93c('0x29')][_0xc93c('0x44')]+_0x542852)},'json':!![]});}})[_0xc93c('0x31')](function(_0xef220f){if(_0xef220f[_0xc93c('0x27')]){return BPromise[_0xc93c('0x28')](_0xef220f[_0xc93c('0x29')]);}else{throw new Error(util['format']('Account\x20%d\x20is\x20not\x20valid',_0x312324['id']));}})[_0xc93c('0x36')](function(_0x35b029){var _0x2f1a78=_0x35b029[_0xc93c('0x2c')]||0x1f4;logger[_0xc93c('0x2b')](_0xc93c('0x38'),_0xc93c('0x45'),_0x2f1a78,JSON[_0xc93c('0x26')](_0x35b029));});}function request(_0x35b5f4){logger[_0xc93c('0x1a')](_0xc93c('0x46'),JSON['stringify'](_0x35b5f4));return rp(_0x35b5f4);}exports['queue']=function(_0x1d0a6b,_0x2553d2,_0x6b9fab,_0x5e005b,_0x1a4a6c,_0x46eb9c){var _0x393611,_0x5d07ab,_0x2567f5,_0x482ed4;_0x46eb9c[_0xc93c('0x22')]=intUtil[_0xc93c('0x47')](_0x46eb9c[_0xc93c('0x22')]);if(_0x1a4a6c&&_0x1a4a6c[_0xc93c('0x48')]){logger[_0xc93c('0x1a')](_0xc93c('0x49'),_0xc93c('0x4a'));_0x2553d2['recordingURL']=util[_0xc93c('0x20')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x46eb9c['serverUrl'],_0x2553d2[_0xc93c('0x4b')],md5(_0x2553d2[_0xc93c('0x4b')]));}else{_0x2553d2[_0xc93c('0x4c')]='';}return getConnection(_0x46eb9c)[_0xc93c('0x31')](function(_0x315419){_0x482ed4=_0x315419;return getUser(_0x46eb9c,_0x5e005b[_0xc93c('0x4d')],_0x482ed4);})[_0xc93c('0x31')](function(_0x564622){_0x393611=_0x564622;logger['info'](_0xc93c('0x4e'),_0x393611['id']);return getEndUser(_0x46eb9c,_0x2553d2[_0xc93c('0x4f')],_0x2553d2[_0xc93c('0x50')],_0x482ed4);})['then'](function(_0x4ec638){_0x5d07ab=_0x4ec638;logger[_0xc93c('0x1a')](_0xc93c('0x51'),_0x5d07ab['id']);return createTicket(_0x46eb9c,_0x393611,_0x5d07ab,_0x6b9fab,_0x2553d2,_0x6b9fab[_0xc93c('0x52')],_0x482ed4);})['then'](function(_0x4e8b56){_0x2567f5=_0x4e8b56;logger[_0xc93c('0x1a')](_0xc93c('0x53'));logger[_0xc93c('0x1a')]('The\x20Ticket\x20ID\x20is:',_0x2567f5['id']);var _0xcef264=util['format'](_0xc93c('0x54'),_0x46eb9c[_0xc93c('0x22')],_['split'](_0x2567f5['id'],'x')[0x1]);logger['info'](_0xc93c('0x49'),_0xc93c('0x55'));emit(util[_0xc93c('0x20')](_0xc93c('0x56'),_0x5e005b[_0xc93c('0x18')]),_0xc93c('0x57'),{'uri':_0xcef264});})[_0xc93c('0x36')](function(_0x4f8a55){logger[_0xc93c('0x2b')]('[QUEUE]',JSON[_0xc93c('0x26')](_0x4f8a55));});};exports[_0xc93c('0x58')]=function(_0x880990,_0x3277c4,_0x1ea144,_0x3ef4de,_0x570d8e,_0xb76cf6,_0x5af46a){var _0x535c2b,_0x3239a3,_0x39f378,_0x2e24bc;_0xb76cf6[_0xc93c('0x22')]=intUtil[_0xc93c('0x47')](_0xb76cf6[_0xc93c('0x22')]);_0xb76cf6[_0xc93c('0x59')]=intUtil[_0xc93c('0x47')](_0xb76cf6[_0xc93c('0x59')]);if(_0x5af46a&&_0x5af46a[_0xc93c('0x5a')]&&_0x5af46a['recordingFormat']!=='none'){logger[_0xc93c('0x1a')](_0xc93c('0x5b'),'Recording\x20is\x20enabled!');_0x3277c4['recordingURL']=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0xb76cf6['serverUrl'],_0x3277c4[_0xc93c('0x4b')],md5(_0x3277c4[_0xc93c('0x4b')]));}return getConnection(_0xb76cf6)[_0xc93c('0x31')](function(_0x307cbb){_0x2e24bc=_0x307cbb;return getUser(_0xb76cf6,_0x3ef4de[_0xc93c('0x4d')],_0x2e24bc);})[_0xc93c('0x31')](function(_0x20097a){_0x535c2b=_0x20097a;logger[_0xc93c('0x1a')](_0xc93c('0x4e'),_0x535c2b['id']);return getEndUser(_0xb76cf6,_0x3277c4[_0xc93c('0x5c')],_0x3277c4[_0xc93c('0x5d')],_0x2e24bc);})[_0xc93c('0x31')](function(_0x3e528a){_0x3239a3=_0x3e528a;logger[_0xc93c('0x1a')](_0xc93c('0x51'),_0x3239a3['id']);return createTicket(_0xb76cf6,_0x535c2b,_0x3239a3,_0x1ea144,_0x3277c4,_0x1ea144[_0xc93c('0x52')],_0x2e24bc);})[_0xc93c('0x31')](function(_0x211ff2){_0x39f378=_0x211ff2;logger['info'](_0xc93c('0x53'));logger[_0xc93c('0x1a')]('The\x20Ticket\x20ID\x20is:',_0x39f378['id']);var _0x2e3c4b=util['format'](_0xc93c('0x54'),_0xb76cf6[_0xc93c('0x22')],_[_0xc93c('0x5e')](_0x39f378['id'],'x')[0x1]);logger[_0xc93c('0x1a')](_0xc93c('0x5b'),_0xc93c('0x55'));emit(util[_0xc93c('0x20')]('user:%s',_0x3ef4de[_0xc93c('0x18')]),_0xc93c('0x57'),{'uri':_0x2e3c4b});})[_0xc93c('0x36')](function(_0x1c1423){logger[_0xc93c('0x2b')]('[OUTBOUND]',JSON[_0xc93c('0x26')](_0x1c1423));});};exports['unmanaged']=function(_0x430d96,_0x2ec3f7,_0x2e1b16,_0x31bd59,_0x2c8096,_0x17a735){var _0x3aab72,_0x2fe9d3,_0x5653eb,_0x5ac9a1;_0x17a735[_0xc93c('0x22')]=intUtil[_0xc93c('0x47')](_0x17a735[_0xc93c('0x22')]);_0x17a735[_0xc93c('0x59')]=intUtil[_0xc93c('0x47')](_0x17a735[_0xc93c('0x59')]);if(_0x2c8096&&_0x2c8096['monitor_format']){logger[_0xc93c('0x1a')]('['+_0x2ec3f7[_0xc93c('0x5f')][_0xc93c('0x60')]()+']',_0xc93c('0x4a'));_0x2ec3f7[_0xc93c('0x4c')]=util[_0xc93c('0x20')](_0xc93c('0x61'),_0x17a735['serverUrl'],_0x2ec3f7['uniqueid'],md5(_0x2ec3f7[_0xc93c('0x4b')]));}else{_0x2ec3f7['recordingURL']='';}return getConnection(_0x17a735)[_0xc93c('0x31')](function(_0x5eb757){_0x5ac9a1=_0x5eb757;return getUser(_0x17a735,'',_0x5ac9a1);})[_0xc93c('0x31')](function(_0x57eb26){_0x3aab72=_0x57eb26;logger['info']('The\x20User\x20ID\x20is:',_0x3aab72['id']);return getEndUser(_0x17a735,_0x2ec3f7[_0xc93c('0x4f')],_0x2ec3f7['calleridnum'],_0x5ac9a1);})[_0xc93c('0x31')](function(_0x4d7d44){_0x2fe9d3=_0x4d7d44;logger[_0xc93c('0x1a')](_0xc93c('0x51'),_0x2fe9d3['id']);return createTicket(_0x17a735,_0x3aab72,_0x2fe9d3,_0x2e1b16,_0x2ec3f7,_0x2e1b16['Fields'],_0x5ac9a1);})[_0xc93c('0x31')](function(_0x47fcc4){_0x5653eb=_0x47fcc4;logger[_0xc93c('0x1a')](_0xc93c('0x53'));logger[_0xc93c('0x1a')](_0xc93c('0x62'),_0x5653eb['id']);})[_0xc93c('0x36')](function(_0x8a3f32){logger['error']('['+_0x2ec3f7[_0xc93c('0x5f')]['toUpperCase']()+']',JSON[_0xc93c('0x26')](_0x8a3f32));});};
\ No newline at end of file
+var _0xa76b=['%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','serverUrl','uniqueid','recordingURL','email','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','%s/index.php?module=HelpDesk&view=Detail&record=%s&app=SUPPORT','split','user:%s','trigger:browser:url','stripTrailingSlash','recordingFormat','none','[OUTBOUND]','The\x20User\x20ID\x20is:','destcalleridname','destcalleridnum','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','monitor_format','lastevent','toUpperCase','request-promise','bluebird','md5','util','ioredis','./util','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','forEach','idField','content','toString','type','variable','variableName','customVariable','Variable','name','info','Creating\x20new\x20ticket...','Normal','Open','Subjects','getString','Descriptions','POST','format','%s/webservice.php','remoteUri','create','sessionName','stringify','success','resolve','result','Ticket\x20could\x20not\x20be\x20created\x20due\x20to:\x20%s','catch','statusCode','error','createTicket','validateEmail','Getting\x20agent\x20with\x20email','GET','query','username','length','first_name','last_name','userId','admin','[vTiger],\x20%s,\x20%s,\x20%s','getUser','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','Searching\x20end\x20user\x20with\x20phone','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;','then','Enduser\x20found!','firstname','lastname','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','Contacts','phone','accessKey','getchallenge','login','Account\x20%d\x20is\x20not\x20valid','queue','[QUEUE]','Recording\x20is\x20enabled!'];(function(_0x1a18ed,_0xbc2127){var _0x15d49f=function(_0x387ecd){while(--_0x387ecd){_0x1a18ed['push'](_0x1a18ed['shift']());}};_0x15d49f(++_0xbc2127);}(_0xa76b,0x1a1));var _0xba76=function(_0x4faefc,_0x230d2f){_0x4faefc=_0x4faefc-0x0;var _0x7bbf=_0xa76b[_0x4faefc];return _0x7bbf;};'use strict';var _=require('lodash');var rp=require(_0xba76('0x0'));var BPromise=require(_0xba76('0x1'));var md5=require(_0xba76('0x2'));var util=require(_0xba76('0x3'));var Redis=require(_0xba76('0x4'));var intUtil=require(_0xba76('0x5'));var config=require(_0xba76('0x6'));var logger=require(_0xba76('0x7'))('vTiger');config[_0xba76('0x8')]=_[_0xba76('0x9')](config[_0xba76('0x8')],{'host':_0xba76('0xa'),'port':0x18eb});var io=require(_0xba76('0xb'))(new Redis(config[_0xba76('0x8')]));function emit(_0x23471c,_0x580c22,_0x9b0d89){io['to'](_0x23471c)['emit'](_0x580c22,_0x9b0d89);}function getCustomFields(_0x5ba74c,_0x3ecccb){var _0x4bf362={};if(_0x5ba74c['length']>0x0){_[_0xba76('0xc')](_0x5ba74c,function(_0x4c70d2){if(_0x4c70d2['type']==='string'&&_0x4c70d2[_0xba76('0xd')]){_0x4bf362[_0x4c70d2[_0xba76('0xd')]]=_0x4c70d2[_0xba76('0xe')][_0xba76('0xf')]();}else if(_0x4c70d2[_0xba76('0x10')]===_0xba76('0x11')&&_0x4c70d2[_0xba76('0x12')]&&_0x4c70d2[_0xba76('0xd')]&&_0x3ecccb[_0x4c70d2[_0xba76('0x12')]]){_0x4bf362[_0x4c70d2[_0xba76('0xd')]]=_0x3ecccb[_0x4c70d2[_0xba76('0x12')]]['toString']();}else if(_0x4c70d2['type']===_0xba76('0x13')&&_0x4c70d2[_0xba76('0x14')]&&_0x4c70d2['Variable']['name']&&_0x4c70d2[_0xba76('0xd')]&&_0x3ecccb[_0x4c70d2[_0xba76('0x14')][_0xba76('0x15')]['toLowerCase']()]){_0x4bf362[_0x4c70d2['idField']]=_0x3ecccb[_0x4c70d2['Variable'][_0xba76('0x15')]['toLowerCase']()][_0xba76('0xf')]();}});}return _0x4bf362;}function createTicket(_0x14b3e8,_0x1f6068,_0x3ba09b,_0x2d00d6,_0x363c84,_0x1d1904,_0x4c97cf){logger[_0xba76('0x16')](_0xba76('0x17'));var _0x31bf05=_['merge']({'parent_id':'','assigned_user_id':_0x1f6068['id'],'ticketpriorities':_0xba76('0x18'),'ticketstatus':_0xba76('0x19'),'ticket_title':intUtil['getString'](_0x2d00d6[_0xba76('0x1a')],_0x363c84,'\x20'),'description':intUtil[_0xba76('0x1b')](_0x2d00d6[_0xba76('0x1c')],_0x363c84,'\x0a'),'contact_id':_0x3ba09b['id']},getCustomFields(_0x1d1904,_0x363c84));var _0x43b19b={'method':_0xba76('0x1d'),'uri':util[_0xba76('0x1e')](_0xba76('0x1f'),_0x14b3e8[_0xba76('0x20')]),'form':{'operation':_0xba76('0x21'),'username':_0x14b3e8['username'],'sessionName':_0x4c97cf[_0xba76('0x22')],'elementType':'HelpDesk','element':JSON[_0xba76('0x23')](_0x31bf05)},'json':!![]};return request(_0x43b19b)['then'](function(_0x5b4e18){if(_0x5b4e18[_0xba76('0x24')]){return BPromise[_0xba76('0x25')]({'id':_0x5b4e18[_0xba76('0x26')]['id']});}else{throw new Error(util[_0xba76('0x1e')](_0xba76('0x27'),JSON[_0xba76('0x23')](_0x5b4e18['error'])));}})[_0xba76('0x28')](function(_0x46e110){var _0x56f3ca=_0x46e110[_0xba76('0x29')]||0x1f4;logger[_0xba76('0x2a')]('[vTiger],\x20%s,\x20%s,\x20%s',_0xba76('0x2b'),_0x56f3ca,JSON[_0xba76('0x23')](_0x46e110));});}function getUser(_0x454942,_0x394e2b,_0x1ce80e){if(intUtil[_0xba76('0x2c')](_0x394e2b)){logger[_0xba76('0x16')](_0xba76('0x2d'),_0x394e2b);return request({'method':_0xba76('0x2e'),'uri':util[_0xba76('0x1e')]('%s/webservice.php',_0x454942[_0xba76('0x20')]),'qs':{'operation':_0xba76('0x2f'),'username':_0x454942[_0xba76('0x30')],'sessionName':_0x1ce80e[_0xba76('0x22')],'query':util[_0xba76('0x1e')]('SELECT\x20first_name,\x20last_name,\x20email1\x20FROM\x20Users\x20WHERE\x20email1=\x27%s\x27;',_0x394e2b)},'json':!![]})['then'](function(_0x15ada4){if(_0x15ada4[_0xba76('0x24')]&&_0x15ada4[_0xba76('0x26')][_0xba76('0x31')]){logger[_0xba76('0x16')]('Agent\x20found!');return BPromise[_0xba76('0x25')]({'id':_0x15ada4[_0xba76('0x26')][0x0]['id'],'email':_0x15ada4[_0xba76('0x26')][0x0]['email1'],'name':_0x15ada4[_0xba76('0x26')][0x0][_0xba76('0x32')]+'\x20'+_0x15ada4['result'][_0xba76('0x33')]});}else{logger[_0xba76('0x16')]('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');return BPromise[_0xba76('0x25')]({'id':_0x1ce80e[_0xba76('0x34')],'email':_0x454942[_0xba76('0x30')],'name':_0xba76('0x35')});}})[_0xba76('0x28')](function(_0x46a750){var _0x28ad9d=_0x46a750[_0xba76('0x29')]||0x1f4;logger[_0xba76('0x2a')](_0xba76('0x36'),_0xba76('0x37'),_0x28ad9d,JSON['stringify'](_0x46a750));});}else{logger['info'](_0xba76('0x38'));return BPromise[_0xba76('0x25')]({'id':_0x1ce80e['userId'],'email':_0x454942['username'],'name':'admin'})[_0xba76('0x28')](function(_0x5d1181){var _0x2d2cd6=_0x5d1181[_0xba76('0x29')]||0x1f4;logger[_0xba76('0x2a')](_0xba76('0x36'),_0xba76('0x37'),_0x2d2cd6,JSON[_0xba76('0x23')](_0x5d1181));});}}function getEndUser(_0x2c795d,_0x4498bd,_0x14e3dc,_0x37d3f3){logger['info'](_0xba76('0x39'),_0x14e3dc);return request({'method':_0xba76('0x2e'),'uri':util[_0xba76('0x1e')](_0xba76('0x1f'),_0x2c795d[_0xba76('0x20')]),'qs':{'operation':_0xba76('0x2f'),'username':_0x2c795d[_0xba76('0x30')],'sessionName':_0x37d3f3[_0xba76('0x22')],'query':util[_0xba76('0x1e')](_0xba76('0x3a'),_0x14e3dc,_0x14e3dc,_0x14e3dc,_0x14e3dc,_0x14e3dc)},'json':!![]})[_0xba76('0x3b')](function(_0x3f79d8){if(_0x3f79d8['success']&&_0x3f79d8['result']['length']){logger[_0xba76('0x16')](_0xba76('0x3c'));return BPromise[_0xba76('0x25')]({'id':_0x3f79d8[_0xba76('0x26')][0x0]['id'],'name':_0x3f79d8[_0xba76('0x26')][0x0][_0xba76('0x3d')]+'\x20'+_0x3f79d8[_0xba76('0x26')][0x0][_0xba76('0x3e')],'phone':_0x14e3dc});}else{logger[_0xba76('0x16')](_0xba76('0x3f'));return request({'method':_0xba76('0x1d'),'uri':util[_0xba76('0x1e')]('%s/webservice.php',_0x2c795d[_0xba76('0x20')]),'form':{'operation':_0xba76('0x21'),'sessionName':_0x37d3f3['sessionName'],'elementType':_0xba76('0x40'),'element':JSON[_0xba76('0x23')]({'lastname':_0x4498bd,'phone':_0x14e3dc,'assigned_user_id':'\x20'})},'json':!![]})[_0xba76('0x3b')](function(_0x1a3feb){logger[_0xba76('0x16')]('Enduser\x20created.');return BPromise[_0xba76('0x25')]({'id':_0x1a3feb['result']['id'],'name':_0x1a3feb[_0xba76('0x26')][_0xba76('0x3e')],'phone':_0x1a3feb[_0xba76('0x26')][_0xba76('0x41')]});})[_0xba76('0x28')](function(_0x38f41b){var _0x479309=_0x38f41b['statusCode']||0x1f4;logger[_0xba76('0x2a')](_0xba76('0x36'),'getEndUser',_0x479309,JSON[_0xba76('0x23')](_0x38f41b));});}});}function getConnection(_0x3e5b4a){var _0x5bd617=_0x3e5b4a[_0xba76('0x30')];var _0x5ca37d=_0x3e5b4a[_0xba76('0x42')];return request({'method':_0xba76('0x2e'),'uri':util['format'](_0xba76('0x1f'),_0x3e5b4a['remoteUri']),'qs':{'operation':_0xba76('0x43'),'username':_0x5bd617},'json':!![]})[_0xba76('0x3b')](function(_0x3f72e2){if(_0x3f72e2['success']){return request({'method':'POST','uri':util[_0xba76('0x1e')]('%s/webservice.php',_0x3e5b4a[_0xba76('0x20')]),'form':{'operation':_0xba76('0x44'),'username':_0x5bd617,'accessKey':md5(_0x3f72e2[_0xba76('0x26')]['token']+_0x5ca37d)},'json':!![]});}})[_0xba76('0x3b')](function(_0x3f06a6){if(_0x3f06a6[_0xba76('0x24')]){return BPromise[_0xba76('0x25')](_0x3f06a6['result']);}else{throw new Error(util[_0xba76('0x1e')](_0xba76('0x45'),_0x3e5b4a['id']));}})['catch'](function(_0x2a63c1){var _0x45ee27=_0x2a63c1[_0xba76('0x29')]||0x1f4;logger[_0xba76('0x2a')]('[vTiger],\x20%s,\x20%s,\x20%s','getConnection',_0x45ee27,JSON['stringify'](_0x2a63c1));});}function request(_0x2f8916){logger[_0xba76('0x16')]('[HTTP]',JSON[_0xba76('0x23')](_0x2f8916));return rp(_0x2f8916);}exports[_0xba76('0x46')]=function(_0x162c5b,_0x5c67ef,_0x3c29e3,_0x22e62d,_0xfd1e09,_0x5e0201){var _0x10d9cd,_0x186f4a,_0x6320b7,_0x2d327f;_0x5e0201[_0xba76('0x20')]=intUtil['stripTrailingSlash'](_0x5e0201['remoteUri']);if(_0xfd1e09&&_0xfd1e09['monitor_format']){logger['info'](_0xba76('0x47'),_0xba76('0x48'));_0x5c67ef['recordingURL']=util[_0xba76('0x1e')](_0xba76('0x49'),_0x5e0201[_0xba76('0x4a')],_0x5c67ef[_0xba76('0x4b')],md5(_0x5c67ef['uniqueid']));}else{_0x5c67ef[_0xba76('0x4c')]='';}return getConnection(_0x5e0201)[_0xba76('0x3b')](function(_0x21ef01){_0x2d327f=_0x21ef01;return getUser(_0x5e0201,_0x22e62d[_0xba76('0x4d')],_0x2d327f);})[_0xba76('0x3b')](function(_0x510111){_0x10d9cd=_0x510111;logger[_0xba76('0x16')]('The\x20User\x20ID\x20is:',_0x10d9cd['id']);return getEndUser(_0x5e0201,_0x5c67ef[_0xba76('0x4e')],_0x5c67ef[_0xba76('0x4f')],_0x2d327f);})[_0xba76('0x3b')](function(_0x1ca4bc){_0x186f4a=_0x1ca4bc;logger['info'](_0xba76('0x50'),_0x186f4a['id']);return createTicket(_0x5e0201,_0x10d9cd,_0x186f4a,_0x3c29e3,_0x5c67ef,_0x3c29e3[_0xba76('0x51')],_0x2d327f);})['then'](function(_0x42ad17){_0x6320b7=_0x42ad17;logger[_0xba76('0x16')]('Ticket\x20created!');logger[_0xba76('0x16')]('The\x20Ticket\x20ID\x20is:',_0x6320b7['id']);var _0x57a2c5=util[_0xba76('0x1e')](_0xba76('0x52'),_0x5e0201['remoteUri'],_[_0xba76('0x53')](_0x6320b7['id'],'x')[0x1]);logger['info'](_0xba76('0x47'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xba76('0x1e')](_0xba76('0x54'),_0x22e62d[_0xba76('0x15')]),_0xba76('0x55'),{'uri':_0x57a2c5});})[_0xba76('0x28')](function(_0x478ced){logger[_0xba76('0x2a')](_0xba76('0x47'),JSON[_0xba76('0x23')](_0x478ced));});};exports['outbound']=function(_0x52278b,_0x21e564,_0x3a692b,_0x2baef8,_0x257aba,_0x10961e,_0x552d88){var _0x45f610,_0x1ecb39,_0x303a88,_0x3b7e0c;_0x10961e['remoteUri']=intUtil[_0xba76('0x56')](_0x10961e[_0xba76('0x20')]);_0x10961e[_0xba76('0x4a')]=intUtil[_0xba76('0x56')](_0x10961e[_0xba76('0x4a')]);if(_0x552d88&&_0x552d88[_0xba76('0x57')]&&_0x552d88['recordingFormat']!==_0xba76('0x58')){logger[_0xba76('0x16')](_0xba76('0x59'),_0xba76('0x48'));_0x21e564[_0xba76('0x4c')]=util[_0xba76('0x1e')](_0xba76('0x49'),_0x10961e[_0xba76('0x4a')],_0x21e564[_0xba76('0x4b')],md5(_0x21e564['uniqueid']));}return getConnection(_0x10961e)[_0xba76('0x3b')](function(_0x4d6fcf){_0x3b7e0c=_0x4d6fcf;return getUser(_0x10961e,_0x2baef8[_0xba76('0x4d')],_0x3b7e0c);})[_0xba76('0x3b')](function(_0x145a45){_0x45f610=_0x145a45;logger['info'](_0xba76('0x5a'),_0x45f610['id']);return getEndUser(_0x10961e,_0x21e564[_0xba76('0x5b')],_0x21e564[_0xba76('0x5c')],_0x3b7e0c);})[_0xba76('0x3b')](function(_0x596ab6){_0x1ecb39=_0x596ab6;logger[_0xba76('0x16')](_0xba76('0x50'),_0x1ecb39['id']);return createTicket(_0x10961e,_0x45f610,_0x1ecb39,_0x3a692b,_0x21e564,_0x3a692b[_0xba76('0x51')],_0x3b7e0c);})[_0xba76('0x3b')](function(_0xe316dd){_0x303a88=_0xe316dd;logger[_0xba76('0x16')](_0xba76('0x5d'));logger['info'](_0xba76('0x5e'),_0x303a88['id']);var _0x311785=util['format']('%s/index.php?module=HelpDesk&view=Detail&record=%s&app=SUPPORT',_0x10961e[_0xba76('0x20')],_[_0xba76('0x53')](_0x303a88['id'],'x')[0x1]);logger[_0xba76('0x16')](_0xba76('0x59'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0xba76('0x1e')]('user:%s',_0x2baef8['name']),_0xba76('0x55'),{'uri':_0x311785});})[_0xba76('0x28')](function(_0x31ef48){logger[_0xba76('0x2a')](_0xba76('0x59'),JSON[_0xba76('0x23')](_0x31ef48));});};exports['unmanaged']=function(_0xd0e8a5,_0x75f707,_0x46f973,_0x4b58cf,_0x322080,_0x123905){var _0x4e566c,_0x59947c,_0x13c3f3,_0x23c612;_0x123905[_0xba76('0x20')]=intUtil[_0xba76('0x56')](_0x123905['remoteUri']);_0x123905['serverUrl']=intUtil[_0xba76('0x56')](_0x123905['serverUrl']);if(_0x322080&&_0x322080[_0xba76('0x5f')]){logger['info']('['+_0x75f707[_0xba76('0x60')][_0xba76('0x61')]()+']',_0xba76('0x48'));_0x75f707[_0xba76('0x4c')]=util[_0xba76('0x1e')](_0xba76('0x49'),_0x123905[_0xba76('0x4a')],_0x75f707[_0xba76('0x4b')],md5(_0x75f707[_0xba76('0x4b')]));}else{_0x75f707[_0xba76('0x4c')]='';}return getConnection(_0x123905)[_0xba76('0x3b')](function(_0x41944b){_0x23c612=_0x41944b;return getUser(_0x123905,'',_0x23c612);})['then'](function(_0x48e12f){_0x4e566c=_0x48e12f;logger['info']('The\x20User\x20ID\x20is:',_0x4e566c['id']);return getEndUser(_0x123905,_0x75f707[_0xba76('0x4e')],_0x75f707[_0xba76('0x4f')],_0x23c612);})[_0xba76('0x3b')](function(_0x227bd5){_0x59947c=_0x227bd5;logger['info']('The\x20Enduser\x20ID\x20is:',_0x59947c['id']);return createTicket(_0x123905,_0x4e566c,_0x59947c,_0x46f973,_0x75f707,_0x46f973[_0xba76('0x51')],_0x23c612);})[_0xba76('0x3b')](function(_0x3b6407){_0x13c3f3=_0x3b6407;logger[_0xba76('0x16')](_0xba76('0x5d'));logger[_0xba76('0x16')]('The\x20Ticket\x20ID\x20is:',_0x13c3f3['id']);})[_0xba76('0x28')](function(_0x286548){logger['error']('['+_0x75f707[_0xba76('0x60')][_0xba76('0x61')]()+']',JSON['stringify'](_0x286548));});};
\ No newline at end of file