Built motion from commit 4a18b36e645f5fa4a517d36f9783bde259878164. Version 3.0.0...
[motion-next.git] / server / services / ami / trigger / integration / freshdesk.js
1 const a1138_0x2da9=['then','%s/api/v2/tickets','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','Variable','name','email','Agent\x20found!','remoteUri','type','Admin\x20account\x20selected.','The\x20Ticket\x20ID\x20is:','variable','destcalleridnum','../../../../rediscache','contact','Invalid\x20email\x20format,\x20using\x20the\x20admin\x20account!','outbound','Subjects','stripTrailingSlash','length','keyBy','format','Searching\x20enduser\x20with\x20phone','lodash','%s/api/v2/agents/me','Authorization','[OUTBOUND]','forEach','Enduser\x20created.','calleridname','variableName','monitor_format','string','calleridnum','Enduser\x20found!','serverUrl','value','destcalleridname','catch','info','The\x20User\x20ID\x20is:','content','stringify','Creating\x20new\x20ticket...','../../../../config/logger','from','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','%s/helpdesk/tickets/%d','emit','[QUEUE]','./util','Ticket\x20created!','none','toString','Descriptions','recordingFormat','%s/api/v2/contacts','<br>','error','Caller\x20-\x20%s','validateEmail','idField','find','Basic\x20%s','getString','POST','util','GET','toLowerCase','apiKey','application/json','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','md5','trigger:browser:url','nameField','defaults','recordingURL','base64','push','merge','The\x20Enduser\x20ID\x20is:','custom_fields','customField','debug','uniqueid','freshdesk','Recording\x20is\x20enabled!','toUpperCase','unmanaged'];(function(_0x87d115,_0x2da955){const _0x486b72=function(_0x555dcb){while(--_0x555dcb){_0x87d115['push'](_0x87d115['shift']());}};_0x486b72(++_0x2da955);}(a1138_0x2da9,0x146));const a1138_0x486b=function(_0x87d115,_0x2da955){_0x87d115=_0x87d115-0x0;let _0x486b72=a1138_0x2da9[_0x87d115];return _0x486b72;};const _0xe76597=a1138_0x486b;'use strict';const _=require(_0xe76597('0x35')),rp=require('request-promise-native'),md5=require(_0xe76597('0xd')),util=require(_0xe76597('0x7')),intUtil=require(_0xe76597('0x50')),logger=require(_0xe76597('0x4a'))(_0xe76597('0x1a')),{getSocket}=require(_0xe76597('0x2b')),io=getSocket(),headers={'Content-Type':_0xe76597('0xb'),'Accept':_0xe76597('0xb')};function emit(_0x555dcb,_0x213f7a,_0x1ecf65){const _0xc61e22=_0xe76597;io['to'](_0x555dcb)[_0xc61e22('0x4e')](_0x213f7a,_0x1ecf65);}function getTicket(_0x4fd771,_0x323f41,_0x168206,_0x51f756,_0xc8e9d9){const _0x37cdec=_0xe76597;logger[_0x37cdec('0x45')](_0x37cdec('0x49'));const _0x13582b=_[_0x37cdec('0x14')]({'responder_id':_0x323f41['id'],'requester_id':_0x168206['id'],'name':util[_0x37cdec('0x33')](_0x37cdec('0x0'),_0xc8e9d9[_0x37cdec('0x3b')]),'phone':_0xc8e9d9[_0x37cdec('0x3f')],'source':0x3,'priority':0x1,'status':0x2,'subject':intUtil[_0x37cdec('0x5')](_0x51f756[_0x37cdec('0x2f')],_0xc8e9d9,'\x20'),'description':intUtil[_0x37cdec('0x5')](_0x51f756[_0x37cdec('0x54')],_0xc8e9d9,_0x37cdec('0x57')),'tags':getTags(_0x51f756['Tags'],_0x37cdec('0x22'))},getCustomFields(_0x51f756['Fields'],_0xc8e9d9));return _0x13582b[_0x37cdec('0x16')]=_['mapValues'](_[_0x37cdec('0x32')](_0x13582b[_0x37cdec('0x16')],'id'),_0x37cdec('0x42')),request({'uri':util[_0x37cdec('0x33')](_0x37cdec('0x1f'),_0x4fd771[_0x37cdec('0x25')]),'method':_0x37cdec('0x6'),'body':_0x13582b})[_0x37cdec('0x1e')](function(_0x153dd4){const _0x11de65=_0x37cdec;return logger[_0x11de65('0x45')](_0x11de65('0x51')),_0x153dd4;});}function getUser(_0x2d2389,_0x59ab9b){const _0x517255=_0xe76597;return intUtil[_0x517255('0x1')](_0x59ab9b)?request({'uri':util['format']('%s/api/v2/agents',_0x2d2389[_0x517255('0x25')]),'qs':{'email':_0x59ab9b}})[_0x517255('0x1e')](function(_0x4aab62){const _0x4bb3a5=_0x517255;return _0x4aab62['length']?(logger[_0x4bb3a5('0x45')](_0x4bb3a5('0x24')),_[_0x4bb3a5('0x3')](_0x4aab62,function(_0x594552){const _0x389574=_0x4bb3a5;return _0x594552[_0x389574('0x2c')]['email']===_0x59ab9b;})):(logger['info'](_0x4bb3a5('0x4c')),request({'uri':util[_0x4bb3a5('0x33')](_0x4bb3a5('0x36'),_0x2d2389[_0x4bb3a5('0x25')])})[_0x4bb3a5('0x1e')](function(_0xf95a4d){const _0x145ed7=_0x4bb3a5;return logger[_0x145ed7('0x45')](_0x145ed7('0x27')),_0xf95a4d;}));}):(logger[_0x517255('0x45')](_0x517255('0x2d')),request({'uri':util['format']('%s/api/v2/agents/me',_0x2d2389[_0x517255('0x25')])})['then'](function(_0x16a412){const _0x1436ef=_0x517255;return logger[_0x1436ef('0x45')](_0x1436ef('0x27')),_0x16a412;}));}function getEndUser(_0x3fc9b7,_0x35e716,_0x806bcf){const _0x3ce229=_0xe76597;return logger[_0x3ce229('0x45')](_0x3ce229('0x34'),_0x806bcf),request({'uri':util[_0x3ce229('0x33')](_0x3ce229('0x56'),_0x3fc9b7[_0x3ce229('0x25')]),'qs':{'phone':_0x806bcf}})[_0x3ce229('0x1e')](function(_0x22fbe5){const _0x2386da=_0x3ce229;return _0x22fbe5[_0x2386da('0x31')]?(logger['info'](_0x2386da('0x40')),_[_0x2386da('0x3')](_0x22fbe5,{'phone':_0x806bcf})):(logger[_0x2386da('0x45')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!'),request({'uri':util[_0x2386da('0x33')](_0x2386da('0x56'),_0x3fc9b7['remoteUri']),'method':_0x2386da('0x6'),'body':{'name':_0x35e716,'phone':_0x806bcf}})[_0x2386da('0x1e')](function(_0x1e83a8){const _0x3053c2=_0x2386da;return logger[_0x3053c2('0x45')](_0x3053c2('0x3a')),_0x1e83a8;}));});}function getAuth(_0x358bc6){const _0xcc2f72=_0xe76597;return util[_0xcc2f72('0x33')](_0xcc2f72('0x4'),Buffer[_0xcc2f72('0x4b')](_0x358bc6[_0xcc2f72('0xa')]+':X')[_0xcc2f72('0x53')](_0xcc2f72('0x12')));}function request(_0x2b24b4){const _0x21fd14=_0xe76597;return logger[_0x21fd14('0x18')]('[HTTP]',JSON[_0x21fd14('0x48')](_0x2b24b4)),rp(_[_0x21fd14('0x10')](_0x2b24b4,{'method':_0x21fd14('0x8'),'headers':headers,'json':!![]}));}function getTags(_0x277d6d,_0x439b86){let _0x525ddc=[];return _0x277d6d&&_0x277d6d['length']>0x0&&(_0x525ddc=_['map'](_0x277d6d,_0x439b86)),_0x525ddc;}function getCustomFields(_0x4a6b53,_0x3a3eaa){const _0x483d6b=_0xe76597,_0x6b7005={'custom_fields':[]};return _0x4a6b53[_0x483d6b('0x31')]>0x0&&_[_0x483d6b('0x39')](_0x4a6b53,function(_0x5c6517){const _0x3f9a32=_0x483d6b;if(_0x5c6517[_0x3f9a32('0x26')]===_0x3f9a32('0x3e')&&_0x5c6517['nameField']&&!_0x5c6517[_0x3f9a32('0x17')])_0x6b7005[_0x5c6517[_0x3f9a32('0xf')][_0x3f9a32('0x9')]()]=_0x5c6517['content'][_0x3f9a32('0x53')]();else{if(_0x5c6517['type']===_0x3f9a32('0x3e')&&_0x5c6517[_0x3f9a32('0x2')]&&_0x5c6517['customField'])_0x6b7005[_0x3f9a32('0x16')][_0x3f9a32('0x13')]({'id':_0x5c6517[_0x3f9a32('0x2')],'value':_0x5c6517[_0x3f9a32('0x47')][_0x3f9a32('0x53')]()});else{if(_0x5c6517[_0x3f9a32('0x26')]===_0x3f9a32('0x29')&&_0x5c6517['variableName']&&_0x5c6517['idField']&&_0x5c6517[_0x3f9a32('0x17')])_0x3a3eaa[_0x5c6517[_0x3f9a32('0x3c')]]&&_0x6b7005[_0x3f9a32('0x16')][_0x3f9a32('0x13')]({'id':_0x5c6517['idField'],'value':_0x3a3eaa[_0x5c6517[_0x3f9a32('0x3c')]][_0x3f9a32('0x53')]()});else _0x5c6517[_0x3f9a32('0x26')]==='customVariable'&&_0x5c6517[_0x3f9a32('0x21')]&&_0x5c6517[_0x3f9a32('0x21')][_0x3f9a32('0x22')]&&_0x5c6517[_0x3f9a32('0x2')]&&_0x5c6517[_0x3f9a32('0x17')]&&(_0x3a3eaa[_0x5c6517['Variable'][_0x3f9a32('0x22')][_0x3f9a32('0x9')]()]&&_0x6b7005['custom_fields'][_0x3f9a32('0x13')]({'id':_0x5c6517[_0x3f9a32('0x2')],'value':_0x3a3eaa[_0x5c6517[_0x3f9a32('0x21')][_0x3f9a32('0x22')][_0x3f9a32('0x9')]()]['toString']()}));}}}),_0x6b7005;}exports['queue']=function(_0x1ae9c3,_0x50742b,_0x174612,_0x5e942f,_0xd1c5e6,_0x3f7d22){const _0x17d0f3=_0xe76597;let _0x197fef,_0x4462a8;return _0x3f7d22['remoteUri']=intUtil[_0x17d0f3('0x30')](_0x3f7d22[_0x17d0f3('0x25')]),_0x3f7d22['serverUrl']=intUtil[_0x17d0f3('0x30')](_0x3f7d22[_0x17d0f3('0x41')]),_0xd1c5e6&&_0xd1c5e6[_0x17d0f3('0x3d')]?(logger['info']('[QUEUE]',_0x17d0f3('0x1b')),_0x50742b['recordingURL']=util[_0x17d0f3('0x33')](_0x17d0f3('0xc'),_0x3f7d22[_0x17d0f3('0x41')],_0x50742b['uniqueid'],md5(_0x50742b['uniqueid']))):_0x50742b[_0x17d0f3('0x11')]='',headers[_0x17d0f3('0x37')]=getAuth(_0x3f7d22),getUser(_0x3f7d22,_0x5e942f['email'])[_0x17d0f3('0x1e')](function(_0x1be23f){const _0x712300=_0x17d0f3;return _0x197fef=_0x1be23f,logger[_0x712300('0x45')](_0x712300('0x46'),_0x197fef['id']),getEndUser(_0x3f7d22,_0x50742b['calleridname'],_0x50742b[_0x712300('0x3f')]);})[_0x17d0f3('0x1e')](function(_0x21266f){const _0xecd3c5=_0x17d0f3;return _0x4462a8=_0x21266f,logger[_0xecd3c5('0x45')]('The\x20Enduser\x20ID\x20is:',_0x4462a8['id']),getTicket(_0x3f7d22,_0x197fef,_0x4462a8,_0x174612,_0x50742b);})[_0x17d0f3('0x1e')](function(_0x54b83d){const _0x32eac9=_0x17d0f3;_0x54b83d&&_0x54b83d['id']&&(logger[_0x32eac9('0x45')](_0x32eac9('0x51')),logger[_0x32eac9('0x45')](_0x32eac9('0x28'),_0x54b83d['id']),logger[_0x32eac9('0x45')](_0x32eac9('0x4f'),_0x32eac9('0x20')),emit(util[_0x32eac9('0x33')]('user:%s',_0x5e942f['name']),_0x32eac9('0xe'),{'uri':util[_0x32eac9('0x33')](_0x32eac9('0x4d'),_0x3f7d22['remoteUri'],_0x54b83d['id'])}));})['catch'](function(_0xb3349){const _0x801e9c=_0x17d0f3;logger[_0x801e9c('0x58')](_0x801e9c('0x4f'),JSON[_0x801e9c('0x48')](_0xb3349));});},exports[_0xe76597('0x2e')]=function(_0x3a5bf2,_0x30777e,_0x31c424,_0x426592,_0x9e24a1,_0x49919a,_0x2ce759){const _0x3f7ac8=_0xe76597;let _0x209189,_0x260cb5;return _0x49919a[_0x3f7ac8('0x25')]=intUtil[_0x3f7ac8('0x30')](_0x49919a['remoteUri']),_0x49919a[_0x3f7ac8('0x41')]=intUtil[_0x3f7ac8('0x30')](_0x49919a[_0x3f7ac8('0x41')]),_0x2ce759&&_0x2ce759['recordingFormat']&&_0x2ce759[_0x3f7ac8('0x55')]!==_0x3f7ac8('0x52')&&(logger[_0x3f7ac8('0x45')](_0x3f7ac8('0x38'),'Recording\x20is\x20enabled!'),_0x30777e[_0x3f7ac8('0x11')]=util['format'](_0x3f7ac8('0xc'),_0x49919a[_0x3f7ac8('0x41')],_0x30777e['uniqueid'],md5(_0x30777e[_0x3f7ac8('0x19')]))),headers[_0x3f7ac8('0x37')]=getAuth(_0x49919a),getUser(_0x49919a,_0x426592[_0x3f7ac8('0x23')])['then'](function(_0x36fee1){const _0x1b26bf=_0x3f7ac8;return _0x209189=_0x36fee1,logger[_0x1b26bf('0x45')](_0x1b26bf('0x46'),_0x209189['id']),getEndUser(_0x49919a,_0x30777e[_0x1b26bf('0x43')],_0x30777e[_0x1b26bf('0x2a')]);})[_0x3f7ac8('0x1e')](function(_0x1852dd){const _0x118d86=_0x3f7ac8;return _0x260cb5=_0x1852dd,logger[_0x118d86('0x45')]('The\x20Enduser\x20ID\x20is:',_0x260cb5['id']),getTicket(_0x49919a,_0x209189,_0x260cb5,_0x31c424,_0x30777e);})[_0x3f7ac8('0x1e')](function(_0x5108a6){const _0x1086a9=_0x3f7ac8;_0x5108a6&&_0x5108a6['id']&&(logger[_0x1086a9('0x45')]('Ticket\x20created!'),logger[_0x1086a9('0x45')]('The\x20Ticket\x20ID\x20is:',_0x5108a6['id']),logger[_0x1086a9('0x45')](_0x1086a9('0x38'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...'),emit(util[_0x1086a9('0x33')]('user:%s',_0x426592[_0x1086a9('0x22')]),'trigger:browser:url',{'uri':util['format'](_0x1086a9('0x4d'),_0x49919a[_0x1086a9('0x25')],_0x5108a6['id'])}));})[_0x3f7ac8('0x44')](function(_0x36d064){const _0x195ef2=_0x3f7ac8;logger['error'](_0x195ef2('0x38'),JSON[_0x195ef2('0x48')](_0x36d064));});},exports[_0xe76597('0x1d')]=function(_0x43fb72,_0x1b61ca,_0x2b919e,_0x39d250,_0x396ffe,_0x75780c){const _0xb343b7=_0xe76597;let _0x29e3c4,_0xb11289;return _0x75780c[_0xb343b7('0x25')]=intUtil['stripTrailingSlash'](_0x75780c[_0xb343b7('0x25')]),_0x75780c[_0xb343b7('0x41')]=intUtil['stripTrailingSlash'](_0x75780c[_0xb343b7('0x41')]),_0x396ffe&&_0x396ffe[_0xb343b7('0x3d')]?(logger[_0xb343b7('0x45')]('['+_0x1b61ca['lastevent']['toUpperCase']()+']','Recording\x20is\x20enabled!'),_0x1b61ca[_0xb343b7('0x11')]=util[_0xb343b7('0x33')](_0xb343b7('0xc'),_0x75780c[_0xb343b7('0x41')],_0x1b61ca['uniqueid'],md5(_0x1b61ca[_0xb343b7('0x19')]))):_0x1b61ca[_0xb343b7('0x11')]='',headers[_0xb343b7('0x37')]=getAuth(_0x75780c),getUser(_0x75780c,'')[_0xb343b7('0x1e')](function(_0x7a9e50){const _0x40c571=_0xb343b7;return _0x29e3c4=_0x7a9e50,logger['info'](_0x40c571('0x46'),_0x29e3c4['id']),getEndUser(_0x75780c,_0x1b61ca[_0x40c571('0x3b')],_0x1b61ca[_0x40c571('0x3f')]);})[_0xb343b7('0x1e')](function(_0x47227c){const _0x5a5b32=_0xb343b7;return _0xb11289=_0x47227c,logger[_0x5a5b32('0x45')](_0x5a5b32('0x15'),_0xb11289['id']),getTicket(_0x75780c,_0x29e3c4,_0xb11289,_0x2b919e,_0x1b61ca);})['then'](function(_0x108c54){const _0x10b2b9=_0xb343b7;_0x108c54&&(logger[_0x10b2b9('0x45')](_0x10b2b9('0x51')),logger['info'](_0x10b2b9('0x28'),_0x108c54['id']));})['catch'](function(_0x584c2f){const _0x46c5d9=_0xb343b7;logger[_0x46c5d9('0x58')]('['+_0x1b61ca['lastevent'][_0x46c5d9('0x1c')]()+']',JSON[_0x46c5d9('0x48')](_0x584c2f));});};