Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / services / ami / trigger / integration / sugarcrm.js
index 09d15e9..886847b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xa49d=['customField','nameField','content','custom_fields','variable','Variable','toLowerCase','username','password','PLAIN','xCALLY\x20Motion\x20integration','sessionID','set_relationship','remoteUri','stripTrailingSlash','serverUrl','%s/service/v4_1/rest.php','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','The\x20User\x20ID\x20is:','Inbound','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','users','version','charAt','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','catch','outbound','uri','recordingFormat','none','[OUTBOUND]','destcalleridname','destcalleridnum','The\x20Enduser\x20ID\x20is:','Fields','contacts','%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s','%s/#bwc/index.php?module=Calls&action=EditView&record=%s','unmanaged','toUpperCase','isNil','calleridname','calleridnum','error','lastevent','request-promise','bluebird','md5','util','../../../../config/environment','../../../../config/logger','sugarcrm','redis','defaults','localhost','POST','emit','Creating\x20new\x20ticket...','getString','Subjects','assigned_user_id','created_by','description','Descriptions','date_start','toISOString','slice','replace','duration_hours','duration_minutes','parent_id','Contacts','parent_name','direction','length','variableName','push','idField','set_entry','JSON','stringify','Calls','Basic\x20%s','apiKey','toString','get_server_info','info','Getting\x20agent\x20with\x20name','Employees','format','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','name','user_name','then','find','entry_list','name_value_list','value','Agent\x20found!','resolve','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_id','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','Searching\x20enduser\x20with\x20phone','get_entry_list','contacts.phone_home\x20=\x20\x22%s\x22','phone_home','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','first_name','<unknown>','Caller\x20-\x20%s','debug','type','string'];(function(_0x52bfa5,_0x42cf21){var _0x26f80b=function(_0x73c5b0){while(--_0x73c5b0){_0x52bfa5['push'](_0x52bfa5['shift']());}};_0x26f80b(++_0x42cf21);}(_0xa49d,0xad));var _0xda49=function(_0x50f245,_0x1a0492){_0x50f245=_0x50f245-0x0;var _0x3eea8d=_0xa49d[_0x50f245];return _0x3eea8d;};'use strict';var _=require('lodash');var rp=require(_0xda49('0x0'));var BPromise=require(_0xda49('0x1'));var md5=require(_0xda49('0x2'));var util=require(_0xda49('0x3'));var Redis=require('ioredis');var intUtil=require('./util');var config=require(_0xda49('0x4'));var logger=require(_0xda49('0x5'))(_0xda49('0x6'));config[_0xda49('0x7')]=_[_0xda49('0x8')](config['redis'],{'host':_0xda49('0x9'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xda49('0x7')]));var def={'method':_0xda49('0xa'),'json':!![]};function emit(_0x21ed85,_0x853db8,_0x2fa9d3){io['to'](_0x21ed85)[_0xda49('0xb')](_0x853db8,_0x2fa9d3);}function getTicket(_0x4200da,_0x47a8cd,_0x51da34,_0x4f5dc8,_0x2b137d,_0x5ab2f3,_0x4c5684,_0xcae296){logger['info'](_0xda49('0xc'));var _0x31620a=new Date();var _0x699fac=[{'name':'name','value':intUtil[_0xda49('0xd')](_0x4f5dc8[_0xda49('0xe')],_0x2b137d,'\x20')},{'name':_0xda49('0xf'),'value':_0x47a8cd['id']},{'name':_0xda49('0x10'),'value':_0x47a8cd['id']},{'name':_0xda49('0x11'),'value':intUtil['getString'](_0x4f5dc8[_0xda49('0x12')],_0x2b137d,'\x0a')},{'name':_0xda49('0x13'),'value':_0x31620a[_0xda49('0x14')]()[_0xda49('0x15')](0x0,0x13)[_0xda49('0x16')]('T','\x20')},{'name':_0xda49('0x17'),'value':'0'},{'name':_0xda49('0x18'),'value':'15'},{'name':_0xda49('0x19'),'value':_0x51da34['id']},{'name':'parent_type','value':_0xda49('0x1a')},{'name':_0xda49('0x1b'),'value':_0x51da34['name']},{'name':_0xda49('0x1c'),'value':_0xcae296}];if(_0x5ab2f3[_0xda49('0x1d')]){_['forEach'](_0x5ab2f3,function(_0x59cbeb){if(_0x2b137d[_0x59cbeb[_0xda49('0x1e')]]){_0x699fac[_0xda49('0x1f')]({'name':_0x59cbeb[_0xda49('0x20')],'value':_0x2b137d[_0x59cbeb[_0xda49('0x1e')]]});}});}return request({'form':{'method':_0xda49('0x21'),'input_type':_0xda49('0x22'),'response_type':_0xda49('0x22'),'rest_data':JSON[_0xda49('0x23')]({'session':_0x4c5684['id'],'module_name':_0xda49('0x24'),'name_value_list':_0x699fac})}});}function getAuth(_0x46789b){return util['format'](_0xda49('0x25'),new Buffer(_0x46789b[_0xda49('0x26')]+':X')[_0xda49('0x27')]('base64'));}function getServerInfo(_0x571651){return request({'form':{'method':_0xda49('0x28'),'input_type':_0xda49('0x22'),'response_type':'JSON','rest_data':JSON['stringify']({'session':_0x571651['id']})}});}function getUser(_0x295cf7,_0x2257ea,_0x1113f9){if(!_['isNil'](_0x2257ea)){logger[_0xda49('0x29')](_0xda49('0x2a'),_0x2257ea);return request({'form':{'method':'get_entry_list','input_type':'JSON','response_type':'JSON','rest_data':JSON[_0xda49('0x23')]({'session':_0x1113f9['id'],'module_name':_0xda49('0x2b'),'query':util[_0xda49('0x2c')](_0xda49('0x2d'),_0x2257ea),'order_by':'','offset':'0','select_fields':['id',_0xda49('0x2e'),_0xda49('0x2f')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xda49('0x30')](function(_0x162e8b){if(_0x162e8b['entry_list'][_0xda49('0x1d')]){var _0x338dd7=_[_0xda49('0x31')](_0x162e8b[_0xda49('0x32')],function(_0x432008){return _0x432008[_0xda49('0x33')][_0xda49('0x2f')][_0xda49('0x34')]===_0x2257ea;});if(_0x338dd7){logger[_0xda49('0x29')](_0xda49('0x35'));return BPromise[_0xda49('0x36')]({'id':_0x338dd7[_0xda49('0x33')]['id']['value'],'name':_0x338dd7['name_value_list'][_0xda49('0x2e')][_0xda49('0x34')]});}}logger[_0xda49('0x29')](_0xda49('0x37'));return BPromise[_0xda49('0x36')]({'id':_0x1113f9[_0xda49('0x33')][_0xda49('0x38')][_0xda49('0x34')],'name':_0x1113f9[_0xda49('0x33')][_0xda49('0x2f')][_0xda49('0x34')]});});}else{logger[_0xda49('0x29')](_0xda49('0x39'));return BPromise[_0xda49('0x36')]({'id':_0x1113f9['name_value_list'][_0xda49('0x38')][_0xda49('0x34')],'name':_0x1113f9[_0xda49('0x33')][_0xda49('0x2f')][_0xda49('0x34')]});}}function getEndUser(_0xeab34b,_0x37be77,_0x1b7ad7,_0x19cba1){logger[_0xda49('0x29')](_0xda49('0x3a'),_0x1b7ad7);return request({'form':{'method':_0xda49('0x3b'),'input_type':_0xda49('0x22'),'response_type':_0xda49('0x22'),'rest_data':JSON[_0xda49('0x23')]({'session':_0x19cba1['id'],'module_name':_0xda49('0x1a'),'query':util[_0xda49('0x2c')](_0xda49('0x3c'),_0x1b7ad7),'order_by':'','offset':'0','select_fields':['id',_0xda49('0x2e'),_0xda49('0x3d')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xda49('0x30')](function(_0x162981){if(_0x162981[_0xda49('0x32')][_0xda49('0x1d')]){var _0x4f5a1b=_[_0xda49('0x31')](_0x162981[_0xda49('0x32')],function(_0x3c3fbd){return _0x3c3fbd[_0xda49('0x33')][_0xda49('0x3d')][_0xda49('0x34')]===_0x1b7ad7;});if(_0x4f5a1b){logger[_0xda49('0x29')]('Enduser\x20found!');return BPromise[_0xda49('0x36')]({'id':_0x4f5a1b[_0xda49('0x33')]['id'][_0xda49('0x34')],'name':_0x4f5a1b[_0xda49('0x33')][_0xda49('0x2e')][_0xda49('0x34')],'phone':_0x4f5a1b[_0xda49('0x33')][_0xda49('0x3d')]['value']});}}else{logger[_0xda49('0x29')](_0xda49('0x3e'));return request({'form':{'method':'set_entry','input_type':_0xda49('0x22'),'response_type':_0xda49('0x22'),'rest_data':JSON[_0xda49('0x23')]({'session':_0x19cba1['id'],'module_name':_0xda49('0x1a'),'name_value_list':[{'name':_0xda49('0x3f'),'value':_0x37be77!==_0xda49('0x40')?_0x37be77:util[_0xda49('0x2c')](_0xda49('0x41'),_0x1b7ad7)},{'name':_0xda49('0x3d'),'value':_0x1b7ad7}]})}})['then'](function(_0x198295){logger['info']('Enduser\x20created.');return BPromise[_0xda49('0x36')]({'id':_0x198295['id'],'name':_0x198295['entry_list'][_0xda49('0x3f')][_0xda49('0x34')],'phone':_0x198295[_0xda49('0x32')][_0xda49('0x3d')][_0xda49('0x34')]});});}});}function request(_0xda34e6){logger[_0xda49('0x42')]('[HTTP]',JSON['stringify'](_0xda34e6));return rp(_['merge'](def,_0xda34e6));}function getTags(_0x5f1430,_0x5097f9){var _0x23f093=[];if(_0x5f1430&&_0x5f1430[_0xda49('0x1d')]>0x0){_0x23f093=_['map'](_0x5f1430,_0x5097f9);}return _0x23f093;}function getCustomFields(_0x3845cd,_0x4bbc44){var _0x2f2190=[];var _0x182679={'custom_fields':[]};if(_0x3845cd[_0xda49('0x1d')]>0x0){_['forEach'](_0x3845cd,function(_0x1e207b){if(_0x1e207b[_0xda49('0x43')]===_0xda49('0x44')&&_0x1e207b['nameField']&&!_0x1e207b[_0xda49('0x45')]){_0x182679[_0x1e207b[_0xda49('0x46')]['toLowerCase']()]=_0x1e207b[_0xda49('0x47')][_0xda49('0x27')]();}else if(_0x1e207b[_0xda49('0x43')]===_0xda49('0x44')&&_0x1e207b[_0xda49('0x20')]&&_0x1e207b[_0xda49('0x45')]){_0x182679[_0xda49('0x48')][_0xda49('0x1f')]({'id':_0x1e207b[_0xda49('0x20')],'value':_0x1e207b[_0xda49('0x47')][_0xda49('0x27')]()});}else if(_0x1e207b[_0xda49('0x43')]===_0xda49('0x49')&&_0x1e207b[_0xda49('0x1e')]&&_0x1e207b[_0xda49('0x20')]&&_0x1e207b[_0xda49('0x45')]){_0x4bbc44[_0x1e207b['variableName']]&&_0x182679[_0xda49('0x48')][_0xda49('0x1f')]({'id':_0x1e207b[_0xda49('0x20')],'value':_0x4bbc44[_0x1e207b[_0xda49('0x1e')]]['toString']()});}else if(_0x1e207b[_0xda49('0x43')]==='customVariable'&&_0x1e207b[_0xda49('0x4a')]&&_0x1e207b[_0xda49('0x4a')][_0xda49('0x2e')]&&_0x1e207b[_0xda49('0x20')]&&_0x1e207b['customField']){_0x4bbc44[_0x1e207b['Variable'][_0xda49('0x2e')]['toLowerCase']()]&&_0x182679[_0xda49('0x48')][_0xda49('0x1f')]({'id':_0x1e207b['idField'],'value':_0x4bbc44[_0x1e207b[_0xda49('0x4a')][_0xda49('0x2e')][_0xda49('0x4b')]()][_0xda49('0x27')]()});}});}return _0x182679;}function getConnection(_0x38730f){return request({'method':_0xda49('0xa'),'form':{'method':'login','input_type':_0xda49('0x22'),'response_type':'JSON','rest_data':JSON[_0xda49('0x23')]({'user_auth':{'user_name':_0x38730f[_0xda49('0x4c')],'password':_0x38730f[_0xda49('0x4d')],'encryption':_0xda49('0x4e')},'application':_0xda49('0x4f')})}})[_0xda49('0x30')](function(_0x2316ad){var _0x33df79=_0x2316ad;if(_0x33df79['id']){def[_0xda49('0x50')]=_0x33df79['id'];return BPromise[_0xda49('0x36')](_0x33df79);}else{throw new Error(util[_0xda49('0x2c')]('Account\x20%d\x20is\x20not\x20valid',_0x38730f['id']));}});}function setRelationship(_0x363509,_0x5e2648,_0x452048,_0x383581){return request({'form':{'method':_0xda49('0x51'),'input_type':_0xda49('0x22'),'response_type':'JSON','rest_data':JSON[_0xda49('0x23')]({'session':_0x363509['id'],'module_name':_0xda49('0x24'),'module_id':_0x452048['id'],'link_field_name':_0x383581,'related_ids':[_0x5e2648['id']],'name_value_list':[],'delete':0x0})}});}exports['queue']=function(_0x1c61e6,_0xcefcea,_0x1f41a9,_0x1c5e99,_0x5a5137,_0x3d7eb7){var _0xb5ed01,_0x4a7dc1,_0x1dbe5a,_0x351d07;_0x3d7eb7[_0xda49('0x52')]=intUtil[_0xda49('0x53')](_0x3d7eb7[_0xda49('0x52')]);_0x3d7eb7[_0xda49('0x54')]=intUtil[_0xda49('0x53')](_0x3d7eb7['serverUrl']);def['uri']=util[_0xda49('0x2c')](_0xda49('0x55'),_0x3d7eb7[_0xda49('0x52')]);if(_0x5a5137&&_0x5a5137[_0xda49('0x56')]){logger[_0xda49('0x29')](_0xda49('0x57'),_0xda49('0x58'));_0xcefcea[_0xda49('0x59')]=util[_0xda49('0x2c')](_0xda49('0x5a'),_0x3d7eb7['serverUrl'],_0xcefcea[_0xda49('0x5b')],md5(_0xcefcea[_0xda49('0x5b')]));}else{_0xcefcea[_0xda49('0x59')]='';}return getConnection(_0x3d7eb7)[_0xda49('0x30')](function(_0x2dc96b){_0x351d07=_0x2dc96b;return getUser(_0x3d7eb7,_0x1c5e99['name'],_0x351d07);})[_0xda49('0x30')](function(_0x2d5afe){_0xb5ed01=_0x2d5afe;logger[_0xda49('0x29')](_0xda49('0x5c'),_0xb5ed01['id']);return getEndUser(_0x3d7eb7,_0xcefcea['calleridname'],_0xcefcea['calleridnum'],_0x351d07);})[_0xda49('0x30')](function(_0x1d5377){_0x4a7dc1=_0x1d5377;logger[_0xda49('0x29')]('The\x20Enduser\x20ID\x20is:',_0x4a7dc1['id']);return getTicket(_0x3d7eb7,_0xb5ed01,_0x4a7dc1,_0x1f41a9,_0xcefcea,_0x1f41a9['Fields'],_0x351d07,_0xda49('0x5d'));})[_0xda49('0x30')](function(_0xdbabd2){_0x1dbe5a=_0xdbabd2;logger['info'](_0xda49('0x5e'));logger[_0xda49('0x29')](_0xda49('0x5f'),_0x1dbe5a['id']);return setRelationship(_0x351d07,_0xb5ed01,_0x1dbe5a,_0xda49('0x60'));})[_0xda49('0x30')](function(){return setRelationship(_0x351d07,_0x4a7dc1,_0x1dbe5a,'contacts');})[_0xda49('0x30')](function(){return getServerInfo(_0x351d07);})[_0xda49('0x30')](function(_0x1ed126){var _0x4acb9a=parseInt(_0x1ed126[_0xda49('0x61')][_0xda49('0x62')](0x0));var _0x1cde76=util[_0xda49('0x2c')]('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x3d7eb7[_0xda49('0x52')],_0x1dbe5a['id']);if(_0x4acb9a>0x6){_0x1cde76=util[_0xda49('0x2c')]('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x3d7eb7[_0xda49('0x52')],_0x1dbe5a['id']);}logger[_0xda49('0x29')]('[QUEUE]',_0xda49('0x63'));emit(util[_0xda49('0x2c')](_0xda49('0x64'),_0x1c5e99[_0xda49('0x2e')]),'trigger:browser:url',{'uri':_0x1cde76});})[_0xda49('0x65')](function(_0x334492){logger['error'](_0xda49('0x57'),JSON[_0xda49('0x23')](_0x334492));});};exports[_0xda49('0x66')]=function(_0x1eb2cf,_0x3064df,_0x4ca1c4,_0x2e465b,_0x56826c,_0x4852dc,_0x3e18c9){var _0x3a8049,_0x53edbc,_0x20d8bc,_0x3868bf;_0x4852dc['remoteUri']=intUtil['stripTrailingSlash'](_0x4852dc[_0xda49('0x52')]);_0x4852dc[_0xda49('0x54')]=intUtil[_0xda49('0x53')](_0x4852dc[_0xda49('0x54')]);def[_0xda49('0x67')]=util[_0xda49('0x2c')](_0xda49('0x55'),_0x4852dc['remoteUri']);if(_0x3e18c9&&_0x3e18c9[_0xda49('0x68')]&&_0x3e18c9['recordingFormat']!==_0xda49('0x69')){logger[_0xda49('0x29')](_0xda49('0x6a'),_0xda49('0x58'));_0x3064df['recordingURL']=util[_0xda49('0x2c')](_0xda49('0x5a'),_0x4852dc[_0xda49('0x54')],_0x3064df[_0xda49('0x5b')],md5(_0x3064df['uniqueid']));}return getConnection(_0x4852dc)[_0xda49('0x30')](function(_0x484f65){_0x3868bf=_0x484f65;return getUser(_0x4852dc,_0x2e465b[_0xda49('0x2e')],_0x3868bf);})['then'](function(_0x5021d9){_0x3a8049=_0x5021d9;logger[_0xda49('0x29')](_0xda49('0x5c'),_0x3a8049['id']);return getEndUser(_0x4852dc,_0x3064df[_0xda49('0x6b')],_0x3064df[_0xda49('0x6c')],_0x3868bf);})[_0xda49('0x30')](function(_0x307d2d){_0x53edbc=_0x307d2d;logger[_0xda49('0x29')](_0xda49('0x6d'),_0x53edbc['id']);return getTicket(_0x4852dc,_0x3a8049,_0x53edbc,_0x4ca1c4,_0x3064df,_0x4ca1c4[_0xda49('0x6e')],_0x3868bf,'Outbound');})[_0xda49('0x30')](function(_0x3a13f0){_0x20d8bc=_0x3a13f0;logger[_0xda49('0x29')](_0xda49('0x5e'));logger[_0xda49('0x29')]('The\x20Ticket\x20ID\x20is:',_0x20d8bc['id']);return setRelationship(_0x3868bf,_0x3a8049,_0x20d8bc,'users');})[_0xda49('0x30')](function(){return setRelationship(_0x3868bf,_0x53edbc,_0x20d8bc,_0xda49('0x6f'));})[_0xda49('0x30')](function(){return getServerInfo(_0x3868bf);})[_0xda49('0x30')](function(_0x176940){var _0x1274e6=parseInt(_0x176940['version']['charAt'](0x0));var _0xa024d7=util[_0xda49('0x2c')](_0xda49('0x70'),_0x4852dc[_0xda49('0x52')],_0x20d8bc['id']);if(_0x1274e6>0x6){_0xa024d7=util['format'](_0xda49('0x71'),_0x4852dc[_0xda49('0x52')],_0x20d8bc['id']);}logger['info'](_0xda49('0x6a'),_0xda49('0x63'));emit(util[_0xda49('0x2c')](_0xda49('0x64'),_0x2e465b['name']),'trigger:browser:url',{'uri':_0xa024d7});})[_0xda49('0x65')](function(_0x20dc6e){logger['error']('[OUTBOUND]',JSON[_0xda49('0x23')](_0x20dc6e));});};exports[_0xda49('0x72')]=function(_0x5b3245,_0x2e2db1,_0x2c4ae3,_0x17cdb2,_0x2cabe9,_0x2884f3){var _0x760650,_0x45c959,_0x3afc46,_0x3a3f3d;_0x2884f3[_0xda49('0x52')]=intUtil[_0xda49('0x53')](_0x2884f3[_0xda49('0x52')]);_0x2884f3[_0xda49('0x54')]=intUtil[_0xda49('0x53')](_0x2884f3['serverUrl']);def[_0xda49('0x67')]=util[_0xda49('0x2c')](_0xda49('0x55'),_0x2884f3[_0xda49('0x52')]);if(_0x2cabe9&&_0x2cabe9[_0xda49('0x56')]){logger[_0xda49('0x29')]('['+_0x2e2db1['lastevent'][_0xda49('0x73')]()+']',_0xda49('0x58'));_0x2e2db1['recordingURL']=util[_0xda49('0x2c')](_0xda49('0x5a'),_0x2884f3[_0xda49('0x54')],_0x2e2db1[_0xda49('0x5b')],md5(_0x2e2db1[_0xda49('0x5b')]));}else{_0x2e2db1[_0xda49('0x59')]='';}return getConnection(_0x2884f3)['then'](function(_0x1dc902){_0x3a3f3d=_0x1dc902;if(!_[_0xda49('0x74')](_0x17cdb2)){return getUser(_0x2884f3,_0x17cdb2['name'],_0x3a3f3d);}else{return getUser(_0x2884f3,null,_0x3a3f3d);}})[_0xda49('0x30')](function(_0x1ffe2d){_0x760650=_0x1ffe2d;logger[_0xda49('0x29')](_0xda49('0x5c'),_0x760650['id']);return getEndUser(_0x2884f3,_0x2e2db1[_0xda49('0x75')],_0x2e2db1[_0xda49('0x76')],_0x3a3f3d);})['then'](function(_0x4fc9df){_0x45c959=_0x4fc9df;logger['info'](_0xda49('0x6d'),_0x45c959['id']);return getTicket(_0x2884f3,_0x760650,_0x45c959,_0x2c4ae3,_0x2e2db1,_0x2c4ae3[_0xda49('0x6e')],_0x3a3f3d,'Inbound');})[_0xda49('0x30')](function(_0x2cb850){_0x3afc46=_0x2cb850;logger['info']('Ticket\x20created!');logger[_0xda49('0x29')](_0xda49('0x5f'),_0x3afc46['id']);return setRelationship(_0x3a3f3d,_0x760650,_0x3afc46,'users');})[_0xda49('0x30')](function(){return setRelationship(_0x3a3f3d,_0x45c959,_0x3afc46,'contacts');})['then'](function(){return getServerInfo(_0x3a3f3d);})[_0xda49('0x65')](function(_0x40b421){logger[_0xda49('0x77')]('['+_0x2e2db1[_0xda49('0x78')][_0xda49('0x73')]()+']',JSON[_0xda49('0x23')](_0x40b421));});};
\ No newline at end of file
+var _0x1605=['The\x20User\x20ID\x20is:','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','The\x20Ticket\x20ID\x20is:','users','contacts','charAt','%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s','%s/#bwc/index.php?module=Calls&action=EditView&record=%s','user:%s','error','outbound','recordingFormat','none','[OUTBOUND]','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','destcalleridnum','Outbound','Ticket\x20created!','version','trigger:browser:url','catch','unmanaged','monitor_format','lastevent','toUpperCase','calleridname','Inbound','lodash','request-promise','md5','util','./util','../../../../config/environment','../../../../config/logger','redis','defaults','localhost','socket.io-emitter','POST','emit','info','Creating\x20new\x20ticket...','getString','Subjects','assigned_user_id','created_by','description','Descriptions','date_start','toISOString','slice','replace','duration_hours','parent_id','parent_type','Contacts','parent_name','name','direction','length','variableName','push','idField','set_entry','JSON','stringify','format','toString','Getting\x20agent\x20with\x20name','Employees','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','then','find','name_value_list','user_name','value','Agent\x20found!','resolve','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_id','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','Searching\x20enduser\x20with\x20phone','get_entry_list','contacts.phone_home\x20=\x20\x22%s\x22','entry_list','phone_home','Enduser\x20found!','<unknown>','Caller\x20-\x20%s','Enduser\x20created.','first_name','debug','[HTTP]','merge','map','forEach','type','string','nameField','customField','toLowerCase','content','variable','custom_fields','customVariable','Variable','login','username','xCALLY\x20Motion\x20integration','set_relationship','Calls','remoteUri','stripTrailingSlash','serverUrl','uri','%s/service/v4_1/rest.php','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','uniqueid'];(function(_0x2e4e19,_0x493b50){var _0x9ba20b=function(_0x2f6456){while(--_0x2f6456){_0x2e4e19['push'](_0x2e4e19['shift']());}};_0x9ba20b(++_0x493b50);}(_0x1605,0x97));var _0x5160=function(_0x137ef0,_0x5239c9){_0x137ef0=_0x137ef0-0x0;var _0x59c977=_0x1605[_0x137ef0];return _0x59c977;};'use strict';var _=require(_0x5160('0x0'));var rp=require(_0x5160('0x1'));var BPromise=require('bluebird');var md5=require(_0x5160('0x2'));var util=require(_0x5160('0x3'));var Redis=require('ioredis');var intUtil=require(_0x5160('0x4'));var config=require(_0x5160('0x5'));var logger=require(_0x5160('0x6'))('sugarcrm');config[_0x5160('0x7')]=_[_0x5160('0x8')](config[_0x5160('0x7')],{'host':_0x5160('0x9'),'port':0x18eb});var io=require(_0x5160('0xa'))(new Redis(config[_0x5160('0x7')]));var def={'method':_0x5160('0xb'),'json':!![]};function emit(_0x4a1c3c,_0x4e098d,_0x3d9e24){io['to'](_0x4a1c3c)[_0x5160('0xc')](_0x4e098d,_0x3d9e24);}function getTicket(_0x1366ae,_0x2c7162,_0x4c2991,_0x366a94,_0x2e73e3,_0x193203,_0x24e932,_0x367b7c){logger[_0x5160('0xd')](_0x5160('0xe'));var _0x22544c=new Date();var _0x57ee0c=[{'name':'name','value':intUtil[_0x5160('0xf')](_0x366a94[_0x5160('0x10')],_0x2e73e3,'\x20')},{'name':_0x5160('0x11'),'value':_0x2c7162['id']},{'name':_0x5160('0x12'),'value':_0x2c7162['id']},{'name':_0x5160('0x13'),'value':intUtil[_0x5160('0xf')](_0x366a94[_0x5160('0x14')],_0x2e73e3,'\x0a')},{'name':_0x5160('0x15'),'value':_0x22544c[_0x5160('0x16')]()[_0x5160('0x17')](0x0,0x13)[_0x5160('0x18')]('T','\x20')},{'name':_0x5160('0x19'),'value':'0'},{'name':'duration_minutes','value':'15'},{'name':_0x5160('0x1a'),'value':_0x4c2991['id']},{'name':_0x5160('0x1b'),'value':_0x5160('0x1c')},{'name':_0x5160('0x1d'),'value':_0x4c2991[_0x5160('0x1e')]},{'name':_0x5160('0x1f'),'value':_0x367b7c}];if(_0x193203[_0x5160('0x20')]){_['forEach'](_0x193203,function(_0x447465){if(_0x2e73e3[_0x447465[_0x5160('0x21')]]){_0x57ee0c[_0x5160('0x22')]({'name':_0x447465[_0x5160('0x23')],'value':_0x2e73e3[_0x447465[_0x5160('0x21')]]});}});}return request({'form':{'method':_0x5160('0x24'),'input_type':_0x5160('0x25'),'response_type':'JSON','rest_data':JSON[_0x5160('0x26')]({'session':_0x24e932['id'],'module_name':'Calls','name_value_list':_0x57ee0c})}});}function getAuth(_0x29e8e7){return util[_0x5160('0x27')]('Basic\x20%s',new Buffer(_0x29e8e7['apiKey']+':X')[_0x5160('0x28')]('base64'));}function getServerInfo(_0x5ede0d){return request({'form':{'method':'get_server_info','input_type':_0x5160('0x25'),'response_type':_0x5160('0x25'),'rest_data':JSON[_0x5160('0x26')]({'session':_0x5ede0d['id']})}});}function getUser(_0x288749,_0x7651,_0x54c886){if(!_['isNil'](_0x7651)){logger['info'](_0x5160('0x29'),_0x7651);return request({'form':{'method':'get_entry_list','input_type':_0x5160('0x25'),'response_type':'JSON','rest_data':JSON['stringify']({'session':_0x54c886['id'],'module_name':_0x5160('0x2a'),'query':util[_0x5160('0x27')](_0x5160('0x2b'),_0x7651),'order_by':'','offset':'0','select_fields':['id',_0x5160('0x1e'),'user_name'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x5160('0x2c')](function(_0x343c19){if(_0x343c19['entry_list']['length']){var _0x4c3018=_[_0x5160('0x2d')](_0x343c19['entry_list'],function(_0x3aefcb){return _0x3aefcb[_0x5160('0x2e')][_0x5160('0x2f')][_0x5160('0x30')]===_0x7651;});if(_0x4c3018){logger[_0x5160('0xd')](_0x5160('0x31'));return BPromise[_0x5160('0x32')]({'id':_0x4c3018[_0x5160('0x2e')]['id']['value'],'name':_0x4c3018[_0x5160('0x2e')][_0x5160('0x1e')]['value']});}}logger[_0x5160('0xd')](_0x5160('0x33'));return BPromise[_0x5160('0x32')]({'id':_0x54c886[_0x5160('0x2e')][_0x5160('0x34')][_0x5160('0x30')],'name':_0x54c886[_0x5160('0x2e')][_0x5160('0x2f')]['value']});});}else{logger['info'](_0x5160('0x35'));return BPromise[_0x5160('0x32')]({'id':_0x54c886[_0x5160('0x2e')]['user_id']['value'],'name':_0x54c886[_0x5160('0x2e')]['user_name'][_0x5160('0x30')]});}}function getEndUser(_0x2868b9,_0xf33720,_0x1e1d53,_0x592c5d){logger[_0x5160('0xd')](_0x5160('0x36'),_0x1e1d53);return request({'form':{'method':_0x5160('0x37'),'input_type':'JSON','response_type':'JSON','rest_data':JSON['stringify']({'session':_0x592c5d['id'],'module_name':'Contacts','query':util['format'](_0x5160('0x38'),_0x1e1d53),'order_by':'','offset':'0','select_fields':['id',_0x5160('0x1e'),'phone_home'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x5160('0x2c')](function(_0x210c73){if(_0x210c73[_0x5160('0x39')][_0x5160('0x20')]){var _0x13e346=_[_0x5160('0x2d')](_0x210c73['entry_list'],function(_0x309835){return _0x309835[_0x5160('0x2e')][_0x5160('0x3a')]['value']===_0x1e1d53;});if(_0x13e346){logger[_0x5160('0xd')](_0x5160('0x3b'));return BPromise[_0x5160('0x32')]({'id':_0x13e346['name_value_list']['id'][_0x5160('0x30')],'name':_0x13e346[_0x5160('0x2e')][_0x5160('0x1e')]['value'],'phone':_0x13e346[_0x5160('0x2e')]['phone_home']['value']});}}else{logger[_0x5160('0xd')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!');return request({'form':{'method':_0x5160('0x24'),'input_type':'JSON','response_type':_0x5160('0x25'),'rest_data':JSON[_0x5160('0x26')]({'session':_0x592c5d['id'],'module_name':_0x5160('0x1c'),'name_value_list':[{'name':'first_name','value':_0xf33720!==_0x5160('0x3c')?_0xf33720:util[_0x5160('0x27')](_0x5160('0x3d'),_0x1e1d53)},{'name':_0x5160('0x3a'),'value':_0x1e1d53}]})}})[_0x5160('0x2c')](function(_0x193ae1){logger[_0x5160('0xd')](_0x5160('0x3e'));return BPromise['resolve']({'id':_0x193ae1['id'],'name':_0x193ae1['entry_list'][_0x5160('0x3f')][_0x5160('0x30')],'phone':_0x193ae1[_0x5160('0x39')]['phone_home'][_0x5160('0x30')]});});}});}function request(_0x4b7ee3){logger[_0x5160('0x40')](_0x5160('0x41'),JSON['stringify'](_0x4b7ee3));return rp(_[_0x5160('0x42')](def,_0x4b7ee3));}function getTags(_0x382555,_0x488015){var _0x55f396=[];if(_0x382555&&_0x382555[_0x5160('0x20')]>0x0){_0x55f396=_[_0x5160('0x43')](_0x382555,_0x488015);}return _0x55f396;}function getCustomFields(_0x14532c,_0x229da0){var _0x1a8d51=[];var _0x2faa5b={'custom_fields':[]};if(_0x14532c[_0x5160('0x20')]>0x0){_[_0x5160('0x44')](_0x14532c,function(_0x1e9c03){if(_0x1e9c03[_0x5160('0x45')]===_0x5160('0x46')&&_0x1e9c03[_0x5160('0x47')]&&!_0x1e9c03[_0x5160('0x48')]){_0x2faa5b[_0x1e9c03[_0x5160('0x47')][_0x5160('0x49')]()]=_0x1e9c03['content']['toString']();}else if(_0x1e9c03[_0x5160('0x45')]===_0x5160('0x46')&&_0x1e9c03[_0x5160('0x23')]&&_0x1e9c03[_0x5160('0x48')]){_0x2faa5b['custom_fields']['push']({'id':_0x1e9c03['idField'],'value':_0x1e9c03[_0x5160('0x4a')]['toString']()});}else if(_0x1e9c03[_0x5160('0x45')]===_0x5160('0x4b')&&_0x1e9c03[_0x5160('0x21')]&&_0x1e9c03[_0x5160('0x23')]&&_0x1e9c03[_0x5160('0x48')]){_0x229da0[_0x1e9c03[_0x5160('0x21')]]&&_0x2faa5b[_0x5160('0x4c')][_0x5160('0x22')]({'id':_0x1e9c03['idField'],'value':_0x229da0[_0x1e9c03[_0x5160('0x21')]]['toString']()});}else if(_0x1e9c03[_0x5160('0x45')]===_0x5160('0x4d')&&_0x1e9c03[_0x5160('0x4e')]&&_0x1e9c03[_0x5160('0x4e')]['name']&&_0x1e9c03['idField']&&_0x1e9c03[_0x5160('0x48')]){_0x229da0[_0x1e9c03[_0x5160('0x4e')]['name'][_0x5160('0x49')]()]&&_0x2faa5b[_0x5160('0x4c')][_0x5160('0x22')]({'id':_0x1e9c03[_0x5160('0x23')],'value':_0x229da0[_0x1e9c03['Variable']['name'][_0x5160('0x49')]()][_0x5160('0x28')]()});}});}return _0x2faa5b;}function getConnection(_0x43e713){return request({'method':_0x5160('0xb'),'form':{'method':_0x5160('0x4f'),'input_type':_0x5160('0x25'),'response_type':_0x5160('0x25'),'rest_data':JSON[_0x5160('0x26')]({'user_auth':{'user_name':_0x43e713[_0x5160('0x50')],'password':_0x43e713['password'],'encryption':'PLAIN'},'application':_0x5160('0x51')})}})['then'](function(_0x4ff5a2){var _0x3b801f=_0x4ff5a2;if(_0x3b801f['id']){def['sessionID']=_0x3b801f['id'];return BPromise[_0x5160('0x32')](_0x3b801f);}else{throw new Error(util[_0x5160('0x27')]('Account\x20%d\x20is\x20not\x20valid',_0x43e713['id']));}});}function setRelationship(_0x371f48,_0x410eca,_0x1052d7,_0x56f1a2){return request({'form':{'method':_0x5160('0x52'),'input_type':'JSON','response_type':_0x5160('0x25'),'rest_data':JSON[_0x5160('0x26')]({'session':_0x371f48['id'],'module_name':_0x5160('0x53'),'module_id':_0x1052d7['id'],'link_field_name':_0x56f1a2,'related_ids':[_0x410eca['id']],'name_value_list':[],'delete':0x0})}});}exports['queue']=function(_0x528df0,_0x56497b,_0x50a5fa,_0x586944,_0x5396b6,_0x19dec1){var _0x417549,_0x2f69b5,_0x37c6a9,_0xc8f207;_0x19dec1[_0x5160('0x54')]=intUtil[_0x5160('0x55')](_0x19dec1[_0x5160('0x54')]);_0x19dec1[_0x5160('0x56')]=intUtil[_0x5160('0x55')](_0x19dec1['serverUrl']);def[_0x5160('0x57')]=util[_0x5160('0x27')](_0x5160('0x58'),_0x19dec1[_0x5160('0x54')]);if(_0x5396b6&&_0x5396b6['monitor_format']){logger['info'](_0x5160('0x59'),_0x5160('0x5a'));_0x56497b[_0x5160('0x5b')]=util[_0x5160('0x27')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x19dec1[_0x5160('0x56')],_0x56497b[_0x5160('0x5c')],md5(_0x56497b['uniqueid']));}else{_0x56497b[_0x5160('0x5b')]='';}return getConnection(_0x19dec1)['then'](function(_0x5a8397){_0xc8f207=_0x5a8397;return getUser(_0x19dec1,_0x586944[_0x5160('0x1e')],_0xc8f207);})[_0x5160('0x2c')](function(_0x1ddc07){_0x417549=_0x1ddc07;logger[_0x5160('0xd')](_0x5160('0x5d'),_0x417549['id']);return getEndUser(_0x19dec1,_0x56497b['calleridname'],_0x56497b[_0x5160('0x5e')],_0xc8f207);})[_0x5160('0x2c')](function(_0x5a3c28){_0x2f69b5=_0x5a3c28;logger[_0x5160('0xd')](_0x5160('0x5f'),_0x2f69b5['id']);return getTicket(_0x19dec1,_0x417549,_0x2f69b5,_0x50a5fa,_0x56497b,_0x50a5fa[_0x5160('0x60')],_0xc8f207,'Inbound');})[_0x5160('0x2c')](function(_0x144c7c){_0x37c6a9=_0x144c7c;logger['info']('Ticket\x20created!');logger[_0x5160('0xd')](_0x5160('0x61'),_0x37c6a9['id']);return setRelationship(_0xc8f207,_0x417549,_0x37c6a9,_0x5160('0x62'));})[_0x5160('0x2c')](function(){return setRelationship(_0xc8f207,_0x2f69b5,_0x37c6a9,_0x5160('0x63'));})[_0x5160('0x2c')](function(){return getServerInfo(_0xc8f207);})[_0x5160('0x2c')](function(_0x24f89f){var _0xd014dc=parseInt(_0x24f89f['version'][_0x5160('0x64')](0x0));var _0x24d4e6=util['format'](_0x5160('0x65'),_0x19dec1[_0x5160('0x54')],_0x37c6a9['id']);if(_0xd014dc>0x6){_0x24d4e6=util[_0x5160('0x27')](_0x5160('0x66'),_0x19dec1[_0x5160('0x54')],_0x37c6a9['id']);}logger[_0x5160('0xd')](_0x5160('0x59'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0x5160('0x27')](_0x5160('0x67'),_0x586944[_0x5160('0x1e')]),'trigger:browser:url',{'uri':_0x24d4e6});})['catch'](function(_0x6dc4b9){logger[_0x5160('0x68')](_0x5160('0x59'),JSON[_0x5160('0x26')](_0x6dc4b9));});};exports[_0x5160('0x69')]=function(_0x5ef6e5,_0x30df57,_0x243b45,_0x5626b7,_0x15a0d9,_0x2dbfa3,_0x2d7dc7){var _0x323ac3,_0x29a9c7,_0x18b4a2,_0x37c75e;_0x2dbfa3[_0x5160('0x54')]=intUtil[_0x5160('0x55')](_0x2dbfa3[_0x5160('0x54')]);_0x2dbfa3[_0x5160('0x56')]=intUtil[_0x5160('0x55')](_0x2dbfa3['serverUrl']);def[_0x5160('0x57')]=util[_0x5160('0x27')]('%s/service/v4_1/rest.php',_0x2dbfa3['remoteUri']);if(_0x2d7dc7&&_0x2d7dc7[_0x5160('0x6a')]&&_0x2d7dc7[_0x5160('0x6a')]!==_0x5160('0x6b')){logger[_0x5160('0xd')](_0x5160('0x6c'),_0x5160('0x5a'));_0x30df57[_0x5160('0x5b')]=util[_0x5160('0x27')](_0x5160('0x6d'),_0x2dbfa3['serverUrl'],_0x30df57['uniqueid'],md5(_0x30df57[_0x5160('0x5c')]));}return getConnection(_0x2dbfa3)[_0x5160('0x2c')](function(_0x5872df){_0x37c75e=_0x5872df;return getUser(_0x2dbfa3,_0x5626b7['name'],_0x37c75e);})[_0x5160('0x2c')](function(_0x173fb0){_0x323ac3=_0x173fb0;logger['info'](_0x5160('0x5d'),_0x323ac3['id']);return getEndUser(_0x2dbfa3,_0x30df57['destcalleridname'],_0x30df57[_0x5160('0x6e')],_0x37c75e);})[_0x5160('0x2c')](function(_0x5d04cc){_0x29a9c7=_0x5d04cc;logger[_0x5160('0xd')](_0x5160('0x5f'),_0x29a9c7['id']);return getTicket(_0x2dbfa3,_0x323ac3,_0x29a9c7,_0x243b45,_0x30df57,_0x243b45[_0x5160('0x60')],_0x37c75e,_0x5160('0x6f'));})[_0x5160('0x2c')](function(_0x330831){_0x18b4a2=_0x330831;logger[_0x5160('0xd')](_0x5160('0x70'));logger[_0x5160('0xd')](_0x5160('0x61'),_0x18b4a2['id']);return setRelationship(_0x37c75e,_0x323ac3,_0x18b4a2,'users');})[_0x5160('0x2c')](function(){return setRelationship(_0x37c75e,_0x29a9c7,_0x18b4a2,_0x5160('0x63'));})[_0x5160('0x2c')](function(){return getServerInfo(_0x37c75e);})[_0x5160('0x2c')](function(_0x5692f0){var _0x6cc95c=parseInt(_0x5692f0[_0x5160('0x71')][_0x5160('0x64')](0x0));var _0x2ec699=util[_0x5160('0x27')]('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x2dbfa3[_0x5160('0x54')],_0x18b4a2['id']);if(_0x6cc95c>0x6){_0x2ec699=util['format']('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x2dbfa3['remoteUri'],_0x18b4a2['id']);}logger[_0x5160('0xd')](_0x5160('0x6c'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util[_0x5160('0x27')](_0x5160('0x67'),_0x5626b7[_0x5160('0x1e')]),_0x5160('0x72'),{'uri':_0x2ec699});})[_0x5160('0x73')](function(_0x127bea){logger[_0x5160('0x68')](_0x5160('0x6c'),JSON['stringify'](_0x127bea));});};exports[_0x5160('0x74')]=function(_0x4d048c,_0x47db52,_0x2e7279,_0x28248e,_0x2329f8,_0x170c3d){var _0x45ea80,_0x55b08e,_0x507cca,_0x488b08;_0x170c3d[_0x5160('0x54')]=intUtil[_0x5160('0x55')](_0x170c3d[_0x5160('0x54')]);_0x170c3d['serverUrl']=intUtil['stripTrailingSlash'](_0x170c3d[_0x5160('0x56')]);def[_0x5160('0x57')]=util[_0x5160('0x27')](_0x5160('0x58'),_0x170c3d[_0x5160('0x54')]);if(_0x2329f8&&_0x2329f8[_0x5160('0x75')]){logger['info']('['+_0x47db52[_0x5160('0x76')][_0x5160('0x77')]()+']',_0x5160('0x5a'));_0x47db52[_0x5160('0x5b')]=util[_0x5160('0x27')](_0x5160('0x6d'),_0x170c3d['serverUrl'],_0x47db52[_0x5160('0x5c')],md5(_0x47db52[_0x5160('0x5c')]));}else{_0x47db52[_0x5160('0x5b')]='';}return getConnection(_0x170c3d)[_0x5160('0x2c')](function(_0x4892b2){_0x488b08=_0x4892b2;if(!_['isNil'](_0x28248e)){return getUser(_0x170c3d,_0x28248e[_0x5160('0x1e')],_0x488b08);}else{return getUser(_0x170c3d,null,_0x488b08);}})[_0x5160('0x2c')](function(_0x1af8f6){_0x45ea80=_0x1af8f6;logger[_0x5160('0xd')](_0x5160('0x5d'),_0x45ea80['id']);return getEndUser(_0x170c3d,_0x47db52[_0x5160('0x78')],_0x47db52[_0x5160('0x5e')],_0x488b08);})[_0x5160('0x2c')](function(_0x384e47){_0x55b08e=_0x384e47;logger[_0x5160('0xd')](_0x5160('0x5f'),_0x55b08e['id']);return getTicket(_0x170c3d,_0x45ea80,_0x55b08e,_0x2e7279,_0x47db52,_0x2e7279['Fields'],_0x488b08,_0x5160('0x79'));})[_0x5160('0x2c')](function(_0xc519d8){_0x507cca=_0xc519d8;logger[_0x5160('0xd')](_0x5160('0x70'));logger[_0x5160('0xd')](_0x5160('0x61'),_0x507cca['id']);return setRelationship(_0x488b08,_0x45ea80,_0x507cca,_0x5160('0x62'));})[_0x5160('0x2c')](function(){return setRelationship(_0x488b08,_0x55b08e,_0x507cca,'contacts');})['then'](function(){return getServerInfo(_0x488b08);})[_0x5160('0x73')](function(_0x3e9a55){logger[_0x5160('0x68')]('['+_0x47db52[_0x5160('0x76')][_0x5160('0x77')]()+']',JSON['stringify'](_0x3e9a55));});};
\ No newline at end of file