Built motion from commit ecdc8e66766c75b1b08288b0ea13eb12d42606b4. Version 3.0.0...
[motion-next.git] / server / services / ami / trigger / integration / freshsales.js
1 const a1138_0x3b19=['md5','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','Subjects','inspect','users','contacts','add','username','apiKey','find','work_number','Contact','user:%s','Requested\x20Resource\x20not\x20Found','message','name','monitor_format','stripTrailingSlash','forEach','adminEmail','Descriptions','remoteUri','POST','getString','/contacts/','trigger:browser:url','ticketId','outbound','info','error','task','serverUrl','format','adminId','email','Displaying\x20task\x20in\x20a\x20new\x20tab...','catch','../../../../config/logger','contactNumber','userId','moment','[QUEUE]','headers','toUpperCase','length','unmanaged','userEmail','filters','Searching\x20contact\x20with\x20phone',']\x20Error\x20running\x20Freshsales\x20integration','User\x20found:','../../../../rediscache','Contact\x20created:','/api/tasks','/api/contacts/view/','Contact\x20found:','contact','util','Getting\x20contacts\x20filter','agentEmail','Creating\x20new\x20task','lodash','/api/selector/owners','none','queue','Contact\x20not\x20found,\x20creating\x20a\x20new\x20contact','then','Recording\x20is\x20enabled!','Getting\x20user\x20with\x20email','endUserId','recordingURL','YYYY-MM-DDTHH:mm:ss','destcalleridnum','recordingFormat','./util','GET','toLowerCase','All\x20Contacts','uniqueid','calleridnum'];(function(_0x4d6a54,_0x3b19a2){const _0x278619=function(_0x260af8){while(--_0x260af8){_0x4d6a54['push'](_0x4d6a54['shift']());}};_0x278619(++_0x3b19a2);}(a1138_0x3b19,0x1cc));const a1138_0x2786=function(_0x4d6a54,_0x3b19a2){_0x4d6a54=_0x4d6a54-0x0;let _0x278619=a1138_0x3b19[_0x4d6a54];return _0x278619;};const _0x3d4266=a1138_0x2786;'use strict';const _=require(_0x3d4266('0x1')),rp=require('request-promise-native'),md5=require(_0x3d4266('0x14')),util=require(_0x3d4266('0x4d')),moment=require(_0x3d4266('0x3c')),intUtil=require(_0x3d4266('0xe')),logger=require(_0x3d4266('0x39'))('freshsales'),{getSocket}=require(_0x3d4266('0x47')),io=getSocket();function getAdminId(_0x260af8,_0xc3ad6c,_0x7c091b,_0xdfe53a){return new Promise(function(_0x109d13,_0x197ab4){const _0x919444=a1138_0x2786;let _0x196ff9=![];const _0x1be2ae={'method':_0x919444('0xf'),'uri':_0xdfe53a+'/api/selector/owners','json':!![]};return _0x1be2ae['headers']=_0x7c091b,logger['info']('Getting\x20admin\x20information'),rp(_0x1be2ae)[_0x919444('0x6')](function(_0x3bfe9c){const _0x4929d5=_0x919444;if(_0x3bfe9c){const _0x4b2ed6=_0x3bfe9c[_0x4929d5('0x18')];let _0x11a096=null;for(_0x11a096=0x0;_0x11a096<_0x4b2ed6[_0x4929d5('0x40')];_0x11a096++){_0x4b2ed6[_0x11a096][_0x4929d5('0x36')]===_0x260af8[_0x4929d5('0x27')]&&(_0x260af8[_0x4929d5('0x35')]=_0x4b2ed6[_0x11a096]['id'],_0x196ff9=!![]);}_0x196ff9?(logger[_0x4929d5('0x30')]('Admin\x20found:',_0x260af8[_0x4929d5('0x35')]),_0x109d13(_0x260af8)):_0x197ab4({'statusCode':0x194,'message':_0x4929d5('0x21')});}else _0x197ab4({'statusCode':0x194,'message':_0x4929d5('0x21')});})[_0x919444('0x38')](function(_0x45ae7b){const _0x232156=_0x919444;logger['error']('['+[_0xc3ad6c[_0x232156('0x3f')]()]+']',_0x45ae7b[_0x232156('0x22')]),_0x197ab4(_0x45ae7b);});});}function getUser(_0x35ace3,_0x4ba125,_0x31f53c){return function(_0x14532f){return new Promise(function(_0x1d4be9,_0x59f006){const _0xc22261=a1138_0x2786,_0x1d6695={'method':_0xc22261('0xf'),'uri':_0x31f53c+_0xc22261('0x2'),'json':!![]};return _0x1d6695[_0xc22261('0x3e')]=_0x4ba125,logger[_0xc22261('0x30')]('Getting\x20user\x20list'),rp(_0x1d6695)[_0xc22261('0x6')](function(_0x38f4ea){const _0x1fc827=_0xc22261;if(_0x38f4ea){const _0xe0e56c=_0x38f4ea[_0x1fc827('0x18')];let _0x5cf8b8=![],_0x21004e=null;if(_0x14532f[_0x1fc827('0x4f')]!==null){logger['info'](_0x1fc827('0x8'),_0x14532f['agentEmail']),_0x14532f[_0x1fc827('0x42')]=_0x14532f[_0x1fc827('0x4f')];for(_0x21004e=0x0;_0x21004e<_0xe0e56c[_0x1fc827('0x40')];_0x21004e++){_0xe0e56c[_0x21004e]['email']===_0x14532f[_0x1fc827('0x4f')]&&(_0x5cf8b8=!![],_0x14532f[_0x1fc827('0x3b')]=_0xe0e56c[_0x21004e]['id'],logger[_0x1fc827('0x30')](_0x1fc827('0x46'),_0x14532f[_0x1fc827('0x3b')]));}}!_0x5cf8b8&&(logger[_0x1fc827('0x30')]('Admin\x20selected'),_0x14532f['userEmail']=_0x14532f[_0x1fc827('0x27')],_0x14532f['userId']=_0x14532f[_0x1fc827('0x35')],_0x5cf8b8=!![]),_0x5cf8b8?_0x1d4be9(_0x14532f):_0x59f006({'statusCode':0x194,'message':_0x1fc827('0x21')});}else _0x59f006({'statusCode':0x194,'message':_0x1fc827('0x21')});})['catch'](function(_0x371fbc){const _0x248152=_0xc22261;logger[_0x248152('0x31')]('['+[_0x35ace3[_0x248152('0x3f')]()]+']',_0x371fbc['message']),_0x59f006(_0x371fbc);});});};}function getEndUser(_0x19fa0d,_0x1e6f38,_0x5ae875){return function(_0x437802){return new Promise(function(_0x54c36f){const _0x860152=a1138_0x2786;let _0x3d58e4=0x0;const _0xbd625c={'method':_0x860152('0xf'),'uri':_0x5ae875+'/api/contacts/filters','json':!![]};return _0xbd625c[_0x860152('0x3e')]=_0x1e6f38,logger[_0x860152('0x30')](_0x860152('0x4e')),rp(_0xbd625c)[_0x860152('0x6')](function(_0x37de22){const _0x3f582b=_0x860152;_0x37de22[_0x3f582b('0x43')][_0x3f582b('0x26')](function(_0x2214af){const _0x4d93b7=_0x3f582b;_0x2214af['name']===_0x4d93b7('0x11')&&(_0x3d58e4=_0x2214af['id']);});})[_0x860152('0x6')](function(){const _0x531bdd=_0x860152;logger['info']('Getting\x20contact\x20list');const _0x45d13f={'method':_0x531bdd('0xf'),'uri':_0x5ae875+_0x531bdd('0x4a')+_0x3d58e4,'json':!![]};return _0x45d13f['headers']=_0x1e6f38,rp(_0x45d13f);})[_0x860152('0x6')](function(_0x583f66){const _0x555002=_0x860152;logger['info'](_0x555002('0x44'),_0x437802[_0x555002('0x3a')]);if(_0x583f66[_0x555002('0x19')][_0x555002('0x40')]>0x0){const _0xc8361e=_[_0x555002('0x1d')](_0x583f66[_0x555002('0x19')],function(_0x49763b){const _0x499c9f=_0x555002;if(_0x49763b[_0x499c9f('0x1e')]===_0x437802[_0x499c9f('0x3a')]||_0x49763b['mobile_number']===_0x437802['contactNumber'])return _0x49763b;});if(_0xc8361e)_0x437802['endUserId']=_0xc8361e['id'],logger['info'](_0x555002('0x4b'),_0x437802[_0x555002('0x9')]),_0x54c36f(_0x437802);else return createEndUser(_0x437802,_0x19fa0d,_0x1e6f38,_0x5ae875)[_0x555002('0x6')](function(_0x241005){const _0x1f1c5d=_0x555002;logger[_0x1f1c5d('0x30')](_0x1f1c5d('0x48'),_0x437802[_0x1f1c5d('0x9')]),_0x54c36f(_0x241005);});}else return createEndUser(_0x437802,_0x19fa0d,_0x1e6f38,_0x5ae875)[_0x555002('0x6')](function(_0x3c992e){const _0x369238=_0x555002;logger[_0x369238('0x30')]('Contact\x20created:',_0x437802[_0x369238('0x9')]),_0x54c36f(_0x3c992e);});})['catch'](function(_0x52ef75){const _0x1afcbf=_0x860152;throw new Error(_0x52ef75[_0x1afcbf('0x22')]);});});};}function createEndUser(_0x4664e8,_0x10afb1,_0x564229,_0x3608f7){return new Promise(function(_0x4088ce,_0x5a42fe){const _0x21a93f=a1138_0x2786,_0x213f03=moment(),_0x324b2d={'method':'POST','uri':_0x3608f7+'/api/contacts','body':{'contact':{'last_name':_0x4664e8[_0x21a93f('0x3a')],'work_number':_0x4664e8['contactNumber'],'mobile_number':_0x4664e8['contactNumber'],'owner_id':_0x4664e8['userId'],'created_at':_0x213f03[_0x21a93f('0x34')](_0x21a93f('0xb'))}},'json':!![]};return _0x324b2d[_0x21a93f('0x3e')]=_0x564229,logger['info'](_0x21a93f('0x5')),rp(_0x324b2d)[_0x21a93f('0x6')](function(_0x378b95){const _0x2e09e1=_0x21a93f;_0x4664e8['endUserId']=_0x378b95[_0x2e09e1('0x4c')]['id'],_0x4088ce(_0x4664e8);})['catch'](function(_0x507811){const _0x4e9fa4=_0x21a93f;logger[_0x4e9fa4('0x31')]('['+[_0x10afb1['toUpperCase']()]+']',_0x507811['message']),_0x5a42fe(_0x507811[_0x4e9fa4('0x22')]);});});}function getTicket(_0x2d02d9,_0x390070,_0x2b99cc,_0x30a466,_0x56cd14){return function(_0x2bf439){const _0x79b977=a1138_0x2786;return logger[_0x79b977('0x30')](_0x79b977('0x0')),new Promise(function(_0x311367,_0x470e7b){const _0x41b9fa=_0x79b977,_0x618d8a=moment(),_0x1b7e94={'method':_0x41b9fa('0x2a'),'uri':_0x2b99cc+_0x41b9fa('0x49'),'body':{'title':intUtil[_0x41b9fa('0x2b')](_0x30a466[_0x41b9fa('0x16')],_0x56cd14,'\x20'),'description':intUtil['getString'](_0x30a466[_0x41b9fa('0x28')],_0x56cd14,'\x0a'),'owner_id':_0x2bf439['userId'],'creater_id':_0x2bf439[_0x41b9fa('0x35')],'targetable_id':_0x2bf439[_0x41b9fa('0x9')],'targetable_type':_0x41b9fa('0x1f'),'created_at':_0x618d8a[_0x41b9fa('0x34')](_0x41b9fa('0xb')),'due_date':_0x618d8a[_0x41b9fa('0x1a')](0x1e,'m')[_0x41b9fa('0x34')]('YYYY-MM-DDTHH:mm:ss')},'json':!![]};return _0x1b7e94[_0x41b9fa('0x3e')]=_0x390070,rp(_0x1b7e94)['then'](function(_0x4aefa6){const _0x29aaf9=_0x41b9fa;_0x2bf439[_0x29aaf9('0x2e')]=_0x4aefa6[_0x29aaf9('0x32')]['id'],logger[_0x29aaf9('0x30')]('Task\x20created:',_0x2bf439['ticketId']),_0x311367(_0x2bf439);})['catch'](function(_0x561328){const _0x2b4eb3=_0x41b9fa;logger['error']('['+[_0x2d02d9['toUpperCase']()]+']',_0x561328[_0x2b4eb3('0x22')]),_0x470e7b(_0x561328[_0x2b4eb3('0x22')]);});});};}function emit(_0x54a030,_0x3eb1e1,_0x2d790c){const _0x384234=_0x3d4266,_0x49b180={'uri':_0x54a030+_0x384234('0x2c')+_0x2d790c};io['to'](util[_0x384234('0x34')](_0x384234('0x20'),_0x3eb1e1))['emit'](_0x384234('0x2d'),_0x49b180);}exports['cs']=function(_0x227800,_0x16e968,_0x4a8e81,_0xb7230e,_0x4ee8ae,_0x5abfc5,_0x36f2f1,_0x2be09c){const _0x5d1cef=_0x3d4266,_0x1dfacd={},_0x2e1df8={'Authorization':'Token\x20token='+_0x5abfc5[_0x5d1cef('0x1c')]};_0x5abfc5[_0x5d1cef('0x29')]=intUtil[_0x5d1cef('0x25')](_0x5abfc5['remoteUri']),_0x5abfc5['serverUrl']=intUtil[_0x5d1cef('0x25')](_0x5abfc5[_0x5d1cef('0x33')]);const _0x37634a=_0x5abfc5['remoteUri'];_0x1dfacd[_0x5d1cef('0x27')]=_0x5abfc5[_0x5d1cef('0x1b')],_0x1dfacd[_0x5d1cef('0x3a')]=_0x2be09c[_0x5d1cef('0x10')]()===_0x5d1cef('0x2f')?_0x16e968[_0x5d1cef('0xc')]:_0x16e968[_0x5d1cef('0x13')],_0x1dfacd['callDirection']=_0x2be09c===_0x5d1cef('0x4')||_0x2be09c===_0x5d1cef('0x41')?_0x5d1cef('0x4'):_0x5d1cef('0x2f');_0xb7230e&&(_0x1dfacd[_0x5d1cef('0x4f')]=_0xb7230e[_0x5d1cef('0x36')]);const _0x2c992e=util[_0x5d1cef('0x34')](_0x5d1cef('0x15'),_0x5abfc5[_0x5d1cef('0x33')],_0x16e968[_0x5d1cef('0x12')],md5(_0x16e968[_0x5d1cef('0x12')]));if(_0x4ee8ae&&_0x4ee8ae[_0x5d1cef('0x24')])logger[_0x5d1cef('0x30')](_0x5d1cef('0x3d'),_0x5d1cef('0x7')),_0x16e968['recordingURL']=_0x2c992e;else _0x36f2f1&&_0x36f2f1['recordingFormat']&&_0x36f2f1[_0x5d1cef('0xd')]!==_0x5d1cef('0x3')?(logger[_0x5d1cef('0x30')]('[OUTBOUND]',_0x5d1cef('0x7')),_0x16e968[_0x5d1cef('0xa')]=_0x2c992e):_0x16e968[_0x5d1cef('0xa')]='';return getAdminId(_0x1dfacd,_0x2be09c,_0x2e1df8,_0x37634a)['then'](getUser(_0x2be09c,_0x2e1df8,_0x37634a))[_0x5d1cef('0x6')](getEndUser(_0x2be09c,_0x2e1df8,_0x37634a))[_0x5d1cef('0x6')](getTicket(_0x2be09c,_0x2e1df8,_0x37634a,_0x4a8e81,_0x16e968))[_0x5d1cef('0x6')](function(_0x14e5d8){const _0x10a847=_0x5d1cef;logger[_0x10a847('0x30')](util['format']('The\x20ticket\x20ID\x20is:\x20%s',_0x14e5d8['ticketId'])),_0x2be09c!==_0x10a847('0x41')&&(logger['info']('['+[_0x2be09c[_0x10a847('0x3f')]()]+']',_0x10a847('0x37')),emit(_0x37634a,_0xb7230e[_0x10a847('0x23')],_0x14e5d8[_0x10a847('0x9')]));})['catch'](function(_0xc85d33){const _0x404bfb=_0x5d1cef;logger[_0x404bfb('0x31')]('['+[_0x2be09c[_0x404bfb('0x3f')]()]+_0x404bfb('0x45'),util[_0x404bfb('0x17')](_0xc85d33,{'showHidden':!![],'depth':null}));});};