Built motion from commit 42801a18.|2.6.28
[motion2.git] / server / services / ami / trigger / integration / dynamics365.js
index fc66eb6..91657c5 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2d1f=[']\x20Agent\x20found\x20','systemuserid','info',']\x20Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','username','toLowerCase','destcalleridnum','calleridnum','contacts','/systemusers(','userId','body','odata-entityid','substring','lastIndexOf','enduserId','outbound','telephone1','GET','contacts?$select=','&$filter=','\x20eq\x20\x27','replace','nothing',']\x20Enduser\x20NOT\x20Created\x20-\x20ModuleCreate\x20=\x20Nothing','includes','string','picklist','type','idField','indexOf','ticketType','incidents','assign','getString','Descriptions','/contacts(','Fields','phonecall','queue','Subjects','callDirection','headers','ticketId','format','%s/main.aspx?pagetype=entityrecord&etn=%s&id=%s','emit','trigger:browser:url','modernAuthentication','stripTrailingSlash','serverUrl','unmanaged','%s/api/data/v9.0/','https://login.microsoftonline.com/%s/oauth2/token','uniqueid','[QUEUE]','Recording\x20is\x20enabled!','recordingFormat','none','[OUTBOUND]',']\x20The\x20User\x20ID\x20is:',']\x20The\x20User\x20email\x20is:','moduleCreate','additionalSearchContact',']\x20The\x20Enduser\x20ID\x20is:',']\x20The\x20Enduser\x20phone\x20is:',']\x20The\x20%s\x20ID\x20is:\x20%s',']\x20Call\x20direction:\x20%s','openNewTab','Displaying\x20call\x20in\x20a\x20new\x20tab...','name',']\x20Error\x20running\x20Dynamics365\x20integration','lodash','request-promise','./util','md5','ioredis','../../../../config/logger','dynamics365','../../../../config/environment','defaults','redis','socket.io-emitter','remoteUri','data7','tenantId','CloudProvider','data2','resolve','data5','POST','clientId','password','clientSecret','access_token','catch','error','toUpperCase',']\x20Wrong\x20credentials!','message','then','systemusers?$select=internalemailaddress,isdisabled,systemuserid','Bearer\x20','4.0','value','validateEmail','email','userEmail','length','internalemailaddress','isdisabled'];(function(_0x4dafe5,_0x11d065){var _0x3906b7=function(_0x12148d){while(--_0x12148d){_0x4dafe5['push'](_0x4dafe5['shift']());}};_0x3906b7(++_0x11d065);}(_0x2d1f,0x195));var _0xf2d1=function(_0x1a4950,_0x53b0f7){_0x1a4950=_0x1a4950-0x0;var _0x4787d5=_0x2d1f[_0x1a4950];return _0x4787d5;};'use strict';var _=require(_0xf2d1('0x0'));var rp=require(_0xf2d1('0x1'));var util=require('util');var intUtil=require(_0xf2d1('0x2'));var md5=require(_0xf2d1('0x3'));var Redis=require(_0xf2d1('0x4'));var logger=require(_0xf2d1('0x5'))(_0xf2d1('0x6'));var config=require(_0xf2d1('0x7'));config['redis']=_[_0xf2d1('0x8')](config[_0xf2d1('0x9')],{'host':'localhost','port':0x18eb});var io=require(_0xf2d1('0xa'))(new Redis(config[_0xf2d1('0x9')]));function getAuthToken(_0x327a2a,_0x58d110,_0x26cbaa){if(_0x327a2a['modernAuthentication']){_0x327a2a[_0xf2d1('0xb')]=_0x327a2a['CloudProvider'][_0xf2d1('0xc')];_0x327a2a[_0xf2d1('0xd')]=_0x327a2a[_0xf2d1('0xe')][_0xf2d1('0xf')];return Promise[_0xf2d1('0x10')](_0x327a2a['CloudProvider'][_0xf2d1('0x11')]);}var _0x165e5d={'method':_0xf2d1('0x12'),'uri':_0x58d110,'form':{'client_id':_0x327a2a[_0xf2d1('0x13')],'resource':_0x327a2a['remoteUri'],'username':_0x327a2a['username'],'password':_0x327a2a[_0xf2d1('0x14')],'grant_type':'password','client_secret':_0x327a2a[_0xf2d1('0x15')]},'json':!![]};return rp(_0x165e5d)['then'](function(_0x4566d9){return _0x4566d9[_0xf2d1('0x16')];})[_0xf2d1('0x17')](function(_0x53b4c5){logger[_0xf2d1('0x18')]('['+[_0x26cbaa[_0xf2d1('0x19')]()]+_0xf2d1('0x1a'));return _0x53b4c5[_0xf2d1('0x1b')];});}function getUser(_0x3180dd,_0x56cbc0,_0x7651ba,_0x4e9a96,_0x379918,_0x5c26b3){return new Promise(function(_0x4779c7,_0x4226d5){return getAuthToken(_0x56cbc0,_0x4e9a96,_0x5c26b3)[_0xf2d1('0x1c')](function(_0xae4837){var _0x4ac99f={'method':'GET','uri':_0x379918+_0xf2d1('0x1d'),'headers':{'Authorization':_0xf2d1('0x1e')+_0xae4837,'OData-Version':_0xf2d1('0x1f')},'json':!![]};return rp(_0x4ac99f);})[_0xf2d1('0x1c')](function(_0x47f1aa){var _0x2c5b31=_0x47f1aa[_0xf2d1('0x20')];var _0x46fe60=![];var _0x50c1e0=null;if(!_['isNil'](_0x7651ba)){if(intUtil[_0xf2d1('0x21')](_0x7651ba[_0xf2d1('0x22')])){_0x3180dd[_0xf2d1('0x23')]=_0x7651ba[_0xf2d1('0x22')];for(_0x50c1e0=0x0;_0x50c1e0<_0x2c5b31[_0xf2d1('0x24')];_0x50c1e0++){if(_0x2c5b31[_0x50c1e0][_0xf2d1('0x25')]===_0x7651ba[_0xf2d1('0x22')]&&!_0x2c5b31[_0x50c1e0][_0xf2d1('0x26')]){_0x46fe60=!![];logger['info']('['+[_0x5c26b3['toUpperCase']()]+_0xf2d1('0x27')+_0x2c5b31[_0x50c1e0]['systemuserid']+'!');_0x3180dd['userId']=_0x2c5b31[_0x50c1e0][_0xf2d1('0x28')];}}}}if(!_0x46fe60){logger[_0xf2d1('0x29')]('['+[_0x5c26b3[_0xf2d1('0x19')]()]+_0xf2d1('0x2a'));_0x3180dd[_0xf2d1('0x23')]=_0x56cbc0[_0xf2d1('0x2b')];for(_0x50c1e0=0x0;_0x50c1e0<_0x2c5b31['length'];_0x50c1e0++){if(_0x2c5b31[_0x50c1e0]['internalemailaddress']===_0x56cbc0[_0xf2d1('0x2b')]){_0x3180dd['userId']=_0x2c5b31[_0x50c1e0]['systemuserid'];}}}_0x4779c7(_0x3180dd);})[_0xf2d1('0x17')](function(_0x5ad706){_0x4226d5(_0x5ad706[_0xf2d1('0x1b')]);});});}function createEndUser(_0x7a2d3b,_0x1ede79,_0x247a02,_0x2b80e5,_0x5adecd,_0x1b12a1,_0x17c489){return new Promise(function(_0x29052d,_0x22bb46){return getAuthToken(_0x1ede79,_0x247a02,_0x1b12a1)['then'](function(_0x3cd474){var _0xe5d15d=_0x1b12a1[_0xf2d1('0x2c')]()==='outbound'?_0x5adecd[_0xf2d1('0x2d')]:_0x5adecd[_0xf2d1('0x2e')];var _0x29b888={'method':'POST','uri':_0x2b80e5+_0xf2d1('0x2f'),'body':{'fullname':_0xe5d15d,'firstname':_0xe5d15d,'lastname':'_','mobilephone':null,'address1_telephone1':null,'ownerid@odata.bind':_0xf2d1('0x30')+_0x7a2d3b[_0xf2d1('0x31')]+')'},'headers':{'Authorization':'Bearer\x20'+_0x3cd474,'OData-Version':'4.0'},'json':!![],'resolveWithFullResponse':!![]};_0x29b888[_0xf2d1('0x32')][_0x17c489]=_0xe5d15d;return rp(_0x29b888);})['then'](function(_0x5217b4){var _0xaf0916=_0x5217b4['headers'][_0xf2d1('0x33')];var _0x27f7b8=_0xaf0916[_0xf2d1('0x34')](_0xaf0916[_0xf2d1('0x35')]('(')+0x1,_0xaf0916[_0xf2d1('0x35')](')'));_0x7a2d3b[_0xf2d1('0x36')]=_0x27f7b8;_0x29052d(_0x7a2d3b);})['catch'](function(_0x1a8896){_0x22bb46(_0x1a8896[_0xf2d1('0x1b')]);});});}function getEndUser(_0x5397e9,_0x1f4d6c,_0x74b6a6,_0x3fcc84,_0x45c23a,_0x2ef669,_0x747fb8,_0x2ea02d){var _0x31f1cd=_0x2ef669['toLowerCase']()===_0xf2d1('0x37')?_0x45c23a[_0xf2d1('0x2d')]:_0x45c23a[_0xf2d1('0x2e')];return getAuthToken(_0x1f4d6c,_0x74b6a6,_0x2ef669)[_0xf2d1('0x1c')](function(_0x218909){_0x2ea02d=_0x2ea02d?_0x2ea02d:_0xf2d1('0x38');var _0x36ab98={'method':_0xf2d1('0x39'),'uri':_0x3fcc84+_0xf2d1('0x3a')+_0x2ea02d+_0xf2d1('0x3b')+_0x2ea02d+_0xf2d1('0x3c')+_0x31f1cd[_0xf2d1('0x3d')]('+','%2b')+'\x27','headers':{'Authorization':_0xf2d1('0x1e')+_0x218909,'If-None-Match':null,'OData-Version':_0xf2d1('0x1f')},'json':!![]};return rp(_0x36ab98);})[_0xf2d1('0x1c')](function(_0x4b0e0c){var _0x31e228=![];if(!_0x4b0e0c)return _0x31e228;var _0xba7d8b=_0x4b0e0c['value'];for(var _0x59d080=0x0;_0x59d080<_0xba7d8b[_0xf2d1('0x24')];_0x59d080++){if(_0xba7d8b[_0x59d080][_0x2ea02d]===_0x31f1cd){_0x31e228=!![];_0x5397e9[_0xf2d1('0x36')]=_0xba7d8b[_0x59d080]['contactid'];}}return _0x31e228;})[_0xf2d1('0x1c')](function(_0x368d95){if(_0x368d95)return _0x5397e9;if(_0x747fb8===_0xf2d1('0x3e')){logger[_0xf2d1('0x29')]('['+[_0x2ef669[_0xf2d1('0x19')]()]+_0xf2d1('0x3f'));return _0x5397e9;}return createEndUser(_0x5397e9,_0x1f4d6c,_0x74b6a6,_0x3fcc84,_0x45c23a,_0x2ef669,_0x2ea02d)[_0xf2d1('0x1c')](function(_0x36da51){logger['info']('['+[_0x2ef669[_0xf2d1('0x19')]()]+']\x20Enduser\x20created!',_0x36da51[_0xf2d1('0x36')]);return _0x36da51;});});}function getCustomFields(_0x2ba4cb,_0x1081ab,_0x1f635b){var _0x44e1e5={};if(_0x2ba4cb[_0xf2d1('0x24')]>0x0){_['forEach'](_0x2ba4cb,function(_0x346934){if(_[_0xf2d1('0x40')]([_0xf2d1('0x41'),_0xf2d1('0x42')],_0x346934[_0xf2d1('0x43')])&&_0x346934['nameField']&&!_0x346934['customField']){var _0x5aed7a=_0x346934[_0xf2d1('0x44')]['toLowerCase']();var _0x3e9efb=_0x5aed7a[_0xf2d1('0x34')](0x0,_0x5aed7a[_0xf2d1('0x45')]('_'));var _0xb6353c=_0x5aed7a[_0xf2d1('0x34')](_0x5aed7a[_0xf2d1('0x45')]('_')+0x1);if(_0x3e9efb===_0x1f635b){_0x44e1e5[_0xb6353c]=_0x346934['content'];}}});}return _0x44e1e5;}function getTicket(_0x867475,_0x297f44,_0x19a4f9,_0x10d24d,_0x404828,_0x993508,_0x4a21d3){return new Promise(function(_0x136ab4,_0x19c14c){var _0x1e2c10;return getAuthToken(_0x297f44,_0x19a4f9,_0x4a21d3)[_0xf2d1('0x1c')](function(_0x17bd86){if(_0x993508[_0xf2d1('0x46')]==='incident'){_0x1e2c10={'method':_0xf2d1('0x12'),'uri':_0x10d24d+_0xf2d1('0x47'),'body':Object[_0xf2d1('0x48')]({},{'title':intUtil['getString'](_0x993508['Subjects'],_0x404828,'\x20'),'description':intUtil[_0xf2d1('0x49')](_0x993508[_0xf2d1('0x4a')],_0x404828,'\x0a'),'customerid_contact@odata.bind':_0x867475[_0xf2d1('0x36')]?_0xf2d1('0x4b')+_0x867475[_0xf2d1('0x36')]+')':undefined,'ownerid@odata.bind':_0xf2d1('0x30')+_0x867475[_0xf2d1('0x31')]+')','caseorigincode':'1'},getCustomFields(_0x993508[_0xf2d1('0x4c')],_0x404828,_0x993508[_0xf2d1('0x46')])),'headers':{'Authorization':'Bearer\x20'+_0x17bd86,'OData-Version':_0xf2d1('0x1f')},'json':!![],'resolveWithFullResponse':!![]};}if(_0x993508[_0xf2d1('0x46')]===_0xf2d1('0x4d')){var _0x4c735e=_0x867475['enduserId']?[{'partyid_systemuser@odata.bind':_0xf2d1('0x30')+_0x867475[_0xf2d1('0x31')]+')','participationtypemask':_0x867475['callDirection']===_0xf2d1('0x4e')?0x2:0x1},{'partyid_contact@odata.bind':'/contacts('+_0x867475[_0xf2d1('0x36')]+')','participationtypemask':_0x867475['callDirection']===_0xf2d1('0x4e')?0x1:0x2}]:[{'partyid_systemuser@odata.bind':_0xf2d1('0x30')+_0x867475['userId']+')','participationtypemask':_0x867475['callDirection']===_0xf2d1('0x4e')?0x2:0x1}];_0x1e2c10={'method':'POST','uri':_0x10d24d+'phonecalls','body':Object[_0xf2d1('0x48')]({},{'subject':intUtil['getString'](_0x993508[_0xf2d1('0x4f')],_0x404828,'\x20'),'phonenumber':String(_0x404828['calleridnum']),'description':intUtil[_0xf2d1('0x49')](_0x993508[_0xf2d1('0x4a')],_0x404828,'\x0a'),'regardingobjectid_contact@odata.bind':_0x867475[_0xf2d1('0x36')]?'/contacts('+_0x867475[_0xf2d1('0x36')]+')':undefined,'ownerid@odata.bind':_0xf2d1('0x30')+_0x867475[_0xf2d1('0x31')]+')','directioncode':_0x867475[_0xf2d1('0x50')]===_0xf2d1('0x4e')?![]:!![],'phonecall_activity_parties':_0x4c735e},getCustomFields(_0x993508[_0xf2d1('0x4c')],_0x404828,_0x993508['ticketType'])),'headers':{'Authorization':_0xf2d1('0x1e')+_0x17bd86,'OData-Version':_0xf2d1('0x1f')},'json':!![],'resolveWithFullResponse':!![]};}return rp(_0x1e2c10);})[_0xf2d1('0x1c')](function(_0x2f317d){var _0x18f316=_0x2f317d[_0xf2d1('0x51')][_0xf2d1('0x33')];var _0x5efaf7=_0x18f316[_0xf2d1('0x34')](_0x18f316['lastIndexOf']('(')+0x1,_0x18f316['lastIndexOf'](')'));_0x867475[_0xf2d1('0x52')]=_0x5efaf7;_0x136ab4(_0x867475);})[_0xf2d1('0x17')](function(_0x3d2439){_0x19c14c(_0x3d2439[_0xf2d1('0x1b')]);});});}function emit(_0xad25b4,_0x56821c,_0x407b83,_0xec089f){var _0x169074={'uri':util[_0xf2d1('0x53')](_0xf2d1('0x54'),_0xad25b4,_0x407b83,_0xec089f)};io['to'](util[_0xf2d1('0x53')]('user:%s',_0x56821c))[_0xf2d1('0x55')](_0xf2d1('0x56'),_0x169074);}exports['cs']=function(_0x3d46cc,_0x28d830,_0x392305,_0x3093a8,_0x4a13ff,_0x14f671,_0x2e57e9,_0x30d8db){var _0x338d51={};_0x14f671[_0xf2d1('0xb')]=_0x14f671[_0xf2d1('0x57')]?intUtil[_0xf2d1('0x58')](_0x14f671[_0xf2d1('0xe')]['data7']):intUtil['stripTrailingSlash'](_0x14f671[_0xf2d1('0xb')]);_0x14f671[_0xf2d1('0x59')]=intUtil[_0xf2d1('0x58')](_0x14f671[_0xf2d1('0x59')]);_0x338d51[_0xf2d1('0x50')]=_0x30d8db==='queue'||_0x30d8db===_0xf2d1('0x5a')?_0xf2d1('0x4e'):_0xf2d1('0x37');var _0x182a2e=_0x14f671[_0xf2d1('0x57')]?util[_0xf2d1('0x53')]('%s/api/data/v9.0/',_0x14f671[_0xf2d1('0xe')][_0xf2d1('0xc')]):util[_0xf2d1('0x53')](_0xf2d1('0x5b'),_0x14f671[_0xf2d1('0xb')]);var _0x24d5a2=util[_0xf2d1('0x53')](_0xf2d1('0x5c'),_0x14f671[_0xf2d1('0xd')]);var _0x171e35=util[_0xf2d1('0x53')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x14f671[_0xf2d1('0x59')],_0x28d830[_0xf2d1('0x5d')],md5(_0x28d830[_0xf2d1('0x5d')]));if(_0x4a13ff&&_0x4a13ff['monitor_format']){logger[_0xf2d1('0x29')](_0xf2d1('0x5e'),_0xf2d1('0x5f'));_0x28d830['recordingURL']=_0x171e35;}else if(_0x2e57e9&&_0x2e57e9['recordingFormat']&&_0x2e57e9[_0xf2d1('0x60')]!==_0xf2d1('0x61')){logger['info'](_0xf2d1('0x62'),'Recording\x20is\x20enabled!');_0x28d830['recordingURL']=_0x171e35;}else{_0x28d830['recordingURL']='';}return getUser(_0x338d51,_0x14f671,_0x3093a8,_0x24d5a2,_0x182a2e,_0x30d8db)[_0xf2d1('0x1c')](function(_0x298290){logger[_0xf2d1('0x29')]('['+_0x30d8db[_0xf2d1('0x19')]()+_0xf2d1('0x63'),_0x298290[_0xf2d1('0x31')]);logger[_0xf2d1('0x29')]('['+_0x30d8db[_0xf2d1('0x19')]()+_0xf2d1('0x64'),_0x298290[_0xf2d1('0x23')]);return getEndUser(_0x298290,_0x14f671,_0x24d5a2,_0x182a2e,_0x28d830,_0x30d8db,_0x392305[_0xf2d1('0x65')],_0x392305[_0xf2d1('0x66')]);})[_0xf2d1('0x1c')](function(_0x1a3dd8){logger[_0xf2d1('0x29')]('['+_0x30d8db['toUpperCase']()+_0xf2d1('0x67'),_0x1a3dd8[_0xf2d1('0x36')]);logger[_0xf2d1('0x29')]('['+_0x30d8db[_0xf2d1('0x19')]()+_0xf2d1('0x68'),_0x28d830[_0xf2d1('0x2e')]);return getTicket(_0x1a3dd8,_0x14f671,_0x24d5a2,_0x182a2e,_0x28d830,_0x392305,_0x30d8db);})[_0xf2d1('0x1c')](function(_0x492d65){logger[_0xf2d1('0x29')](util[_0xf2d1('0x53')]('['+_0x30d8db[_0xf2d1('0x19')]()+_0xf2d1('0x69'),_0x392305['ticketType'],_0x492d65[_0xf2d1('0x52')]));logger['info'](util['format']('['+_0x30d8db[_0xf2d1('0x19')]()+_0xf2d1('0x6a'),_0x30d8db));if(_0x30d8db!=='unmanaged'&&_0x392305[_0xf2d1('0x6b')]){logger['info']('['+_0x30d8db['toUpperCase']()+']',_0xf2d1('0x6c'));emit(_0x14f671[_0xf2d1('0xb')],_0x3093a8[_0xf2d1('0x6d')],_0x392305['ticketType'],_0x492d65[_0xf2d1('0x52')]);}})[_0xf2d1('0x17')](function(_0x1f9f33){logger['error']('['+_0x30d8db[_0xf2d1('0x19')]()+_0xf2d1('0x6e'),_0x1f9f33[_0xf2d1('0x1b')]);console[_0xf2d1('0x18')]('Error\x20running\x20Dynamics365\x20integration',_0x1f9f33);});};
\ No newline at end of file
+var _0xdfef=['Fields','ticketType','phonecall','queue','callDirection','phonecalls','Subjects','Descriptions','ticketId','format','%s/main.aspx?pagetype=entityrecord&etn=%s&id=%s','trigger:browser:url','stripTrailingSlash','serverUrl','unmanaged','%s/api/data/v9.0/','https://login.microsoftonline.com/%s/oauth2/token','tenantId','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','[QUEUE]','Recording\x20is\x20enabled!','recordingFormat','none','[OUTBOUND]','recordingURL','additionalSearchContact',']\x20The\x20Enduser\x20phone\x20is:',']\x20The\x20%s\x20ID\x20is:\x20%s',']\x20Call\x20direction:\x20%s','openNewTab','Displaying\x20call\x20in\x20a\x20new\x20tab...','name',']\x20Error\x20running\x20Dynamics365\x20integration','util','ioredis','../../../../config/logger','dynamics365','../../../../config/environment','redis','defaults','localhost','socket.io-emitter','modernAuthentication','remoteUri','CloudProvider','data7','resolve','clientId','then','access_token','catch','error','message','GET','systemusers?$select=internalemailaddress,isdisabled,systemuserid','Bearer\x20','value','isNil','validateEmail','email','userEmail','length','internalemailaddress','isdisabled','toUpperCase',']\x20Agent\x20found\x20','userId','systemuserid','username','toLowerCase','outbound','calleridnum','POST','/systemusers(','4.0','body','headers','odata-entityid','substring','lastIndexOf','enduserId','destcalleridnum','contacts?$select=','&$filter=','\x20eq\x20\x27','%2b','contactid','nothing','info',']\x20Enduser\x20NOT\x20Created\x20-\x20ModuleCreate\x20=\x20Nothing','forEach','includes','string','type','nameField','idField','indexOf','content','incident','assign','getString','/contacts('];(function(_0x1a9204,_0x1c9e00){var _0x17ca68=function(_0x1f4399){while(--_0x1f4399){_0x1a9204['push'](_0x1a9204['shift']());}};_0x17ca68(++_0x1c9e00);}(_0xdfef,0x1be));var _0xfdfe=function(_0x34dc27,_0x16dbf0){_0x34dc27=_0x34dc27-0x0;var _0x33893e=_0xdfef[_0x34dc27];return _0x33893e;};'use strict';var _=require('lodash');var rp=require('request-promise');var util=require(_0xfdfe('0x0'));var intUtil=require('./util');var md5=require('md5');var Redis=require(_0xfdfe('0x1'));var logger=require(_0xfdfe('0x2'))(_0xfdfe('0x3'));var config=require(_0xfdfe('0x4'));config[_0xfdfe('0x5')]=_[_0xfdfe('0x6')](config['redis'],{'host':_0xfdfe('0x7'),'port':0x18eb});var io=require(_0xfdfe('0x8'))(new Redis(config[_0xfdfe('0x5')]));function getAuthToken(_0x543d0e,_0x29ef9d,_0x392d71){if(_0x543d0e[_0xfdfe('0x9')]){_0x543d0e[_0xfdfe('0xa')]=_0x543d0e[_0xfdfe('0xb')][_0xfdfe('0xc')];_0x543d0e['tenantId']=_0x543d0e[_0xfdfe('0xb')]['data2'];return Promise[_0xfdfe('0xd')](_0x543d0e['CloudProvider']['data5']);}var _0x1413f5={'method':'POST','uri':_0x29ef9d,'form':{'client_id':_0x543d0e[_0xfdfe('0xe')],'resource':_0x543d0e[_0xfdfe('0xa')],'username':_0x543d0e['username'],'password':_0x543d0e['password'],'grant_type':'password','client_secret':_0x543d0e['clientSecret']},'json':!![]};return rp(_0x1413f5)[_0xfdfe('0xf')](function(_0x2e3867){return _0x2e3867[_0xfdfe('0x10')];})[_0xfdfe('0x11')](function(_0x2155be){logger[_0xfdfe('0x12')]('['+[_0x392d71['toUpperCase']()]+']\x20Wrong\x20credentials!');return _0x2155be[_0xfdfe('0x13')];});}function getUser(_0x1518eb,_0x30821d,_0x983465,_0x2203a7,_0x578585,_0x4d64c7){return new Promise(function(_0x40c7de,_0x5f1252){return getAuthToken(_0x30821d,_0x2203a7,_0x4d64c7)[_0xfdfe('0xf')](function(_0x498767){var _0x3b74dc={'method':_0xfdfe('0x14'),'uri':_0x578585+_0xfdfe('0x15'),'headers':{'Authorization':_0xfdfe('0x16')+_0x498767,'OData-Version':'4.0'},'json':!![]};return rp(_0x3b74dc);})[_0xfdfe('0xf')](function(_0x25e1a3){var _0x4d42d=_0x25e1a3[_0xfdfe('0x17')];var _0x50ce2a=![];var _0x68f5ca=null;if(!_[_0xfdfe('0x18')](_0x983465)){if(intUtil[_0xfdfe('0x19')](_0x983465[_0xfdfe('0x1a')])){_0x1518eb[_0xfdfe('0x1b')]=_0x983465[_0xfdfe('0x1a')];for(_0x68f5ca=0x0;_0x68f5ca<_0x4d42d[_0xfdfe('0x1c')];_0x68f5ca++){if(_0x4d42d[_0x68f5ca][_0xfdfe('0x1d')]===_0x983465[_0xfdfe('0x1a')]&&!_0x4d42d[_0x68f5ca][_0xfdfe('0x1e')]){_0x50ce2a=!![];logger['info']('['+[_0x4d64c7[_0xfdfe('0x1f')]()]+_0xfdfe('0x20')+_0x4d42d[_0x68f5ca]['systemuserid']+'!');_0x1518eb[_0xfdfe('0x21')]=_0x4d42d[_0x68f5ca][_0xfdfe('0x22')];}}}}if(!_0x50ce2a){logger['info']('['+[_0x4d64c7['toUpperCase']()]+']\x20Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!');_0x1518eb[_0xfdfe('0x1b')]=_0x30821d[_0xfdfe('0x23')];for(_0x68f5ca=0x0;_0x68f5ca<_0x4d42d[_0xfdfe('0x1c')];_0x68f5ca++){if(_0x4d42d[_0x68f5ca]['internalemailaddress']===_0x30821d['username']){_0x1518eb[_0xfdfe('0x21')]=_0x4d42d[_0x68f5ca]['systemuserid'];}}}_0x40c7de(_0x1518eb);})[_0xfdfe('0x11')](function(_0x2d6b0c){_0x5f1252(_0x2d6b0c[_0xfdfe('0x13')]);});});}function createEndUser(_0x509ac9,_0x5b4559,_0x2c812e,_0x2753b5,_0x2746d2,_0x1f7e73,_0x1534e7){return new Promise(function(_0x274960,_0x57dd9c){return getAuthToken(_0x5b4559,_0x2c812e,_0x1f7e73)['then'](function(_0x18e8d1){var _0x1870f6=_0x1f7e73[_0xfdfe('0x24')]()===_0xfdfe('0x25')?_0x2746d2['destcalleridnum']:_0x2746d2[_0xfdfe('0x26')];var _0x3ac7bf={'method':_0xfdfe('0x27'),'uri':_0x2753b5+'contacts','body':{'fullname':_0x1870f6,'firstname':_0x1870f6,'lastname':'_','mobilephone':null,'address1_telephone1':null,'ownerid@odata.bind':_0xfdfe('0x28')+_0x509ac9[_0xfdfe('0x21')]+')'},'headers':{'Authorization':_0xfdfe('0x16')+_0x18e8d1,'OData-Version':_0xfdfe('0x29')},'json':!![],'resolveWithFullResponse':!![]};_0x3ac7bf[_0xfdfe('0x2a')][_0x1534e7]=_0x1870f6;return rp(_0x3ac7bf);})[_0xfdfe('0xf')](function(_0x5a3a1f){var _0x45241b=_0x5a3a1f[_0xfdfe('0x2b')][_0xfdfe('0x2c')];var _0x332f66=_0x45241b[_0xfdfe('0x2d')](_0x45241b[_0xfdfe('0x2e')]('(')+0x1,_0x45241b[_0xfdfe('0x2e')](')'));_0x509ac9[_0xfdfe('0x2f')]=_0x332f66;_0x274960(_0x509ac9);})[_0xfdfe('0x11')](function(_0x560a50){_0x57dd9c(_0x560a50['message']);});});}function getEndUser(_0x4038b8,_0x263a9d,_0xa2b24e,_0x19a837,_0x486a68,_0x45f695,_0x549f95,_0x348847){var _0x55c727=_0x45f695[_0xfdfe('0x24')]()===_0xfdfe('0x25')?_0x486a68[_0xfdfe('0x30')]:_0x486a68[_0xfdfe('0x26')];return getAuthToken(_0x263a9d,_0xa2b24e,_0x45f695)[_0xfdfe('0xf')](function(_0xc89b31){_0x348847=_0x348847?_0x348847:'telephone1';var _0x13d5be={'method':_0xfdfe('0x14'),'uri':_0x19a837+_0xfdfe('0x31')+_0x348847+_0xfdfe('0x32')+_0x348847+_0xfdfe('0x33')+_0x55c727['replace']('+',_0xfdfe('0x34'))+'\x27','headers':{'Authorization':'Bearer\x20'+_0xc89b31,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x13d5be);})['then'](function(_0x36e370){var _0x2e798e=![];if(!_0x36e370)return _0x2e798e;var _0x1693d1=_0x36e370[_0xfdfe('0x17')];for(var _0x18a7c6=0x0;_0x18a7c6<_0x1693d1['length'];_0x18a7c6++){if(_0x1693d1[_0x18a7c6][_0x348847]===_0x55c727){_0x2e798e=!![];_0x4038b8[_0xfdfe('0x2f')]=_0x1693d1[_0x18a7c6][_0xfdfe('0x35')];}}return _0x2e798e;})[_0xfdfe('0xf')](function(_0x8bf953){if(_0x8bf953)return _0x4038b8;if(_0x549f95===_0xfdfe('0x36')){logger[_0xfdfe('0x37')]('['+[_0x45f695[_0xfdfe('0x1f')]()]+_0xfdfe('0x38'));return _0x4038b8;}return createEndUser(_0x4038b8,_0x263a9d,_0xa2b24e,_0x19a837,_0x486a68,_0x45f695,_0x348847)['then'](function(_0xa1a88){logger[_0xfdfe('0x37')]('['+[_0x45f695[_0xfdfe('0x1f')]()]+']\x20Enduser\x20created!',_0xa1a88['enduserId']);return _0xa1a88;});});}function getCustomFields(_0x51670b,_0x1d50ff,_0x128de9){var _0x3631cb={};if(_0x51670b[_0xfdfe('0x1c')]>0x0){_[_0xfdfe('0x39')](_0x51670b,function(_0x1e347d){if(_[_0xfdfe('0x3a')]([_0xfdfe('0x3b'),'picklist'],_0x1e347d[_0xfdfe('0x3c')])&&_0x1e347d[_0xfdfe('0x3d')]&&!_0x1e347d['customField']){var _0x5ac212=_0x1e347d[_0xfdfe('0x3e')][_0xfdfe('0x24')]();var _0x2b7a4c=_0x5ac212[_0xfdfe('0x2d')](0x0,_0x5ac212['indexOf']('_'));var _0x31697a=_0x5ac212[_0xfdfe('0x2d')](_0x5ac212[_0xfdfe('0x3f')]('_')+0x1);if(_0x2b7a4c===_0x128de9){_0x3631cb[_0x31697a]=_0x1e347d[_0xfdfe('0x40')];}}});}return _0x3631cb;}function getTicket(_0x54d60a,_0x441cad,_0x300b1d,_0x28df72,_0x2eadf1,_0x39c6f6,_0x2f7113){return new Promise(function(_0x1e6937,_0x5cc520){var _0x4dbc39;return getAuthToken(_0x441cad,_0x300b1d,_0x2f7113)['then'](function(_0x9ac859){if(_0x39c6f6['ticketType']===_0xfdfe('0x41')){_0x4dbc39={'method':_0xfdfe('0x27'),'uri':_0x28df72+'incidents','body':Object[_0xfdfe('0x42')]({},{'title':intUtil[_0xfdfe('0x43')](_0x39c6f6['Subjects'],_0x2eadf1,'\x20'),'description':intUtil['getString'](_0x39c6f6['Descriptions'],_0x2eadf1,'\x0a'),'customerid_contact@odata.bind':_0x54d60a[_0xfdfe('0x2f')]?_0xfdfe('0x44')+_0x54d60a['enduserId']+')':undefined,'ownerid@odata.bind':_0xfdfe('0x28')+_0x54d60a[_0xfdfe('0x21')]+')','caseorigincode':'1'},getCustomFields(_0x39c6f6[_0xfdfe('0x45')],_0x2eadf1,_0x39c6f6['ticketType'])),'headers':{'Authorization':'Bearer\x20'+_0x9ac859,'OData-Version':'4.0'},'json':!![],'resolveWithFullResponse':!![]};}if(_0x39c6f6[_0xfdfe('0x46')]===_0xfdfe('0x47')){var _0x2f1404=_0x54d60a[_0xfdfe('0x2f')]?[{'partyid_systemuser@odata.bind':_0xfdfe('0x28')+_0x54d60a[_0xfdfe('0x21')]+')','participationtypemask':_0x54d60a['callDirection']===_0xfdfe('0x48')?0x2:0x1},{'partyid_contact@odata.bind':_0xfdfe('0x44')+_0x54d60a['enduserId']+')','participationtypemask':_0x54d60a[_0xfdfe('0x49')]===_0xfdfe('0x48')?0x1:0x2}]:[{'partyid_systemuser@odata.bind':'/systemusers('+_0x54d60a[_0xfdfe('0x21')]+')','participationtypemask':_0x54d60a[_0xfdfe('0x49')]===_0xfdfe('0x48')?0x2:0x1}];_0x4dbc39={'method':'POST','uri':_0x28df72+_0xfdfe('0x4a'),'body':Object['assign']({},{'subject':intUtil[_0xfdfe('0x43')](_0x39c6f6[_0xfdfe('0x4b')],_0x2eadf1,'\x20'),'phonenumber':String(_0x2eadf1[_0xfdfe('0x26')]),'description':intUtil[_0xfdfe('0x43')](_0x39c6f6[_0xfdfe('0x4c')],_0x2eadf1,'\x0a'),'regardingobjectid_contact@odata.bind':_0x54d60a['enduserId']?_0xfdfe('0x44')+_0x54d60a[_0xfdfe('0x2f')]+')':undefined,'ownerid@odata.bind':_0xfdfe('0x28')+_0x54d60a[_0xfdfe('0x21')]+')','directioncode':_0x54d60a[_0xfdfe('0x49')]==='queue'?![]:!![],'phonecall_activity_parties':_0x2f1404},getCustomFields(_0x39c6f6['Fields'],_0x2eadf1,_0x39c6f6[_0xfdfe('0x46')])),'headers':{'Authorization':_0xfdfe('0x16')+_0x9ac859,'OData-Version':_0xfdfe('0x29')},'json':!![],'resolveWithFullResponse':!![]};}return rp(_0x4dbc39);})['then'](function(_0x361d71){var _0x144af=_0x361d71['headers'][_0xfdfe('0x2c')];var _0x2bb425=_0x144af[_0xfdfe('0x2d')](_0x144af['lastIndexOf']('(')+0x1,_0x144af['lastIndexOf'](')'));_0x54d60a[_0xfdfe('0x4d')]=_0x2bb425;_0x1e6937(_0x54d60a);})['catch'](function(_0x412a38){_0x5cc520(_0x412a38[_0xfdfe('0x13')]);});});}function emit(_0x3861a7,_0x16a364,_0x9470ea,_0x2b432c){var _0x2b7e5a={'uri':util[_0xfdfe('0x4e')](_0xfdfe('0x4f'),_0x3861a7,_0x9470ea,_0x2b432c)};io['to'](util['format']('user:%s',_0x16a364))['emit'](_0xfdfe('0x50'),_0x2b7e5a);}exports['cs']=function(_0x1d62c1,_0x1ab405,_0x935bd9,_0x3b503c,_0x58ee05,_0x5e6b4b,_0x24fe85,_0x111463){var _0xb3f90b={};_0x5e6b4b[_0xfdfe('0xa')]=_0x5e6b4b[_0xfdfe('0x9')]?intUtil[_0xfdfe('0x51')](_0x5e6b4b[_0xfdfe('0xb')][_0xfdfe('0xc')]):intUtil['stripTrailingSlash'](_0x5e6b4b[_0xfdfe('0xa')]);_0x5e6b4b[_0xfdfe('0x52')]=intUtil[_0xfdfe('0x51')](_0x5e6b4b[_0xfdfe('0x52')]);_0xb3f90b['callDirection']=_0x111463===_0xfdfe('0x48')||_0x111463===_0xfdfe('0x53')?_0xfdfe('0x48'):'outbound';var _0x25d2e7=_0x5e6b4b['modernAuthentication']?util[_0xfdfe('0x4e')]('%s/api/data/v9.0/',_0x5e6b4b[_0xfdfe('0xb')][_0xfdfe('0xc')]):util[_0xfdfe('0x4e')](_0xfdfe('0x54'),_0x5e6b4b['remoteUri']);var _0x1ceeda=util[_0xfdfe('0x4e')](_0xfdfe('0x55'),_0x5e6b4b[_0xfdfe('0x56')]);var _0x1e1d88=util['format'](_0xfdfe('0x57'),_0x5e6b4b[_0xfdfe('0x52')],_0x1ab405[_0xfdfe('0x58')],md5(_0x1ab405[_0xfdfe('0x58')]));if(_0x58ee05&&_0x58ee05['monitor_format']){logger[_0xfdfe('0x37')](_0xfdfe('0x59'),_0xfdfe('0x5a'));_0x1ab405['recordingURL']=_0x1e1d88;}else if(_0x24fe85&&_0x24fe85[_0xfdfe('0x5b')]&&_0x24fe85[_0xfdfe('0x5b')]!==_0xfdfe('0x5c')){logger['info'](_0xfdfe('0x5d'),'Recording\x20is\x20enabled!');_0x1ab405[_0xfdfe('0x5e')]=_0x1e1d88;}else{_0x1ab405[_0xfdfe('0x5e')]='';}return getUser(_0xb3f90b,_0x5e6b4b,_0x3b503c,_0x1ceeda,_0x25d2e7,_0x111463)['then'](function(_0x1b3a75){logger['info']('['+_0x111463[_0xfdfe('0x1f')]()+']\x20The\x20User\x20ID\x20is:',_0x1b3a75[_0xfdfe('0x21')]);logger[_0xfdfe('0x37')]('['+_0x111463['toUpperCase']()+']\x20The\x20User\x20email\x20is:',_0x1b3a75[_0xfdfe('0x1b')]);return getEndUser(_0x1b3a75,_0x5e6b4b,_0x1ceeda,_0x25d2e7,_0x1ab405,_0x111463,_0x935bd9['moduleCreate'],_0x935bd9[_0xfdfe('0x5f')]);})['then'](function(_0x38396e){logger[_0xfdfe('0x37')]('['+_0x111463[_0xfdfe('0x1f')]()+']\x20The\x20Enduser\x20ID\x20is:',_0x38396e[_0xfdfe('0x2f')]);logger[_0xfdfe('0x37')]('['+_0x111463[_0xfdfe('0x1f')]()+_0xfdfe('0x60'),_0x1ab405[_0xfdfe('0x26')]);return getTicket(_0x38396e,_0x5e6b4b,_0x1ceeda,_0x25d2e7,_0x1ab405,_0x935bd9,_0x111463);})[_0xfdfe('0xf')](function(_0x35cb8d){logger[_0xfdfe('0x37')](util[_0xfdfe('0x4e')]('['+_0x111463[_0xfdfe('0x1f')]()+_0xfdfe('0x61'),_0x935bd9[_0xfdfe('0x46')],_0x35cb8d[_0xfdfe('0x4d')]));logger[_0xfdfe('0x37')](util['format']('['+_0x111463[_0xfdfe('0x1f')]()+_0xfdfe('0x62'),_0x111463));if(_0x111463!==_0xfdfe('0x53')&&_0x935bd9[_0xfdfe('0x63')]){logger['info']('['+_0x111463[_0xfdfe('0x1f')]()+']',_0xfdfe('0x64'));emit(_0x5e6b4b['remoteUri'],_0x3b503c[_0xfdfe('0x65')],_0x935bd9[_0xfdfe('0x46')],_0x35cb8d[_0xfdfe('0x4d')]);}})[_0xfdfe('0x11')](function(_0x41c953){logger[_0xfdfe('0x12')]('['+_0x111463[_0xfdfe('0x1f')]()+_0xfdfe('0x66'),_0x41c953[_0xfdfe('0x13')]);console[_0xfdfe('0x12')]('Error\x20running\x20Dynamics365\x20integration',_0x41c953);});};
\ No newline at end of file