Built motion from commit 37e1ed56.|2.6.29
[motion2.git] / server / services / ami / trigger / integration / servicenow.js
index 0c6846a..7cf83dd 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xa51e=['nameField','customField','toLowerCase','includes','idField','content','variable','variableName','customVariable','Variable','name','outbound','incident','assign','getString','Subjects','Descriptions','Fields','ticketId','ticketNumber','number',']\x20getTicket\x20crm','label','?sysparm_query=name%3D','label_entry','Incident\x20-\x20','forEach','push','all',']\x20arrayPromises:\x20IDs\x20in\x20table\x20label','Tags','map','%26sysparm_record_row%3D1%26sysparm_record_rows%3D39','/nav_to.do?uri=incident.do?sys_id%3D','format','user:%s','trigger:browser:url','username','password','sysparm_limit=1','remoteUri','stripTrailingSlash','serverUrl','%s/api/now/table/','isNil','email','destcalleridnum','callDirection','queue','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','[QUEUE]','Recording\x20is\x20enabled!','recordingFormat','none','[OUTBOUND]','recordingURL','call\x20direction:\x20%s','unmanaged',']\x20Error\x20running\x20ServiceNow\x20integration','lodash','request-promise','ioredis','../../../../config/environment','../../../../config/logger','servicenow','redis','defaults','socket.io-emitter','GET','then','result','length','adminId','sys_id','info','toUpperCase','],\x20getAdminUser\x20crm','catch','message','validateEmail','userEmail','true','userId','adminEmail','],\x20getUser\x20crm','error',']\x20using\x20admin\x20profile','],\x20createEndUser\x20input\x20crm','POST','sys_user?','endUserNumber','user','System','],\x20EndUser\x20schema','endUserId','],\x20getEndUser\x20input\x20crm','sys_user?sysparm_query=phone%3D','],\x20getEndUser\x20crm','],\x20createEndUser\x20crm','string','picklist','type'];(function(_0x179775,_0x403b57){var _0x17ee82=function(_0xea75ea){while(--_0xea75ea){_0x179775['push'](_0x179775['shift']());}};_0x17ee82(++_0x403b57);}(_0xa51e,0xa3));var _0xea51=function(_0x1b24eb,_0x39029e){_0x1b24eb=_0x1b24eb-0x0;var _0x157b17=_0xa51e[_0x1b24eb];return _0x157b17;};'use strict';var _=require(_0xea51('0x0'));var Promise=require('bluebird');var rp=require(_0xea51('0x1'));var util=require('util');var md5=require('md5');var Redis=require(_0xea51('0x2'));var intUtil=require('./util');var config=require(_0xea51('0x3'));var logger=require(_0xea51('0x4'))(_0xea51('0x5'));config[_0xea51('0x6')]=_[_0xea51('0x7')](config[_0xea51('0x6')],{'host':'localhost','port':0x18eb});var io=require(_0xea51('0x8'))(new Redis(config[_0xea51('0x6')]));function getAdminUser(_0x2090d1,_0x247d84,_0x575e8b,_0x7c61c3,_0x4546dc,_0x3305e8){return new Promise(function(_0x32ca4a,_0x37d411){var _0x3e9e63={'method':_0xea51('0x9'),'uri':_0x7c61c3+'sys_user?sysparm_query=user_name%3Dadmin'+'&'+_0x4546dc+'&'+_0x3305e8,'auth':_0x247d84,'json':!![]};return rp(_0x3e9e63)[_0xea51('0xa')](function(_0x70e547){if(_0x70e547[_0xea51('0xb')][_0xea51('0xc')]>0x0){_0x575e8b[_0xea51('0xd')]=_0x70e547[_0xea51('0xb')][0x0][_0xea51('0xe')];}logger[_0xea51('0xf')]('['+[_0x2090d1[_0xea51('0x10')]()]+_0xea51('0x11'),_0x575e8b);_0x32ca4a(_0x575e8b);})[_0xea51('0x12')](function(_0x1eded3){logger['error']('['+[_0x2090d1[_0xea51('0x10')]()]+']',_0x1eded3['message']);_0x37d411(_0x1eded3[_0xea51('0x13')]);});});}function getUser(_0x104400,_0x679fc2,_0x46dd57,_0x387096,_0x17cc79){return function(_0x4dd6aa){logger[_0xea51('0xf')]('['+[_0x104400[_0xea51('0x10')]()]+'],\x20getUser\x20input\x20crm',_0x4dd6aa);return new Promise(function(_0x310f3c,_0x42b445){if(intUtil[_0xea51('0x14')](_0x4dd6aa[_0xea51('0x15')])){var _0x13b454={'method':_0xea51('0x9'),'uri':_0x46dd57+'sys_user?sysparm_query=email%3D'+_0x4dd6aa[_0xea51('0x15')]+'&'+_0x387096+'&'+_0x17cc79,'auth':_0x679fc2,'json':!![]};logger[_0xea51('0xf')]('['+[_0x104400[_0xea51('0x10')]()]+'],\x20getUser\x20rp\x20obj',_0x13b454);return rp(_0x13b454)[_0xea51('0xa')](function(_0x54a4f7){logger['info']('['+[_0x104400[_0xea51('0x10')]()]+'],\x20getUser\x20entity',_0x54a4f7);if(_0x54a4f7[_0xea51('0xb')][_0xea51('0xc')]>0x0&&String(_0x54a4f7['result'][0x0]['active'])===_0xea51('0x16')){_0x4dd6aa[_0xea51('0x17')]=_0x54a4f7[_0xea51('0xb')][0x0][_0xea51('0xe')];}else{_0x4dd6aa[_0xea51('0x17')]=_0x4dd6aa[_0xea51('0xd')];_0x4dd6aa['userEmail']=_0x4dd6aa[_0xea51('0x18')];}logger[_0xea51('0xf')]('['+[_0x104400[_0xea51('0x10')]()]+_0xea51('0x19'),_0x4dd6aa);_0x310f3c(_0x4dd6aa);})[_0xea51('0x12')](function(_0x2ad6a5){logger[_0xea51('0x1a')]('['+[_0x104400[_0xea51('0x10')]()]+']',_0x2ad6a5['message']);_0x42b445(_0x2ad6a5[_0xea51('0x13')]);});}else{logger[_0xea51('0xf')]('['+[_0x104400[_0xea51('0x10')]()]+_0xea51('0x1b'));_0x4dd6aa['userId']=_0x4dd6aa['adminId'];_0x4dd6aa[_0xea51('0x15')]=_0x4dd6aa['adminEmail'];_0x310f3c(_0x4dd6aa);}});};}function createEndUser(_0x404ef1,_0x34c2a4,_0x2c6e72,_0xcd6df2,_0x30019e){logger['info']('['+[_0x404ef1[_0xea51('0x10')]()]+_0xea51('0x1c'),_0x2c6e72);return new Promise(function(_0x32e850,_0x3e2894){var _0x1123a4={'method':_0xea51('0x1d'),'uri':_0xcd6df2+_0xea51('0x1e')+_0x30019e,'body':{'user_name':_0x2c6e72[_0xea51('0x1f')],'roles':_0xea51('0x20'),'first_name':_0x2c6e72[_0xea51('0x1f')],'active':_0xea51('0x16'),'date_format':_0xea51('0x21'),'phone':_0x2c6e72[_0xea51('0x1f')]},'auth':_0x34c2a4,'json':!![]};return rp(_0x1123a4)[_0xea51('0xa')](function(_0x5473bd){logger[_0xea51('0xf')]('['+[_0x404ef1['toUpperCase']()]+_0xea51('0x22'),_0x5473bd[_0xea51('0xb')]);_0x2c6e72[_0xea51('0x23')]=_0x5473bd['result'][_0xea51('0xe')];_0x32e850(_0x2c6e72);})[_0xea51('0x12')](function(_0x33c6d2){logger[_0xea51('0x1a')]('['+[_0x404ef1[_0xea51('0x10')]()]+']',_0x33c6d2[_0xea51('0x13')]);_0x3e2894(_0x33c6d2[_0xea51('0x13')]);});});}function getEndUser(_0x327a38,_0x4f368f,_0x115670,_0x2d5d0d,_0x3c2bc6){return function(_0x29f16e){logger['info']('['+[_0x327a38[_0xea51('0x10')]()]+_0xea51('0x24'),_0x29f16e);return new Promise(function(_0x1674d5,_0x1526f4){var _0x36a9bf={'method':_0xea51('0x9'),'uri':_0x115670+_0xea51('0x25')+_0x29f16e[_0xea51('0x1f')]+'&'+_0x2d5d0d+'&'+_0x3c2bc6,'auth':_0x4f368f,'json':!![]};return rp(_0x36a9bf)['then'](function(_0x20076a){if(_0x20076a['result'][_0xea51('0xc')]>0x0){_0x29f16e[_0xea51('0x23')]=_0x20076a[_0xea51('0xb')][0x0]['sys_id'];logger[_0xea51('0xf')]('['+[_0x327a38[_0xea51('0x10')]()]+_0xea51('0x26'),_0x29f16e);_0x1674d5(_0x29f16e);}else{return createEndUser(_0x327a38,_0x4f368f,_0x29f16e,_0x115670,_0x2d5d0d)[_0xea51('0xa')](function(_0x5534c6){logger[_0xea51('0xf')]('['+[_0x327a38[_0xea51('0x10')]()]+_0xea51('0x27'),_0x5534c6);_0x1674d5(_0x5534c6);});}})[_0xea51('0x12')](function(_0x443fdb){logger[_0xea51('0x1a')]('['+[_0x327a38[_0xea51('0x10')]()]+']',_0x443fdb['message']);_0x1526f4(_0x443fdb[_0xea51('0x13')]);});});};}function getCustomFields(_0x389a31,_0x3d9248){var _0x408e9d={};if(_0x389a31[_0xea51('0xc')]>0x0){_['forEach'](_0x389a31,function(_0x400b04){if(_['includes']([_0xea51('0x28'),_0xea51('0x29')],_0x400b04[_0xea51('0x2a')])&&_0x400b04[_0xea51('0x2b')]&&!_0x400b04[_0xea51('0x2c')]){_0x408e9d[_0x400b04[_0xea51('0x2b')][_0xea51('0x2d')]()]=_0x400b04['content']['toString']();}else if(_[_0xea51('0x2e')]([_0xea51('0x28'),'picklist'],_0x400b04[_0xea51('0x2a')])&&_0x400b04[_0xea51('0x2f')]&&_0x400b04[_0xea51('0x2c')]){_0x408e9d[_0x400b04[_0xea51('0x2f')][_0xea51('0x2d')]()]=_0x400b04[_0xea51('0x30')]['toString']();}else if(_0x400b04[_0xea51('0x2a')]===_0xea51('0x31')&&_0x400b04[_0xea51('0x32')]&&_0x400b04[_0xea51('0x2f')]&&_0x400b04['customField']){_0x408e9d[_0x400b04['idField'][_0xea51('0x2d')]()]=_0x3d9248[_0x400b04[_0xea51('0x32')]]['toString']();}else if(_0x400b04[_0xea51('0x2a')]===_0xea51('0x33')&&_0x400b04[_0xea51('0x34')]&&_0x400b04['Variable'][_0xea51('0x35')]&&_0x400b04['idField']&&_0x400b04['customField']){_0x408e9d[_0x400b04[_0xea51('0x2f')]['toLowerCase']()]=_0x3d9248[_0x400b04['Variable']['name'][_0xea51('0x2d')]()]['toString']();}});}return _0x408e9d;}function getTicket(_0x9f59b5,_0x1aa5c7,_0x441fed,_0x265537,_0x834f0a,_0x154030){return function(_0x4bd860){logger['info']('['+[_0x9f59b5[_0xea51('0x10')]()]+']\x20getTicket\x20input\x20crm',_0x4bd860);return new Promise(function(_0x4dd29e,_0xd3394f){var _0x2b62c9=_0x9f59b5[_0xea51('0x2d')]()===_0xea51('0x36')?_0x4bd860[_0xea51('0x17')]:_0x4bd860[_0xea51('0x23')];var _0x413eff={'method':_0xea51('0x1d'),'uri':_0x441fed+_0xea51('0x37')+'?'+_0x154030,'body':Object[_0xea51('0x38')]({},{'active':_0xea51('0x16'),'caller_id':_0x2b62c9,'assigned_to':_0x4bd860[_0xea51('0x17')],'short_description':intUtil[_0xea51('0x39')](_0x265537[_0xea51('0x3a')],_0x834f0a,'\x20'),'description':intUtil[_0xea51('0x39')](_0x265537[_0xea51('0x3b')],_0x834f0a,'\x0a')},getCustomFields(_0x265537[_0xea51('0x3c')],_0x834f0a)),'auth':_0x1aa5c7,'json':!![]};return rp(_0x413eff)[_0xea51('0xa')](function(_0x49446f){logger[_0xea51('0xf')]('['+[_0x9f59b5['toUpperCase']()]+']\x20POST\x20incident\x20entity\x20schema',_0x49446f[_0xea51('0xb')]);_0x4bd860[_0xea51('0x3d')]=_0x49446f[_0xea51('0xb')][_0xea51('0xe')];_0x4bd860[_0xea51('0x3e')]=_0x49446f[_0xea51('0xb')][_0xea51('0x3f')];logger[_0xea51('0xf')]('['+[_0x9f59b5[_0xea51('0x10')]()]+_0xea51('0x40'),_0x4bd860);_0x4dd29e(_0x4bd860);})['catch'](function(_0x331fd6){logger[_0xea51('0x1a')]('['+[_0x9f59b5['toUpperCase']()]+']',_0x331fd6['message']);_0xd3394f(_0x331fd6[_0xea51('0x13')]);});});};}function createRemoteTag(_0x31e29d,_0x2926f0,_0x5a61db,_0x1b90b4){return new Promise(function(_0x16b8ec,_0x558cf2){var _0x499f59={'method':_0xea51('0x1d'),'uri':_0x5a61db+'label'+'?'+_0x1b90b4,'body':{'short_description':_0x31e29d,'global':!![],'active':!![],'name':_0x31e29d},'auth':_0x2926f0,'json':!![]};return rp(_0x499f59)[_0xea51('0xa')](function(_0x506924){var _0x4071da=_0x506924['result']['sys_id'];_0x16b8ec(_0x4071da);});});}function getRemoteTag(_0x3969f0,_0x1ece47,_0x5031ef,_0x4852e6,_0x16c92b){return new Promise(function(_0x34f37c,_0x20651d){var _0x2d9e44={'method':_0xea51('0x9'),'uri':_0x5031ef+_0xea51('0x41')+_0xea51('0x42')+_0x3969f0+'&'+_0x4852e6,'auth':_0x1ece47,'json':!![]};return rp(_0x2d9e44)[_0xea51('0xa')](function(_0x23e324){if(_0x23e324[_0xea51('0xb')][_0xea51('0xc')]>0x0){var _0x25e01f=_0x23e324[_0xea51('0xb')][0x0]['sys_id'];_0x34f37c(_0x25e01f);}else{return createRemoteTag(_0x3969f0,_0x1ece47,_0x5031ef,_0x4852e6)[_0xea51('0xa')](function(_0x452ade){_0x34f37c(_0x452ade);});}});});}function assignTagToIncident(_0x2e2d6f,_0x94e109,_0x14092f,_0x3ea791,_0x5ae5c4){return new Promise(function(_0x468bad,_0x431766){var _0x294931={'method':_0xea51('0x1d'),'uri':_0x14092f+_0xea51('0x43')+'?'+_0x5ae5c4,'body':{'label':_0x2e2d6f,'table':_0xea51('0x37'),'id_type':'Incident','table_key':_0x3ea791[_0xea51('0x3d')],'title':_0xea51('0x44')+_0x3ea791[_0xea51('0x3e')],'id_display':_0x3ea791[_0xea51('0x3e')]},'auth':_0x94e109,'json':!![]};return rp(_0x294931)[_0xea51('0xa')](function(_0x35c6cb){_0x468bad();})[_0xea51('0x12')](function(){_0x468bad();});});}function manageTags(_0x26c604,_0x44ea25,_0x2066a3,_0x570edf,_0x32d4b4,_0x57ba31,_0x2d0aeb){return new Promise(function(_0x2555bb,_0x44aa49){var _0x3f2caa=[];_0x44ea25[_0xea51('0x45')](function(_0x279b77){_0x3f2caa[_0xea51('0x46')](getRemoteTag(_0x279b77,_0x2066a3,_0x570edf,_0x57ba31,_0x2d0aeb));});return Promise[_0xea51('0x47')](_0x3f2caa)['then'](function(_0x70f31){if(_0x70f31[_0xea51('0xc')]){logger[_0xea51('0xf')]('['+[_0x26c604['toUpperCase']()]+_0xea51('0x48'),_0x70f31);var _0x5058f9=[];_0x70f31[_0xea51('0x45')](function(_0x2f1c21){_0x5058f9[_0xea51('0x46')](assignTagToIncident(_0x2f1c21,_0x2066a3,_0x570edf,_0x32d4b4,_0x57ba31));});return Promise[_0xea51('0x47')](_0x5058f9)[_0xea51('0xa')](function(){_0x2555bb();})[_0xea51('0x12')](function(){_0x2555bb();});}else{_0x2555bb();}});});}function getTags(_0x5c0d32,_0x5ea347,_0x5ba783,_0x4d9394,_0x594f2c,_0x2d5dbc){return function(_0x37159e){return new Promise(function(_0x182601,_0x3aea55){var _0x11846d=[];var _0x1308f=_0x4d9394[_0xea51('0x49')];if(_0x1308f&&_0x1308f[_0xea51('0xc')]>0x0){_0x11846d=_[_0xea51('0x4a')](_0x1308f,'name');}if(_0x11846d[_0xea51('0xc')]>0x0){return manageTags(_0x5c0d32,_0x11846d,_0x5ea347,_0x5ba783,_0x37159e,_0x594f2c,_0x2d5dbc)[_0xea51('0xa')](function(){_0x182601(_0x37159e);});}else{_0x182601(_0x37159e);}});};}function emit(_0x3eefb1,_0x35aa1f,_0x2b335f){var _0x26653c='%26sysparm_record_target%3Dincident'+_0xea51('0x4b')+'%26sysparm_record_list%3Dactive%253Dtrue'+'%255EORDERBYDESCnumber';var _0x45e2df={'uri':_0x3eefb1+_0xea51('0x4c')+_0x2b335f+_0x26653c};io['to'](util[_0xea51('0x4d')](_0xea51('0x4e'),_0x35aa1f))['emit'](_0xea51('0x4f'),_0x45e2df);}exports['cs']=function(_0x3a30e8,_0x457919,_0x4095ae,_0x2ca415,_0x14e58e,_0x5df4bf,_0x4c7a55,_0x56acdb){var _0x16b384={};var _0x58f04c={'user':_0x5df4bf[_0xea51('0x50')],'pass':_0x5df4bf[_0xea51('0x51')]};var _0x23c908=_0xea51('0x52');var _0x5a28b7='sysparm_display_value=true';_0x5df4bf[_0xea51('0x53')]=intUtil[_0xea51('0x54')](_0x5df4bf[_0xea51('0x53')]);_0x5df4bf[_0xea51('0x55')]=intUtil[_0xea51('0x54')](_0x5df4bf[_0xea51('0x55')]);var _0x3e3219=util[_0xea51('0x4d')](_0xea51('0x56'),_0x5df4bf[_0xea51('0x53')]);_0x16b384[_0xea51('0x15')]=!_[_0xea51('0x57')](_0x2ca415)?_0x2ca415[_0xea51('0x58')]:null;_0x16b384[_0xea51('0x18')]=_0x5df4bf[_0xea51('0x58')];_0x16b384[_0xea51('0x1f')]=_0x56acdb[_0xea51('0x2d')]()==='outbound'?_0x457919[_0xea51('0x59')]:_0x457919['calleridnum'];_0x16b384[_0xea51('0x5a')]=_0x56acdb===_0xea51('0x5b')||_0x56acdb==='unmanaged'?_0xea51('0x5b'):_0xea51('0x36');var _0x9f804a=util[_0xea51('0x4d')](_0xea51('0x5c'),_0x5df4bf[_0xea51('0x55')],_0x457919[_0xea51('0x5d')],md5(_0x457919[_0xea51('0x5d')]));if(_0x14e58e&&_0x14e58e['monitor_format']){logger[_0xea51('0xf')](_0xea51('0x5e'),_0xea51('0x5f'));_0x457919['recordingURL']=_0x9f804a;}else if(_0x4c7a55&&_0x4c7a55[_0xea51('0x60')]&&_0x4c7a55[_0xea51('0x60')]!==_0xea51('0x61')){logger[_0xea51('0xf')](_0xea51('0x62'),_0xea51('0x5f'));_0x457919[_0xea51('0x63')]=_0x9f804a;}else{_0x457919[_0xea51('0x63')]='';}return getAdminUser(_0x56acdb,_0x58f04c,_0x16b384,_0x3e3219,_0x5a28b7,_0x23c908)[_0xea51('0xa')](getUser(_0x56acdb,_0x58f04c,_0x3e3219,_0x5a28b7,_0x23c908))['then'](getEndUser(_0x56acdb,_0x58f04c,_0x3e3219,_0x5a28b7,_0x23c908))[_0xea51('0xa')](getTicket(_0x56acdb,_0x58f04c,_0x3e3219,_0x4095ae,_0x457919,_0x5a28b7))['then'](function(_0x493dce){logger['info'](util['format']('The\x20ticket\x20ID\x20is:\x20%s',_0x493dce[_0xea51('0x3d')]));logger['info'](util['format'](_0xea51('0x64'),_0x56acdb));if(_0x56acdb!==_0xea51('0x65')){logger['info']('['+[_0x56acdb[_0xea51('0x10')]()]+']','Displaying\x20call\x20in\x20a\x20new\x20tab...');emit(_0x5df4bf['remoteUri'],_0x2ca415['name'],_0x493dce[_0xea51('0x3d')]);}})[_0xea51('0x12')](function(_0x448c1f){logger[_0xea51('0x1a')]('['+[_0x56acdb[_0xea51('0x10')]()]+_0xea51('0x66'),util['inspect'](_0x448c1f,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file
+var _0x9f10=['lodash','bluebird','request-promise','util','ioredis','./util','../../../../config/environment','../../../../config/logger','servicenow','redis','localhost','GET','sys_user?sysparm_query=user_name%3Dadmin','then','result','length','sys_id','info','toUpperCase','catch','error','message','],\x20getUser\x20input\x20crm','validateEmail','userEmail','],\x20getUser\x20rp\x20obj','],\x20getUser\x20entity','active','true','userId','adminEmail','],\x20getUser\x20crm',']\x20using\x20admin\x20profile','],\x20createEndUser\x20input\x20crm','sys_user?','endUserNumber','user','],\x20EndUser\x20schema','],\x20getEndUser\x20input\x20crm','sys_user?sysparm_query=phone%3D','endUserId','],\x20getEndUser\x20crm','],\x20createEndUser\x20crm','forEach','includes','string','picklist','type','nameField','toLowerCase','content','toString','idField','customField','variableName','customVariable','Variable','name',']\x20getTicket\x20input\x20crm','outbound','POST','incident','assign','getString','Subjects','Descriptions','Fields','ticketId','ticketNumber','number',']\x20getTicket\x20crm','label','?sysparm_query=name%3D','label_entry','Incident','Incident\x20-\x20','push','all',']\x20arrayPromises:\x20IDs\x20in\x20table\x20label','map','%26sysparm_record_target%3Dincident','%26sysparm_record_row%3D1%26sysparm_record_rows%3D39','/nav_to.do?uri=incident.do?sys_id%3D','format','user:%s','emit','trigger:browser:url','username','sysparm_limit=1','sysparm_display_value=true','remoteUri','stripTrailingSlash','serverUrl','%s/api/now/table/','email','destcalleridnum','calleridnum','queue','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingFormat','recordingURL','The\x20ticket\x20ID\x20is:\x20%s','call\x20direction:\x20%s','Displaying\x20call\x20in\x20a\x20new\x20tab...',']\x20Error\x20running\x20ServiceNow\x20integration','inspect'];(function(_0x1b4e92,_0x346670){var _0x3a604b=function(_0x1c3924){while(--_0x1c3924){_0x1b4e92['push'](_0x1b4e92['shift']());}};_0x3a604b(++_0x346670);}(_0x9f10,0x1b8));var _0x09f1=function(_0xf1492d,_0x554d38){_0xf1492d=_0xf1492d-0x0;var _0x24f64f=_0x9f10[_0xf1492d];return _0x24f64f;};'use strict';var _=require(_0x09f1('0x0'));var Promise=require(_0x09f1('0x1'));var rp=require(_0x09f1('0x2'));var util=require(_0x09f1('0x3'));var md5=require('md5');var Redis=require(_0x09f1('0x4'));var intUtil=require(_0x09f1('0x5'));var config=require(_0x09f1('0x6'));var logger=require(_0x09f1('0x7'))(_0x09f1('0x8'));config[_0x09f1('0x9')]=_['defaults'](config[_0x09f1('0x9')],{'host':_0x09f1('0xa'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x09f1('0x9')]));function getAdminUser(_0x53dce4,_0x4b9003,_0x40477b,_0x44021d,_0x57c101,_0x461a30){return new Promise(function(_0x15a428,_0x1b9426){var _0x1ecb5e={'method':_0x09f1('0xb'),'uri':_0x44021d+_0x09f1('0xc')+'&'+_0x57c101+'&'+_0x461a30,'auth':_0x4b9003,'json':!![]};return rp(_0x1ecb5e)[_0x09f1('0xd')](function(_0xa056b4){if(_0xa056b4[_0x09f1('0xe')][_0x09f1('0xf')]>0x0){_0x40477b['adminId']=_0xa056b4[_0x09f1('0xe')][0x0][_0x09f1('0x10')];}logger[_0x09f1('0x11')]('['+[_0x53dce4[_0x09f1('0x12')]()]+'],\x20getAdminUser\x20crm',_0x40477b);_0x15a428(_0x40477b);})[_0x09f1('0x13')](function(_0x52954f){logger[_0x09f1('0x14')]('['+[_0x53dce4[_0x09f1('0x12')]()]+']',_0x52954f[_0x09f1('0x15')]);_0x1b9426(_0x52954f[_0x09f1('0x15')]);});});}function getUser(_0x4b969f,_0x3ae9de,_0x11d4af,_0x112e6d,_0x40df25){return function(_0x4bf0dc){logger[_0x09f1('0x11')]('['+[_0x4b969f[_0x09f1('0x12')]()]+_0x09f1('0x16'),_0x4bf0dc);return new Promise(function(_0x27458f,_0x3f558a){if(intUtil[_0x09f1('0x17')](_0x4bf0dc[_0x09f1('0x18')])){var _0x29e7c4={'method':_0x09f1('0xb'),'uri':_0x11d4af+'sys_user?sysparm_query=email%3D'+_0x4bf0dc['userEmail']+'&'+_0x112e6d+'&'+_0x40df25,'auth':_0x3ae9de,'json':!![]};logger['info']('['+[_0x4b969f[_0x09f1('0x12')]()]+_0x09f1('0x19'),_0x29e7c4);return rp(_0x29e7c4)['then'](function(_0x3f23ac){logger[_0x09f1('0x11')]('['+[_0x4b969f[_0x09f1('0x12')]()]+_0x09f1('0x1a'),_0x3f23ac);if(_0x3f23ac[_0x09f1('0xe')][_0x09f1('0xf')]>0x0&&String(_0x3f23ac['result'][0x0][_0x09f1('0x1b')])===_0x09f1('0x1c')){_0x4bf0dc['userId']=_0x3f23ac[_0x09f1('0xe')][0x0]['sys_id'];}else{_0x4bf0dc[_0x09f1('0x1d')]=_0x4bf0dc['adminId'];_0x4bf0dc[_0x09f1('0x18')]=_0x4bf0dc[_0x09f1('0x1e')];}logger[_0x09f1('0x11')]('['+[_0x4b969f['toUpperCase']()]+_0x09f1('0x1f'),_0x4bf0dc);_0x27458f(_0x4bf0dc);})['catch'](function(_0x35349b){logger[_0x09f1('0x14')]('['+[_0x4b969f[_0x09f1('0x12')]()]+']',_0x35349b[_0x09f1('0x15')]);_0x3f558a(_0x35349b[_0x09f1('0x15')]);});}else{logger[_0x09f1('0x11')]('['+[_0x4b969f[_0x09f1('0x12')]()]+_0x09f1('0x20'));_0x4bf0dc[_0x09f1('0x1d')]=_0x4bf0dc['adminId'];_0x4bf0dc[_0x09f1('0x18')]=_0x4bf0dc[_0x09f1('0x1e')];_0x27458f(_0x4bf0dc);}});};}function createEndUser(_0x307782,_0x35051e,_0x5b6a7c,_0x1e3b13,_0x292f1a){logger['info']('['+[_0x307782[_0x09f1('0x12')]()]+_0x09f1('0x21'),_0x5b6a7c);return new Promise(function(_0x5de415,_0x431e1d){var _0x49b912={'method':'POST','uri':_0x1e3b13+_0x09f1('0x22')+_0x292f1a,'body':{'user_name':_0x5b6a7c[_0x09f1('0x23')],'roles':_0x09f1('0x24'),'first_name':_0x5b6a7c[_0x09f1('0x23')],'active':_0x09f1('0x1c'),'date_format':'System','phone':_0x5b6a7c[_0x09f1('0x23')]},'auth':_0x35051e,'json':!![]};return rp(_0x49b912)[_0x09f1('0xd')](function(_0x47ece3){logger[_0x09f1('0x11')]('['+[_0x307782[_0x09f1('0x12')]()]+_0x09f1('0x25'),_0x47ece3['result']);_0x5b6a7c['endUserId']=_0x47ece3[_0x09f1('0xe')][_0x09f1('0x10')];_0x5de415(_0x5b6a7c);})[_0x09f1('0x13')](function(_0x21bee7){logger[_0x09f1('0x14')]('['+[_0x307782[_0x09f1('0x12')]()]+']',_0x21bee7[_0x09f1('0x15')]);_0x431e1d(_0x21bee7[_0x09f1('0x15')]);});});}function getEndUser(_0xce3f90,_0x4cb46e,_0x5a2f1c,_0x32d3e3,_0x39ef8d){return function(_0x17a862){logger[_0x09f1('0x11')]('['+[_0xce3f90['toUpperCase']()]+_0x09f1('0x26'),_0x17a862);return new Promise(function(_0x46046b,_0x3b7631){var _0x2cbaa4={'method':_0x09f1('0xb'),'uri':_0x5a2f1c+_0x09f1('0x27')+_0x17a862[_0x09f1('0x23')]+'&'+_0x32d3e3+'&'+_0x39ef8d,'auth':_0x4cb46e,'json':!![]};return rp(_0x2cbaa4)[_0x09f1('0xd')](function(_0x898d26){if(_0x898d26[_0x09f1('0xe')][_0x09f1('0xf')]>0x0){_0x17a862[_0x09f1('0x28')]=_0x898d26['result'][0x0][_0x09f1('0x10')];logger[_0x09f1('0x11')]('['+[_0xce3f90[_0x09f1('0x12')]()]+_0x09f1('0x29'),_0x17a862);_0x46046b(_0x17a862);}else{return createEndUser(_0xce3f90,_0x4cb46e,_0x17a862,_0x5a2f1c,_0x32d3e3)[_0x09f1('0xd')](function(_0x362086){logger[_0x09f1('0x11')]('['+[_0xce3f90[_0x09f1('0x12')]()]+_0x09f1('0x2a'),_0x362086);_0x46046b(_0x362086);});}})[_0x09f1('0x13')](function(_0x2655fa){logger['error']('['+[_0xce3f90[_0x09f1('0x12')]()]+']',_0x2655fa['message']);_0x3b7631(_0x2655fa['message']);});});};}function getCustomFields(_0x46b34c,_0x1c0a42){var _0x13ce8a={};if(_0x46b34c[_0x09f1('0xf')]>0x0){_[_0x09f1('0x2b')](_0x46b34c,function(_0x567d81){if(_[_0x09f1('0x2c')]([_0x09f1('0x2d'),_0x09f1('0x2e')],_0x567d81[_0x09f1('0x2f')])&&_0x567d81[_0x09f1('0x30')]&&!_0x567d81['customField']){_0x13ce8a[_0x567d81[_0x09f1('0x30')][_0x09f1('0x31')]()]=_0x567d81[_0x09f1('0x32')][_0x09f1('0x33')]();}else if(_[_0x09f1('0x2c')]([_0x09f1('0x2d'),_0x09f1('0x2e')],_0x567d81[_0x09f1('0x2f')])&&_0x567d81[_0x09f1('0x34')]&&_0x567d81[_0x09f1('0x35')]){_0x13ce8a[_0x567d81['idField'][_0x09f1('0x31')]()]=_0x567d81[_0x09f1('0x32')]['toString']();}else if(_0x567d81[_0x09f1('0x2f')]==='variable'&&_0x567d81[_0x09f1('0x36')]&&_0x567d81['idField']&&_0x567d81[_0x09f1('0x35')]){_0x13ce8a[_0x567d81['idField'][_0x09f1('0x31')]()]=_0x1c0a42[_0x567d81['variableName']]['toString']();}else if(_0x567d81[_0x09f1('0x2f')]===_0x09f1('0x37')&&_0x567d81[_0x09f1('0x38')]&&_0x567d81[_0x09f1('0x38')][_0x09f1('0x39')]&&_0x567d81[_0x09f1('0x34')]&&_0x567d81[_0x09f1('0x35')]){_0x13ce8a[_0x567d81[_0x09f1('0x34')][_0x09f1('0x31')]()]=_0x1c0a42[_0x567d81[_0x09f1('0x38')][_0x09f1('0x39')][_0x09f1('0x31')]()][_0x09f1('0x33')]();}});}return _0x13ce8a;}function getTicket(_0x421b41,_0x5804d7,_0x3d8d8d,_0x35aff3,_0xb1d831,_0x363584){return function(_0x5ac552){logger[_0x09f1('0x11')]('['+[_0x421b41[_0x09f1('0x12')]()]+_0x09f1('0x3a'),_0x5ac552);return new Promise(function(_0x27067e,_0x57a501){var _0x5f3af2=_0x421b41[_0x09f1('0x31')]()===_0x09f1('0x3b')?_0x5ac552[_0x09f1('0x1d')]:_0x5ac552['endUserId'];var _0x30bf6b={'method':_0x09f1('0x3c'),'uri':_0x3d8d8d+_0x09f1('0x3d')+'?'+_0x363584,'body':Object[_0x09f1('0x3e')]({},{'active':_0x09f1('0x1c'),'caller_id':_0x5f3af2,'assigned_to':_0x5ac552['userId'],'short_description':intUtil[_0x09f1('0x3f')](_0x35aff3[_0x09f1('0x40')],_0xb1d831,'\x20'),'description':intUtil[_0x09f1('0x3f')](_0x35aff3[_0x09f1('0x41')],_0xb1d831,'\x0a')},getCustomFields(_0x35aff3[_0x09f1('0x42')],_0xb1d831)),'auth':_0x5804d7,'json':!![]};return rp(_0x30bf6b)[_0x09f1('0xd')](function(_0x37557e){logger[_0x09f1('0x11')]('['+[_0x421b41[_0x09f1('0x12')]()]+']\x20POST\x20incident\x20entity\x20schema',_0x37557e[_0x09f1('0xe')]);_0x5ac552[_0x09f1('0x43')]=_0x37557e[_0x09f1('0xe')]['sys_id'];_0x5ac552[_0x09f1('0x44')]=_0x37557e[_0x09f1('0xe')][_0x09f1('0x45')];logger[_0x09f1('0x11')]('['+[_0x421b41[_0x09f1('0x12')]()]+_0x09f1('0x46'),_0x5ac552);_0x27067e(_0x5ac552);})[_0x09f1('0x13')](function(_0xe5e443){logger[_0x09f1('0x14')]('['+[_0x421b41[_0x09f1('0x12')]()]+']',_0xe5e443['message']);_0x57a501(_0xe5e443['message']);});});};}function createRemoteTag(_0x59ce2f,_0x4df31a,_0xa72b88,_0x154e95){return new Promise(function(_0x183df5,_0xfee46f){var _0x19e008={'method':'POST','uri':_0xa72b88+_0x09f1('0x47')+'?'+_0x154e95,'body':{'short_description':_0x59ce2f,'global':!![],'active':!![],'name':_0x59ce2f},'auth':_0x4df31a,'json':!![]};return rp(_0x19e008)[_0x09f1('0xd')](function(_0x53cd33){var _0x15d8b3=_0x53cd33[_0x09f1('0xe')]['sys_id'];_0x183df5(_0x15d8b3);});});}function getRemoteTag(_0xbfa9ff,_0x578d03,_0x37568b,_0x28ce2a,_0x31fa15){return new Promise(function(_0x476704,_0xbced2c){var _0x1f8318={'method':_0x09f1('0xb'),'uri':_0x37568b+_0x09f1('0x47')+_0x09f1('0x48')+_0xbfa9ff+'&'+_0x28ce2a,'auth':_0x578d03,'json':!![]};return rp(_0x1f8318)[_0x09f1('0xd')](function(_0x29f594){if(_0x29f594[_0x09f1('0xe')][_0x09f1('0xf')]>0x0){var _0x282686=_0x29f594[_0x09f1('0xe')][0x0][_0x09f1('0x10')];_0x476704(_0x282686);}else{return createRemoteTag(_0xbfa9ff,_0x578d03,_0x37568b,_0x28ce2a)['then'](function(_0x484775){_0x476704(_0x484775);});}});});}function assignTagToIncident(_0x43ca12,_0x549fa7,_0x5f3f83,_0x5e9233,_0x678bd){return new Promise(function(_0x4e7bd6,_0x3f0fe8){var _0xc4f6a={'method':_0x09f1('0x3c'),'uri':_0x5f3f83+_0x09f1('0x49')+'?'+_0x678bd,'body':{'label':_0x43ca12,'table':_0x09f1('0x3d'),'id_type':_0x09f1('0x4a'),'table_key':_0x5e9233[_0x09f1('0x43')],'title':_0x09f1('0x4b')+_0x5e9233[_0x09f1('0x44')],'id_display':_0x5e9233[_0x09f1('0x44')]},'auth':_0x549fa7,'json':!![]};return rp(_0xc4f6a)[_0x09f1('0xd')](function(_0x43fd64){_0x4e7bd6();})['catch'](function(){_0x4e7bd6();});});}function manageTags(_0x542d59,_0x3bbeb7,_0x3c7a37,_0x97c7c,_0x4f289e,_0x103bbe,_0x57e58f){return new Promise(function(_0x4a306e,_0x426e15){var _0x358f5f=[];_0x3bbeb7[_0x09f1('0x2b')](function(_0x2d805b){_0x358f5f[_0x09f1('0x4c')](getRemoteTag(_0x2d805b,_0x3c7a37,_0x97c7c,_0x103bbe,_0x57e58f));});return Promise[_0x09f1('0x4d')](_0x358f5f)[_0x09f1('0xd')](function(_0x15ab8b){if(_0x15ab8b['length']){logger['info']('['+[_0x542d59[_0x09f1('0x12')]()]+_0x09f1('0x4e'),_0x15ab8b);var _0x239531=[];_0x15ab8b['forEach'](function(_0xa36dc0){_0x239531[_0x09f1('0x4c')](assignTagToIncident(_0xa36dc0,_0x3c7a37,_0x97c7c,_0x4f289e,_0x103bbe));});return Promise[_0x09f1('0x4d')](_0x239531)[_0x09f1('0xd')](function(){_0x4a306e();})[_0x09f1('0x13')](function(){_0x4a306e();});}else{_0x4a306e();}});});}function getTags(_0x814f41,_0x57bba9,_0x4f0576,_0x180d6a,_0x3c24d1,_0x2b13fd){return function(_0x417d49){return new Promise(function(_0x56a955,_0xc8dc0a){var _0x4b4587=[];var _0x623c64=_0x180d6a['Tags'];if(_0x623c64&&_0x623c64['length']>0x0){_0x4b4587=_[_0x09f1('0x4f')](_0x623c64,_0x09f1('0x39'));}if(_0x4b4587[_0x09f1('0xf')]>0x0){return manageTags(_0x814f41,_0x4b4587,_0x57bba9,_0x4f0576,_0x417d49,_0x3c24d1,_0x2b13fd)[_0x09f1('0xd')](function(){_0x56a955(_0x417d49);});}else{_0x56a955(_0x417d49);}});};}function emit(_0x21d012,_0x408599,_0x51f798){var _0xa13a5=_0x09f1('0x50')+_0x09f1('0x51')+'%26sysparm_record_list%3Dactive%253Dtrue'+'%255EORDERBYDESCnumber';var _0x5461b9={'uri':_0x21d012+_0x09f1('0x52')+_0x51f798+_0xa13a5};io['to'](util[_0x09f1('0x53')](_0x09f1('0x54'),_0x408599))[_0x09f1('0x55')](_0x09f1('0x56'),_0x5461b9);}exports['cs']=function(_0x42a4d9,_0x5475cd,_0x491c34,_0x39d6ed,_0x3d0724,_0x2386c8,_0x24a34f,_0x27a5f4){var _0x49b1c8={};var _0x43f399={'user':_0x2386c8[_0x09f1('0x57')],'pass':_0x2386c8['password']};var _0x3455f9=_0x09f1('0x58');var _0x3b818a=_0x09f1('0x59');_0x2386c8[_0x09f1('0x5a')]=intUtil[_0x09f1('0x5b')](_0x2386c8[_0x09f1('0x5a')]);_0x2386c8[_0x09f1('0x5c')]=intUtil[_0x09f1('0x5b')](_0x2386c8[_0x09f1('0x5c')]);var _0x583462=util[_0x09f1('0x53')](_0x09f1('0x5d'),_0x2386c8[_0x09f1('0x5a')]);_0x49b1c8[_0x09f1('0x18')]=!_['isNil'](_0x39d6ed)?_0x39d6ed[_0x09f1('0x5e')]:null;_0x49b1c8['adminEmail']=_0x2386c8['email'];_0x49b1c8[_0x09f1('0x23')]=_0x27a5f4[_0x09f1('0x31')]()==='outbound'?_0x5475cd[_0x09f1('0x5f')]:_0x5475cd[_0x09f1('0x60')];_0x49b1c8['callDirection']=_0x27a5f4===_0x09f1('0x61')||_0x27a5f4==='unmanaged'?'queue':_0x09f1('0x3b');var _0x59d70f=util[_0x09f1('0x53')](_0x09f1('0x62'),_0x2386c8[_0x09f1('0x5c')],_0x5475cd[_0x09f1('0x63')],md5(_0x5475cd[_0x09f1('0x63')]));if(_0x3d0724&&_0x3d0724[_0x09f1('0x64')]){logger[_0x09f1('0x11')](_0x09f1('0x65'),_0x09f1('0x66'));_0x5475cd['recordingURL']=_0x59d70f;}else if(_0x24a34f&&_0x24a34f[_0x09f1('0x67')]&&_0x24a34f[_0x09f1('0x67')]!=='none'){logger[_0x09f1('0x11')]('[OUTBOUND]','Recording\x20is\x20enabled!');_0x5475cd[_0x09f1('0x68')]=_0x59d70f;}else{_0x5475cd[_0x09f1('0x68')]='';}return getAdminUser(_0x27a5f4,_0x43f399,_0x49b1c8,_0x583462,_0x3b818a,_0x3455f9)[_0x09f1('0xd')](getUser(_0x27a5f4,_0x43f399,_0x583462,_0x3b818a,_0x3455f9))[_0x09f1('0xd')](getEndUser(_0x27a5f4,_0x43f399,_0x583462,_0x3b818a,_0x3455f9))[_0x09f1('0xd')](getTicket(_0x27a5f4,_0x43f399,_0x583462,_0x491c34,_0x5475cd,_0x3b818a))[_0x09f1('0xd')](function(_0x4548b2){logger[_0x09f1('0x11')](util['format'](_0x09f1('0x69'),_0x4548b2['ticketId']));logger[_0x09f1('0x11')](util[_0x09f1('0x53')](_0x09f1('0x6a'),_0x27a5f4));if(_0x27a5f4!=='unmanaged'){logger[_0x09f1('0x11')]('['+[_0x27a5f4[_0x09f1('0x12')]()]+']',_0x09f1('0x6b'));emit(_0x2386c8[_0x09f1('0x5a')],_0x39d6ed['name'],_0x4548b2[_0x09f1('0x43')]);}})[_0x09f1('0x13')](function(_0x328293){logger[_0x09f1('0x14')]('['+[_0x27a5f4[_0x09f1('0x12')]()]+_0x09f1('0x6c'),util[_0x09f1('0x6d')](_0x328293,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file