Built motion from commit f738f9592c388b9f9eb3948f400a5c9d717a3561. Version 3.0.0...
[motion-next.git] / server / services / ami / trigger / integration / sugarcrm.js
1 const a1311_0x2e36=['forEach','Ticket\x20created!','Fields','outbound','[OUTBOUND]','catch','none','error','set_relationship','The\x20Enduser\x20ID\x20is:','xCALLY\x20Motion\x20integration','util','POST','username','get_server_info','Outbound','users','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','[QUEUE]','Inbound','Agent\x20found!','%s/#bwc/index.php?module=Calls&action=EditView&record=%s','stripTrailingSlash','description','Creating\x20new\x20ticket...','Calls','serverUrl','parent_id','entry_list','phone_home','Recording\x20is\x20enabled!','emit','uniqueid','variableName','JSON','name','Getting\x20agent\x20with\x20name','first_name','Contacts','toUpperCase','Descriptions','value','trigger:browser:url','Subjects','./util','<unknown>','password','slice','idField','user_name','recordingURL','md5','The\x20User\x20ID\x20is:','remoteUri','contacts.phone_home\x20=\x20\x22%s\x22','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','info','push','../../../../rediscache','toISOString','isNil','sessionID','direction','calleridname','set_entry','Enduser\x20found!','parent_type','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','charAt','version','user:%s','Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!','duration_minutes','then','%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s','sugarcrm','recordingFormat','assigned_user_id','created_by','getString','name_value_list','stringify','contacts','calleridnum','The\x20Ticket\x20ID\x20is:','destcalleridname','get_entry_list','monitor_format','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','lastevent','user_id','PLAIN','format','Enduser\x20created.','Searching\x20enduser\x20with\x20phone','%s/service/v4_1/rest.php','lodash','length','uri','duration_hours','resolve'];(function(_0x2ef6b4,_0x2bf375){const _0x2e3626=function(_0x4c72a8){while(--_0x4c72a8){_0x2ef6b4['push'](_0x2ef6b4['shift']());}};_0x2e3626(++_0x2bf375);}(a1311_0x2e36,0xd4));const a1311_0x4c72=function(_0x2ef6b4,_0x2bf375){_0x2ef6b4=_0x2ef6b4-0x14b;let _0x2e3626=a1311_0x2e36[_0x2ef6b4];return _0x2e3626;};const a1311_0x1a5093=a1311_0x4c72;'use strict';const _=require(a1311_0x1a5093(0x1a1)),rp=require('request-promise-native'),md5=require(a1311_0x1a5093(0x174)),util=require(a1311_0x1a5093(0x14c)),intUtil=require(a1311_0x1a5093(0x16d)),logger=require('../../../../config/logger')(a1311_0x1a5093(0x18c)),{getSocket}=require(a1311_0x1a5093(0x17b)),io=getSocket(),def={'method':a1311_0x1a5093(0x14d),'json':!![]};function emit(_0x18714c,_0x2b7aee,_0x9dac2b){const _0x32f08f=a1311_0x1a5093;io['to'](_0x18714c)[_0x32f08f(0x160)](_0x2b7aee,_0x9dac2b);}function getTicket(_0x26418a,_0x157ce7,_0x226ea5,_0x5337f7,_0x289850,_0xcf5035,_0xd0b68f,_0x51e208){const _0x340dd2=a1311_0x1a5093;logger[_0x340dd2(0x179)](_0x340dd2(0x159));const _0x3802cb=new Date(),_0x194117=[{'name':_0x340dd2(0x164),'value':intUtil[_0x340dd2(0x190)](_0x5337f7[_0x340dd2(0x16c)],_0x289850,'\x20')},{'name':_0x340dd2(0x18e),'value':_0x157ce7['id']},{'name':_0x340dd2(0x18f),'value':_0x157ce7['id']},{'name':_0x340dd2(0x158),'value':intUtil['getString'](_0x5337f7[_0x340dd2(0x169)],_0x289850,'\x0a')},{'name':'date_start','value':_0x3802cb[_0x340dd2(0x17c)]()[_0x340dd2(0x170)](0x0,0x13)['replace']('T','\x20')},{'name':_0x340dd2(0x1a4),'value':'0'},{'name':_0x340dd2(0x189),'value':'15'},{'name':_0x340dd2(0x15c),'value':_0x226ea5['id']},{'name':_0x340dd2(0x183),'value':'Contacts'},{'name':'parent_name','value':_0x226ea5[_0x340dd2(0x164)]},{'name':_0x340dd2(0x17f),'value':_0x51e208}];return _0xcf5035[_0x340dd2(0x1a2)]&&_[_0x340dd2(0x1a6)](_0xcf5035,function(_0x4a3d88){const _0x57fee0=_0x340dd2;_0x289850[_0x4a3d88[_0x57fee0(0x162)]]&&_0x194117[_0x57fee0(0x17a)]({'name':_0x4a3d88[_0x57fee0(0x171)],'value':_0x289850[_0x4a3d88[_0x57fee0(0x162)]]});}),request({'form':{'method':'set_entry','input_type':'JSON','response_type':_0x340dd2(0x163),'rest_data':JSON['stringify']({'session':_0xd0b68f['id'],'module_name':'Calls','name_value_list':_0x194117})}});}function getServerInfo(_0x5dcc97){const _0x33ee11=a1311_0x1a5093;return request({'form':{'method':_0x33ee11(0x14f),'input_type':_0x33ee11(0x163),'response_type':_0x33ee11(0x163),'rest_data':JSON[_0x33ee11(0x192)]({'session':_0x5dcc97['id']})}});}function getUser(_0x3a1ffe,_0x413023,_0x2ae5fa){const _0x351fa6=a1311_0x1a5093;return!_[_0x351fa6(0x17d)](_0x413023)?(logger[_0x351fa6(0x179)](_0x351fa6(0x165),_0x413023),request({'form':{'method':_0x351fa6(0x197),'input_type':_0x351fa6(0x163),'response_type':'JSON','rest_data':JSON[_0x351fa6(0x192)]({'session':_0x2ae5fa['id'],'module_name':'Employees','query':util[_0x351fa6(0x19d)](_0x351fa6(0x152),_0x413023),'order_by':'','offset':'0','select_fields':['id',_0x351fa6(0x164),_0x351fa6(0x172)],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x351fa6(0x18a)](function(_0x2b6d7f){const _0xb8aca1=_0x351fa6;if(_0x2b6d7f[_0xb8aca1(0x15d)][_0xb8aca1(0x1a2)]){const _0x1a37d0=_['find'](_0x2b6d7f[_0xb8aca1(0x15d)],function(_0x5ee0d0){const _0x46f667=_0xb8aca1;return _0x5ee0d0[_0x46f667(0x191)][_0x46f667(0x172)]['value']===_0x413023;});if(_0x1a37d0)return logger[_0xb8aca1(0x179)](_0xb8aca1(0x155)),Promise[_0xb8aca1(0x1a5)]({'id':_0x1a37d0[_0xb8aca1(0x191)]['id'][_0xb8aca1(0x16a)],'name':_0x1a37d0[_0xb8aca1(0x191)][_0xb8aca1(0x164)][_0xb8aca1(0x16a)]});}return logger['info']('Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!'),Promise[_0xb8aca1(0x1a5)]({'id':_0x2ae5fa[_0xb8aca1(0x191)]['user_id'][_0xb8aca1(0x16a)],'name':_0x2ae5fa['name_value_list']['user_name']['value']});})):(logger[_0x351fa6(0x179)](_0x351fa6(0x188)),Promise[_0x351fa6(0x1a5)]({'id':_0x2ae5fa[_0x351fa6(0x191)][_0x351fa6(0x19b)][_0x351fa6(0x16a)],'name':_0x2ae5fa[_0x351fa6(0x191)][_0x351fa6(0x172)][_0x351fa6(0x16a)]}));}function getEndUser(_0x5c21c5,_0xc3c60d,_0x58f705,_0x2940de){const _0x5e3ee9=a1311_0x1a5093;return logger[_0x5e3ee9(0x179)](_0x5e3ee9(0x19f),_0x58f705),request({'form':{'method':_0x5e3ee9(0x197),'input_type':_0x5e3ee9(0x163),'response_type':_0x5e3ee9(0x163),'rest_data':JSON[_0x5e3ee9(0x192)]({'session':_0x2940de['id'],'module_name':_0x5e3ee9(0x167),'query':util[_0x5e3ee9(0x19d)](_0x5e3ee9(0x177),_0x58f705),'order_by':'','offset':'0','select_fields':['id',_0x5e3ee9(0x164),_0x5e3ee9(0x15e)],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x5e3ee9(0x18a)](function(_0x5cb2e2){const _0x3a3891=_0x5e3ee9;if(_0x5cb2e2[_0x3a3891(0x15d)]['length']){const _0x1e3b81=_['find'](_0x5cb2e2[_0x3a3891(0x15d)],function(_0x3d4d36){const _0x3ea2ec=_0x3a3891;return _0x3d4d36[_0x3ea2ec(0x191)][_0x3ea2ec(0x15e)][_0x3ea2ec(0x16a)]===_0x58f705;});if(_0x1e3b81)return logger[_0x3a3891(0x179)](_0x3a3891(0x182)),Promise[_0x3a3891(0x1a5)]({'id':_0x1e3b81['name_value_list']['id']['value'],'name':_0x1e3b81[_0x3a3891(0x191)]['name'][_0x3a3891(0x16a)],'phone':_0x1e3b81[_0x3a3891(0x191)]['phone_home'][_0x3a3891(0x16a)]});}else return logger[_0x3a3891(0x179)](_0x3a3891(0x199)),request({'form':{'method':_0x3a3891(0x181),'input_type':_0x3a3891(0x163),'response_type':'JSON','rest_data':JSON[_0x3a3891(0x192)]({'session':_0x2940de['id'],'module_name':_0x3a3891(0x167),'name_value_list':[{'name':'first_name','value':_0xc3c60d!==_0x3a3891(0x16e)?_0xc3c60d:util[_0x3a3891(0x19d)]('Caller\x20-\x20%s',_0x58f705)},{'name':'phone_home','value':_0x58f705}]})}})['then'](function(_0x38096b){const _0x300ae7=_0x3a3891;return logger[_0x300ae7(0x179)](_0x300ae7(0x19e)),Promise[_0x300ae7(0x1a5)]({'id':_0x38096b['id'],'name':_0x38096b[_0x300ae7(0x15d)][_0x300ae7(0x166)]['value'],'phone':_0x38096b['entry_list'][_0x300ae7(0x15e)][_0x300ae7(0x16a)]});});});}function request(_0x46d73e){const _0x152feb=a1311_0x1a5093;return logger['debug']('[HTTP]',JSON[_0x152feb(0x192)](_0x46d73e)),rp(_['merge'](def,_0x46d73e));}function getConnection(_0x5eb327){const _0xce7443=a1311_0x1a5093;return request({'method':_0xce7443(0x14d),'form':{'method':'login','input_type':'JSON','response_type':_0xce7443(0x163),'rest_data':JSON[_0xce7443(0x192)]({'user_auth':{'user_name':_0x5eb327[_0xce7443(0x14e)],'password':_0x5eb327[_0xce7443(0x16f)],'encryption':_0xce7443(0x19c)},'application':_0xce7443(0x14b)})}})['then'](function(_0x193198){const _0x2c1738=_0xce7443,_0x27e7ef=_0x193198;if(_0x27e7ef['id'])return def[_0x2c1738(0x17e)]=_0x27e7ef['id'],Promise['resolve'](_0x27e7ef);else throw new Error(util[_0x2c1738(0x19d)]('Account\x20%d\x20is\x20not\x20valid',_0x5eb327['id']));});}function setRelationship(_0x1476d0,_0x42b0d8,_0x3f4d57,_0x923161){const _0x2c67d8=a1311_0x1a5093;return request({'form':{'method':_0x2c67d8(0x1ae),'input_type':_0x2c67d8(0x163),'response_type':_0x2c67d8(0x163),'rest_data':JSON[_0x2c67d8(0x192)]({'session':_0x1476d0['id'],'module_name':_0x2c67d8(0x15a),'module_id':_0x3f4d57['id'],'link_field_name':_0x923161,'related_ids':[_0x42b0d8['id']]})}});}exports['queue']=function(_0x4a7c38,_0x328028,_0x48c1ba,_0x1a9376,_0x395713,_0x3dfaf1){const _0x5cf4de=a1311_0x1a5093;let _0x5e422a,_0x2a3a86,_0x39b515,_0xc12d2a;return _0x3dfaf1[_0x5cf4de(0x176)]=intUtil[_0x5cf4de(0x157)](_0x3dfaf1[_0x5cf4de(0x176)]),_0x3dfaf1[_0x5cf4de(0x15b)]=intUtil['stripTrailingSlash'](_0x3dfaf1['serverUrl']),def[_0x5cf4de(0x1a3)]=util['format'](_0x5cf4de(0x1a0),_0x3dfaf1['remoteUri']),_0x395713&&_0x395713[_0x5cf4de(0x198)]?(logger[_0x5cf4de(0x179)](_0x5cf4de(0x153),_0x5cf4de(0x15f)),_0x328028['recordingURL']=util['format']('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x3dfaf1[_0x5cf4de(0x15b)],_0x328028['uniqueid'],md5(_0x328028['uniqueid']))):_0x328028[_0x5cf4de(0x173)]='',getConnection(_0x3dfaf1)[_0x5cf4de(0x18a)](function(_0x2422b8){const _0x2e95f3=_0x5cf4de;return _0xc12d2a=_0x2422b8,getUser(_0x3dfaf1,_0x1a9376[_0x2e95f3(0x164)],_0xc12d2a);})[_0x5cf4de(0x18a)](function(_0x1bcc8e){const _0x524eb8=_0x5cf4de;return _0x5e422a=_0x1bcc8e,logger['info'](_0x524eb8(0x175),_0x5e422a['id']),getEndUser(_0x3dfaf1,_0x328028[_0x524eb8(0x180)],_0x328028[_0x524eb8(0x194)],_0xc12d2a);})['then'](function(_0x56c235){const _0xae3a15=_0x5cf4de;return _0x2a3a86=_0x56c235,logger['info'](_0xae3a15(0x1af),_0x2a3a86['id']),getTicket(_0x3dfaf1,_0x5e422a,_0x2a3a86,_0x48c1ba,_0x328028,_0x48c1ba['Fields'],_0xc12d2a,_0xae3a15(0x154));})['then'](function(_0x393a16){const _0x1c106b=_0x5cf4de;return _0x39b515=_0x393a16,logger[_0x1c106b(0x179)](_0x1c106b(0x1a7)),logger[_0x1c106b(0x179)](_0x1c106b(0x195),_0x39b515['id']),setRelationship(_0xc12d2a,_0x5e422a,_0x39b515,_0x1c106b(0x151));})[_0x5cf4de(0x18a)](function(){return setRelationship(_0xc12d2a,_0x2a3a86,_0x39b515,'contacts');})['then'](function(){return getServerInfo(_0xc12d2a);})[_0x5cf4de(0x18a)](function(_0x2a0348){const _0x3a7036=_0x5cf4de,_0x56a1f9=parseInt(_0x2a0348[_0x3a7036(0x186)][_0x3a7036(0x185)](0x0));let _0x1765f1=util[_0x3a7036(0x19d)](_0x3a7036(0x18b),_0x3dfaf1[_0x3a7036(0x176)],_0x39b515['id']);_0x56a1f9>0x6&&(_0x1765f1=util[_0x3a7036(0x19d)]('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x3dfaf1[_0x3a7036(0x176)],_0x39b515['id'])),logger[_0x3a7036(0x179)](_0x3a7036(0x153),_0x3a7036(0x178)),emit(util['format'](_0x3a7036(0x187),_0x1a9376[_0x3a7036(0x164)]),_0x3a7036(0x16b),{'uri':_0x1765f1});})['catch'](function(_0x492f1b){const _0x6288a0=_0x5cf4de;logger[_0x6288a0(0x1ad)]('[QUEUE]',JSON[_0x6288a0(0x192)](_0x492f1b));});},exports[a1311_0x1a5093(0x1a9)]=function(_0xc3be02,_0x5b34b3,_0xbfd2d4,_0x3c6342,_0x2eae0a,_0x44f27d,_0x45f7cc){const _0x293468=a1311_0x1a5093;let _0x2f2b76,_0x448719,_0xac621,_0x524249;return _0x44f27d['remoteUri']=intUtil[_0x293468(0x157)](_0x44f27d['remoteUri']),_0x44f27d['serverUrl']=intUtil[_0x293468(0x157)](_0x44f27d[_0x293468(0x15b)]),def['uri']=util['format'](_0x293468(0x1a0),_0x44f27d[_0x293468(0x176)]),_0x45f7cc&&_0x45f7cc[_0x293468(0x18d)]&&_0x45f7cc[_0x293468(0x18d)]!==_0x293468(0x1ac)&&(logger[_0x293468(0x179)](_0x293468(0x1aa),'Recording\x20is\x20enabled!'),_0x5b34b3['recordingURL']=util[_0x293468(0x19d)](_0x293468(0x184),_0x44f27d[_0x293468(0x15b)],_0x5b34b3[_0x293468(0x161)],md5(_0x5b34b3['uniqueid']))),getConnection(_0x44f27d)[_0x293468(0x18a)](function(_0xecbb28){const _0x17a63e=_0x293468;return _0x524249=_0xecbb28,getUser(_0x44f27d,_0x3c6342[_0x17a63e(0x164)],_0x524249);})['then'](function(_0x297c7a){const _0x412283=_0x293468;return _0x2f2b76=_0x297c7a,logger['info'](_0x412283(0x175),_0x2f2b76['id']),getEndUser(_0x44f27d,_0x5b34b3[_0x412283(0x196)],_0x5b34b3['destcalleridnum'],_0x524249);})[_0x293468(0x18a)](function(_0x4aaf75){const _0x5af531=_0x293468;return _0x448719=_0x4aaf75,logger['info']('The\x20Enduser\x20ID\x20is:',_0x448719['id']),getTicket(_0x44f27d,_0x2f2b76,_0x448719,_0xbfd2d4,_0x5b34b3,_0xbfd2d4['Fields'],_0x524249,_0x5af531(0x150));})[_0x293468(0x18a)](function(_0x2346b6){const _0x48e1c2=_0x293468;return _0xac621=_0x2346b6,logger[_0x48e1c2(0x179)]('Ticket\x20created!'),logger[_0x48e1c2(0x179)](_0x48e1c2(0x195),_0xac621['id']),setRelationship(_0x524249,_0x2f2b76,_0xac621,'users');})[_0x293468(0x18a)](function(){const _0x541da6=_0x293468;return setRelationship(_0x524249,_0x448719,_0xac621,_0x541da6(0x193));})[_0x293468(0x18a)](function(){return getServerInfo(_0x524249);})[_0x293468(0x18a)](function(_0x46c0ab){const _0x484ea9=_0x293468,_0x5aeee2=parseInt(_0x46c0ab[_0x484ea9(0x186)][_0x484ea9(0x185)](0x0));let _0x57e867=util[_0x484ea9(0x19d)](_0x484ea9(0x18b),_0x44f27d[_0x484ea9(0x176)],_0xac621['id']);_0x5aeee2>0x6&&(_0x57e867=util[_0x484ea9(0x19d)](_0x484ea9(0x156),_0x44f27d[_0x484ea9(0x176)],_0xac621['id'])),logger[_0x484ea9(0x179)](_0x484ea9(0x1aa),_0x484ea9(0x178)),emit(util[_0x484ea9(0x19d)]('user:%s',_0x3c6342[_0x484ea9(0x164)]),_0x484ea9(0x16b),{'uri':_0x57e867});})[_0x293468(0x1ab)](function(_0x28b3fa){const _0xd95ce2=_0x293468;logger[_0xd95ce2(0x1ad)](_0xd95ce2(0x1aa),JSON[_0xd95ce2(0x192)](_0x28b3fa));});},exports['unmanaged']=function(_0x4bfbf4,_0xfa2b9e,_0x35eab5,_0x200662,_0x48b2ac,_0x36a9d0){const _0x409fe4=a1311_0x1a5093;let _0x398872,_0x5d4699,_0x3a402a,_0x5595a1;return _0x36a9d0['remoteUri']=intUtil[_0x409fe4(0x157)](_0x36a9d0[_0x409fe4(0x176)]),_0x36a9d0[_0x409fe4(0x15b)]=intUtil['stripTrailingSlash'](_0x36a9d0[_0x409fe4(0x15b)]),def[_0x409fe4(0x1a3)]=util[_0x409fe4(0x19d)](_0x409fe4(0x1a0),_0x36a9d0[_0x409fe4(0x176)]),_0x48b2ac&&_0x48b2ac[_0x409fe4(0x198)]?(logger[_0x409fe4(0x179)]('['+_0xfa2b9e[_0x409fe4(0x19a)][_0x409fe4(0x168)]()+']',_0x409fe4(0x15f)),_0xfa2b9e[_0x409fe4(0x173)]=util[_0x409fe4(0x19d)](_0x409fe4(0x184),_0x36a9d0[_0x409fe4(0x15b)],_0xfa2b9e['uniqueid'],md5(_0xfa2b9e[_0x409fe4(0x161)]))):_0xfa2b9e[_0x409fe4(0x173)]='',getConnection(_0x36a9d0)[_0x409fe4(0x18a)](function(_0x22faf2){const _0x543171=_0x409fe4;return _0x5595a1=_0x22faf2,!_[_0x543171(0x17d)](_0x200662)?getUser(_0x36a9d0,_0x200662['name'],_0x5595a1):getUser(_0x36a9d0,null,_0x5595a1);})['then'](function(_0x261565){const _0x5c55ed=_0x409fe4;return _0x398872=_0x261565,logger[_0x5c55ed(0x179)](_0x5c55ed(0x175),_0x398872['id']),getEndUser(_0x36a9d0,_0xfa2b9e[_0x5c55ed(0x180)],_0xfa2b9e['calleridnum'],_0x5595a1);})[_0x409fe4(0x18a)](function(_0xffa709){const _0x1680fb=_0x409fe4;return _0x5d4699=_0xffa709,logger[_0x1680fb(0x179)](_0x1680fb(0x1af),_0x5d4699['id']),getTicket(_0x36a9d0,_0x398872,_0x5d4699,_0x35eab5,_0xfa2b9e,_0x35eab5[_0x1680fb(0x1a8)],_0x5595a1,_0x1680fb(0x154));})[_0x409fe4(0x18a)](function(_0x5bd7a5){const _0x3cd9fb=_0x409fe4;return _0x3a402a=_0x5bd7a5,logger[_0x3cd9fb(0x179)]('Ticket\x20created!'),logger[_0x3cd9fb(0x179)](_0x3cd9fb(0x195),_0x3a402a['id']),setRelationship(_0x5595a1,_0x398872,_0x3a402a,_0x3cd9fb(0x151));})[_0x409fe4(0x18a)](function(){const _0x3099d8=_0x409fe4;return setRelationship(_0x5595a1,_0x5d4699,_0x3a402a,_0x3099d8(0x193));})[_0x409fe4(0x18a)](function(){return getServerInfo(_0x5595a1);})[_0x409fe4(0x1ab)](function(_0x1365f6){const _0x31bb60=_0x409fe4;logger[_0x31bb60(0x1ad)]('['+_0xfa2b9e[_0x31bb60(0x19a)][_0x31bb60(0x168)]()+']',JSON[_0x31bb60(0x192)](_0x1365f6));});};