8284bb134ee2046646d2c0a5e23e76a0e80374d6
[motion-next.git] / server / services / ami / trigger / integration / sugarcrm.js
1 const a1142_0x5019=['contacts.phone_home\x20=\x20\x22%s\x22','Recording\x20is\x20enabled!','users','date_start','user:%s','uniqueid','Outbound','request-promise-native','<unknown>','user_id','recordingFormat','destcalleridname','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','serverUrl','Descriptions','Caller\x20-\x20%s','Contacts','duration_minutes','outbound','util','JSON','contacts','Creating\x20new\x20ticket...','unmanaged','login','info','parent_type','trigger:browser:url','debug','entry_list','error','merge','calleridname','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','../../../../rediscache','Ticket\x20created!','[OUTBOUND]','format','getString','version','set_relationship','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','first_name','then','remoteUri','variableName','The\x20Enduser\x20ID\x20is:','catch','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','POST','emit','description','value','../../../../config/logger','monitor_format','The\x20User\x20ID\x20is:','[QUEUE]','calleridnum','direction','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','recordingURL','password','name','Fields','Calls','./util','The\x20Ticket\x20ID\x20is:','[HTTP]','push','none','sessionID','charAt','lastevent','xCALLY\x20Motion\x20integration','PLAIN','Inbound','stripTrailingSlash','isNil','username','Agent\x20found!','set_entry','phone_home','Subjects','length','Enduser\x20found!','Getting\x20agent\x20with\x20name','toISOString','parent_name','sugarcrm','resolve','forEach','get_server_info','user_name','stringify','Searching\x20enduser\x20with\x20phone','created_by','toUpperCase','lodash','%s/service/v4_1/rest.php','uri','Employees','get_entry_list','name_value_list'];(function(_0x295e2b,_0x5019fe){const _0x5b8184=function(_0x291c16){while(--_0x291c16){_0x295e2b['push'](_0x295e2b['shift']());}};_0x5b8184(++_0x5019fe);}(a1142_0x5019,0xa1));const a1142_0x5b81=function(_0x295e2b,_0x5019fe){_0x295e2b=_0x295e2b-0x0;let _0x5b8184=a1142_0x5019[_0x295e2b];return _0x5b8184;};const _0x4d29f5=a1142_0x5b81;'use strict';const _=require(_0x4d29f5('0x27')),rp=require(_0x4d29f5('0x34')),md5=require('md5'),util=require(_0x4d29f5('0x40')),intUtil=require(_0x4d29f5('0x7')),logger=require(_0x4d29f5('0x62'))(_0x4d29f5('0x1e')),{getSocket}=require(_0x4d29f5('0x4f')),io=getSocket(),def={'method':_0x4d29f5('0x5e'),'json':!![]};function emit(_0x291c16,_0x259537,_0x15fb7c){const _0x5cdadb=_0x4d29f5;io['to'](_0x291c16)[_0x5cdadb('0x5f')](_0x259537,_0x15fb7c);}function getTicket(_0x580cc4,_0x4ba2b4,_0x3129aa,_0x2ca650,_0x3c4134,_0xdcf76c,_0x1dc680,_0xf757f6){const _0x4ff325=_0x4d29f5;logger[_0x4ff325('0x46')](_0x4ff325('0x43'));const _0x625944=new Date(),_0x2d05a2=[{'name':_0x4ff325('0x4'),'value':intUtil[_0x4ff325('0x53')](_0x2ca650[_0x4ff325('0x18')],_0x3c4134,'\x20')},{'name':'assigned_user_id','value':_0x4ba2b4['id']},{'name':_0x4ff325('0x25'),'value':_0x4ba2b4['id']},{'name':_0x4ff325('0x60'),'value':intUtil[_0x4ff325('0x53')](_0x2ca650[_0x4ff325('0x3b')],_0x3c4134,'\x0a')},{'name':_0x4ff325('0x30'),'value':_0x625944[_0x4ff325('0x1c')]()['slice'](0x0,0x13)['replace']('T','\x20')},{'name':'duration_hours','value':'0'},{'name':_0x4ff325('0x3e'),'value':'15'},{'name':'parent_id','value':_0x3129aa['id']},{'name':_0x4ff325('0x47'),'value':'Contacts'},{'name':_0x4ff325('0x1d'),'value':_0x3129aa[_0x4ff325('0x4')]},{'name':_0x4ff325('0x0'),'value':_0xf757f6}];return _0xdcf76c[_0x4ff325('0x19')]&&_[_0x4ff325('0x20')](_0xdcf76c,function(_0x16ec72){const _0x366ad6=_0x4ff325;_0x3c4134[_0x16ec72[_0x366ad6('0x5a')]]&&_0x2d05a2[_0x366ad6('0xa')]({'name':_0x16ec72['idField'],'value':_0x3c4134[_0x16ec72['variableName']]});}),request({'form':{'method':_0x4ff325('0x16'),'input_type':_0x4ff325('0x41'),'response_type':_0x4ff325('0x41'),'rest_data':JSON['stringify']({'session':_0x1dc680['id'],'module_name':_0x4ff325('0x6'),'name_value_list':_0x2d05a2})}});}function getServerInfo(_0x405f68){const _0x164401=_0x4d29f5;return request({'form':{'method':_0x164401('0x21'),'input_type':'JSON','response_type':'JSON','rest_data':JSON[_0x164401('0x23')]({'session':_0x405f68['id']})}});}function getUser(_0x1a7c8b,_0x26efd8,_0x271ead){const _0x440e1c=_0x4d29f5;return!_[_0x440e1c('0x13')](_0x26efd8)?(logger[_0x440e1c('0x46')](_0x440e1c('0x1b'),_0x26efd8),request({'form':{'method':_0x440e1c('0x2b'),'input_type':_0x440e1c('0x41'),'response_type':_0x440e1c('0x41'),'rest_data':JSON[_0x440e1c('0x23')]({'session':_0x271ead['id'],'module_name':_0x440e1c('0x2a'),'query':util[_0x440e1c('0x52')](_0x440e1c('0x39'),_0x26efd8),'order_by':'','offset':'0','select_fields':['id','name','user_name'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x440e1c('0x58')](function(_0x22c947){const _0x4ddacc=_0x440e1c;if(_0x22c947['entry_list'][_0x4ddacc('0x19')]){const _0x1791cc=_['find'](_0x22c947[_0x4ddacc('0x4a')],function(_0x2ad0d3){const _0x1c7d61=_0x4ddacc;return _0x2ad0d3[_0x1c7d61('0x2c')][_0x1c7d61('0x22')][_0x1c7d61('0x61')]===_0x26efd8;});if(_0x1791cc)return logger[_0x4ddacc('0x46')](_0x4ddacc('0x15')),Promise['resolve']({'id':_0x1791cc[_0x4ddacc('0x2c')]['id'][_0x4ddacc('0x61')],'name':_0x1791cc[_0x4ddacc('0x2c')][_0x4ddacc('0x4')][_0x4ddacc('0x61')]});}return logger[_0x4ddacc('0x46')](_0x4ddacc('0x56')),Promise[_0x4ddacc('0x1f')]({'id':_0x271ead[_0x4ddacc('0x2c')][_0x4ddacc('0x36')][_0x4ddacc('0x61')],'name':_0x271ead['name_value_list'][_0x4ddacc('0x22')]['value']});})):(logger['info'](_0x440e1c('0x4e')),Promise['resolve']({'id':_0x271ead['name_value_list'][_0x440e1c('0x36')][_0x440e1c('0x61')],'name':_0x271ead[_0x440e1c('0x2c')][_0x440e1c('0x22')][_0x440e1c('0x61')]}));}function getEndUser(_0x528198,_0x2e9274,_0x12cb7d,_0x4b1e67){const _0x551b33=_0x4d29f5;return logger[_0x551b33('0x46')](_0x551b33('0x24'),_0x12cb7d),request({'form':{'method':_0x551b33('0x2b'),'input_type':_0x551b33('0x41'),'response_type':_0x551b33('0x41'),'rest_data':JSON[_0x551b33('0x23')]({'session':_0x4b1e67['id'],'module_name':_0x551b33('0x3d'),'query':util[_0x551b33('0x52')](_0x551b33('0x2d'),_0x12cb7d),'order_by':'','offset':'0','select_fields':['id',_0x551b33('0x4'),_0x551b33('0x17')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})['then'](function(_0x2b4c8c){const _0x4a29dd=_0x551b33;if(_0x2b4c8c[_0x4a29dd('0x4a')]['length']){const _0x157dff=_['find'](_0x2b4c8c[_0x4a29dd('0x4a')],function(_0x1eed43){const _0x3ff9bd=_0x4a29dd;return _0x1eed43['name_value_list'][_0x3ff9bd('0x17')][_0x3ff9bd('0x61')]===_0x12cb7d;});if(_0x157dff)return logger[_0x4a29dd('0x46')](_0x4a29dd('0x1a')),Promise[_0x4a29dd('0x1f')]({'id':_0x157dff[_0x4a29dd('0x2c')]['id'][_0x4a29dd('0x61')],'name':_0x157dff[_0x4a29dd('0x2c')][_0x4a29dd('0x4')][_0x4a29dd('0x61')],'phone':_0x157dff[_0x4a29dd('0x2c')][_0x4a29dd('0x17')][_0x4a29dd('0x61')]});}else return logger[_0x4a29dd('0x46')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!'),request({'form':{'method':'set_entry','input_type':_0x4a29dd('0x41'),'response_type':_0x4a29dd('0x41'),'rest_data':JSON[_0x4a29dd('0x23')]({'session':_0x4b1e67['id'],'module_name':_0x4a29dd('0x3d'),'name_value_list':[{'name':_0x4a29dd('0x57'),'value':_0x2e9274!==_0x4a29dd('0x35')?_0x2e9274:util['format'](_0x4a29dd('0x3c'),_0x12cb7d)},{'name':_0x4a29dd('0x17'),'value':_0x12cb7d}]})}})[_0x4a29dd('0x58')](function(_0xfce14e){const _0x3e2e85=_0x4a29dd;return logger[_0x3e2e85('0x46')]('Enduser\x20created.'),Promise[_0x3e2e85('0x1f')]({'id':_0xfce14e['id'],'name':_0xfce14e[_0x3e2e85('0x4a')][_0x3e2e85('0x57')]['value'],'phone':_0xfce14e[_0x3e2e85('0x4a')][_0x3e2e85('0x17')]['value']});});});}function request(_0x81d8da){const _0xd9812f=_0x4d29f5;return logger[_0xd9812f('0x49')](_0xd9812f('0x9'),JSON['stringify'](_0x81d8da)),rp(_[_0xd9812f('0x4c')](def,_0x81d8da));}function getConnection(_0x18dafa){const _0x5b85d0=_0x4d29f5;return request({'method':_0x5b85d0('0x5e'),'form':{'method':_0x5b85d0('0x45'),'input_type':_0x5b85d0('0x41'),'response_type':_0x5b85d0('0x41'),'rest_data':JSON[_0x5b85d0('0x23')]({'user_auth':{'user_name':_0x18dafa[_0x5b85d0('0x14')],'password':_0x18dafa[_0x5b85d0('0x3')],'encryption':_0x5b85d0('0x10')},'application':_0x5b85d0('0xf')})}})[_0x5b85d0('0x58')](function(_0x912f71){const _0x140a9c=_0x5b85d0,_0x1c864d=_0x912f71;if(_0x1c864d['id'])return def[_0x140a9c('0xc')]=_0x1c864d['id'],Promise[_0x140a9c('0x1f')](_0x1c864d);else throw new Error(util['format']('Account\x20%d\x20is\x20not\x20valid',_0x18dafa['id']));});}function setRelationship(_0x106935,_0x52b2a7,_0x1cf348,_0x43b700){const _0x53e2c4=_0x4d29f5;return request({'form':{'method':_0x53e2c4('0x55'),'input_type':'JSON','response_type':_0x53e2c4('0x41'),'rest_data':JSON['stringify']({'session':_0x106935['id'],'module_name':_0x53e2c4('0x6'),'module_id':_0x1cf348['id'],'link_field_name':_0x43b700,'related_ids':[_0x52b2a7['id']]})}});}exports['queue']=function(_0x40c9fe,_0x66575f,_0xcb2be8,_0x4fee64,_0x35b0ea,_0x9c2e6f){const _0x42c6b0=_0x4d29f5;let _0x361913,_0xdb1e9,_0xdd2f06,_0xb2418d;return _0x9c2e6f[_0x42c6b0('0x59')]=intUtil[_0x42c6b0('0x12')](_0x9c2e6f[_0x42c6b0('0x59')]),_0x9c2e6f[_0x42c6b0('0x3a')]=intUtil[_0x42c6b0('0x12')](_0x9c2e6f[_0x42c6b0('0x3a')]),def[_0x42c6b0('0x29')]=util[_0x42c6b0('0x52')]('%s/service/v4_1/rest.php',_0x9c2e6f[_0x42c6b0('0x59')]),_0x35b0ea&&_0x35b0ea[_0x42c6b0('0x63')]?(logger[_0x42c6b0('0x46')](_0x42c6b0('0x65'),'Recording\x20is\x20enabled!'),_0x66575f[_0x42c6b0('0x2')]=util[_0x42c6b0('0x52')](_0x42c6b0('0x1'),_0x9c2e6f[_0x42c6b0('0x3a')],_0x66575f[_0x42c6b0('0x32')],md5(_0x66575f[_0x42c6b0('0x32')]))):_0x66575f[_0x42c6b0('0x2')]='',getConnection(_0x9c2e6f)[_0x42c6b0('0x58')](function(_0x1ba534){const _0x15e460=_0x42c6b0;return _0xb2418d=_0x1ba534,getUser(_0x9c2e6f,_0x4fee64[_0x15e460('0x4')],_0xb2418d);})['then'](function(_0x5c91f5){const _0x56af02=_0x42c6b0;return _0x361913=_0x5c91f5,logger[_0x56af02('0x46')]('The\x20User\x20ID\x20is:',_0x361913['id']),getEndUser(_0x9c2e6f,_0x66575f[_0x56af02('0x4d')],_0x66575f[_0x56af02('0x66')],_0xb2418d);})[_0x42c6b0('0x58')](function(_0x42f8b8){const _0x38d30=_0x42c6b0;return _0xdb1e9=_0x42f8b8,logger[_0x38d30('0x46')](_0x38d30('0x5b'),_0xdb1e9['id']),getTicket(_0x9c2e6f,_0x361913,_0xdb1e9,_0xcb2be8,_0x66575f,_0xcb2be8[_0x38d30('0x5')],_0xb2418d,_0x38d30('0x11'));})['then'](function(_0x7f879e){const _0x1735ee=_0x42c6b0;return _0xdd2f06=_0x7f879e,logger[_0x1735ee('0x46')](_0x1735ee('0x50')),logger[_0x1735ee('0x46')](_0x1735ee('0x8'),_0xdd2f06['id']),setRelationship(_0xb2418d,_0x361913,_0xdd2f06,_0x1735ee('0x2f'));})[_0x42c6b0('0x58')](function(){const _0x394516=_0x42c6b0;return setRelationship(_0xb2418d,_0xdb1e9,_0xdd2f06,_0x394516('0x42'));})[_0x42c6b0('0x58')](function(){return getServerInfo(_0xb2418d);})[_0x42c6b0('0x58')](function(_0x3f54da){const _0x357432=_0x42c6b0,_0x2aff28=parseInt(_0x3f54da[_0x357432('0x54')][_0x357432('0xd')](0x0));let _0x3c1f36=util[_0x357432('0x52')]('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x9c2e6f[_0x357432('0x59')],_0xdd2f06['id']);_0x2aff28>0x6&&(_0x3c1f36=util[_0x357432('0x52')]('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x9c2e6f[_0x357432('0x59')],_0xdd2f06['id'])),logger[_0x357432('0x46')](_0x357432('0x65'),_0x357432('0x5d')),emit(util[_0x357432('0x52')](_0x357432('0x31'),_0x4fee64[_0x357432('0x4')]),_0x357432('0x48'),{'uri':_0x3c1f36});})['catch'](function(_0x2d0c12){const _0x3e97d8=_0x42c6b0;logger[_0x3e97d8('0x4b')](_0x3e97d8('0x65'),JSON[_0x3e97d8('0x23')](_0x2d0c12));});},exports[_0x4d29f5('0x3f')]=function(_0xeb894c,_0xdf122a,_0x4f9949,_0x4904dd,_0x5061f7,_0x535e4e,_0x3795fd){const _0x17e8ff=_0x4d29f5;let _0x17414d,_0x2c6fb6,_0x239205,_0x41c249;return _0x535e4e['remoteUri']=intUtil[_0x17e8ff('0x12')](_0x535e4e[_0x17e8ff('0x59')]),_0x535e4e[_0x17e8ff('0x3a')]=intUtil[_0x17e8ff('0x12')](_0x535e4e[_0x17e8ff('0x3a')]),def['uri']=util[_0x17e8ff('0x52')](_0x17e8ff('0x28'),_0x535e4e[_0x17e8ff('0x59')]),_0x3795fd&&_0x3795fd[_0x17e8ff('0x37')]&&_0x3795fd[_0x17e8ff('0x37')]!==_0x17e8ff('0xb')&&(logger['info'](_0x17e8ff('0x51'),_0x17e8ff('0x2e')),_0xdf122a[_0x17e8ff('0x2')]=util[_0x17e8ff('0x52')](_0x17e8ff('0x1'),_0x535e4e[_0x17e8ff('0x3a')],_0xdf122a[_0x17e8ff('0x32')],md5(_0xdf122a[_0x17e8ff('0x32')]))),getConnection(_0x535e4e)[_0x17e8ff('0x58')](function(_0x5530b4){const _0x1f56dd=_0x17e8ff;return _0x41c249=_0x5530b4,getUser(_0x535e4e,_0x4904dd[_0x1f56dd('0x4')],_0x41c249);})[_0x17e8ff('0x58')](function(_0x2e0632){const _0xe6d75a=_0x17e8ff;return _0x17414d=_0x2e0632,logger['info'](_0xe6d75a('0x64'),_0x17414d['id']),getEndUser(_0x535e4e,_0xdf122a[_0xe6d75a('0x38')],_0xdf122a['destcalleridnum'],_0x41c249);})['then'](function(_0x328862){const _0x53ee3d=_0x17e8ff;return _0x2c6fb6=_0x328862,logger[_0x53ee3d('0x46')](_0x53ee3d('0x5b'),_0x2c6fb6['id']),getTicket(_0x535e4e,_0x17414d,_0x2c6fb6,_0x4f9949,_0xdf122a,_0x4f9949[_0x53ee3d('0x5')],_0x41c249,_0x53ee3d('0x33'));})[_0x17e8ff('0x58')](function(_0x257991){const _0x16e493=_0x17e8ff;return _0x239205=_0x257991,logger[_0x16e493('0x46')](_0x16e493('0x50')),logger[_0x16e493('0x46')](_0x16e493('0x8'),_0x239205['id']),setRelationship(_0x41c249,_0x17414d,_0x239205,'users');})['then'](function(){const _0x229460=_0x17e8ff;return setRelationship(_0x41c249,_0x2c6fb6,_0x239205,_0x229460('0x42'));})[_0x17e8ff('0x58')](function(){return getServerInfo(_0x41c249);})[_0x17e8ff('0x58')](function(_0x1cab36){const _0x3d4874=_0x17e8ff,_0x23b71e=parseInt(_0x1cab36['version'][_0x3d4874('0xd')](0x0));let _0xedf0dd=util[_0x3d4874('0x52')]('%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s',_0x535e4e[_0x3d4874('0x59')],_0x239205['id']);_0x23b71e>0x6&&(_0xedf0dd=util[_0x3d4874('0x52')]('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x535e4e['remoteUri'],_0x239205['id'])),logger[_0x3d4874('0x46')](_0x3d4874('0x51'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...'),emit(util[_0x3d4874('0x52')](_0x3d4874('0x31'),_0x4904dd[_0x3d4874('0x4')]),'trigger:browser:url',{'uri':_0xedf0dd});})[_0x17e8ff('0x5c')](function(_0x50496f){const _0x5f46c7=_0x17e8ff;logger[_0x5f46c7('0x4b')](_0x5f46c7('0x51'),JSON[_0x5f46c7('0x23')](_0x50496f));});},exports[_0x4d29f5('0x44')]=function(_0x284e93,_0x4cfc23,_0x2eb4d6,_0x336a37,_0x7363ef,_0x11b94a){const _0x5f5534=_0x4d29f5;let _0x386bf1,_0x52864a,_0x5ba275,_0x1684a2;return _0x11b94a['remoteUri']=intUtil[_0x5f5534('0x12')](_0x11b94a['remoteUri']),_0x11b94a[_0x5f5534('0x3a')]=intUtil[_0x5f5534('0x12')](_0x11b94a[_0x5f5534('0x3a')]),def[_0x5f5534('0x29')]=util['format']('%s/service/v4_1/rest.php',_0x11b94a[_0x5f5534('0x59')]),_0x7363ef&&_0x7363ef[_0x5f5534('0x63')]?(logger[_0x5f5534('0x46')]('['+_0x4cfc23[_0x5f5534('0xe')][_0x5f5534('0x26')]()+']',_0x5f5534('0x2e')),_0x4cfc23[_0x5f5534('0x2')]=util[_0x5f5534('0x52')](_0x5f5534('0x1'),_0x11b94a[_0x5f5534('0x3a')],_0x4cfc23[_0x5f5534('0x32')],md5(_0x4cfc23[_0x5f5534('0x32')]))):_0x4cfc23['recordingURL']='',getConnection(_0x11b94a)['then'](function(_0x49fe5e){const _0x5aaecd=_0x5f5534;return _0x1684a2=_0x49fe5e,!_[_0x5aaecd('0x13')](_0x336a37)?getUser(_0x11b94a,_0x336a37[_0x5aaecd('0x4')],_0x1684a2):getUser(_0x11b94a,null,_0x1684a2);})[_0x5f5534('0x58')](function(_0x412640){const _0x26fd41=_0x5f5534;return _0x386bf1=_0x412640,logger[_0x26fd41('0x46')](_0x26fd41('0x64'),_0x386bf1['id']),getEndUser(_0x11b94a,_0x4cfc23['calleridname'],_0x4cfc23[_0x26fd41('0x66')],_0x1684a2);})[_0x5f5534('0x58')](function(_0x45fb11){const _0x3536ba=_0x5f5534;return _0x52864a=_0x45fb11,logger[_0x3536ba('0x46')]('The\x20Enduser\x20ID\x20is:',_0x52864a['id']),getTicket(_0x11b94a,_0x386bf1,_0x52864a,_0x2eb4d6,_0x4cfc23,_0x2eb4d6['Fields'],_0x1684a2,_0x3536ba('0x11'));})['then'](function(_0x554fe0){const _0x142004=_0x5f5534;return _0x5ba275=_0x554fe0,logger[_0x142004('0x46')]('Ticket\x20created!'),logger[_0x142004('0x46')](_0x142004('0x8'),_0x5ba275['id']),setRelationship(_0x1684a2,_0x386bf1,_0x5ba275,_0x142004('0x2f'));})[_0x5f5534('0x58')](function(){const _0x18d076=_0x5f5534;return setRelationship(_0x1684a2,_0x52864a,_0x5ba275,_0x18d076('0x42'));})[_0x5f5534('0x58')](function(){return getServerInfo(_0x1684a2);})['catch'](function(_0x556a91){const _0x43406e=_0x5f5534;logger['error']('['+_0x4cfc23['lastevent'][_0x43406e('0x26')]()+']',JSON[_0x43406e('0x23')](_0x556a91));});};