Built motion from commit (unavailable).|2.3.0
[motion2.git] / server / services / ami / trigger / integration / sugarcrm.js
index f8af0d6..8966542 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x7046=['duration_hours','duration_minutes','parent_type','Contacts','parent_name','name','length','variableName','push','idField','JSON','stringify','Calls','format','Basic\x20%s','toString','base64','Getting\x20agent\x20with\x20name','get_entry_list','Employees','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','user_name','then','entry_list','find','name_value_list','value','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','resolve','user_id','Searching\x20enduser\x20with\x20phone','contacts.phone_home\x20=\x20\x22%s\x22','phone_home','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','<unknown>','Caller\x20-\x20%s','Enduser\x20created.','first_name','debug','[HTTP]','forEach','nameField','content','string','customField','custom_fields','type','variable','customVariable','Variable','toLowerCase','POST','login','username','xCALLY\x20Motion\x20integration','sessionID','Account\x20%d\x20is\x20not\x20valid','set_relationship','stripTrailingSlash','remoteUri','serverUrl','%s/service/v4_1/rest.php','monitor_format','[QUEUE]','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','The\x20User\x20ID\x20is:','calleridname','calleridnum','Fields','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','contacts','version','charAt','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','error','outbound','uri','recordingFormat','Recording\x20is\x20enabled!','destcalleridname','destcalleridnum','The\x20Enduser\x20ID\x20is:','users','%s/#bwc/index.php?module=Calls&action=EditView&record=%s','[OUTBOUND]','abandoned','[ABANDONED]','catch','lodash','request-promise','bluebird','md5','ioredis','./util','../../../../config/environment','sugarcrm','redis','defaults','localhost','info','getString','Subjects','assigned_user_id','created_by','description','Descriptions','date_start','toISOString','replace'];(function(_0x1ef954,_0xe8d79e){var _0x1c47cd=function(_0x4fa01d){while(--_0x4fa01d){_0x1ef954['push'](_0x1ef954['shift']());}};_0x1c47cd(++_0xe8d79e);}(_0x7046,0x144));var _0x6704=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x7046[_0x2641f9];return _0x585741;};'use strict';var _=require(_0x6704('0x0'));var rp=require(_0x6704('0x1'));var BPromise=require(_0x6704('0x2'));var md5=require(_0x6704('0x3'));var util=require('util');var Redis=require(_0x6704('0x4'));var intUtil=require(_0x6704('0x5'));var config=require(_0x6704('0x6'));var logger=require('../../../../config/logger')(_0x6704('0x7'));config[_0x6704('0x8')]=_[_0x6704('0x9')](config[_0x6704('0x8')],{'host':_0x6704('0xa'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x6704('0x8')]));var def={'method':'POST','json':!![]};function emit(_0x56b1ff,_0x390ace,_0x510221){io['to'](_0x56b1ff)['emit'](_0x390ace,_0x510221);}function getTicket(_0x3ca599,_0x394ef4,_0x37a1ad,_0x454bd5,_0x356687,_0x40d57d,_0x3dfda4){logger[_0x6704('0xb')]('Creating\x20new\x20ticket...');var _0x2c8b0f=new Date();var _0x29e6f7=[{'name':'name','value':intUtil[_0x6704('0xc')](_0x454bd5[_0x6704('0xd')],_0x356687,'\x20')},{'name':_0x6704('0xe'),'value':_0x394ef4['id']},{'name':_0x6704('0xf'),'value':_0x394ef4['id']},{'name':_0x6704('0x10'),'value':intUtil[_0x6704('0xc')](_0x454bd5[_0x6704('0x11')],_0x356687,'\x0a')},{'name':_0x6704('0x12'),'value':_0x2c8b0f[_0x6704('0x13')]()['slice'](0x0,0x13)[_0x6704('0x14')]('T','\x20')},{'name':_0x6704('0x15'),'value':'0'},{'name':_0x6704('0x16'),'value':'15'},{'name':'parent_id','value':_0x37a1ad['id']},{'name':_0x6704('0x17'),'value':_0x6704('0x18')},{'name':_0x6704('0x19'),'value':_0x37a1ad[_0x6704('0x1a')]}];if(_0x40d57d[_0x6704('0x1b')]){_['forEach'](_0x40d57d,function(_0x1e5f6e){if(_0x356687[_0x1e5f6e[_0x6704('0x1c')]]){_0x29e6f7[_0x6704('0x1d')]({'name':_0x1e5f6e[_0x6704('0x1e')],'value':_0x356687[_0x1e5f6e[_0x6704('0x1c')]]});}});}return request({'form':{'method':'set_entry','input_type':_0x6704('0x1f'),'response_type':_0x6704('0x1f'),'rest_data':JSON[_0x6704('0x20')]({'session':_0x3dfda4['id'],'module_name':_0x6704('0x21'),'name_value_list':_0x29e6f7})}});}function getAuth(_0x35eb99){return util[_0x6704('0x22')](_0x6704('0x23'),new Buffer(_0x35eb99['apiKey']+':X')[_0x6704('0x24')](_0x6704('0x25')));}function getServerInfo(_0x318e2c){return request({'form':{'method':'get_server_info','input_type':'JSON','response_type':_0x6704('0x1f'),'rest_data':JSON[_0x6704('0x20')]({'session':_0x318e2c['id']})}});}function getUser(_0x3cd12e,_0x4ecf4c,_0x41f89e){logger['info'](_0x6704('0x26'),_0x4ecf4c);return request({'form':{'method':_0x6704('0x27'),'input_type':_0x6704('0x1f'),'response_type':_0x6704('0x1f'),'rest_data':JSON[_0x6704('0x20')]({'session':_0x41f89e['id'],'module_name':_0x6704('0x28'),'query':util[_0x6704('0x22')](_0x6704('0x29'),_0x4ecf4c),'order_by':'','offset':'0','select_fields':['id',_0x6704('0x1a'),_0x6704('0x2a')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x6704('0x2b')](function(_0x1bdfee){if(_0x1bdfee[_0x6704('0x2c')]['length']){var _0x5ac014=_[_0x6704('0x2d')](_0x1bdfee[_0x6704('0x2c')],function(_0x86fc1d){return _0x86fc1d[_0x6704('0x2e')]['user_name'][_0x6704('0x2f')]===_0x4ecf4c;});if(_0x5ac014){logger[_0x6704('0xb')]('Agent\x20found!');return BPromise['resolve']({'id':_0x5ac014[_0x6704('0x2e')]['id']['value'],'name':_0x5ac014[_0x6704('0x2e')]['name']['value']});}}else{logger[_0x6704('0xb')](_0x6704('0x30'));return BPromise[_0x6704('0x31')]({'id':_0x41f89e['name_value_list'][_0x6704('0x32')]['id'],'name':_0x41f89e[_0x6704('0x2e')][_0x6704('0x2a')]['id']});}});}function getEndUser(_0x1c35ab,_0x920914,_0x34c346,_0x26a824){logger[_0x6704('0xb')](_0x6704('0x33'),_0x34c346);return request({'form':{'method':_0x6704('0x27'),'input_type':_0x6704('0x1f'),'response_type':_0x6704('0x1f'),'rest_data':JSON[_0x6704('0x20')]({'session':_0x26a824['id'],'module_name':_0x6704('0x18'),'query':util[_0x6704('0x22')](_0x6704('0x34'),_0x34c346),'order_by':'','offset':'0','select_fields':['id',_0x6704('0x1a'),_0x6704('0x35')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x6704('0x2b')](function(_0x25fac5){if(_0x25fac5[_0x6704('0x2c')][_0x6704('0x1b')]){var _0x12ba0d=_[_0x6704('0x2d')](_0x25fac5[_0x6704('0x2c')],function(_0x4bdb7c){return _0x4bdb7c['name_value_list']['phone_home'][_0x6704('0x2f')]===_0x34c346;});if(_0x12ba0d){logger[_0x6704('0xb')](_0x6704('0x36'));return BPromise['resolve']({'id':_0x12ba0d[_0x6704('0x2e')]['id']['value'],'name':_0x12ba0d[_0x6704('0x2e')][_0x6704('0x1a')][_0x6704('0x2f')],'phone':_0x12ba0d[_0x6704('0x2e')][_0x6704('0x35')][_0x6704('0x2f')]});}}else{logger[_0x6704('0xb')](_0x6704('0x37'));return request({'form':{'method':'set_entry','input_type':'JSON','response_type':_0x6704('0x1f'),'rest_data':JSON[_0x6704('0x20')]({'session':_0x26a824['id'],'module_name':'Contacts','name_value_list':[{'name':'first_name','value':_0x920914!==_0x6704('0x38')?_0x920914:util['format'](_0x6704('0x39'),_0x34c346)},{'name':_0x6704('0x35'),'value':_0x34c346}]})}})[_0x6704('0x2b')](function(_0x41ba43){logger['info'](_0x6704('0x3a'));return BPromise[_0x6704('0x31')]({'id':_0x41ba43['id'],'name':_0x41ba43['entry_list'][_0x6704('0x3b')]['value'],'phone':_0x41ba43[_0x6704('0x2c')][_0x6704('0x35')][_0x6704('0x2f')]});});}});}function request(_0x5862e3){logger[_0x6704('0x3c')](_0x6704('0x3d'),JSON[_0x6704('0x20')](_0x5862e3));return rp(_['merge'](def,_0x5862e3));}function getTags(_0xe6831d,_0x444d36){var _0x336ef2=[];if(_0xe6831d&&_0xe6831d[_0x6704('0x1b')]>0x0){_0x336ef2=_['map'](_0xe6831d,_0x444d36);}return _0x336ef2;}function getCustomFields(_0x29ad03,_0x50cc74){var _0x2defda=[];var _0x45a217={'custom_fields':[]};if(_0x29ad03[_0x6704('0x1b')]>0x0){_[_0x6704('0x3e')](_0x29ad03,function(_0x5203a0){if(_0x5203a0['type']==='string'&&_0x5203a0[_0x6704('0x3f')]&&!_0x5203a0['customField']){_0x45a217[_0x5203a0[_0x6704('0x3f')]['toLowerCase']()]=_0x5203a0[_0x6704('0x40')][_0x6704('0x24')]();}else if(_0x5203a0['type']===_0x6704('0x41')&&_0x5203a0[_0x6704('0x1e')]&&_0x5203a0[_0x6704('0x42')]){_0x45a217[_0x6704('0x43')][_0x6704('0x1d')]({'id':_0x5203a0['idField'],'value':_0x5203a0[_0x6704('0x40')][_0x6704('0x24')]()});}else if(_0x5203a0[_0x6704('0x44')]===_0x6704('0x45')&&_0x5203a0[_0x6704('0x1c')]&&_0x5203a0['idField']&&_0x5203a0[_0x6704('0x42')]){_0x50cc74[_0x5203a0['variableName']]&&_0x45a217[_0x6704('0x43')][_0x6704('0x1d')]({'id':_0x5203a0[_0x6704('0x1e')],'value':_0x50cc74[_0x5203a0[_0x6704('0x1c')]][_0x6704('0x24')]()});}else if(_0x5203a0['type']===_0x6704('0x46')&&_0x5203a0[_0x6704('0x47')]&&_0x5203a0['Variable'][_0x6704('0x1a')]&&_0x5203a0[_0x6704('0x1e')]&&_0x5203a0[_0x6704('0x42')]){_0x50cc74[_0x5203a0[_0x6704('0x47')][_0x6704('0x1a')][_0x6704('0x48')]()]&&_0x45a217['custom_fields'][_0x6704('0x1d')]({'id':_0x5203a0['idField'],'value':_0x50cc74[_0x5203a0[_0x6704('0x47')]['name'][_0x6704('0x48')]()]['toString']()});}});}return _0x45a217;}function getConnection(_0x58a085){return request({'method':_0x6704('0x49'),'form':{'method':_0x6704('0x4a'),'input_type':_0x6704('0x1f'),'response_type':_0x6704('0x1f'),'rest_data':JSON[_0x6704('0x20')]({'user_auth':{'user_name':_0x58a085[_0x6704('0x4b')],'password':_0x58a085['password'],'encryption':'PLAIN'},'application':_0x6704('0x4c')})}})[_0x6704('0x2b')](function(_0xbd5774){var _0x44ee0b=_0xbd5774;if(_0x44ee0b['id']){def[_0x6704('0x4d')]=_0x44ee0b['id'];return BPromise[_0x6704('0x31')](_0x44ee0b);}else{throw new Error(util[_0x6704('0x22')](_0x6704('0x4e'),_0x58a085['id']));}});}function setRelationship(_0x1fcfb0,_0x44e4a5,_0x452c26,_0x45a44f){return request({'form':{'method':_0x6704('0x4f'),'input_type':_0x6704('0x1f'),'response_type':_0x6704('0x1f'),'rest_data':JSON[_0x6704('0x20')]({'session':_0x1fcfb0['id'],'module_name':_0x6704('0x21'),'module_id':_0x452c26['id'],'link_field_name':_0x45a44f,'related_ids':[_0x44e4a5['id']]})}});}exports['queue']=function(_0x526175,_0x316f81,_0x3c3234,_0x1e58ad,_0x231781,_0x57b4f1){var _0x1cd145,_0x2670de,_0x2f170d,_0x45510e;_0x57b4f1['remoteUri']=intUtil[_0x6704('0x50')](_0x57b4f1[_0x6704('0x51')]);_0x57b4f1[_0x6704('0x52')]=intUtil[_0x6704('0x50')](_0x57b4f1['serverUrl']);def['uri']=util[_0x6704('0x22')](_0x6704('0x53'),_0x57b4f1[_0x6704('0x51')]);if(_0x231781&&_0x231781[_0x6704('0x54')]){logger[_0x6704('0xb')](_0x6704('0x55'),'Recording\x20is\x20enabled!');_0x316f81[_0x6704('0x56')]=util['format'](_0x6704('0x57'),_0x57b4f1['serverUrl'],_0x316f81['uniqueid'],md5(_0x316f81[_0x6704('0x58')]));}else{_0x316f81[_0x6704('0x56')]='';}return getConnection(_0x57b4f1)[_0x6704('0x2b')](function(_0xedf7ac){_0x45510e=_0xedf7ac;return getUser(_0x57b4f1,_0x1e58ad[_0x6704('0x1a')],_0x45510e);})[_0x6704('0x2b')](function(_0x4857e5){_0x1cd145=_0x4857e5;logger['info'](_0x6704('0x59'),_0x1cd145['id']);return getEndUser(_0x57b4f1,_0x316f81[_0x6704('0x5a')],_0x316f81[_0x6704('0x5b')],_0x45510e);})[_0x6704('0x2b')](function(_0x3d6c5b){_0x2670de=_0x3d6c5b;logger[_0x6704('0xb')]('The\x20Enduser\x20ID\x20is:',_0x2670de['id']);return getTicket(_0x57b4f1,_0x1cd145,_0x2670de,_0x3c3234,_0x316f81,_0x3c3234[_0x6704('0x5c')],_0x45510e);})[_0x6704('0x2b')](function(_0x12c314){_0x2f170d=_0x12c314;logger[_0x6704('0xb')](_0x6704('0x5d'));logger[_0x6704('0xb')](_0x6704('0x5e'),_0x2f170d['id']);return setRelationship(_0x45510e,_0x1cd145,_0x2f170d,'users');})['then'](function(){return setRelationship(_0x45510e,_0x2670de,_0x2f170d,_0x6704('0x5f'));})[_0x6704('0x2b')](function(){return getServerInfo(_0x45510e);})[_0x6704('0x2b')](function(_0x5ee94d){var _0x5e9b60=parseInt(_0x5ee94d[_0x6704('0x60')][_0x6704('0x61')](0x0));var _0x471233=util[_0x6704('0x22')]('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x57b4f1[_0x6704('0x51')],_0x2f170d['id']);if(_0x5e9b60>0x6){_0x471233=util[_0x6704('0x22')]('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x57b4f1['remoteUri'],_0x2f170d['id']);}logger[_0x6704('0xb')](_0x6704('0x55'),_0x6704('0x62'));emit(util[_0x6704('0x22')](_0x6704('0x63'),_0x1e58ad[_0x6704('0x1a')]),_0x6704('0x64'),{'uri':_0x471233});})['catch'](function(_0x4876ad){logger[_0x6704('0x65')](_0x6704('0x55'),JSON[_0x6704('0x20')](_0x4876ad));});};exports[_0x6704('0x66')]=function(_0x283f22,_0x3782f0,_0x10264d,_0x1b81d6,_0x3e99c6,_0x748a0,_0xafed74){var _0x3683c2,_0x344927,_0x1cec1a,_0x1a7a8e;_0x748a0[_0x6704('0x51')]=intUtil[_0x6704('0x50')](_0x748a0[_0x6704('0x51')]);_0x748a0['serverUrl']=intUtil[_0x6704('0x50')](_0x748a0[_0x6704('0x52')]);def[_0x6704('0x67')]=util[_0x6704('0x22')]('%s/service/v4_1/rest.php',_0x748a0['remoteUri']);if(_0xafed74&&_0xafed74[_0x6704('0x68')]&&_0xafed74['recordingFormat']!=='none'){logger[_0x6704('0xb')]('[OUTBOUND]',_0x6704('0x69'));_0x3782f0['recordingURL']=util[_0x6704('0x22')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x748a0[_0x6704('0x52')],_0x3782f0[_0x6704('0x58')],md5(_0x3782f0[_0x6704('0x58')]));}return getConnection(_0x748a0)['then'](function(_0x5622bf){_0x1a7a8e=_0x5622bf;return getUser(_0x748a0,_0x1b81d6[_0x6704('0x1a')],_0x1a7a8e);})['then'](function(_0x42db9b){_0x3683c2=_0x42db9b;logger['info'](_0x6704('0x59'),_0x3683c2['id']);return getEndUser(_0x748a0,_0x3782f0[_0x6704('0x6a')],_0x3782f0[_0x6704('0x6b')],_0x1a7a8e);})[_0x6704('0x2b')](function(_0x1b131a){_0x344927=_0x1b131a;logger[_0x6704('0xb')](_0x6704('0x6c'),_0x344927['id']);return getTicket(_0x748a0,_0x3683c2,_0x344927,_0x10264d,_0x3782f0,_0x10264d[_0x6704('0x5c')],_0x1a7a8e);})['then'](function(_0x4873c9){_0x1cec1a=_0x4873c9;logger[_0x6704('0xb')](_0x6704('0x5d'));logger[_0x6704('0xb')](_0x6704('0x5e'),_0x1cec1a['id']);return setRelationship(_0x1a7a8e,_0x3683c2,_0x1cec1a,_0x6704('0x6d'));})['then'](function(){return setRelationship(_0x1a7a8e,_0x344927,_0x1cec1a,_0x6704('0x5f'));})[_0x6704('0x2b')](function(){return getServerInfo(_0x1a7a8e);})[_0x6704('0x2b')](function(_0x274ff0){var _0x20a5ce=parseInt(_0x274ff0['version'][_0x6704('0x61')](0x0));var _0xe72686=util[_0x6704('0x22')]('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x748a0['remoteUri'],_0x1cec1a['id']);if(_0x20a5ce>0x6){_0xe72686=util[_0x6704('0x22')](_0x6704('0x6e'),_0x748a0[_0x6704('0x51')],_0x1cec1a['id']);}logger[_0x6704('0xb')]('[OUTBOUND]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...');emit(util['format'](_0x6704('0x63'),_0x1b81d6[_0x6704('0x1a')]),'trigger:browser:url',{'uri':_0xe72686});})['catch'](function(_0x86eca0){logger[_0x6704('0x65')](_0x6704('0x6f'),JSON[_0x6704('0x20')](_0x86eca0));});};exports[_0x6704('0x70')]=function(_0x569b70,_0x57e40f,_0x389ded,_0x46489d,_0x39189e,_0xdc2121){var _0x37914d,_0x2f667e,_0x4ffefd,_0x113716;_0xdc2121['remoteUri']=intUtil[_0x6704('0x50')](_0xdc2121[_0x6704('0x51')]);_0xdc2121[_0x6704('0x52')]=intUtil[_0x6704('0x50')](_0xdc2121[_0x6704('0x52')]);def['uri']=util[_0x6704('0x22')]('%s/service/v4_1/rest.php',_0xdc2121[_0x6704('0x51')]);if(_0x39189e&&_0x39189e[_0x6704('0x54')]){logger[_0x6704('0xb')](_0x6704('0x71'),_0x6704('0x69'));_0x57e40f[_0x6704('0x56')]=util[_0x6704('0x22')](_0x6704('0x57'),_0xdc2121['serverUrl'],_0x57e40f['uniqueid'],md5(_0x57e40f[_0x6704('0x58')]));}else{_0x57e40f[_0x6704('0x56')]='';}return getConnection(_0xdc2121)[_0x6704('0x2b')](function(_0x3948da){_0x113716=_0x3948da;return getUser(_0xdc2121,_0x46489d[_0x6704('0x1a')],_0x113716);})[_0x6704('0x2b')](function(_0x4b5ed6){_0x37914d=_0x4b5ed6;logger[_0x6704('0xb')]('The\x20User\x20ID\x20is:',_0x37914d['id']);return getEndUser(_0xdc2121,_0x57e40f[_0x6704('0x5a')],_0x57e40f[_0x6704('0x5b')],_0x113716);})[_0x6704('0x2b')](function(_0x30932b){_0x2f667e=_0x30932b;logger[_0x6704('0xb')](_0x6704('0x6c'),_0x2f667e['id']);return getTicket(_0xdc2121,_0x37914d,_0x2f667e,_0x389ded,_0x57e40f,_0x389ded[_0x6704('0x5c')],_0x113716);})[_0x6704('0x2b')](function(_0x1cfcaa){_0x4ffefd=_0x1cfcaa;logger['info'](_0x6704('0x5d'));logger[_0x6704('0xb')](_0x6704('0x5e'),_0x4ffefd['id']);return setRelationship(_0x113716,_0x37914d,_0x4ffefd,'users');})[_0x6704('0x2b')](function(){return setRelationship(_0x113716,_0x2f667e,_0x4ffefd,_0x6704('0x5f'));})[_0x6704('0x2b')](function(){return getServerInfo(_0x113716);})[_0x6704('0x72')](function(_0x56d54e){logger['error'](_0x6704('0x71'),JSON['stringify'](_0x56d54e));});};
\ No newline at end of file
+var _0x2edf=['Creating\x20new\x20ticket...','name','getString','assigned_user_id','created_by','description','Descriptions','date_start','slice','replace','duration_hours','duration_minutes','parent_type','Contacts','length','variableName','idField','set_entry','JSON','stringify','Calls','format','Basic\x20%s','apiKey','Getting\x20agent\x20with\x20name','get_entry_list','Employees','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','then','entry_list','find','name_value_list','value','Agent\x20found!','resolve','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_name','contacts.phone_home\x20=\x20\x22%s\x22','phone_home','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','first_name','<unknown>','Caller\x20-\x20%s','Enduser\x20created.','debug','[HTTP]','merge','map','forEach','type','string','customField','nameField','toLowerCase','content','toString','push','variable','custom_fields','customVariable','Variable','login','sessionID','Account\x20%d\x20is\x20not\x20valid','queue','stripTrailingSlash','remoteUri','serverUrl','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','Inbound','Ticket\x20created!','The\x20Ticket\x20ID\x20is:','users','contacts','version','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','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','trigger:browser:url','catch','uri','%s/service/v4_1/rest.php','recordingFormat','[OUTBOUND]','The\x20User\x20ID\x20is:','destcalleridname','destcalleridnum','Outbound','error','abandoned','[ABANDONED]','bluebird','md5','./util','../../../../config/logger','sugarcrm','redis','defaults','localhost','socket.io-emitter','POST','info'];(function(_0x4fdcc0,_0x560a01){var _0xc0ce94=function(_0x36ea12){while(--_0x36ea12){_0x4fdcc0['push'](_0x4fdcc0['shift']());}};_0xc0ce94(++_0x560a01);}(_0x2edf,0x1bd));var _0xf2ed=function(_0x23e5fd,_0x2c6da6){_0x23e5fd=_0x23e5fd-0x0;var _0xab592b=_0x2edf[_0x23e5fd];return _0xab592b;};'use strict';var _=require('lodash');var rp=require('request-promise');var BPromise=require(_0xf2ed('0x0'));var md5=require(_0xf2ed('0x1'));var util=require('util');var Redis=require('ioredis');var intUtil=require(_0xf2ed('0x2'));var config=require('../../../../config/environment');var logger=require(_0xf2ed('0x3'))(_0xf2ed('0x4'));config[_0xf2ed('0x5')]=_[_0xf2ed('0x6')](config[_0xf2ed('0x5')],{'host':_0xf2ed('0x7'),'port':0x18eb});var io=require(_0xf2ed('0x8'))(new Redis(config['redis']));var def={'method':_0xf2ed('0x9'),'json':!![]};function emit(_0x5863f8,_0xc9839e,_0x4de854){io['to'](_0x5863f8)['emit'](_0xc9839e,_0x4de854);}function getTicket(_0x5b5648,_0x5056d7,_0xd766c7,_0x3e34da,_0x174863,_0x5d99b4,_0x4ba809,_0x3f7853){logger[_0xf2ed('0xa')](_0xf2ed('0xb'));var _0xb5486e=new Date();var _0x5ea12a=[{'name':_0xf2ed('0xc'),'value':intUtil[_0xf2ed('0xd')](_0x3e34da['Subjects'],_0x174863,'\x20')},{'name':_0xf2ed('0xe'),'value':_0x5056d7['id']},{'name':_0xf2ed('0xf'),'value':_0x5056d7['id']},{'name':_0xf2ed('0x10'),'value':intUtil[_0xf2ed('0xd')](_0x3e34da[_0xf2ed('0x11')],_0x174863,'\x0a')},{'name':_0xf2ed('0x12'),'value':_0xb5486e['toISOString']()[_0xf2ed('0x13')](0x0,0x13)[_0xf2ed('0x14')]('T','\x20')},{'name':_0xf2ed('0x15'),'value':'0'},{'name':_0xf2ed('0x16'),'value':'15'},{'name':'parent_id','value':_0xd766c7['id']},{'name':_0xf2ed('0x17'),'value':_0xf2ed('0x18')},{'name':'parent_name','value':_0xd766c7[_0xf2ed('0xc')]},{'name':'direction','value':_0x3f7853}];if(_0x5d99b4[_0xf2ed('0x19')]){_['forEach'](_0x5d99b4,function(_0x2e0b7d){if(_0x174863[_0x2e0b7d[_0xf2ed('0x1a')]]){_0x5ea12a['push']({'name':_0x2e0b7d[_0xf2ed('0x1b')],'value':_0x174863[_0x2e0b7d[_0xf2ed('0x1a')]]});}});}return request({'form':{'method':_0xf2ed('0x1c'),'input_type':'JSON','response_type':_0xf2ed('0x1d'),'rest_data':JSON[_0xf2ed('0x1e')]({'session':_0x4ba809['id'],'module_name':_0xf2ed('0x1f'),'name_value_list':_0x5ea12a})}});}function getAuth(_0x48f54d){return util[_0xf2ed('0x20')](_0xf2ed('0x21'),new Buffer(_0x48f54d[_0xf2ed('0x22')]+':X')['toString']('base64'));}function getServerInfo(_0x9bb9a5){return request({'form':{'method':'get_server_info','input_type':'JSON','response_type':_0xf2ed('0x1d'),'rest_data':JSON[_0xf2ed('0x1e')]({'session':_0x9bb9a5['id']})}});}function getUser(_0x3413dc,_0x37c194,_0x560154){logger['info'](_0xf2ed('0x23'),_0x37c194);return request({'form':{'method':_0xf2ed('0x24'),'input_type':_0xf2ed('0x1d'),'response_type':_0xf2ed('0x1d'),'rest_data':JSON[_0xf2ed('0x1e')]({'session':_0x560154['id'],'module_name':_0xf2ed('0x25'),'query':util['format'](_0xf2ed('0x26'),_0x37c194),'order_by':'','offset':'0','select_fields':['id',_0xf2ed('0xc'),'user_name'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xf2ed('0x27')](function(_0x517c35){if(_0x517c35[_0xf2ed('0x28')]['length']){var _0x275925=_[_0xf2ed('0x29')](_0x517c35[_0xf2ed('0x28')],function(_0x540819){return _0x540819[_0xf2ed('0x2a')]['user_name'][_0xf2ed('0x2b')]===_0x37c194;});if(_0x275925){logger[_0xf2ed('0xa')](_0xf2ed('0x2c'));return BPromise[_0xf2ed('0x2d')]({'id':_0x275925[_0xf2ed('0x2a')]['id']['value'],'name':_0x275925[_0xf2ed('0x2a')]['name']['value']});}}else{logger[_0xf2ed('0xa')](_0xf2ed('0x2e'));return BPromise[_0xf2ed('0x2d')]({'id':_0x560154[_0xf2ed('0x2a')]['user_id'][_0xf2ed('0x2b')],'name':_0x560154[_0xf2ed('0x2a')][_0xf2ed('0x2f')]['value']});}});}function getEndUser(_0x2248f2,_0x2c6206,_0x30daeb,_0x24d456){logger[_0xf2ed('0xa')]('Searching\x20enduser\x20with\x20phone',_0x30daeb);return request({'form':{'method':_0xf2ed('0x24'),'input_type':_0xf2ed('0x1d'),'response_type':'JSON','rest_data':JSON[_0xf2ed('0x1e')]({'session':_0x24d456['id'],'module_name':'Contacts','query':util['format'](_0xf2ed('0x30'),_0x30daeb),'order_by':'','offset':'0','select_fields':['id','name',_0xf2ed('0x31')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0xf2ed('0x27')](function(_0x212dde){if(_0x212dde['entry_list'][_0xf2ed('0x19')]){var _0x449d55=_[_0xf2ed('0x29')](_0x212dde['entry_list'],function(_0x448ebd){return _0x448ebd['name_value_list'][_0xf2ed('0x31')][_0xf2ed('0x2b')]===_0x30daeb;});if(_0x449d55){logger[_0xf2ed('0xa')](_0xf2ed('0x32'));return BPromise[_0xf2ed('0x2d')]({'id':_0x449d55[_0xf2ed('0x2a')]['id'][_0xf2ed('0x2b')],'name':_0x449d55[_0xf2ed('0x2a')][_0xf2ed('0xc')][_0xf2ed('0x2b')],'phone':_0x449d55[_0xf2ed('0x2a')]['phone_home'][_0xf2ed('0x2b')]});}}else{logger[_0xf2ed('0xa')](_0xf2ed('0x33'));return request({'form':{'method':_0xf2ed('0x1c'),'input_type':_0xf2ed('0x1d'),'response_type':_0xf2ed('0x1d'),'rest_data':JSON['stringify']({'session':_0x24d456['id'],'module_name':_0xf2ed('0x18'),'name_value_list':[{'name':_0xf2ed('0x34'),'value':_0x2c6206!==_0xf2ed('0x35')?_0x2c6206:util[_0xf2ed('0x20')](_0xf2ed('0x36'),_0x30daeb)},{'name':_0xf2ed('0x31'),'value':_0x30daeb}]})}})[_0xf2ed('0x27')](function(_0x4e9542){logger[_0xf2ed('0xa')](_0xf2ed('0x37'));return BPromise['resolve']({'id':_0x4e9542['id'],'name':_0x4e9542['entry_list'][_0xf2ed('0x34')][_0xf2ed('0x2b')],'phone':_0x4e9542[_0xf2ed('0x28')]['phone_home'][_0xf2ed('0x2b')]});});}});}function request(_0x3b84d3){logger[_0xf2ed('0x38')](_0xf2ed('0x39'),JSON[_0xf2ed('0x1e')](_0x3b84d3));return rp(_[_0xf2ed('0x3a')](def,_0x3b84d3));}function getTags(_0x5be2c2,_0x5668e1){var _0x3a5329=[];if(_0x5be2c2&&_0x5be2c2[_0xf2ed('0x19')]>0x0){_0x3a5329=_[_0xf2ed('0x3b')](_0x5be2c2,_0x5668e1);}return _0x3a5329;}function getCustomFields(_0x43b6f2,_0x526fbd){var _0x3381e6=[];var _0x2606d7={'custom_fields':[]};if(_0x43b6f2[_0xf2ed('0x19')]>0x0){_[_0xf2ed('0x3c')](_0x43b6f2,function(_0x2d9ed2){if(_0x2d9ed2[_0xf2ed('0x3d')]===_0xf2ed('0x3e')&&_0x2d9ed2['nameField']&&!_0x2d9ed2[_0xf2ed('0x3f')]){_0x2606d7[_0x2d9ed2[_0xf2ed('0x40')][_0xf2ed('0x41')]()]=_0x2d9ed2[_0xf2ed('0x42')][_0xf2ed('0x43')]();}else if(_0x2d9ed2[_0xf2ed('0x3d')]===_0xf2ed('0x3e')&&_0x2d9ed2[_0xf2ed('0x1b')]&&_0x2d9ed2[_0xf2ed('0x3f')]){_0x2606d7['custom_fields'][_0xf2ed('0x44')]({'id':_0x2d9ed2[_0xf2ed('0x1b')],'value':_0x2d9ed2['content'][_0xf2ed('0x43')]()});}else if(_0x2d9ed2['type']===_0xf2ed('0x45')&&_0x2d9ed2[_0xf2ed('0x1a')]&&_0x2d9ed2['idField']&&_0x2d9ed2[_0xf2ed('0x3f')]){_0x526fbd[_0x2d9ed2[_0xf2ed('0x1a')]]&&_0x2606d7[_0xf2ed('0x46')]['push']({'id':_0x2d9ed2[_0xf2ed('0x1b')],'value':_0x526fbd[_0x2d9ed2[_0xf2ed('0x1a')]]['toString']()});}else if(_0x2d9ed2[_0xf2ed('0x3d')]===_0xf2ed('0x47')&&_0x2d9ed2['Variable']&&_0x2d9ed2['Variable'][_0xf2ed('0xc')]&&_0x2d9ed2['idField']&&_0x2d9ed2['customField']){_0x526fbd[_0x2d9ed2[_0xf2ed('0x48')][_0xf2ed('0xc')][_0xf2ed('0x41')]()]&&_0x2606d7[_0xf2ed('0x46')][_0xf2ed('0x44')]({'id':_0x2d9ed2[_0xf2ed('0x1b')],'value':_0x526fbd[_0x2d9ed2[_0xf2ed('0x48')][_0xf2ed('0xc')][_0xf2ed('0x41')]()][_0xf2ed('0x43')]()});}});}return _0x2606d7;}function getConnection(_0x2d6a5a){return request({'method':_0xf2ed('0x9'),'form':{'method':_0xf2ed('0x49'),'input_type':_0xf2ed('0x1d'),'response_type':_0xf2ed('0x1d'),'rest_data':JSON['stringify']({'user_auth':{'user_name':_0x2d6a5a['username'],'password':_0x2d6a5a['password'],'encryption':'PLAIN'},'application':'xCALLY\x20Motion\x20integration'})}})[_0xf2ed('0x27')](function(_0x476a9d){var _0x24a0aa=_0x476a9d;if(_0x24a0aa['id']){def[_0xf2ed('0x4a')]=_0x24a0aa['id'];return BPromise['resolve'](_0x24a0aa);}else{throw new Error(util[_0xf2ed('0x20')](_0xf2ed('0x4b'),_0x2d6a5a['id']));}});}function setRelationship(_0x4841f0,_0x568933,_0x5e7764,_0x5e7639){return request({'form':{'method':'set_relationship','input_type':_0xf2ed('0x1d'),'response_type':_0xf2ed('0x1d'),'rest_data':JSON[_0xf2ed('0x1e')]({'session':_0x4841f0['id'],'module_name':_0xf2ed('0x1f'),'module_id':_0x5e7764['id'],'link_field_name':_0x5e7639,'related_ids':[_0x568933['id']]})}});}exports[_0xf2ed('0x4c')]=function(_0x206e54,_0x39423e,_0x34db67,_0xb25d46,_0x26e748,_0x1fe38a){var _0x681537,_0x26e948,_0x2854de,_0x53e160;_0x1fe38a['remoteUri']=intUtil[_0xf2ed('0x4d')](_0x1fe38a[_0xf2ed('0x4e')]);_0x1fe38a[_0xf2ed('0x4f')]=intUtil[_0xf2ed('0x4d')](_0x1fe38a[_0xf2ed('0x4f')]);def['uri']=util[_0xf2ed('0x20')]('%s/service/v4_1/rest.php',_0x1fe38a[_0xf2ed('0x4e')]);if(_0x26e748&&_0x26e748[_0xf2ed('0x50')]){logger[_0xf2ed('0xa')](_0xf2ed('0x51'),_0xf2ed('0x52'));_0x39423e[_0xf2ed('0x53')]=util['format'](_0xf2ed('0x54'),_0x1fe38a[_0xf2ed('0x4f')],_0x39423e[_0xf2ed('0x55')],md5(_0x39423e[_0xf2ed('0x55')]));}else{_0x39423e[_0xf2ed('0x53')]='';}return getConnection(_0x1fe38a)[_0xf2ed('0x27')](function(_0xdc9eef){_0x53e160=_0xdc9eef;return getUser(_0x1fe38a,_0xb25d46['name'],_0x53e160);})['then'](function(_0x512257){_0x681537=_0x512257;logger[_0xf2ed('0xa')]('The\x20User\x20ID\x20is:',_0x681537['id']);return getEndUser(_0x1fe38a,_0x39423e[_0xf2ed('0x56')],_0x39423e[_0xf2ed('0x57')],_0x53e160);})[_0xf2ed('0x27')](function(_0x538536){_0x26e948=_0x538536;logger[_0xf2ed('0xa')](_0xf2ed('0x58'),_0x26e948['id']);return getTicket(_0x1fe38a,_0x681537,_0x26e948,_0x34db67,_0x39423e,_0x34db67[_0xf2ed('0x59')],_0x53e160,_0xf2ed('0x5a'));})[_0xf2ed('0x27')](function(_0x16c108){_0x2854de=_0x16c108;logger[_0xf2ed('0xa')](_0xf2ed('0x5b'));logger['info'](_0xf2ed('0x5c'),_0x2854de['id']);return setRelationship(_0x53e160,_0x681537,_0x2854de,_0xf2ed('0x5d'));})[_0xf2ed('0x27')](function(){return setRelationship(_0x53e160,_0x26e948,_0x2854de,_0xf2ed('0x5e'));})[_0xf2ed('0x27')](function(){return getServerInfo(_0x53e160);})[_0xf2ed('0x27')](function(_0x278905){var _0x1a8f6d=parseInt(_0x278905[_0xf2ed('0x5f')][_0xf2ed('0x60')](0x0));var _0xd432b6=util[_0xf2ed('0x20')](_0xf2ed('0x61'),_0x1fe38a[_0xf2ed('0x4e')],_0x2854de['id']);if(_0x1a8f6d>0x6){_0xd432b6=util['format'](_0xf2ed('0x62'),_0x1fe38a[_0xf2ed('0x4e')],_0x2854de['id']);}logger[_0xf2ed('0xa')](_0xf2ed('0x51'),_0xf2ed('0x63'));emit(util[_0xf2ed('0x20')](_0xf2ed('0x64'),_0xb25d46['name']),_0xf2ed('0x65'),{'uri':_0xd432b6});})[_0xf2ed('0x66')](function(_0x173d24){logger['error'](_0xf2ed('0x51'),JSON[_0xf2ed('0x1e')](_0x173d24));});};exports['outbound']=function(_0x3dc8e4,_0x218a8c,_0x46652b,_0x4f8230,_0x548352,_0x75b4cf,_0x3f1c85){var _0x3319bf,_0x141db5,_0x1443fa,_0x356b82;_0x75b4cf[_0xf2ed('0x4e')]=intUtil[_0xf2ed('0x4d')](_0x75b4cf[_0xf2ed('0x4e')]);_0x75b4cf[_0xf2ed('0x4f')]=intUtil['stripTrailingSlash'](_0x75b4cf['serverUrl']);def[_0xf2ed('0x67')]=util[_0xf2ed('0x20')](_0xf2ed('0x68'),_0x75b4cf[_0xf2ed('0x4e')]);if(_0x3f1c85&&_0x3f1c85[_0xf2ed('0x69')]&&_0x3f1c85[_0xf2ed('0x69')]!=='none'){logger[_0xf2ed('0xa')](_0xf2ed('0x6a'),'Recording\x20is\x20enabled!');_0x218a8c[_0xf2ed('0x53')]=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x75b4cf[_0xf2ed('0x4f')],_0x218a8c[_0xf2ed('0x55')],md5(_0x218a8c['uniqueid']));}return getConnection(_0x75b4cf)[_0xf2ed('0x27')](function(_0x141fef){_0x356b82=_0x141fef;return getUser(_0x75b4cf,_0x4f8230['name'],_0x356b82);})[_0xf2ed('0x27')](function(_0x4c983c){_0x3319bf=_0x4c983c;logger['info'](_0xf2ed('0x6b'),_0x3319bf['id']);return getEndUser(_0x75b4cf,_0x218a8c[_0xf2ed('0x6c')],_0x218a8c[_0xf2ed('0x6d')],_0x356b82);})[_0xf2ed('0x27')](function(_0x4caa63){_0x141db5=_0x4caa63;logger[_0xf2ed('0xa')]('The\x20Enduser\x20ID\x20is:',_0x141db5['id']);return getTicket(_0x75b4cf,_0x3319bf,_0x141db5,_0x46652b,_0x218a8c,_0x46652b[_0xf2ed('0x59')],_0x356b82,_0xf2ed('0x6e'));})[_0xf2ed('0x27')](function(_0x2fea4d){_0x1443fa=_0x2fea4d;logger[_0xf2ed('0xa')](_0xf2ed('0x5b'));logger[_0xf2ed('0xa')](_0xf2ed('0x5c'),_0x1443fa['id']);return setRelationship(_0x356b82,_0x3319bf,_0x1443fa,_0xf2ed('0x5d'));})['then'](function(){return setRelationship(_0x356b82,_0x141db5,_0x1443fa,'contacts');})['then'](function(){return getServerInfo(_0x356b82);})[_0xf2ed('0x27')](function(_0x1a545b){var _0x5b676d=parseInt(_0x1a545b[_0xf2ed('0x5f')]['charAt'](0x0));var _0x59571f=util['format'](_0xf2ed('0x61'),_0x75b4cf[_0xf2ed('0x4e')],_0x1443fa['id']);if(_0x5b676d>0x6){_0x59571f=util[_0xf2ed('0x20')](_0xf2ed('0x62'),_0x75b4cf[_0xf2ed('0x4e')],_0x1443fa['id']);}logger['info'](_0xf2ed('0x6a'),_0xf2ed('0x63'));emit(util['format'](_0xf2ed('0x64'),_0x4f8230[_0xf2ed('0xc')]),'trigger:browser:url',{'uri':_0x59571f});})[_0xf2ed('0x66')](function(_0x452f64){logger[_0xf2ed('0x6f')](_0xf2ed('0x6a'),JSON[_0xf2ed('0x1e')](_0x452f64));});};exports[_0xf2ed('0x70')]=function(_0x550050,_0x5f239b,_0x74c6c8,_0x4e46d3,_0x519cc4,_0x398a18){var _0x5df94a,_0x44f959,_0x50286d,_0x23b864;_0x398a18['remoteUri']=intUtil[_0xf2ed('0x4d')](_0x398a18[_0xf2ed('0x4e')]);_0x398a18[_0xf2ed('0x4f')]=intUtil[_0xf2ed('0x4d')](_0x398a18['serverUrl']);def[_0xf2ed('0x67')]=util['format'](_0xf2ed('0x68'),_0x398a18[_0xf2ed('0x4e')]);if(_0x519cc4&&_0x519cc4[_0xf2ed('0x50')]){logger[_0xf2ed('0xa')](_0xf2ed('0x71'),'Recording\x20is\x20enabled!');_0x5f239b[_0xf2ed('0x53')]=util[_0xf2ed('0x20')](_0xf2ed('0x54'),_0x398a18['serverUrl'],_0x5f239b[_0xf2ed('0x55')],md5(_0x5f239b[_0xf2ed('0x55')]));}else{_0x5f239b[_0xf2ed('0x53')]='';}return getConnection(_0x398a18)[_0xf2ed('0x27')](function(_0x1f8387){_0x23b864=_0x1f8387;return getUser(_0x398a18,_0x4e46d3['name'],_0x23b864);})[_0xf2ed('0x27')](function(_0x57e86f){_0x5df94a=_0x57e86f;logger[_0xf2ed('0xa')](_0xf2ed('0x6b'),_0x5df94a['id']);return getEndUser(_0x398a18,_0x5f239b[_0xf2ed('0x56')],_0x5f239b[_0xf2ed('0x57')],_0x23b864);})['then'](function(_0x233b12){_0x44f959=_0x233b12;logger[_0xf2ed('0xa')](_0xf2ed('0x58'),_0x44f959['id']);return getTicket(_0x398a18,_0x5df94a,_0x44f959,_0x74c6c8,_0x5f239b,_0x74c6c8[_0xf2ed('0x59')],_0x23b864,'Inbound');})[_0xf2ed('0x27')](function(_0x5b7ef7){_0x50286d=_0x5b7ef7;logger[_0xf2ed('0xa')](_0xf2ed('0x5b'));logger['info'](_0xf2ed('0x5c'),_0x50286d['id']);return setRelationship(_0x23b864,_0x5df94a,_0x50286d,_0xf2ed('0x5d'));})[_0xf2ed('0x27')](function(){return setRelationship(_0x23b864,_0x44f959,_0x50286d,_0xf2ed('0x5e'));})[_0xf2ed('0x27')](function(){return getServerInfo(_0x23b864);})[_0xf2ed('0x66')](function(_0x548e95){logger['error'](_0xf2ed('0x71'),JSON[_0xf2ed('0x1e')](_0x548e95));});};
\ No newline at end of file