529f469e3755f18d4c6d09a4ddc924f902360984
[motion-next.git] / server / services / ami / trigger / integration / zendesk.js
1 const a1145_0x1fa7=['custom_fields','toString','authType','calleridnum','%s/channels/voice/agents/%d/tickets/%d/display.json','Searching\x20enduser\x20with\x20phone','results','emit','util','recordingURL','trigger:browser:url','toUpperCase','Variable','idField','agent','inspect','type:user\x20role:agent\x20email:%s','%s/tickets.json','info','Zendesk\x20account\x20type\x20not\x20recognized','Getting\x20agent\x20with\x20email','%s/agent/tickets/%s','application/json','/api/v2','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','password','none','%s/token:%s','Authorization','customVariable','user','type:user\x20role:end-user\x20phone:%s','zendesk','\x20Error\x20running\x20Zendesk\x20integration','count','then','string','name','stripTrailingSlash','Enduser\x20found!','Descriptions','base64','getString','%s/users/me.json','validateEmail','[QUEUE]\x20Error\x20running\x20Zendesk\x20integration','monitor_format','push','email','format','lastevent','Recording\x20is\x20enabled!','../../../../config/logger','Fields','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','[QUEUE]','first','POST','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','destcalleridname','forEach','%s/users.json','customField','The\x20User\x20ID\x20is:','find','remoteUri','error','recordingFormat','[HTTP]','toLowerCase','uniqueid','filter','[OUTBOUND]','The\x20Enduser\x20ID\x20is:','unmanaged','../../../../rediscache','user:%s','[OUTBOUND]\x20Error\x20running\x20Zendesk\x20integration','end-user','catch','variableName','from','length','calleridname','Displaying\x20ticket\x20to\x20agent...','Admin\x20account\x20selected.','type','Agent\x20found!','serverUrl','The\x20Ticket\x20ID\x20is:','replace','Tags','token','outbound','md5','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','integrationTab','Caller\x20-\x20%s','destcalleridnum','content','Basic\x20%s','newTab','username'];(function(_0x907c95,_0x1fa780){const _0x3fc532=function(_0x73b110){while(--_0x73b110){_0x907c95['push'](_0x907c95['shift']());}};_0x3fc532(++_0x1fa780);}(a1145_0x1fa7,0x1a3));const a1145_0x3fc5=function(_0x907c95,_0x1fa780){_0x907c95=_0x907c95-0x0;let _0x3fc532=a1145_0x1fa7[_0x907c95];return _0x3fc532;};const _0xe4ed6e=a1145_0x3fc5;'use strict';const _=require('lodash'),rp=require('request-promise-native'),md5=require(_0xe4ed6e('0x57')),util=require(_0xe4ed6e('0x1')),intUtil=require('./util'),logger=require(_0xe4ed6e('0x2d'))(_0xe4ed6e('0x19')),{getSocket}=require(_0xe4ed6e('0x44')),io=getSocket();function emit(_0x73b110,_0x4e61a0,_0x472893){const _0x16e622=_0xe4ed6e;io['to'](_0x73b110)[_0x16e622('0x0')](_0x4e61a0,_0x472893);}const headers={'Content-Type':_0xe4ed6e('0xf'),'Accept':'application/json'};function getTicket(_0x1ac59b,_0x502cf6,_0x3a61dc,_0x4ffbb4,_0x5275d4){const _0x4eb20f=_0xe4ed6e;return logger[_0x4eb20f('0xb')]('Creating\x20new\x20ticket...'),request({'uri':util[_0x4eb20f('0x2a')](_0x4eb20f('0xa'),_0x1ac59b[_0x4eb20f('0x3a')]),'method':'POST','body':{'ticket':_['merge']({'requester_id':_0x3a61dc['id'],'submitter_id':_0x502cf6?_0x502cf6['id']:undefined,'assignee_id':_0x502cf6?_0x502cf6['id']:undefined,'tags':getTags(_0x4ffbb4[_0x4eb20f('0x54')],_0x4eb20f('0x1e')),'subject':intUtil['getString'](_0x4ffbb4['Subjects'],_0x5275d4,'\x20'),'description':intUtil[_0x4eb20f('0x23')](_0x4ffbb4[_0x4eb20f('0x21')],_0x5275d4,'\x0a'),'comment':{'public':![],'body':intUtil[_0x4eb20f('0x23')](_0x4ffbb4[_0x4eb20f('0x21')],_0x5275d4,'\x0a')}},getCustomFields(_0x4ffbb4[_0x4eb20f('0x2e')],_0x5275d4))}})[_0x4eb20f('0x1c')](function(_0x2a1050){const _0x5eb0aa=_0x4eb20f;return logger[_0x5eb0aa('0xb')]('Ticket\x20created!'),_0x2a1050['ticket'];});}function getUser(_0x44881f,_0x33a344){const _0x38b4c7=_0xe4ed6e;return intUtil[_0x38b4c7('0x25')](_0x33a344)?(logger['info'](_0x38b4c7('0xd'),_0x33a344),request({'uri':util['format']('%s/search.json',_0x44881f[_0x38b4c7('0x3a')]),'qs':{'query':util[_0x38b4c7('0x2a')](_0x38b4c7('0x9'),_0x33a344)}})[_0x38b4c7('0x1c')](function(_0x1a28aa){const _0x3e210c=_0x38b4c7;return _0x1a28aa[_0x3e210c('0x1b')]?(logger[_0x3e210c('0xb')](_0x3e210c('0x50')),_[_0x3e210c('0x39')](_0x1a28aa['results'],{'email':_0x33a344,'role':_0x3e210c('0x7')})):(logger[_0x3e210c('0xb')](_0x3e210c('0x58')),request({'uri':util[_0x3e210c('0x2a')](_0x3e210c('0x24'),_0x44881f[_0x3e210c('0x3a')])})['then'](function(_0x52f363){const _0x41d267=_0x3e210c;return logger['info'](_0x41d267('0x4e')),_0x52f363[_0x41d267('0x17')];}));})):(logger[_0x38b4c7('0xb')](_0x38b4c7('0x58')),request({'uri':util[_0x38b4c7('0x2a')](_0x38b4c7('0x24'),_0x44881f[_0x38b4c7('0x3a')])})['then'](function(_0x1f657a){const _0x192d65=_0x38b4c7;return logger[_0x192d65('0xb')](_0x192d65('0x4e')),_0x1f657a['user'];}));}function getEndUser(_0x4f017a,_0x515ff0,_0x5506da){const _0x48eb26=_0xe4ed6e;return logger['info'](_0x48eb26('0x65'),_0x5506da),request({'uri':util['format']('%s/search.json',_0x4f017a[_0x48eb26('0x3a')]),'qs':{'query':util[_0x48eb26('0x2a')](_0x48eb26('0x18'),_0x5506da)}})[_0x48eb26('0x1c')](function(_0x4b4732){const _0x2505e3=_0x48eb26;let _0xef86b3;return _0x4b4732[_0x2505e3('0x66')][_0x2505e3('0x4b')]&&(_0x4b4732['results']=_[_0x2505e3('0x40')](_0x4b4732[_0x2505e3('0x66')],{'suspended':![],'role':_0x2505e3('0x47')}),_0x4b4732[_0x2505e3('0x66')][_0x2505e3('0x4b')]&&(_0xef86b3=_[_0x2505e3('0x31')](_0x4b4732[_0x2505e3('0x66')]))),_0xef86b3?(logger[_0x2505e3('0xb')](_0x2505e3('0x20')),_0xef86b3):(logger['info'](_0x2505e3('0x33')),request({'uri':util[_0x2505e3('0x2a')](_0x2505e3('0x36'),_0x4f017a[_0x2505e3('0x3a')]),'method':_0x2505e3('0x32'),'body':{'user':{'role':_0x2505e3('0x47'),'name':util[_0x2505e3('0x2a')](_0x2505e3('0x5a'),_0x515ff0||_0x5506da),'phone':_0x5506da}}})[_0x2505e3('0x1c')](function(_0x540087){const _0x3c6165=_0x2505e3;return logger[_0x3c6165('0xb')]('Enduser\x20created.'),_0x540087[_0x3c6165('0x17')];}));});}function getAuth(_0x16bbb7){const _0x83dd71=_0xe4ed6e;let _0x50349c;if(_0x16bbb7[_0x83dd71('0x62')]===_0x83dd71('0x12'))_0x50349c=util[_0x83dd71('0x2a')]('%s:%s',_0x16bbb7[_0x83dd71('0x5f')],_0x16bbb7[_0x83dd71('0x12')]);else _0x16bbb7['authType']===_0x83dd71('0x55')&&(_0x50349c=util[_0x83dd71('0x2a')](_0x83dd71('0x14'),_0x16bbb7[_0x83dd71('0x5f')],_0x16bbb7[_0x83dd71('0x55')]));return util[_0x83dd71('0x2a')](_0x83dd71('0x5d'),Buffer[_0x83dd71('0x4a')](_0x50349c)[_0x83dd71('0x61')](_0x83dd71('0x22')));}function request(_0x3b1bd1){const _0x19cd16=_0xe4ed6e;return logger['debug'](_0x19cd16('0x3d'),JSON['stringify'](_0x3b1bd1)),rp(_['defaults'](_0x3b1bd1,{'method':'GET','headers':headers,'json':!![]}));}function getTags(_0xb7bbda,_0x17e188){const _0x4a65b0=_0xe4ed6e;let _0x2a0191=[];return _0xb7bbda&&_0xb7bbda[_0x4a65b0('0x4b')]>0x0&&(_0x2a0191=_['map'](_0xb7bbda,_0x17e188)),_0x2a0191;}function getCustomFields(_0x2d7fbf,_0x3f3966){const _0x4c8040=_0xe4ed6e,_0x573056={'custom_fields':[]};return _0x2d7fbf[_0x4c8040('0x4b')]>0x0&&_[_0x4c8040('0x35')](_0x2d7fbf,function(_0x4c37e0){const _0x503c55=_0x4c8040;if(_0x4c37e0[_0x503c55('0x4f')]===_0x503c55('0x1d')&&_0x4c37e0['nameField']&&!_0x4c37e0[_0x503c55('0x37')])_0x573056[_0x4c37e0['nameField'][_0x503c55('0x3e')]()]=_0x4c37e0['content'][_0x503c55('0x61')]();else{if(_0x4c37e0[_0x503c55('0x4f')]===_0x503c55('0x1d')&&_0x4c37e0[_0x503c55('0x6')]&&_0x4c37e0[_0x503c55('0x37')])_0x573056[_0x503c55('0x60')][_0x503c55('0x28')]({'id':_0x4c37e0['idField'],'value':_0x4c37e0[_0x503c55('0x5c')][_0x503c55('0x61')]()});else{if(_0x4c37e0['type']==='variable'&&_0x4c37e0[_0x503c55('0x49')]&&_0x4c37e0['idField']&&_0x4c37e0[_0x503c55('0x37')])_0x3f3966[_0x4c37e0['variableName']]&&_0x573056['custom_fields'][_0x503c55('0x28')]({'id':_0x4c37e0[_0x503c55('0x6')],'value':_0x3f3966[_0x4c37e0[_0x503c55('0x49')]]['toString']()});else _0x4c37e0[_0x503c55('0x4f')]===_0x503c55('0x16')&&_0x4c37e0[_0x503c55('0x5')]&&_0x4c37e0[_0x503c55('0x5')][_0x503c55('0x1e')]&&_0x4c37e0[_0x503c55('0x6')]&&_0x4c37e0[_0x503c55('0x37')]&&(_0x3f3966[_0x4c37e0[_0x503c55('0x5')]['name'][_0x503c55('0x3e')]()]&&_0x573056[_0x503c55('0x60')]['push']({'id':_0x4c37e0[_0x503c55('0x6')],'value':_0x3f3966[_0x4c37e0[_0x503c55('0x5')]['name']['toLowerCase']()]['toString']()}));}}}),_0x573056;}exports['queue']=function(_0x21f87c,_0x26a88c,_0x5563fb,_0x21f32a,_0x9bd820,_0x284dcd){const _0x353c59=_0xe4ed6e;let _0x3a4f3a,_0x7bbb16;return _0x284dcd[_0x353c59('0x3a')]=intUtil[_0x353c59('0x1f')](_0x284dcd['remoteUri']),_0x284dcd['serverUrl']=intUtil[_0x353c59('0x1f')](_0x284dcd[_0x353c59('0x51')]),_0x9bd820&&_0x9bd820['monitor_format']?(logger[_0x353c59('0xb')]('[QUEUE]',_0x353c59('0x2c')),_0x26a88c['recordingURL']=util[_0x353c59('0x2a')](_0x353c59('0x11'),_0x284dcd[_0x353c59('0x51')],_0x26a88c['uniqueid'],md5(_0x26a88c['uniqueid']))):_0x26a88c[_0x353c59('0x2')]='',headers['Authorization']=getAuth(_0x284dcd),getUser(_0x284dcd,_0x21f32a[_0x353c59('0x29')])[_0x353c59('0x1c')](function(_0x3d7d14){const _0x5b8bcc=_0x353c59;return _0x3a4f3a=_0x3d7d14,logger['info'](_0x5b8bcc('0x38'),_0x3a4f3a['id']),getEndUser(_0x284dcd,_0x26a88c['calleridname'],_0x26a88c[_0x5b8bcc('0x63')]);})[_0x353c59('0x1c')](function(_0x18d474){const _0x39c2e0=_0x353c59;return _0x7bbb16=_0x18d474,logger[_0x39c2e0('0xb')](_0x39c2e0('0x42'),_0x7bbb16['id']),getTicket(_0x284dcd,_0x3a4f3a,_0x7bbb16,_0x5563fb,_0x26a88c);})[_0x353c59('0x1c')](function(_0x5ac24d){const _0x43dd63=_0x353c59;if(_0x5ac24d){logger['info']('The\x20Ticket\x20ID\x20is:',_0x5ac24d['id']);switch(_0x284dcd[_0x43dd63('0x4f')]){case _0x43dd63('0x59'):logger[_0x43dd63('0xb')](_0x43dd63('0x30'),_0x43dd63('0x4d'));return request({'uri':util[_0x43dd63('0x2a')](_0x43dd63('0x64'),_0x284dcd[_0x43dd63('0x3a')],_0x3a4f3a['id'],_0x5ac24d['id']),'method':_0x43dd63('0x32')});case _0x43dd63('0x5e'):logger[_0x43dd63('0xb')]('[QUEUE]',_0x43dd63('0x2f')),emit(util[_0x43dd63('0x2a')](_0x43dd63('0x45'),_0x21f32a[_0x43dd63('0x1e')]),_0x43dd63('0x3'),{'uri':util['format'](_0x43dd63('0xe'),_0x284dcd[_0x43dd63('0x3a')][_0x43dd63('0x53')](_0x43dd63('0x10')),_0x5ac24d['id'])});break;default:logger[_0x43dd63('0x3b')](_0x43dd63('0x30'),_0x43dd63('0xc'));}}})[_0x353c59('0x48')](function(_0x44aa5b){const _0x2999d2=_0x353c59;logger[_0x2999d2('0x3b')](_0x2999d2('0x26'),util[_0x2999d2('0x8')](_0x44aa5b,{'showHidden':!![],'depth':null}));});},exports[_0xe4ed6e('0x56')]=function(_0x9b9ef1,_0x336764,_0x164639,_0x2d3241,_0x3ff892,_0xab3351,_0x4c626b){const _0x35d036=_0xe4ed6e;let _0x334890,_0x1ae4af;return _0xab3351[_0x35d036('0x3a')]=intUtil[_0x35d036('0x1f')](_0xab3351[_0x35d036('0x3a')]),_0xab3351[_0x35d036('0x51')]=intUtil[_0x35d036('0x1f')](_0xab3351['serverUrl']),_0x4c626b&&_0x4c626b[_0x35d036('0x3c')]&&_0x4c626b[_0x35d036('0x3c')]!==_0x35d036('0x13')&&(logger[_0x35d036('0xb')]('[OUTBOUND]','Recording\x20is\x20enabled!'),_0x336764[_0x35d036('0x2')]=util[_0x35d036('0x2a')](_0x35d036('0x11'),_0xab3351[_0x35d036('0x51')],_0x336764['uniqueid'],md5(_0x336764['uniqueid']))),headers[_0x35d036('0x15')]=getAuth(_0xab3351),getUser(_0xab3351,_0x2d3241[_0x35d036('0x29')])[_0x35d036('0x1c')](function(_0x3c4be0){const _0x176b83=_0x35d036;return _0x334890=_0x3c4be0,logger[_0x176b83('0xb')](_0x176b83('0x38'),_0x334890['id']),getEndUser(_0xab3351,_0x336764[_0x176b83('0x34')],_0x336764[_0x176b83('0x5b')]);})[_0x35d036('0x1c')](function(_0x193603){const _0x1668ce=_0x35d036;return _0x1ae4af=_0x193603,logger[_0x1668ce('0xb')](_0x1668ce('0x42'),_0x1ae4af['id']),getTicket(_0xab3351,_0x334890,_0x1ae4af,_0x164639,_0x336764);})[_0x35d036('0x1c')](function(_0x468339){const _0x534d15=_0x35d036;if(_0x468339){logger[_0x534d15('0xb')](_0x534d15('0x52'),_0x468339['id']);switch(_0xab3351[_0x534d15('0x4f')]){case _0x534d15('0x59'):logger[_0x534d15('0xb')](_0x534d15('0x41'),_0x534d15('0x4d'));return request({'uri':util[_0x534d15('0x2a')]('%s/channels/voice/agents/%d/tickets/%d/display.json',_0xab3351['remoteUri'],_0x334890['id'],_0x468339['id']),'method':_0x534d15('0x32')});case _0x534d15('0x5e'):logger[_0x534d15('0xb')](_0x534d15('0x41'),_0x534d15('0x2f')),emit(util[_0x534d15('0x2a')]('user:%s',_0x2d3241[_0x534d15('0x1e')]),_0x534d15('0x3'),{'uri':util[_0x534d15('0x2a')](_0x534d15('0xe'),_0xab3351[_0x534d15('0x3a')][_0x534d15('0x53')]('/api/v2'),_0x468339['id'])});break;default:logger[_0x534d15('0x3b')](_0x534d15('0x41'),_0x534d15('0xc'));}}})[_0x35d036('0x48')](function(_0x22ec47){const _0x263c06=_0x35d036;logger[_0x263c06('0x3b')](_0x263c06('0x46'),util[_0x263c06('0x8')](_0x22ec47,{'showHidden':!![],'depth':null}));});},exports[_0xe4ed6e('0x43')]=function(_0x3e473d,_0x5c421c,_0x1db018,_0x114e7c,_0x33683b,_0x518c6c){const _0x279363=_0xe4ed6e;let _0x3e8537,_0x412fe3;return _0x518c6c[_0x279363('0x3a')]=intUtil[_0x279363('0x1f')](_0x518c6c['remoteUri']),_0x518c6c[_0x279363('0x51')]=intUtil[_0x279363('0x1f')](_0x518c6c[_0x279363('0x51')]),_0x33683b&&_0x33683b[_0x279363('0x27')]?(logger[_0x279363('0xb')]('['+_0x5c421c[_0x279363('0x2b')][_0x279363('0x4')]()+']','Recording\x20is\x20enabled!'),_0x5c421c[_0x279363('0x2')]=util[_0x279363('0x2a')](_0x279363('0x11'),_0x518c6c[_0x279363('0x51')],_0x5c421c[_0x279363('0x3f')],md5(_0x5c421c['uniqueid']))):_0x5c421c[_0x279363('0x2')]='',headers['Authorization']=getAuth(_0x518c6c),getUser(_0x518c6c)[_0x279363('0x1c')](function(_0x1377f7){const _0x145ed6=_0x279363;return _0x3e8537=_0x1377f7,logger[_0x145ed6('0xb')]('The\x20User\x20ID\x20is:',_0x3e8537['id']),getEndUser(_0x518c6c,_0x5c421c[_0x145ed6('0x4c')],_0x5c421c['calleridnum']);})[_0x279363('0x1c')](function(_0x4f1e79){const _0x47812f=_0x279363;return _0x412fe3=_0x4f1e79,logger['info'](_0x47812f('0x42'),_0x412fe3['id']),getTicket(_0x518c6c,_0x3e8537,_0x412fe3,_0x1db018,_0x5c421c);})[_0x279363('0x1c')](function(_0x58da96){const _0xd35e93=_0x279363;_0x58da96&&logger[_0xd35e93('0xb')](_0xd35e93('0x52'),_0x58da96['id']);})[_0x279363('0x48')](function(_0x3ebb01){const _0x256836=_0x279363;logger[_0x256836('0x3b')]('['+_0x5c421c[_0x256836('0x2b')][_0x256836('0x4')]()+']'+_0x256836('0x1a'),util[_0x256836('0x8')](_0x3ebb01,{'showHidden':!![],'depth':null}));});};