Built motion from commit 4a18b36e645f5fa4a517d36f9783bde259878164. Version 3.0.0...
[motion-next.git] / server / services / ami / trigger / integration / dynamics365.js
1 const a1137_0xc861=[']\x20The\x20%s\x20ID\x20is:\x20%s','toUpperCase','tenantId',']\x20Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!',']\x20Agent\x20found\x20','email','inspect','systemuserid','systemusers?$select=internalemailaddress,isdisabled,systemuserid','name',']\x20Enduser\x20created!','stripTrailingSlash','telephone1','indexOf','userId','type','../../../../config/logger','lastIndexOf','error','calleridnum','contactid','monitor_format','value','isdisabled','length','../../../../rediscache','destcalleridnum','then','message','phonecalls',']\x20The\x20Enduser\x20ID\x20is:','Fields','Subjects','/contacts(','unmanaged','toLowerCase',']\x20Enduser\x20Created!','recordingURL','Bearer\x20','userEmail','customField','clientSecret','queue','[QUEUE]','password','enduserId','getString','Displaying\x20call\x20in\x20a\x20new\x20tab...','ticketType','4.0','POST','%s/main.aspx?pagetype=entityrecord&etn=%s&id=%s','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','./util','catch','odata-entityid','format','username','md5','remoteUri','callDirection','https://login.microsoftonline.com/%s/oauth2/token','clientId','serverUrl','request-promise-native','access_token','info','emit','/systemusers(','substring','Recording\x20is\x20enabled!',']\x20The\x20User\x20email\x20is:','none','contacts','incidents',']\x20The\x20Enduser\x20phone\x20is:','assign','uniqueid','ticketId','Descriptions','nameField','lodash','recordingFormat',']\x20Call\x20direction:\x20%s','user:%s','outbound'];(function(_0x4e38b5,_0xc8613b){const _0x353f4c=function(_0x2c724c){while(--_0x2c724c){_0x4e38b5['push'](_0x4e38b5['shift']());}};_0x353f4c(++_0xc8613b);}(a1137_0xc861,0x121));const a1137_0x353f=function(_0x4e38b5,_0xc8613b){_0x4e38b5=_0x4e38b5-0x0;let _0x353f4c=a1137_0xc861[_0x4e38b5];return _0x353f4c;};const _0x52b98e=a1137_0x353f;'use strict';const _=require(_0x52b98e('0x32')),rp=require(_0x52b98e('0x21')),util=require('util'),intUtil=require(_0x52b98e('0x16')),md5=require(_0x52b98e('0x1b')),logger=require(_0x52b98e('0x47'))('dynamics365'),{getSocket}=require(_0x52b98e('0x50')),io=getSocket();function getAuthToken(_0x2c724c,_0x4f7f44,_0x54ddb6){const _0x53606f=_0x52b98e,_0x58ee9d={'method':_0x53606f('0x13'),'uri':_0x4f7f44,'form':{'client_id':_0x2c724c[_0x53606f('0x1f')],'resource':_0x2c724c['remoteUri'],'username':_0x2c724c[_0x53606f('0x1a')],'password':_0x2c724c[_0x53606f('0xd')],'grant_type':_0x53606f('0xd'),'client_secret':_0x2c724c[_0x53606f('0xa')]},'json':!![]};return rp(_0x58ee9d)[_0x53606f('0x52')](function(_0x78c097){const _0x31692c=_0x53606f;return _0x78c097[_0x31692c('0x22')];})[_0x53606f('0x17')](function(_0x860e29){const _0x356319=_0x53606f;return logger[_0x356319('0x49')]('['+[_0x54ddb6[_0x356319('0x38')]()]+']\x20Wrong\x20credentials!'),_0x860e29[_0x356319('0x53')];});}function getUser(_0x8dc847,_0x3c3938,_0x5b52f6,_0x3dfd12,_0x1b461d,_0x1d942f){return new Promise(function(_0x1bf811,_0x2310aa){const _0x189491=a1137_0x353f;return getAuthToken(_0x3c3938,_0x3dfd12,_0x1d942f)['then'](function(_0x369c4b){const _0x20af28=a1137_0x353f,_0x3c8690={'method':'GET','uri':_0x1b461d+_0x20af28('0x3f'),'headers':{'Authorization':'Bearer\x20'+_0x369c4b,'OData-Version':_0x20af28('0x12')},'json':!![]};return rp(_0x3c8690);})['then'](function(_0x394abf){const _0x27d0ab=a1137_0x353f,_0x3ecc3a=_0x394abf['value'];let _0x467a19=![],_0x2babad=null;if(!_['isNil'](_0x5b52f6)){if(intUtil['validateEmail'](_0x5b52f6[_0x27d0ab('0x3c')])){_0x8dc847[_0x27d0ab('0x8')]=_0x5b52f6[_0x27d0ab('0x3c')];for(_0x2babad=0x0;_0x2babad<_0x3ecc3a[_0x27d0ab('0x4f')];_0x2babad++){_0x3ecc3a[_0x2babad]['internalemailaddress']===_0x5b52f6[_0x27d0ab('0x3c')]&&!_0x3ecc3a[_0x2babad][_0x27d0ab('0x4e')]&&(_0x467a19=!![],logger[_0x27d0ab('0x23')]('['+[_0x1d942f[_0x27d0ab('0x38')]()]+_0x27d0ab('0x3b')+_0x3ecc3a[_0x2babad][_0x27d0ab('0x3e')]+'!'),_0x8dc847[_0x27d0ab('0x45')]=_0x3ecc3a[_0x2babad][_0x27d0ab('0x3e')]);}}}if(!_0x467a19){logger['info']('['+[_0x1d942f['toUpperCase']()]+_0x27d0ab('0x3a')),_0x8dc847[_0x27d0ab('0x8')]=_0x3c3938['username'];for(_0x2babad=0x0;_0x2babad<_0x3ecc3a['length'];_0x2babad++){_0x3ecc3a[_0x2babad]['internalemailaddress']===_0x3c3938[_0x27d0ab('0x1a')]&&(_0x8dc847[_0x27d0ab('0x45')]=_0x3ecc3a[_0x2babad][_0x27d0ab('0x3e')]);}}_0x1bf811(_0x8dc847);})[_0x189491('0x17')](function(_0xbd2c95){const _0x230a42=_0x189491;_0x2310aa(_0xbd2c95[_0x230a42('0x53')]);});});}function createEndUser(_0xcc9bdb,_0x455c1d,_0x4ab354,_0x1b02d7,_0x36cf7c,_0x3d3a8){return new Promise(function(_0x442314,_0x1a4a39){const _0x4b677d=a1137_0x353f;return getAuthToken(_0x455c1d,_0x4ab354,_0x3d3a8)['then'](function(_0x4c06c4){const _0x3c8999=a1137_0x353f,_0x2e3d7c=_0x3d3a8[_0x3c8999('0x4')]()===_0x3c8999('0x36')?_0x36cf7c['destcalleridnum']:_0x36cf7c['calleridnum'],_0x2c7bbc={'method':_0x3c8999('0x13'),'uri':_0x1b02d7+_0x3c8999('0x2a'),'body':{'telephone1':_0x2e3d7c,'fullname':_0x2e3d7c,'firstname':_0x2e3d7c,'lastname':'_','mobilephone':null,'address1_telephone1':null,'ownerid@odata.bind':_0x3c8999('0x25')+_0xcc9bdb['userId']+')'},'headers':{'Authorization':_0x3c8999('0x7')+_0x4c06c4,'OData-Version':'4.0'},'json':!![],'resolveWithFullResponse':!![]};return rp(_0x2c7bbc);})['then'](function(_0x3401de){const _0x5b43e4=a1137_0x353f,_0x229ed2=_0x3401de['headers'][_0x5b43e4('0x18')],_0x1a4fa6=_0x229ed2['substring'](_0x229ed2[_0x5b43e4('0x48')]('(')+0x1,_0x229ed2[_0x5b43e4('0x48')](')'));_0xcc9bdb['enduserId']=_0x1a4fa6,_0x442314(_0xcc9bdb);})[_0x4b677d('0x17')](function(_0x770009){_0x1a4a39(_0x770009['message']);});});}function getEndUser(_0x1b97b5,_0x17c848,_0x8ebda9,_0x47ca1e,_0x238435,_0x387884){return new Promise(function(_0x3990e0){const _0x11ea2c=a1137_0x353f;return getAuthToken(_0x17c848,_0x8ebda9,_0x387884)[_0x11ea2c('0x52')](function(_0x32b364){const _0x36cbf2=_0x11ea2c,_0x20a6de={'method':'GET','uri':_0x47ca1e+'contacts?$select=telephone1','headers':{'Authorization':'Bearer\x20'+_0x32b364,'If-None-Match':null,'OData-Version':_0x36cbf2('0x12')},'json':!![]};return rp(_0x20a6de);})[_0x11ea2c('0x52')](function(_0x2dd9bd){const _0x5b6b71=_0x11ea2c;let _0x420c4d=null;if(_0x2dd9bd){const _0x881bd7=_0x2dd9bd[_0x5b6b71('0x4d')];let _0xa1ced=![];for(_0x420c4d=0x0;_0x420c4d<_0x881bd7['length'];_0x420c4d++){const _0x1fa783=_0x387884[_0x5b6b71('0x4')]()===_0x5b6b71('0x36')?_0x238435[_0x5b6b71('0x51')]:_0x238435[_0x5b6b71('0x4a')];_0x881bd7[_0x420c4d][_0x5b6b71('0x43')]===_0x1fa783&&(_0xa1ced=!![],_0x1b97b5[_0x5b6b71('0xe')]=_0x881bd7[_0x420c4d][_0x5b6b71('0x4b')]);}if(_0xa1ced)_0x3990e0(_0x1b97b5);else return createEndUser(_0x1b97b5,_0x17c848,_0x8ebda9,_0x47ca1e,_0x238435,_0x387884)['then'](function(_0x1d59c1){const _0x95a87e=_0x5b6b71;logger[_0x95a87e('0x23')]('['+[_0x387884[_0x95a87e('0x38')]()]+_0x95a87e('0x41'),_0x1d59c1[_0x95a87e('0xe')]),_0x3990e0(_0x1d59c1);});}else return createEndUser(_0x1b97b5,_0x17c848,_0x8ebda9,_0x47ca1e,_0x238435,_0x387884)[_0x5b6b71('0x52')](function(_0x374bf4){const _0x2d0785=_0x5b6b71;logger[_0x2d0785('0x23')]('['+[_0x387884[_0x2d0785('0x38')]()]+_0x2d0785('0x5'),_0x374bf4[_0x2d0785('0xe')]),_0x3990e0(_0x374bf4);});});});}function getCustomFields(_0x4664ba,_0x98e4db,_0x154259){const _0x187ff7={};return _0x4664ba['length']>0x0&&_['forEach'](_0x4664ba,function(_0x35319b){const _0x3042b8=a1137_0x353f;if(_0x35319b[_0x3042b8('0x46')]==='string'&&_0x35319b[_0x3042b8('0x31')]&&!_0x35319b[_0x3042b8('0x9')]){const _0x22eecb=_0x35319b['idField'][_0x3042b8('0x4')](),_0x5452c1=_0x22eecb[_0x3042b8('0x26')](0x0,_0x22eecb[_0x3042b8('0x44')]('_')),_0x53d6c7=_0x22eecb[_0x3042b8('0x26')](_0x22eecb[_0x3042b8('0x44')]('_')+0x1);_0x5452c1===_0x154259&&(_0x187ff7[_0x53d6c7]=_0x35319b['content']);}}),_0x187ff7;}function getTicket(_0xe88d8a,_0x1be117,_0xd21b2a,_0x4e95cb,_0x1d784a,_0x30ca41,_0x3b46a8){return new Promise(function(_0x4297b7,_0x8f32f){const _0x565957=a1137_0x353f;let _0x4c6711;return getAuthToken(_0x1be117,_0xd21b2a,_0x3b46a8)[_0x565957('0x52')](function(_0x137750){const _0x22ec6b=_0x565957;return _0x30ca41[_0x22ec6b('0x11')]==='incident'&&(_0x4c6711={'method':_0x22ec6b('0x13'),'uri':_0x4e95cb+_0x22ec6b('0x2b'),'body':Object[_0x22ec6b('0x2d')]({},{'title':intUtil[_0x22ec6b('0xf')](_0x30ca41['Subjects'],_0x1d784a,'\x20'),'description':intUtil[_0x22ec6b('0xf')](_0x30ca41[_0x22ec6b('0x30')],_0x1d784a,'\x0a'),'customerid_contact@odata.bind':_0x22ec6b('0x2')+_0xe88d8a[_0x22ec6b('0xe')]+')','ownerid@odata.bind':'/systemusers('+_0xe88d8a[_0x22ec6b('0x45')]+')','caseorigincode':'1'},getCustomFields(_0x30ca41[_0x22ec6b('0x0')],_0x1d784a,_0x30ca41[_0x22ec6b('0x11')])),'headers':{'Authorization':'Bearer\x20'+_0x137750,'OData-Version':_0x22ec6b('0x12')},'json':!![],'resolveWithFullResponse':!![]}),_0x30ca41['ticketType']==='phonecall'&&(_0x4c6711={'method':_0x22ec6b('0x13'),'uri':_0x4e95cb+_0x22ec6b('0x54'),'body':Object[_0x22ec6b('0x2d')]({},{'subject':intUtil[_0x22ec6b('0xf')](_0x30ca41[_0x22ec6b('0x1')],_0x1d784a,'\x20'),'phonenumber':String(_0x1d784a[_0x22ec6b('0x4a')]),'description':intUtil['getString'](_0x30ca41[_0x22ec6b('0x30')],_0x1d784a,'\x0a'),'regardingobjectid_contact@odata.bind':_0x22ec6b('0x2')+_0xe88d8a[_0x22ec6b('0xe')]+')','ownerid@odata.bind':_0x22ec6b('0x25')+_0xe88d8a[_0x22ec6b('0x45')]+')','directioncode':_0xe88d8a[_0x22ec6b('0x1d')]===_0x22ec6b('0xb')?![]:!![],'phonecall_activity_parties':[{'partyid_systemuser@odata.bind':_0x22ec6b('0x25')+_0xe88d8a[_0x22ec6b('0x45')]+')','participationtypemask':_0xe88d8a[_0x22ec6b('0x1d')]===_0x22ec6b('0xb')?0x2:0x1},{'partyid_contact@odata.bind':_0x22ec6b('0x2')+_0xe88d8a[_0x22ec6b('0xe')]+')','participationtypemask':_0xe88d8a['callDirection']==='queue'?0x1:0x2}]},getCustomFields(_0x30ca41[_0x22ec6b('0x0')],_0x1d784a,_0x30ca41[_0x22ec6b('0x11')])),'headers':{'Authorization':_0x22ec6b('0x7')+_0x137750,'OData-Version':_0x22ec6b('0x12')},'json':!![],'resolveWithFullResponse':!![]}),rp(_0x4c6711);})[_0x565957('0x52')](function(_0x46addf){const _0x14fdbf=_0x565957,_0xfecb82=_0x46addf['headers'][_0x14fdbf('0x18')],_0x4491f9=_0xfecb82['substring'](_0xfecb82['lastIndexOf']('(')+0x1,_0xfecb82['lastIndexOf'](')'));_0xe88d8a[_0x14fdbf('0x2f')]=_0x4491f9,_0x4297b7(_0xe88d8a);})[_0x565957('0x17')](function(_0xb8bcb8){_0x8f32f(_0xb8bcb8['message']);});});}function emit(_0x1138a6,_0x59dc38,_0x4e008d,_0x51f06b){const _0x3ff8c4=_0x52b98e,_0x15cb7b={'uri':util[_0x3ff8c4('0x19')](_0x3ff8c4('0x14'),_0x1138a6,_0x4e008d,_0x51f06b)};io['to'](util[_0x3ff8c4('0x19')](_0x3ff8c4('0x35'),_0x59dc38))[_0x3ff8c4('0x24')]('trigger:browser:url',_0x15cb7b);}exports['cs']=function(_0x19729a,_0x5d6832,_0xd70341,_0x4b1b2c,_0x12403b,_0x28312a,_0x30e0c9,_0x4de15f){const _0x21569b=_0x52b98e,_0x3e495c={};_0x28312a['remoteUri']=intUtil[_0x21569b('0x42')](_0x28312a[_0x21569b('0x1c')]),_0x28312a['serverUrl']=intUtil[_0x21569b('0x42')](_0x28312a[_0x21569b('0x20')]),_0x3e495c[_0x21569b('0x1d')]=_0x4de15f===_0x21569b('0xb')||_0x4de15f===_0x21569b('0x3')?_0x21569b('0xb'):_0x21569b('0x36');const _0x452411=util['format']('%s/api/data/v9.0/',_0x28312a[_0x21569b('0x1c')]),_0xe6613f=util['format'](_0x21569b('0x1e'),_0x28312a[_0x21569b('0x39')]),_0x5b7ac5=util[_0x21569b('0x19')](_0x21569b('0x15'),_0x28312a[_0x21569b('0x20')],_0x5d6832[_0x21569b('0x2e')],md5(_0x5d6832[_0x21569b('0x2e')]));if(_0x12403b&&_0x12403b[_0x21569b('0x4c')])logger[_0x21569b('0x23')](_0x21569b('0xc'),_0x21569b('0x27')),_0x5d6832[_0x21569b('0x6')]=_0x5b7ac5;else _0x30e0c9&&_0x30e0c9['recordingFormat']&&_0x30e0c9[_0x21569b('0x33')]!==_0x21569b('0x29')?(logger[_0x21569b('0x23')]('[OUTBOUND]',_0x21569b('0x27')),_0x5d6832[_0x21569b('0x6')]=_0x5b7ac5):_0x5d6832[_0x21569b('0x6')]='';return getUser(_0x3e495c,_0x28312a,_0x4b1b2c,_0xe6613f,_0x452411,_0x4de15f)[_0x21569b('0x52')](function(_0x1ebf89){const _0x5620cb=_0x21569b;return logger['info']('['+_0x4de15f[_0x5620cb('0x38')]()+']\x20The\x20User\x20ID\x20is:',_0x1ebf89['userId']),logger[_0x5620cb('0x23')]('['+_0x4de15f[_0x5620cb('0x38')]()+_0x5620cb('0x28'),_0x1ebf89[_0x5620cb('0x8')]),getEndUser(_0x1ebf89,_0x28312a,_0xe6613f,_0x452411,_0x5d6832,_0x4de15f);})[_0x21569b('0x52')](function(_0x4f0a85){const _0x8f3699=_0x21569b;return logger[_0x8f3699('0x23')]('['+_0x4de15f[_0x8f3699('0x38')]()+_0x8f3699('0x55'),_0x4f0a85[_0x8f3699('0xe')]),logger[_0x8f3699('0x23')]('['+_0x4de15f[_0x8f3699('0x38')]()+_0x8f3699('0x2c'),_0x5d6832[_0x8f3699('0x4a')]),getTicket(_0x4f0a85,_0x28312a,_0xe6613f,_0x452411,_0x5d6832,_0xd70341,_0x4de15f);})['then'](function(_0x48190b){const _0xc5a08e=_0x21569b;logger[_0xc5a08e('0x23')](util[_0xc5a08e('0x19')]('['+_0x4de15f[_0xc5a08e('0x38')]()+_0xc5a08e('0x37'),_0xd70341[_0xc5a08e('0x11')],_0x48190b[_0xc5a08e('0x2f')])),logger['info'](util[_0xc5a08e('0x19')]('['+_0x4de15f[_0xc5a08e('0x38')]()+_0xc5a08e('0x34'),_0x4de15f)),_0x4de15f!=='unmanaged'&&(logger[_0xc5a08e('0x23')]('['+_0x4de15f[_0xc5a08e('0x38')]()+']',_0xc5a08e('0x10')),emit(_0x28312a[_0xc5a08e('0x1c')],_0x4b1b2c[_0xc5a08e('0x40')],_0xd70341[_0xc5a08e('0x11')],_0x48190b['ticketId']));})[_0x21569b('0x17')](function(_0x16fe39){const _0x59a0bc=_0x21569b;logger[_0x59a0bc('0x49')]('['+_0x4de15f[_0x59a0bc('0x38')]()+']\x20Error\x20running\x20Dynamics365\x20integration',util[_0x59a0bc('0x3d')](_0x16fe39,{'showHidden':!![],'depth':null}));});};