Built motion from commit c116dc8b.|2.6.30
[motion2.git] / server / services / ami / trigger / integration / dynamics365.js
index 92641cb..3b16ef6 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x41d8=['access_token','catch',']\x20Wrong\x20credentials!','message','GET','Bearer\x20','4.0','value','isNil','email','userEmail','length','isdisabled','info',']\x20Agent\x20found\x20','systemuserid','userId','toUpperCase',']\x20Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','username','toLowerCase','destcalleridnum','calleridnum','contacts','body','headers','odata-entityid','substring','lastIndexOf','enduserId','outbound','telephone1','contacts?$select=','&$filter=','\x20eq\x20\x27','contactid','nothing','forEach','includes','string','picklist','type','nameField','idField','indexOf','ticketType','incident','incidents','assign','getString','Subjects','/contacts(','phonecall','/systemusers(','queue','callDirection','Descriptions','Fields','format','%s/main.aspx?pagetype=entityrecord&etn=%s&id=%s','user:%s','emit','trigger:browser:url','stripTrailingSlash','serverUrl','unmanaged','%s/api/data/v9.0/','https://login.microsoftonline.com/%s/oauth2/token','uniqueid','monitor_format','recordingURL','recordingFormat','none','[OUTBOUND]','Recording\x20is\x20enabled!',']\x20The\x20User\x20ID\x20is:',']\x20The\x20User\x20email\x20is:','moduleCreate','additionalSearchContact',']\x20The\x20Enduser\x20phone\x20is:',']\x20The\x20%s\x20ID\x20is:\x20%s',']\x20Call\x20direction:\x20%s','openNewTab','name','ticketId',']\x20Error\x20running\x20Dynamics365\x20integration','error','Error\x20running\x20Dynamics365\x20integration','lodash','util','md5','ioredis','../../../../config/logger','dynamics365','../../../../config/environment','redis','socket.io-emitter','modernAuthentication','remoteUri','CloudProvider','data7','tenantId','data2','resolve','data5','POST','clientId','password','clientSecret','then'];(function(_0x3dee92,_0x55e1eb){var _0x44d36e=function(_0x34de1a){while(--_0x34de1a){_0x3dee92['push'](_0x3dee92['shift']());}};_0x44d36e(++_0x55e1eb);}(_0x41d8,0x1a2));var _0x841d=function(_0x17723c,_0x1ea81d){_0x17723c=_0x17723c-0x0;var _0x1ffbf3=_0x41d8[_0x17723c];return _0x1ffbf3;};'use strict';var _=require(_0x841d('0x0'));var rp=require('request-promise');var util=require(_0x841d('0x1'));var intUtil=require('./util');var md5=require(_0x841d('0x2'));var Redis=require(_0x841d('0x3'));var logger=require(_0x841d('0x4'))(_0x841d('0x5'));var config=require(_0x841d('0x6'));config[_0x841d('0x7')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x841d('0x8'))(new Redis(config[_0x841d('0x7')]));function getAuthToken(_0x96d08e,_0x3df9cf,_0x25d4ec){if(_0x96d08e[_0x841d('0x9')]){_0x96d08e[_0x841d('0xa')]=_0x96d08e[_0x841d('0xb')][_0x841d('0xc')];_0x96d08e[_0x841d('0xd')]=_0x96d08e[_0x841d('0xb')][_0x841d('0xe')];return Promise[_0x841d('0xf')](_0x96d08e[_0x841d('0xb')][_0x841d('0x10')]);}var _0x211d5b={'method':_0x841d('0x11'),'uri':_0x3df9cf,'form':{'client_id':_0x96d08e[_0x841d('0x12')],'resource':_0x96d08e['remoteUri'],'username':_0x96d08e['username'],'password':_0x96d08e[_0x841d('0x13')],'grant_type':_0x841d('0x13'),'client_secret':_0x96d08e[_0x841d('0x14')]},'json':!![]};return rp(_0x211d5b)[_0x841d('0x15')](function(_0x52896a){return _0x52896a[_0x841d('0x16')];})[_0x841d('0x17')](function(_0x46bce2){logger['error']('['+[_0x25d4ec['toUpperCase']()]+_0x841d('0x18'));return _0x46bce2[_0x841d('0x19')];});}function getUser(_0x4201ab,_0x463c12,_0x21b08d,_0x36ed3d,_0xc86dd6,_0x5ad2bf){return new Promise(function(_0x2417ed,_0x4b5780){return getAuthToken(_0x463c12,_0x36ed3d,_0x5ad2bf)['then'](function(_0x2f442a){var _0x5e3c6b={'method':_0x841d('0x1a'),'uri':_0xc86dd6+'systemusers?$select=internalemailaddress,isdisabled,systemuserid','headers':{'Authorization':_0x841d('0x1b')+_0x2f442a,'OData-Version':_0x841d('0x1c')},'json':!![]};return rp(_0x5e3c6b);})[_0x841d('0x15')](function(_0x4c7d5a){var _0x46fba6=_0x4c7d5a[_0x841d('0x1d')];var _0x49bead=![];var _0x30955a=null;if(!_[_0x841d('0x1e')](_0x21b08d)){if(intUtil['validateEmail'](_0x21b08d[_0x841d('0x1f')])){_0x4201ab[_0x841d('0x20')]=_0x21b08d[_0x841d('0x1f')];for(_0x30955a=0x0;_0x30955a<_0x46fba6[_0x841d('0x21')];_0x30955a++){if(_0x46fba6[_0x30955a]['internalemailaddress']===_0x21b08d[_0x841d('0x1f')]&&!_0x46fba6[_0x30955a][_0x841d('0x22')]){_0x49bead=!![];logger[_0x841d('0x23')]('['+[_0x5ad2bf['toUpperCase']()]+_0x841d('0x24')+_0x46fba6[_0x30955a][_0x841d('0x25')]+'!');_0x4201ab[_0x841d('0x26')]=_0x46fba6[_0x30955a][_0x841d('0x25')];}}}}if(!_0x49bead){logger[_0x841d('0x23')]('['+[_0x5ad2bf[_0x841d('0x27')]()]+_0x841d('0x28'));_0x4201ab[_0x841d('0x20')]=_0x463c12[_0x841d('0x29')];for(_0x30955a=0x0;_0x30955a<_0x46fba6[_0x841d('0x21')];_0x30955a++){if(_0x46fba6[_0x30955a]['internalemailaddress']===_0x463c12[_0x841d('0x29')]){_0x4201ab[_0x841d('0x26')]=_0x46fba6[_0x30955a]['systemuserid'];}}}_0x2417ed(_0x4201ab);})[_0x841d('0x17')](function(_0x36c27c){_0x4b5780(_0x36c27c['message']);});});}function createEndUser(_0x4f08f5,_0x46d8bd,_0x5ea864,_0x252a3e,_0xb37bd0,_0x5ef62,_0x456417){return new Promise(function(_0x3d08f2,_0xc47a8b){return getAuthToken(_0x46d8bd,_0x5ea864,_0x5ef62)[_0x841d('0x15')](function(_0x2f1f59){var _0x7fe9ca=_0x5ef62[_0x841d('0x2a')]()==='outbound'?_0xb37bd0[_0x841d('0x2b')]:_0xb37bd0[_0x841d('0x2c')];var _0x1d7dac={'method':_0x841d('0x11'),'uri':_0x252a3e+_0x841d('0x2d'),'body':{'fullname':_0x7fe9ca,'firstname':_0x7fe9ca,'lastname':'_','mobilephone':null,'address1_telephone1':null,'ownerid@odata.bind':'/systemusers('+_0x4f08f5['userId']+')'},'headers':{'Authorization':'Bearer\x20'+_0x2f1f59,'OData-Version':'4.0'},'json':!![],'resolveWithFullResponse':!![]};_0x1d7dac[_0x841d('0x2e')][_0x456417]=_0x7fe9ca;return rp(_0x1d7dac);})['then'](function(_0x3d3f81){var _0x219256=_0x3d3f81[_0x841d('0x2f')][_0x841d('0x30')];var _0x30a6ad=_0x219256[_0x841d('0x31')](_0x219256['lastIndexOf']('(')+0x1,_0x219256[_0x841d('0x32')](')'));_0x4f08f5[_0x841d('0x33')]=_0x30a6ad;_0x3d08f2(_0x4f08f5);})[_0x841d('0x17')](function(_0x488ba8){_0xc47a8b(_0x488ba8['message']);});});}function getEndUser(_0x5f1fda,_0x9ce1b3,_0x1791f9,_0x459602,_0x28ab30,_0x4719ad,_0x988664,_0x34bb32){var _0x2f7042=_0x4719ad[_0x841d('0x2a')]()===_0x841d('0x34')?_0x28ab30[_0x841d('0x2b')]:_0x28ab30[_0x841d('0x2c')];return getAuthToken(_0x9ce1b3,_0x1791f9,_0x4719ad)[_0x841d('0x15')](function(_0x486965){_0x34bb32=_0x34bb32?_0x34bb32:_0x841d('0x35');var _0x323522={'method':_0x841d('0x1a'),'uri':_0x459602+_0x841d('0x36')+_0x34bb32+_0x841d('0x37')+_0x34bb32+_0x841d('0x38')+_0x2f7042['replace']('+','%2b')+'\x27','headers':{'Authorization':'Bearer\x20'+_0x486965,'If-None-Match':null,'OData-Version':_0x841d('0x1c')},'json':!![]};return rp(_0x323522);})['then'](function(_0x52f314){var _0x3f25b3=![];if(!_0x52f314)return _0x3f25b3;var _0x16c6cd=_0x52f314[_0x841d('0x1d')];for(var _0x9b6d3d=0x0;_0x9b6d3d<_0x16c6cd[_0x841d('0x21')];_0x9b6d3d++){if(_0x16c6cd[_0x9b6d3d][_0x34bb32]===_0x2f7042){_0x3f25b3=!![];_0x5f1fda[_0x841d('0x33')]=_0x16c6cd[_0x9b6d3d][_0x841d('0x39')];}}return _0x3f25b3;})[_0x841d('0x15')](function(_0x435827){if(_0x435827)return _0x5f1fda;if(_0x988664===_0x841d('0x3a')){logger['info']('['+[_0x4719ad[_0x841d('0x27')]()]+']\x20Enduser\x20NOT\x20Created\x20-\x20ModuleCreate\x20=\x20Nothing');return _0x5f1fda;}return createEndUser(_0x5f1fda,_0x9ce1b3,_0x1791f9,_0x459602,_0x28ab30,_0x4719ad,_0x34bb32)[_0x841d('0x15')](function(_0x2a3b0f){logger['info']('['+[_0x4719ad['toUpperCase']()]+']\x20Enduser\x20created!',_0x2a3b0f[_0x841d('0x33')]);return _0x2a3b0f;});});}function getCustomFields(_0xa7f6a5,_0x52ca00,_0x541aad){var _0x19297f={};if(_0xa7f6a5['length']>0x0){_[_0x841d('0x3b')](_0xa7f6a5,function(_0x5d7750){if(_[_0x841d('0x3c')]([_0x841d('0x3d'),_0x841d('0x3e')],_0x5d7750[_0x841d('0x3f')])&&_0x5d7750[_0x841d('0x40')]&&!_0x5d7750['customField']){var _0x3b9667=_0x5d7750[_0x841d('0x41')][_0x841d('0x2a')]();var _0x5a340c=_0x3b9667[_0x841d('0x31')](0x0,_0x3b9667[_0x841d('0x42')]('_'));var _0x52b07=_0x3b9667[_0x841d('0x31')](_0x3b9667[_0x841d('0x42')]('_')+0x1);if(_0x5a340c===_0x541aad){_0x19297f[_0x52b07]=_0x5d7750['content'];}}});}return _0x19297f;}function getTicket(_0x3fe018,_0x1cd6fb,_0x458556,_0x2aad43,_0x3e70f7,_0xcde508,_0x180c31){return new Promise(function(_0x2e3462,_0x5ade41){var _0x4b956c;return getAuthToken(_0x1cd6fb,_0x458556,_0x180c31)['then'](function(_0x3350b9){if(_0xcde508[_0x841d('0x43')]===_0x841d('0x44')){_0x4b956c={'method':'POST','uri':_0x2aad43+_0x841d('0x45'),'body':Object[_0x841d('0x46')]({},{'title':intUtil[_0x841d('0x47')](_0xcde508[_0x841d('0x48')],_0x3e70f7,'\x20'),'description':intUtil['getString'](_0xcde508['Descriptions'],_0x3e70f7,'\x0a'),'customerid_contact@odata.bind':_0x3fe018[_0x841d('0x33')]?_0x841d('0x49')+_0x3fe018['enduserId']+')':undefined,'ownerid@odata.bind':'/systemusers('+_0x3fe018[_0x841d('0x26')]+')','caseorigincode':'1'},getCustomFields(_0xcde508['Fields'],_0x3e70f7,_0xcde508['ticketType'])),'headers':{'Authorization':'Bearer\x20'+_0x3350b9,'OData-Version':_0x841d('0x1c')},'json':!![],'resolveWithFullResponse':!![]};}if(_0xcde508[_0x841d('0x43')]===_0x841d('0x4a')){var _0x20bd5e=_0x3fe018[_0x841d('0x33')]?[{'partyid_systemuser@odata.bind':_0x841d('0x4b')+_0x3fe018[_0x841d('0x26')]+')','participationtypemask':_0x3fe018['callDirection']===_0x841d('0x4c')?0x2:0x1},{'partyid_contact@odata.bind':'/contacts('+_0x3fe018[_0x841d('0x33')]+')','participationtypemask':_0x3fe018[_0x841d('0x4d')]==='queue'?0x1:0x2}]:[{'partyid_systemuser@odata.bind':_0x841d('0x4b')+_0x3fe018[_0x841d('0x26')]+')','participationtypemask':_0x3fe018['callDirection']===_0x841d('0x4c')?0x2:0x1}];_0x4b956c={'method':_0x841d('0x11'),'uri':_0x2aad43+'phonecalls','body':Object[_0x841d('0x46')]({},{'subject':intUtil[_0x841d('0x47')](_0xcde508['Subjects'],_0x3e70f7,'\x20'),'phonenumber':String(_0x3e70f7['calleridnum']),'description':intUtil[_0x841d('0x47')](_0xcde508[_0x841d('0x4e')],_0x3e70f7,'\x0a'),'regardingobjectid_contact@odata.bind':_0x3fe018[_0x841d('0x33')]?_0x841d('0x49')+_0x3fe018['enduserId']+')':undefined,'ownerid@odata.bind':_0x841d('0x4b')+_0x3fe018[_0x841d('0x26')]+')','directioncode':_0x3fe018[_0x841d('0x4d')]===_0x841d('0x4c')?![]:!![],'phonecall_activity_parties':_0x20bd5e},getCustomFields(_0xcde508[_0x841d('0x4f')],_0x3e70f7,_0xcde508[_0x841d('0x43')])),'headers':{'Authorization':'Bearer\x20'+_0x3350b9,'OData-Version':_0x841d('0x1c')},'json':!![],'resolveWithFullResponse':!![]};}return rp(_0x4b956c);})[_0x841d('0x15')](function(_0x16380f){var _0x2d02f3=_0x16380f[_0x841d('0x2f')][_0x841d('0x30')];var _0x4aec03=_0x2d02f3['substring'](_0x2d02f3[_0x841d('0x32')]('(')+0x1,_0x2d02f3[_0x841d('0x32')](')'));_0x3fe018['ticketId']=_0x4aec03;_0x2e3462(_0x3fe018);})[_0x841d('0x17')](function(_0x2d28f4){_0x5ade41(_0x2d28f4[_0x841d('0x19')]);});});}function emit(_0x22253f,_0x4b615d,_0x50f6cb,_0x5f0a20){var _0x3647a8={'uri':util[_0x841d('0x50')](_0x841d('0x51'),_0x22253f,_0x50f6cb,_0x5f0a20)};io['to'](util[_0x841d('0x50')](_0x841d('0x52'),_0x4b615d))[_0x841d('0x53')](_0x841d('0x54'),_0x3647a8);}exports['cs']=function(_0x2d35e4,_0xcaf3f3,_0x3d7030,_0x1122dc,_0x15680e,_0x59d48d,_0xf056ac,_0x3f2527){var _0x3e93fd={};_0x59d48d[_0x841d('0xa')]=_0x59d48d[_0x841d('0x9')]?intUtil[_0x841d('0x55')](_0x59d48d[_0x841d('0xb')]['data7']):intUtil['stripTrailingSlash'](_0x59d48d['remoteUri']);_0x59d48d['serverUrl']=intUtil[_0x841d('0x55')](_0x59d48d[_0x841d('0x56')]);_0x3e93fd['callDirection']=_0x3f2527===_0x841d('0x4c')||_0x3f2527===_0x841d('0x57')?_0x841d('0x4c'):_0x841d('0x34');var _0x1da382=_0x59d48d[_0x841d('0x9')]?util[_0x841d('0x50')](_0x841d('0x58'),_0x59d48d['CloudProvider']['data7']):util[_0x841d('0x50')]('%s/api/data/v9.0/',_0x59d48d['remoteUri']);var _0x184db3=util[_0x841d('0x50')](_0x841d('0x59'),_0x59d48d[_0x841d('0xd')]);var _0x2ccead=util[_0x841d('0x50')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x59d48d[_0x841d('0x56')],_0xcaf3f3[_0x841d('0x5a')],md5(_0xcaf3f3[_0x841d('0x5a')]));if(_0x15680e&&_0x15680e[_0x841d('0x5b')]){logger[_0x841d('0x23')]('[QUEUE]','Recording\x20is\x20enabled!');_0xcaf3f3[_0x841d('0x5c')]=_0x2ccead;}else if(_0xf056ac&&_0xf056ac[_0x841d('0x5d')]&&_0xf056ac['recordingFormat']!==_0x841d('0x5e')){logger[_0x841d('0x23')](_0x841d('0x5f'),_0x841d('0x60'));_0xcaf3f3[_0x841d('0x5c')]=_0x2ccead;}else{_0xcaf3f3[_0x841d('0x5c')]='';}return getUser(_0x3e93fd,_0x59d48d,_0x1122dc,_0x184db3,_0x1da382,_0x3f2527)[_0x841d('0x15')](function(_0x511002){logger[_0x841d('0x23')]('['+_0x3f2527['toUpperCase']()+_0x841d('0x61'),_0x511002['userId']);logger['info']('['+_0x3f2527[_0x841d('0x27')]()+_0x841d('0x62'),_0x511002[_0x841d('0x20')]);return getEndUser(_0x511002,_0x59d48d,_0x184db3,_0x1da382,_0xcaf3f3,_0x3f2527,_0x3d7030[_0x841d('0x63')],_0x3d7030[_0x841d('0x64')]);})[_0x841d('0x15')](function(_0x55c917){logger[_0x841d('0x23')]('['+_0x3f2527[_0x841d('0x27')]()+']\x20The\x20Enduser\x20ID\x20is:',_0x55c917['enduserId']);logger[_0x841d('0x23')]('['+_0x3f2527[_0x841d('0x27')]()+_0x841d('0x65'),_0xcaf3f3[_0x841d('0x2c')]);return getTicket(_0x55c917,_0x59d48d,_0x184db3,_0x1da382,_0xcaf3f3,_0x3d7030,_0x3f2527);})['then'](function(_0x5ebcef){logger[_0x841d('0x23')](util[_0x841d('0x50')]('['+_0x3f2527[_0x841d('0x27')]()+_0x841d('0x66'),_0x3d7030[_0x841d('0x43')],_0x5ebcef['ticketId']));logger[_0x841d('0x23')](util[_0x841d('0x50')]('['+_0x3f2527['toUpperCase']()+_0x841d('0x67'),_0x3f2527));if(_0x3f2527!=='unmanaged'&&_0x3d7030[_0x841d('0x68')]){logger[_0x841d('0x23')]('['+_0x3f2527[_0x841d('0x27')]()+']','Displaying\x20call\x20in\x20a\x20new\x20tab...');emit(_0x59d48d[_0x841d('0xa')],_0x1122dc[_0x841d('0x69')],_0x3d7030[_0x841d('0x43')],_0x5ebcef[_0x841d('0x6a')]);}})['catch'](function(_0x5e383d){logger['error']('['+_0x3f2527[_0x841d('0x27')]()+_0x841d('0x6b'),_0x5e383d['message']);console[_0x841d('0x6c')](_0x841d('0x6d'),_0x5e383d);});};
\ No newline at end of file
+var _0xde39=['assign','getString','Descriptions','/contacts(','Fields','ticketType','queue','callDirection','phonecalls','Subjects','headers','ticketId','format','%s/main.aspx?pagetype=entityrecord&etn=%s&id=%s','trigger:browser:url','stripTrailingSlash','serverUrl','%s/api/data/v9.0/','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','monitor_format','Recording\x20is\x20enabled!','recordingURL','recordingFormat','none',']\x20The\x20User\x20ID\x20is:',']\x20The\x20User\x20email\x20is:','moduleCreate',']\x20The\x20Enduser\x20ID\x20is:',']\x20The\x20Enduser\x20phone\x20is:',']\x20The\x20%s\x20ID\x20is:\x20%s',']\x20Call\x20direction:\x20%s','unmanaged','openNewTab','name',']\x20Error\x20running\x20Dynamics365\x20integration','Error\x20running\x20Dynamics365\x20integration','lodash','request-promise','md5','ioredis','../../../../config/logger','dynamics365','redis','defaults','socket.io-emitter','modernAuthentication','remoteUri','data7','tenantId','CloudProvider','data2','resolve','data5','POST','clientId','username','password','clientSecret','access_token','error','toUpperCase',']\x20Wrong\x20credentials!','message','then','GET','systemusers?$select=internalemailaddress,isdisabled,systemuserid','Bearer\x20','4.0','isNil','validateEmail','email','userEmail','length','internalemailaddress','isdisabled','info','systemuserid','userId',']\x20Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','catch','toLowerCase','outbound','destcalleridnum','contacts','/systemusers(','odata-entityid','lastIndexOf','calleridnum','&$filter=','\x20eq\x20\x27','replace','%2b','value','contactid','nothing',']\x20Enduser\x20NOT\x20Created\x20-\x20ModuleCreate\x20=\x20Nothing',']\x20Enduser\x20created!','enduserId','includes','string','customField','idField','substring','indexOf','content','incident','incidents'];(function(_0x240969,_0x331045){var _0x28056b=function(_0x54f158){while(--_0x54f158){_0x240969['push'](_0x240969['shift']());}};_0x28056b(++_0x331045);}(_0xde39,0xfd));var _0x9de3=function(_0x34b1b8,_0x54c9bf){_0x34b1b8=_0x34b1b8-0x0;var _0x542dd8=_0xde39[_0x34b1b8];return _0x542dd8;};'use strict';var _=require(_0x9de3('0x0'));var rp=require(_0x9de3('0x1'));var util=require('util');var intUtil=require('./util');var md5=require(_0x9de3('0x2'));var Redis=require(_0x9de3('0x3'));var logger=require(_0x9de3('0x4'))(_0x9de3('0x5'));var config=require('../../../../config/environment');config[_0x9de3('0x6')]=_[_0x9de3('0x7')](config[_0x9de3('0x6')],{'host':'localhost','port':0x18eb});var io=require(_0x9de3('0x8'))(new Redis(config[_0x9de3('0x6')]));function getAuthToken(_0xfcfdb1,_0x3ffd79,_0x4bfa04){if(_0xfcfdb1[_0x9de3('0x9')]){_0xfcfdb1[_0x9de3('0xa')]=_0xfcfdb1['CloudProvider'][_0x9de3('0xb')];_0xfcfdb1[_0x9de3('0xc')]=_0xfcfdb1[_0x9de3('0xd')][_0x9de3('0xe')];return Promise[_0x9de3('0xf')](_0xfcfdb1[_0x9de3('0xd')][_0x9de3('0x10')]);}var _0x37f186={'method':_0x9de3('0x11'),'uri':_0x3ffd79,'form':{'client_id':_0xfcfdb1[_0x9de3('0x12')],'resource':_0xfcfdb1['remoteUri'],'username':_0xfcfdb1[_0x9de3('0x13')],'password':_0xfcfdb1[_0x9de3('0x14')],'grant_type':_0x9de3('0x14'),'client_secret':_0xfcfdb1[_0x9de3('0x15')]},'json':!![]};return rp(_0x37f186)['then'](function(_0x2beaaf){return _0x2beaaf[_0x9de3('0x16')];})['catch'](function(_0x373312){logger[_0x9de3('0x17')]('['+[_0x4bfa04[_0x9de3('0x18')]()]+_0x9de3('0x19'));return _0x373312[_0x9de3('0x1a')];});}function getUser(_0x159a91,_0x2cbd1a,_0x397d5d,_0x17a199,_0xf11907,_0x1cf683){return new Promise(function(_0xb60eae,_0x1d240b){return getAuthToken(_0x2cbd1a,_0x17a199,_0x1cf683)[_0x9de3('0x1b')](function(_0x12ba14){var _0x2327d6={'method':_0x9de3('0x1c'),'uri':_0xf11907+_0x9de3('0x1d'),'headers':{'Authorization':_0x9de3('0x1e')+_0x12ba14,'OData-Version':_0x9de3('0x1f')},'json':!![]};return rp(_0x2327d6);})[_0x9de3('0x1b')](function(_0x4c2ad7){var _0xa18682=_0x4c2ad7['value'];var _0x3b036d=![];var _0x4691c5=null;if(!_[_0x9de3('0x20')](_0x397d5d)){if(intUtil[_0x9de3('0x21')](_0x397d5d[_0x9de3('0x22')])){_0x159a91[_0x9de3('0x23')]=_0x397d5d['email'];for(_0x4691c5=0x0;_0x4691c5<_0xa18682[_0x9de3('0x24')];_0x4691c5++){if(_0xa18682[_0x4691c5][_0x9de3('0x25')]===_0x397d5d[_0x9de3('0x22')]&&!_0xa18682[_0x4691c5][_0x9de3('0x26')]){_0x3b036d=!![];logger[_0x9de3('0x27')]('['+[_0x1cf683['toUpperCase']()]+']\x20Agent\x20found\x20'+_0xa18682[_0x4691c5][_0x9de3('0x28')]+'!');_0x159a91[_0x9de3('0x29')]=_0xa18682[_0x4691c5]['systemuserid'];}}}}if(!_0x3b036d){logger[_0x9de3('0x27')]('['+[_0x1cf683[_0x9de3('0x18')]()]+_0x9de3('0x2a'));_0x159a91['userEmail']=_0x2cbd1a[_0x9de3('0x13')];for(_0x4691c5=0x0;_0x4691c5<_0xa18682[_0x9de3('0x24')];_0x4691c5++){if(_0xa18682[_0x4691c5]['internalemailaddress']===_0x2cbd1a[_0x9de3('0x13')]){_0x159a91[_0x9de3('0x29')]=_0xa18682[_0x4691c5][_0x9de3('0x28')];}}}_0xb60eae(_0x159a91);})[_0x9de3('0x2b')](function(_0x40b0bc){_0x1d240b(_0x40b0bc['message']);});});}function createEndUser(_0x4c4cb7,_0x5cd14f,_0x43f89b,_0x348d50,_0x58cec0,_0x557b00,_0x51253c){return new Promise(function(_0x422f65,_0x4e1767){return getAuthToken(_0x5cd14f,_0x43f89b,_0x557b00)[_0x9de3('0x1b')](function(_0x10e19f){var _0x562432=_0x557b00[_0x9de3('0x2c')]()===_0x9de3('0x2d')?_0x58cec0[_0x9de3('0x2e')]:_0x58cec0['calleridnum'];var _0x2575e9={'method':'POST','uri':_0x348d50+_0x9de3('0x2f'),'body':{'fullname':_0x562432,'firstname':_0x562432,'lastname':'_','mobilephone':null,'address1_telephone1':null,'ownerid@odata.bind':_0x9de3('0x30')+_0x4c4cb7[_0x9de3('0x29')]+')'},'headers':{'Authorization':_0x9de3('0x1e')+_0x10e19f,'OData-Version':_0x9de3('0x1f')},'json':!![],'resolveWithFullResponse':!![]};_0x2575e9['body'][_0x51253c]=_0x562432;return rp(_0x2575e9);})[_0x9de3('0x1b')](function(_0x1a4092){var _0x366e09=_0x1a4092['headers'][_0x9de3('0x31')];var _0x53b875=_0x366e09['substring'](_0x366e09[_0x9de3('0x32')]('(')+0x1,_0x366e09[_0x9de3('0x32')](')'));_0x4c4cb7['enduserId']=_0x53b875;_0x422f65(_0x4c4cb7);})[_0x9de3('0x2b')](function(_0x5ad35d){_0x4e1767(_0x5ad35d['message']);});});}function getEndUser(_0x443ff0,_0x8ff065,_0x411067,_0x191351,_0x2780dd,_0x23d348,_0x224867,_0x389e12){var _0x33abc1=_0x23d348['toLowerCase']()===_0x9de3('0x2d')?_0x2780dd['destcalleridnum']:_0x2780dd[_0x9de3('0x33')];return getAuthToken(_0x8ff065,_0x411067,_0x23d348)[_0x9de3('0x1b')](function(_0x2f5ac8){_0x389e12=_0x389e12?_0x389e12:'telephone1';var _0xceb5c5={'method':_0x9de3('0x1c'),'uri':_0x191351+'contacts?$select='+_0x389e12+_0x9de3('0x34')+_0x389e12+_0x9de3('0x35')+_0x33abc1[_0x9de3('0x36')]('+',_0x9de3('0x37'))+'\x27','headers':{'Authorization':_0x9de3('0x1e')+_0x2f5ac8,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0xceb5c5);})['then'](function(_0x391f20){var _0x3841af=![];if(!_0x391f20)return _0x3841af;var _0x465471=_0x391f20[_0x9de3('0x38')];for(var _0x3a506f=0x0;_0x3a506f<_0x465471[_0x9de3('0x24')];_0x3a506f++){if(_0x465471[_0x3a506f][_0x389e12]===_0x33abc1){_0x3841af=!![];_0x443ff0['enduserId']=_0x465471[_0x3a506f][_0x9de3('0x39')];}}return _0x3841af;})[_0x9de3('0x1b')](function(_0x539472){if(_0x539472)return _0x443ff0;if(_0x224867===_0x9de3('0x3a')){logger[_0x9de3('0x27')]('['+[_0x23d348[_0x9de3('0x18')]()]+_0x9de3('0x3b'));return _0x443ff0;}return createEndUser(_0x443ff0,_0x8ff065,_0x411067,_0x191351,_0x2780dd,_0x23d348,_0x389e12)[_0x9de3('0x1b')](function(_0x13ae9e){logger[_0x9de3('0x27')]('['+[_0x23d348[_0x9de3('0x18')]()]+_0x9de3('0x3c'),_0x13ae9e[_0x9de3('0x3d')]);return _0x13ae9e;});});}function getCustomFields(_0x4effd2,_0x2c76c9,_0x1667e9){var _0x366b2c={};if(_0x4effd2['length']>0x0){_['forEach'](_0x4effd2,function(_0x1dc2ce){if(_[_0x9de3('0x3e')]([_0x9de3('0x3f'),'picklist'],_0x1dc2ce['type'])&&_0x1dc2ce['nameField']&&!_0x1dc2ce[_0x9de3('0x40')]){var _0x3400de=_0x1dc2ce[_0x9de3('0x41')][_0x9de3('0x2c')]();var _0x2abf2b=_0x3400de[_0x9de3('0x42')](0x0,_0x3400de[_0x9de3('0x43')]('_'));var _0x11d0a5=_0x3400de[_0x9de3('0x42')](_0x3400de['indexOf']('_')+0x1);if(_0x2abf2b===_0x1667e9){_0x366b2c[_0x11d0a5]=_0x1dc2ce[_0x9de3('0x44')];}}});}return _0x366b2c;}function getTicket(_0x40dacf,_0x40aad2,_0x59edbd,_0x22edf2,_0x5e311a,_0x10910d,_0x346261){return new Promise(function(_0x3e743f,_0x11c627){var _0x19c41c;return getAuthToken(_0x40aad2,_0x59edbd,_0x346261)[_0x9de3('0x1b')](function(_0x2f9151){if(_0x10910d['ticketType']===_0x9de3('0x45')){_0x19c41c={'method':_0x9de3('0x11'),'uri':_0x22edf2+_0x9de3('0x46'),'body':Object[_0x9de3('0x47')]({},{'title':intUtil[_0x9de3('0x48')](_0x10910d['Subjects'],_0x5e311a,'\x20'),'description':intUtil['getString'](_0x10910d[_0x9de3('0x49')],_0x5e311a,'\x0a'),'customerid_contact@odata.bind':_0x40dacf[_0x9de3('0x3d')]?_0x9de3('0x4a')+_0x40dacf[_0x9de3('0x3d')]+')':undefined,'ownerid@odata.bind':_0x9de3('0x30')+_0x40dacf[_0x9de3('0x29')]+')','caseorigincode':'1'},getCustomFields(_0x10910d[_0x9de3('0x4b')],_0x5e311a,_0x10910d[_0x9de3('0x4c')])),'headers':{'Authorization':'Bearer\x20'+_0x2f9151,'OData-Version':_0x9de3('0x1f')},'json':!![],'resolveWithFullResponse':!![]};}if(_0x10910d[_0x9de3('0x4c')]==='phonecall'){var _0x4674ed=_0x40dacf[_0x9de3('0x3d')]?[{'partyid_systemuser@odata.bind':_0x9de3('0x30')+_0x40dacf[_0x9de3('0x29')]+')','participationtypemask':_0x40dacf['callDirection']===_0x9de3('0x4d')?0x2:0x1},{'partyid_contact@odata.bind':_0x9de3('0x4a')+_0x40dacf['enduserId']+')','participationtypemask':_0x40dacf[_0x9de3('0x4e')]==='queue'?0x1:0x2}]:[{'partyid_systemuser@odata.bind':'/systemusers('+_0x40dacf['userId']+')','participationtypemask':_0x40dacf['callDirection']===_0x9de3('0x4d')?0x2:0x1}];_0x19c41c={'method':'POST','uri':_0x22edf2+_0x9de3('0x4f'),'body':Object[_0x9de3('0x47')]({},{'subject':intUtil['getString'](_0x10910d[_0x9de3('0x50')],_0x5e311a,'\x20'),'phonenumber':String(_0x5e311a['calleridnum']),'description':intUtil[_0x9de3('0x48')](_0x10910d[_0x9de3('0x49')],_0x5e311a,'\x0a'),'regardingobjectid_contact@odata.bind':_0x40dacf[_0x9de3('0x3d')]?_0x9de3('0x4a')+_0x40dacf[_0x9de3('0x3d')]+')':undefined,'ownerid@odata.bind':_0x9de3('0x30')+_0x40dacf[_0x9de3('0x29')]+')','directioncode':_0x40dacf[_0x9de3('0x4e')]===_0x9de3('0x4d')?![]:!![],'phonecall_activity_parties':_0x4674ed},getCustomFields(_0x10910d[_0x9de3('0x4b')],_0x5e311a,_0x10910d['ticketType'])),'headers':{'Authorization':'Bearer\x20'+_0x2f9151,'OData-Version':_0x9de3('0x1f')},'json':!![],'resolveWithFullResponse':!![]};}return rp(_0x19c41c);})[_0x9de3('0x1b')](function(_0x4bb43f){var _0x47f171=_0x4bb43f[_0x9de3('0x51')]['odata-entityid'];var _0x425cb1=_0x47f171[_0x9de3('0x42')](_0x47f171[_0x9de3('0x32')]('(')+0x1,_0x47f171[_0x9de3('0x32')](')'));_0x40dacf[_0x9de3('0x52')]=_0x425cb1;_0x3e743f(_0x40dacf);})['catch'](function(_0xf586ba){_0x11c627(_0xf586ba['message']);});});}function emit(_0x53406e,_0x4d1108,_0x4c75e6,_0x30c97d){var _0x373d77={'uri':util[_0x9de3('0x53')](_0x9de3('0x54'),_0x53406e,_0x4c75e6,_0x30c97d)};io['to'](util[_0x9de3('0x53')]('user:%s',_0x4d1108))['emit'](_0x9de3('0x55'),_0x373d77);}exports['cs']=function(_0x377134,_0x562e48,_0x127654,_0x5e9fe6,_0x47c1d5,_0x5ab8fe,_0x1b5134,_0x7b1948){var _0x31421d={};_0x5ab8fe['remoteUri']=_0x5ab8fe[_0x9de3('0x9')]?intUtil[_0x9de3('0x56')](_0x5ab8fe[_0x9de3('0xd')][_0x9de3('0xb')]):intUtil[_0x9de3('0x56')](_0x5ab8fe[_0x9de3('0xa')]);_0x5ab8fe['serverUrl']=intUtil['stripTrailingSlash'](_0x5ab8fe[_0x9de3('0x57')]);_0x31421d[_0x9de3('0x4e')]=_0x7b1948===_0x9de3('0x4d')||_0x7b1948==='unmanaged'?_0x9de3('0x4d'):_0x9de3('0x2d');var _0x1c8280=_0x5ab8fe[_0x9de3('0x9')]?util[_0x9de3('0x53')](_0x9de3('0x58'),_0x5ab8fe[_0x9de3('0xd')]['data7']):util[_0x9de3('0x53')](_0x9de3('0x58'),_0x5ab8fe[_0x9de3('0xa')]);var _0x4ec4c4=util[_0x9de3('0x53')]('https://login.microsoftonline.com/%s/oauth2/token',_0x5ab8fe['tenantId']);var _0x2eb545=util['format'](_0x9de3('0x59'),_0x5ab8fe[_0x9de3('0x57')],_0x562e48[_0x9de3('0x5a')],md5(_0x562e48[_0x9de3('0x5a')]));if(_0x47c1d5&&_0x47c1d5[_0x9de3('0x5b')]){logger[_0x9de3('0x27')]('[QUEUE]',_0x9de3('0x5c'));_0x562e48[_0x9de3('0x5d')]=_0x2eb545;}else if(_0x1b5134&&_0x1b5134[_0x9de3('0x5e')]&&_0x1b5134[_0x9de3('0x5e')]!==_0x9de3('0x5f')){logger['info']('[OUTBOUND]',_0x9de3('0x5c'));_0x562e48['recordingURL']=_0x2eb545;}else{_0x562e48[_0x9de3('0x5d')]='';}return getUser(_0x31421d,_0x5ab8fe,_0x5e9fe6,_0x4ec4c4,_0x1c8280,_0x7b1948)['then'](function(_0x8c1a3){logger[_0x9de3('0x27')]('['+_0x7b1948[_0x9de3('0x18')]()+_0x9de3('0x60'),_0x8c1a3[_0x9de3('0x29')]);logger[_0x9de3('0x27')]('['+_0x7b1948[_0x9de3('0x18')]()+_0x9de3('0x61'),_0x8c1a3[_0x9de3('0x23')]);return getEndUser(_0x8c1a3,_0x5ab8fe,_0x4ec4c4,_0x1c8280,_0x562e48,_0x7b1948,_0x127654[_0x9de3('0x62')],_0x127654['additionalSearchContact']);})[_0x9de3('0x1b')](function(_0x1281bc){logger[_0x9de3('0x27')]('['+_0x7b1948[_0x9de3('0x18')]()+_0x9de3('0x63'),_0x1281bc[_0x9de3('0x3d')]);logger['info']('['+_0x7b1948[_0x9de3('0x18')]()+_0x9de3('0x64'),_0x562e48[_0x9de3('0x33')]);return getTicket(_0x1281bc,_0x5ab8fe,_0x4ec4c4,_0x1c8280,_0x562e48,_0x127654,_0x7b1948);})[_0x9de3('0x1b')](function(_0x379d83){logger[_0x9de3('0x27')](util[_0x9de3('0x53')]('['+_0x7b1948[_0x9de3('0x18')]()+_0x9de3('0x65'),_0x127654[_0x9de3('0x4c')],_0x379d83['ticketId']));logger[_0x9de3('0x27')](util[_0x9de3('0x53')]('['+_0x7b1948[_0x9de3('0x18')]()+_0x9de3('0x66'),_0x7b1948));if(_0x7b1948!==_0x9de3('0x67')&&_0x127654[_0x9de3('0x68')]){logger[_0x9de3('0x27')]('['+_0x7b1948[_0x9de3('0x18')]()+']','Displaying\x20call\x20in\x20a\x20new\x20tab...');emit(_0x5ab8fe[_0x9de3('0xa')],_0x5e9fe6[_0x9de3('0x69')],_0x127654[_0x9de3('0x4c')],_0x379d83[_0x9de3('0x52')]);}})[_0x9de3('0x2b')](function(_0x7b9257){logger[_0x9de3('0x17')]('['+_0x7b1948[_0x9de3('0x18')]()+_0x9de3('0x6a'),_0x7b9257[_0x9de3('0x1a')]);console[_0x9de3('0x17')](_0x9de3('0x6b'),_0x7b9257);});};
\ No newline at end of file