ea362d097e4a361c4069476fc2e890f176fe58a7
[motion-next.git] / server / services / ami / trigger / integration / freshdesk.js
1 const a1137_0x1275=['Invalid\x20email\x20format,\x20using\x20the\x20admin\x20account!','catch','info','recordingFormat','request-promise-native','lastevent','serverUrl','Agent\x20found!','md5','../../../../rediscache','value','email','customField','getString','Authorization','merge','idField','length','toLowerCase','./util','Recording\x20is\x20enabled!','monitor_format','freshdesk','destcalleridname','toString','outbound','from','string','toUpperCase','%s/api/v2/agents/me','map','recordingURL','<br>','%s/api/v2/contacts','destcalleridnum','then','queue','The\x20Ticket\x20ID\x20is:','POST','Enduser\x20found!','[HTTP]','content','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','%s/api/v2/agents','forEach','Enduser\x20created.','trigger:browser:url','uniqueid','calleridname','push','Searching\x20enduser\x20with\x20phone','stringify','The\x20User\x20ID\x20is:','nameField','%s/api/v2/tickets','name','type','contact','find','The\x20Enduser\x20ID\x20is:','GET','variableName','%s/helpdesk/tickets/%d','Tags','Ticket\x20created!','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','defaults','stripTrailingSlash','Descriptions','format','Caller\x20-\x20%s','base64','variable','apiKey','mapValues','Variable','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','debug','calleridnum','error','lodash','remoteUri','[QUEUE]','Fields','custom_fields','keyBy','user:%s','[OUTBOUND]','Basic\x20%s'];(function(_0x43f4c8,_0x1275da){const _0x499f1a=function(_0x1bd481){while(--_0x1bd481){_0x43f4c8['push'](_0x43f4c8['shift']());}};_0x499f1a(++_0x1275da);}(a1137_0x1275,0x19a));const a1137_0x499f=function(_0x43f4c8,_0x1275da){_0x43f4c8=_0x43f4c8-0x0;let _0x499f1a=a1137_0x1275[_0x43f4c8];return _0x499f1a;};const _0x1aa187=a1137_0x499f;'use strict';const _=require(_0x1aa187('0x1a')),rp=require(_0x1aa187('0x27')),md5=require(_0x1aa187('0x2b')),util=require('util'),intUtil=require(_0x1aa187('0x36')),logger=require('../../../../config/logger')(_0x1aa187('0x39')),{getSocket}=require(_0x1aa187('0x2c')),io=getSocket(),headers={'Content-Type':'application/json','Accept':'application/json'};function emit(_0x1bd481,_0x2d1919,_0x4523c9){io['to'](_0x1bd481)['emit'](_0x2d1919,_0x4523c9);}function getTicket(_0x3327d9,_0x2fbf9b,_0xada31f,_0x5a51bc,_0x517ee0){const _0x13821c=_0x1aa187;logger[_0x13821c('0x25')]('Creating\x20new\x20ticket...');const _0x1f3714=_[_0x13821c('0x32')]({'responder_id':_0x2fbf9b['id'],'requester_id':_0xada31f['id'],'name':util[_0x13821c('0xf')](_0x13821c('0x10'),_0x517ee0['calleridname']),'phone':_0x517ee0['calleridnum'],'source':0x3,'priority':0x1,'status':0x2,'subject':intUtil[_0x13821c('0x30')](_0x5a51bc['Subjects'],_0x517ee0,'\x20'),'description':intUtil[_0x13821c('0x30')](_0x5a51bc[_0x13821c('0xe')],_0x517ee0,_0x13821c('0x43')),'tags':getTags(_0x5a51bc[_0x13821c('0x9')],'name')},getCustomFields(_0x5a51bc[_0x13821c('0x1d')],_0x517ee0));return _0x1f3714['custom_fields']=_[_0x13821c('0x14')](_[_0x13821c('0x1f')](_0x1f3714[_0x13821c('0x1e')],'id'),_0x13821c('0x2d')),request({'uri':util[_0x13821c('0xf')](_0x13821c('0x0'),_0x3327d9[_0x13821c('0x1b')]),'method':_0x13821c('0x49'),'body':_0x1f3714})[_0x13821c('0x46')](function(_0x222a42){const _0x8d68d3=_0x13821c;return logger[_0x8d68d3('0x25')]('Ticket\x20created!'),_0x222a42;});}function getUser(_0xad7964,_0x12caae){const _0x2558bb=_0x1aa187;return intUtil['validateEmail'](_0x12caae)?request({'uri':util[_0x2558bb('0xf')](_0x2558bb('0x4e'),_0xad7964[_0x2558bb('0x1b')]),'qs':{'email':_0x12caae}})[_0x2558bb('0x46')](function(_0x57c9f7){const _0x572e20=_0x2558bb;return _0x57c9f7[_0x572e20('0x34')]?(logger['info'](_0x572e20('0x2a')),_[_0x572e20('0x4')](_0x57c9f7,function(_0x1ca89d){const _0x490e12=_0x572e20;return _0x1ca89d[_0x490e12('0x3')][_0x490e12('0x2e')]===_0x12caae;})):(logger[_0x572e20('0x25')](_0x572e20('0x16')),request({'uri':util[_0x572e20('0xf')](_0x572e20('0x40'),_0xad7964['remoteUri'])})[_0x572e20('0x46')](function(_0x4290d5){const _0x43d855=_0x572e20;return logger[_0x43d855('0x25')]('Admin\x20account\x20selected.'),_0x4290d5;}));}):(logger['info'](_0x2558bb('0x23')),request({'uri':util[_0x2558bb('0xf')](_0x2558bb('0x40'),_0xad7964['remoteUri'])})[_0x2558bb('0x46')](function(_0x400532){const _0x2ce6b3=_0x2558bb;return logger[_0x2ce6b3('0x25')]('Admin\x20account\x20selected.'),_0x400532;}));}function getEndUser(_0x4d5807,_0x3d120b,_0x229204){const _0x1739a6=_0x1aa187;return logger['info'](_0x1739a6('0x55'),_0x229204),request({'uri':util['format']('%s/api/v2/contacts',_0x4d5807[_0x1739a6('0x1b')]),'qs':{'phone':_0x229204}})['then'](function(_0x5dc5dc){const _0x402fdd=_0x1739a6;return _0x5dc5dc['length']?(logger['info'](_0x402fdd('0x4a')),_[_0x402fdd('0x4')](_0x5dc5dc,{'phone':_0x229204})):(logger[_0x402fdd('0x25')]('Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!'),request({'uri':util[_0x402fdd('0xf')](_0x402fdd('0x44'),_0x4d5807[_0x402fdd('0x1b')]),'method':_0x402fdd('0x49'),'body':{'name':_0x3d120b,'phone':_0x229204}})['then'](function(_0x50466a){const _0x8e192f=_0x402fdd;return logger[_0x8e192f('0x25')](_0x8e192f('0x50')),_0x50466a;}));});}function getAuth(_0x4c290a){const _0x448232=_0x1aa187;return util['format'](_0x448232('0x22'),Buffer[_0x448232('0x3d')](_0x4c290a[_0x448232('0x13')]+':X')[_0x448232('0x3b')](_0x448232('0x11')));}function request(_0x5ef2d3){const _0x36a00f=_0x1aa187;return logger[_0x36a00f('0x17')](_0x36a00f('0x4b'),JSON['stringify'](_0x5ef2d3)),rp(_[_0x36a00f('0xc')](_0x5ef2d3,{'method':_0x36a00f('0x6'),'headers':headers,'json':!![]}));}function getTags(_0x1604ba,_0x46471d){const _0x1daead=_0x1aa187;let _0x2e8d77=[];return _0x1604ba&&_0x1604ba[_0x1daead('0x34')]>0x0&&(_0x2e8d77=_[_0x1daead('0x41')](_0x1604ba,_0x46471d)),_0x2e8d77;}function getCustomFields(_0x2dcb81,_0x3c8efc){const _0x39066f=_0x1aa187,_0x2cc76e={'custom_fields':[]};return _0x2dcb81['length']>0x0&&_[_0x39066f('0x4f')](_0x2dcb81,function(_0x1907ea){const _0x34f40d=_0x39066f;if(_0x1907ea[_0x34f40d('0x2')]===_0x34f40d('0x3e')&&_0x1907ea[_0x34f40d('0x58')]&&!_0x1907ea['customField'])_0x2cc76e[_0x1907ea['nameField'][_0x34f40d('0x35')]()]=_0x1907ea['content']['toString']();else{if(_0x1907ea[_0x34f40d('0x2')]==='string'&&_0x1907ea[_0x34f40d('0x33')]&&_0x1907ea[_0x34f40d('0x2f')])_0x2cc76e[_0x34f40d('0x1e')][_0x34f40d('0x54')]({'id':_0x1907ea[_0x34f40d('0x33')],'value':_0x1907ea[_0x34f40d('0x4c')][_0x34f40d('0x3b')]()});else{if(_0x1907ea[_0x34f40d('0x2')]===_0x34f40d('0x12')&&_0x1907ea[_0x34f40d('0x7')]&&_0x1907ea[_0x34f40d('0x33')]&&_0x1907ea['customField'])_0x3c8efc[_0x1907ea['variableName']]&&_0x2cc76e[_0x34f40d('0x1e')][_0x34f40d('0x54')]({'id':_0x1907ea[_0x34f40d('0x33')],'value':_0x3c8efc[_0x1907ea['variableName']]['toString']()});else _0x1907ea['type']==='customVariable'&&_0x1907ea[_0x34f40d('0x15')]&&_0x1907ea[_0x34f40d('0x15')]['name']&&_0x1907ea[_0x34f40d('0x33')]&&_0x1907ea['customField']&&(_0x3c8efc[_0x1907ea[_0x34f40d('0x15')]['name'][_0x34f40d('0x35')]()]&&_0x2cc76e[_0x34f40d('0x1e')]['push']({'id':_0x1907ea[_0x34f40d('0x33')],'value':_0x3c8efc[_0x1907ea[_0x34f40d('0x15')]['name']['toLowerCase']()]['toString']()}));}}}),_0x2cc76e;}exports[_0x1aa187('0x47')]=function(_0x22e2d4,_0x10bf8f,_0x15495b,_0x14fcd4,_0x48cf53,_0x4151c6){const _0x21133f=_0x1aa187;let _0x4d1409,_0x5ee481;return _0x4151c6[_0x21133f('0x1b')]=intUtil['stripTrailingSlash'](_0x4151c6[_0x21133f('0x1b')]),_0x4151c6[_0x21133f('0x29')]=intUtil[_0x21133f('0xd')](_0x4151c6[_0x21133f('0x29')]),_0x48cf53&&_0x48cf53[_0x21133f('0x38')]?(logger[_0x21133f('0x25')](_0x21133f('0x1c'),_0x21133f('0x37')),_0x10bf8f[_0x21133f('0x42')]=util[_0x21133f('0xf')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x4151c6['serverUrl'],_0x10bf8f[_0x21133f('0x52')],md5(_0x10bf8f['uniqueid']))):_0x10bf8f[_0x21133f('0x42')]='',headers['Authorization']=getAuth(_0x4151c6),getUser(_0x4151c6,_0x14fcd4[_0x21133f('0x2e')])[_0x21133f('0x46')](function(_0x46edb9){const _0x3ec364=_0x21133f;return _0x4d1409=_0x46edb9,logger[_0x3ec364('0x25')](_0x3ec364('0x57'),_0x4d1409['id']),getEndUser(_0x4151c6,_0x10bf8f[_0x3ec364('0x53')],_0x10bf8f[_0x3ec364('0x18')]);})[_0x21133f('0x46')](function(_0x218f23){const _0x470c47=_0x21133f;return _0x5ee481=_0x218f23,logger[_0x470c47('0x25')]('The\x20Enduser\x20ID\x20is:',_0x5ee481['id']),getTicket(_0x4151c6,_0x4d1409,_0x5ee481,_0x15495b,_0x10bf8f);})[_0x21133f('0x46')](function(_0x3479f5){const _0x3bf1ce=_0x21133f;_0x3479f5&&_0x3479f5['id']&&(logger[_0x3bf1ce('0x25')](_0x3bf1ce('0xa')),logger['info'](_0x3bf1ce('0x48'),_0x3479f5['id']),logger[_0x3bf1ce('0x25')](_0x3bf1ce('0x1c'),'Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...'),emit(util[_0x3bf1ce('0xf')](_0x3bf1ce('0x20'),_0x14fcd4[_0x3bf1ce('0x1')]),_0x3bf1ce('0x51'),{'uri':util[_0x3bf1ce('0xf')](_0x3bf1ce('0x8'),_0x4151c6['remoteUri'],_0x3479f5['id'])}));})[_0x21133f('0x24')](function(_0x407001){const _0x4d8c61=_0x21133f;logger[_0x4d8c61('0x19')](_0x4d8c61('0x1c'),JSON['stringify'](_0x407001));});},exports[_0x1aa187('0x3c')]=function(_0x2711e5,_0xdb9a2f,_0x4b2664,_0xc65536,_0x28aed7,_0x1b8a0a,_0x3feb72){const _0x1b4509=_0x1aa187;let _0x364989,_0xf4ade3;return _0x1b8a0a[_0x1b4509('0x1b')]=intUtil[_0x1b4509('0xd')](_0x1b8a0a[_0x1b4509('0x1b')]),_0x1b8a0a[_0x1b4509('0x29')]=intUtil[_0x1b4509('0xd')](_0x1b8a0a['serverUrl']),_0x3feb72&&_0x3feb72['recordingFormat']&&_0x3feb72[_0x1b4509('0x26')]!=='none'&&(logger['info'](_0x1b4509('0x21'),_0x1b4509('0x37')),_0xdb9a2f['recordingURL']=util[_0x1b4509('0xf')](_0x1b4509('0xb'),_0x1b8a0a[_0x1b4509('0x29')],_0xdb9a2f[_0x1b4509('0x52')],md5(_0xdb9a2f[_0x1b4509('0x52')]))),headers['Authorization']=getAuth(_0x1b8a0a),getUser(_0x1b8a0a,_0xc65536[_0x1b4509('0x2e')])[_0x1b4509('0x46')](function(_0x145ff8){const _0x13bba9=_0x1b4509;return _0x364989=_0x145ff8,logger[_0x13bba9('0x25')](_0x13bba9('0x57'),_0x364989['id']),getEndUser(_0x1b8a0a,_0xdb9a2f[_0x13bba9('0x3a')],_0xdb9a2f[_0x13bba9('0x45')]);})['then'](function(_0x480607){const _0x14d96f=_0x1b4509;return _0xf4ade3=_0x480607,logger[_0x14d96f('0x25')](_0x14d96f('0x5'),_0xf4ade3['id']),getTicket(_0x1b8a0a,_0x364989,_0xf4ade3,_0x4b2664,_0xdb9a2f);})[_0x1b4509('0x46')](function(_0x806666){const _0x4fd42f=_0x1b4509;_0x806666&&_0x806666['id']&&(logger[_0x4fd42f('0x25')](_0x4fd42f('0xa')),logger['info']('The\x20Ticket\x20ID\x20is:',_0x806666['id']),logger['info'](_0x4fd42f('0x21'),_0x4fd42f('0x4d')),emit(util[_0x4fd42f('0xf')]('user:%s',_0xc65536['name']),_0x4fd42f('0x51'),{'uri':util[_0x4fd42f('0xf')](_0x4fd42f('0x8'),_0x1b8a0a[_0x4fd42f('0x1b')],_0x806666['id'])}));})['catch'](function(_0x78d9f1){const _0x54af31=_0x1b4509;logger[_0x54af31('0x19')](_0x54af31('0x21'),JSON['stringify'](_0x78d9f1));});},exports['unmanaged']=function(_0x22d27c,_0x3d7cb3,_0x543194,_0x541e9d,_0x422417,_0x313564){const _0x69803=_0x1aa187;let _0x4f95d0,_0x7ca34c;return _0x313564[_0x69803('0x1b')]=intUtil[_0x69803('0xd')](_0x313564[_0x69803('0x1b')]),_0x313564['serverUrl']=intUtil[_0x69803('0xd')](_0x313564['serverUrl']),_0x422417&&_0x422417[_0x69803('0x38')]?(logger[_0x69803('0x25')]('['+_0x3d7cb3[_0x69803('0x28')][_0x69803('0x3f')]()+']','Recording\x20is\x20enabled!'),_0x3d7cb3[_0x69803('0x42')]=util[_0x69803('0xf')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x313564[_0x69803('0x29')],_0x3d7cb3[_0x69803('0x52')],md5(_0x3d7cb3['uniqueid']))):_0x3d7cb3['recordingURL']='',headers[_0x69803('0x31')]=getAuth(_0x313564),getUser(_0x313564,'')[_0x69803('0x46')](function(_0xde16ec){const _0x445a14=_0x69803;return _0x4f95d0=_0xde16ec,logger[_0x445a14('0x25')](_0x445a14('0x57'),_0x4f95d0['id']),getEndUser(_0x313564,_0x3d7cb3[_0x445a14('0x53')],_0x3d7cb3[_0x445a14('0x18')]);})['then'](function(_0x41032d){const _0x4dea2d=_0x69803;return _0x7ca34c=_0x41032d,logger['info'](_0x4dea2d('0x5'),_0x7ca34c['id']),getTicket(_0x313564,_0x4f95d0,_0x7ca34c,_0x543194,_0x3d7cb3);})['then'](function(_0x3c6a07){const _0x437afe=_0x69803;_0x3c6a07&&(logger[_0x437afe('0x25')](_0x437afe('0xa')),logger[_0x437afe('0x25')]('The\x20Ticket\x20ID\x20is:',_0x3c6a07['id']));})[_0x69803('0x24')](function(_0x39d16c){const _0x3413e5=_0x69803;logger[_0x3413e5('0x19')]('['+_0x3d7cb3[_0x3413e5('0x28')][_0x3413e5('0x3f')]()+']',JSON[_0x3413e5('0x56')](_0x39d16c));});};