Built motion from commit 00bf23f6.|2.6.16
[motion2.git] / server / services / ami / trigger / integration / servicenow.js
index 350bacb..57f414e 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb92a=['username','password','sysparm_limit=1','sysparm_display_value=true','remoteUri','stripTrailingSlash','%s/api/now/table/','isNil','email','destcalleridnum','calleridnum','callDirection','queue','unmanaged','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','monitor_format','[QUEUE]','Recording\x20is\x20enabled!','recordingURL','recordingFormat','none','call\x20direction:\x20%s','Displaying\x20call\x20in\x20a\x20new\x20tab...',']\x20Error\x20running\x20ServiceNow\x20integration','lodash','bluebird','md5','ioredis','./util','../../../../config/logger','servicenow','redis','defaults','localhost','socket.io-emitter','GET','then','length','adminId','result','sys_id','toUpperCase','],\x20getAdminUser\x20crm','catch','error','message','],\x20getUser\x20input\x20crm','validateEmail','userEmail','],\x20getUser\x20rp\x20obj','info','active','true','userId','],\x20getUser\x20crm',']\x20using\x20admin\x20profile','adminEmail','POST','sys_user?','endUserNumber','user','System','],\x20EndUser\x20schema','sys_user?sysparm_query=phone%3D','endUserId','],\x20getEndUser\x20crm','],\x20createEndUser\x20crm','forEach','includes','string','picklist','type','nameField','customField','toLowerCase','content','toString','idField','variable','customVariable','Variable','name',']\x20getTicket\x20input\x20crm','outbound','incident','assign','getString','Subjects','Descriptions','Fields','ticketId','ticketNumber','number',']\x20getTicket\x20crm','label','?sysparm_query=name%3D','label_entry','Incident','Incident\x20-\x20','all','push','Tags','%26sysparm_record_row%3D1%26sysparm_record_rows%3D39','%26sysparm_record_list%3Dactive%253Dtrue','%255EORDERBYDESCnumber','/nav_to.do?uri=incident.do?sys_id%3D','format','user:%s','emit','trigger:browser:url'];(function(_0xdb8964,_0x292b19){var _0x50f39e=function(_0x317bc5){while(--_0x317bc5){_0xdb8964['push'](_0xdb8964['shift']());}};_0x50f39e(++_0x292b19);}(_0xb92a,0x166));var _0xab92=function(_0xd2f7d1,_0x436302){_0xd2f7d1=_0xd2f7d1-0x0;var _0x2db76e=_0xb92a[_0xd2f7d1];return _0x2db76e;};'use strict';var _=require(_0xab92('0x0'));var Promise=require(_0xab92('0x1'));var rp=require('request-promise');var util=require('util');var md5=require(_0xab92('0x2'));var Redis=require(_0xab92('0x3'));var intUtil=require(_0xab92('0x4'));var config=require('../../../../config/environment');var logger=require(_0xab92('0x5'))(_0xab92('0x6'));config[_0xab92('0x7')]=_[_0xab92('0x8')](config[_0xab92('0x7')],{'host':_0xab92('0x9'),'port':0x18eb});var io=require(_0xab92('0xa'))(new Redis(config[_0xab92('0x7')]));function getAdminUser(_0x2b413d,_0x3c09e1,_0x10c1a8,_0x18ea82,_0x1239e2,_0x2637c6){return new Promise(function(_0x278024,_0x5a0ce4){var _0x528bcc={'method':_0xab92('0xb'),'uri':_0x18ea82+'sys_user?sysparm_query=user_name%3Dadmin'+'&'+_0x1239e2+'&'+_0x2637c6,'auth':_0x3c09e1,'json':!![]};return rp(_0x528bcc)[_0xab92('0xc')](function(_0x529ffe){if(_0x529ffe['result'][_0xab92('0xd')]>0x0){_0x10c1a8[_0xab92('0xe')]=_0x529ffe[_0xab92('0xf')][0x0][_0xab92('0x10')];}logger['info']('['+[_0x2b413d[_0xab92('0x11')]()]+_0xab92('0x12'),_0x10c1a8);_0x278024(_0x10c1a8);})[_0xab92('0x13')](function(_0x3ec6a6){logger[_0xab92('0x14')]('['+[_0x2b413d[_0xab92('0x11')]()]+']',_0x3ec6a6[_0xab92('0x15')]);_0x5a0ce4(_0x3ec6a6[_0xab92('0x15')]);});});}function getUser(_0x5435d4,_0x56177a,_0x5a4b17,_0x54178c,_0x45c606){return function(_0x392bcb){logger['info']('['+[_0x5435d4[_0xab92('0x11')]()]+_0xab92('0x16'),_0x392bcb);return new Promise(function(_0x449f3f,_0x1bce57){if(intUtil[_0xab92('0x17')](_0x392bcb[_0xab92('0x18')])){var _0x495972={'method':_0xab92('0xb'),'uri':_0x5a4b17+'sys_user?sysparm_query=email%3D'+_0x392bcb[_0xab92('0x18')]+'&'+_0x54178c+'&'+_0x45c606,'auth':_0x56177a,'json':!![]};logger['info']('['+[_0x5435d4[_0xab92('0x11')]()]+_0xab92('0x19'),_0x495972);return rp(_0x495972)[_0xab92('0xc')](function(_0x3c0b77){logger[_0xab92('0x1a')]('['+[_0x5435d4[_0xab92('0x11')]()]+'],\x20getUser\x20entity',_0x3c0b77);if(_0x3c0b77[_0xab92('0xf')][_0xab92('0xd')]>0x0&&String(_0x3c0b77[_0xab92('0xf')][0x0][_0xab92('0x1b')])===_0xab92('0x1c')){_0x392bcb[_0xab92('0x1d')]=_0x3c0b77[_0xab92('0xf')][0x0][_0xab92('0x10')];}else{_0x392bcb['userId']=_0x392bcb[_0xab92('0xe')];_0x392bcb['userEmail']=_0x392bcb['adminEmail'];}logger[_0xab92('0x1a')]('['+[_0x5435d4['toUpperCase']()]+_0xab92('0x1e'),_0x392bcb);_0x449f3f(_0x392bcb);})[_0xab92('0x13')](function(_0x3b9639){logger[_0xab92('0x14')]('['+[_0x5435d4[_0xab92('0x11')]()]+']',_0x3b9639[_0xab92('0x15')]);_0x1bce57(_0x3b9639[_0xab92('0x15')]);});}else{logger[_0xab92('0x1a')]('['+[_0x5435d4[_0xab92('0x11')]()]+_0xab92('0x1f'));_0x392bcb['userId']=_0x392bcb[_0xab92('0xe')];_0x392bcb[_0xab92('0x18')]=_0x392bcb[_0xab92('0x20')];_0x449f3f(_0x392bcb);}});};}function createEndUser(_0x58686b,_0xace89e,_0x38357b,_0x1b6c4a,_0x1cacb9){logger[_0xab92('0x1a')]('['+[_0x58686b[_0xab92('0x11')]()]+'],\x20createEndUser\x20input\x20crm',_0x38357b);return new Promise(function(_0x23cab7,_0x4e06ed){var _0x12529f={'method':_0xab92('0x21'),'uri':_0x1b6c4a+_0xab92('0x22')+_0x1cacb9,'body':{'user_name':_0x38357b[_0xab92('0x23')],'roles':_0xab92('0x24'),'first_name':_0x38357b['endUserNumber'],'active':_0xab92('0x1c'),'date_format':_0xab92('0x25'),'phone':_0x38357b[_0xab92('0x23')]},'auth':_0xace89e,'json':!![]};return rp(_0x12529f)[_0xab92('0xc')](function(_0x39a1d9){logger[_0xab92('0x1a')]('['+[_0x58686b['toUpperCase']()]+_0xab92('0x26'),_0x39a1d9[_0xab92('0xf')]);_0x38357b['endUserId']=_0x39a1d9[_0xab92('0xf')][_0xab92('0x10')];_0x23cab7(_0x38357b);})[_0xab92('0x13')](function(_0x126689){logger['error']('['+[_0x58686b['toUpperCase']()]+']',_0x126689[_0xab92('0x15')]);_0x4e06ed(_0x126689[_0xab92('0x15')]);});});}function getEndUser(_0x2c8c9a,_0x4d9039,_0x5b2f68,_0x394422,_0x51a143){return function(_0x570504){logger[_0xab92('0x1a')]('['+[_0x2c8c9a[_0xab92('0x11')]()]+'],\x20getEndUser\x20input\x20crm',_0x570504);return new Promise(function(_0x2c75a5,_0x45b581){var _0x1bfd46={'method':_0xab92('0xb'),'uri':_0x5b2f68+_0xab92('0x27')+_0x570504['endUserNumber']+'&'+_0x394422+'&'+_0x51a143,'auth':_0x4d9039,'json':!![]};return rp(_0x1bfd46)[_0xab92('0xc')](function(_0x331e5f){if(_0x331e5f[_0xab92('0xf')]['length']>0x0){_0x570504[_0xab92('0x28')]=_0x331e5f[_0xab92('0xf')][0x0][_0xab92('0x10')];logger['info']('['+[_0x2c8c9a[_0xab92('0x11')]()]+_0xab92('0x29'),_0x570504);_0x2c75a5(_0x570504);}else{return createEndUser(_0x2c8c9a,_0x4d9039,_0x570504,_0x5b2f68,_0x394422)['then'](function(_0x154fa5){logger[_0xab92('0x1a')]('['+[_0x2c8c9a[_0xab92('0x11')]()]+_0xab92('0x2a'),_0x154fa5);_0x2c75a5(_0x154fa5);});}})['catch'](function(_0x2c3817){logger[_0xab92('0x14')]('['+[_0x2c8c9a[_0xab92('0x11')]()]+']',_0x2c3817[_0xab92('0x15')]);_0x45b581(_0x2c3817[_0xab92('0x15')]);});});};}function getCustomFields(_0xd569d0,_0x83d719){var _0x1a0571={};if(_0xd569d0[_0xab92('0xd')]>0x0){_[_0xab92('0x2b')](_0xd569d0,function(_0x2a35eb){if(_[_0xab92('0x2c')]([_0xab92('0x2d'),_0xab92('0x2e')],_0x2a35eb[_0xab92('0x2f')])&&_0x2a35eb[_0xab92('0x30')]&&!_0x2a35eb[_0xab92('0x31')]){_0x1a0571[_0x2a35eb[_0xab92('0x30')][_0xab92('0x32')]()]=_0x2a35eb[_0xab92('0x33')][_0xab92('0x34')]();}else if(_['includes']([_0xab92('0x2d'),'picklist'],_0x2a35eb[_0xab92('0x2f')])&&_0x2a35eb[_0xab92('0x35')]&&_0x2a35eb[_0xab92('0x31')]){_0x1a0571[_0x2a35eb['idField'][_0xab92('0x32')]()]=_0x2a35eb[_0xab92('0x33')][_0xab92('0x34')]();}else if(_0x2a35eb['type']===_0xab92('0x36')&&_0x2a35eb['variableName']&&_0x2a35eb['idField']&&_0x2a35eb[_0xab92('0x31')]){_0x1a0571[_0x2a35eb['idField'][_0xab92('0x32')]()]=_0x83d719[_0x2a35eb['variableName']][_0xab92('0x34')]();}else if(_0x2a35eb[_0xab92('0x2f')]===_0xab92('0x37')&&_0x2a35eb[_0xab92('0x38')]&&_0x2a35eb[_0xab92('0x38')][_0xab92('0x39')]&&_0x2a35eb[_0xab92('0x35')]&&_0x2a35eb[_0xab92('0x31')]){_0x1a0571[_0x2a35eb['idField']['toLowerCase']()]=_0x83d719[_0x2a35eb[_0xab92('0x38')][_0xab92('0x39')]['toLowerCase']()]['toString']();}});}return _0x1a0571;}function getTicket(_0x43dbe8,_0x117f66,_0x159b0f,_0x5df044,_0xe257b9,_0x2078b8){return function(_0x357cc1){logger[_0xab92('0x1a')]('['+[_0x43dbe8[_0xab92('0x11')]()]+_0xab92('0x3a'),_0x357cc1);return new Promise(function(_0x136cf9,_0x27747d){var _0x3fef70=_0x43dbe8['toLowerCase']()===_0xab92('0x3b')?_0x357cc1['userId']:_0x357cc1[_0xab92('0x28')];var _0x3a2d84={'method':_0xab92('0x21'),'uri':_0x159b0f+_0xab92('0x3c')+'?'+_0x2078b8,'body':Object[_0xab92('0x3d')]({},{'active':'true','caller_id':_0x3fef70,'assigned_to':_0x357cc1[_0xab92('0x1d')],'short_description':intUtil[_0xab92('0x3e')](_0x5df044[_0xab92('0x3f')],_0xe257b9,'\x20'),'description':intUtil[_0xab92('0x3e')](_0x5df044[_0xab92('0x40')],_0xe257b9,'\x0a')},getCustomFields(_0x5df044[_0xab92('0x41')],_0xe257b9)),'auth':_0x117f66,'json':!![]};return rp(_0x3a2d84)[_0xab92('0xc')](function(_0x3d0d80){logger['info']('['+[_0x43dbe8[_0xab92('0x11')]()]+']\x20POST\x20incident\x20entity\x20schema',_0x3d0d80[_0xab92('0xf')]);_0x357cc1[_0xab92('0x42')]=_0x3d0d80[_0xab92('0xf')][_0xab92('0x10')];_0x357cc1[_0xab92('0x43')]=_0x3d0d80['result'][_0xab92('0x44')];logger['info']('['+[_0x43dbe8[_0xab92('0x11')]()]+_0xab92('0x45'),_0x357cc1);_0x136cf9(_0x357cc1);})[_0xab92('0x13')](function(_0x32a2dd){logger[_0xab92('0x14')]('['+[_0x43dbe8[_0xab92('0x11')]()]+']',_0x32a2dd[_0xab92('0x15')]);_0x27747d(_0x32a2dd[_0xab92('0x15')]);});});};}function createRemoteTag(_0x267416,_0x7356b3,_0x1340af,_0x22fc4e){return new Promise(function(_0x434fb9,_0x3f22bc){var _0x27d4f0={'method':'POST','uri':_0x1340af+'label'+'?'+_0x22fc4e,'body':{'short_description':_0x267416,'global':!![],'active':!![],'name':_0x267416},'auth':_0x7356b3,'json':!![]};return rp(_0x27d4f0)[_0xab92('0xc')](function(_0x29a36b){var _0x34d324=_0x29a36b[_0xab92('0xf')]['sys_id'];_0x434fb9(_0x34d324);});});}function getRemoteTag(_0xd9762a,_0x41b847,_0x227e6c,_0x18b4b2,_0x3ff5df){return new Promise(function(_0x5811de,_0xb4394c){var _0xdb4050={'method':_0xab92('0xb'),'uri':_0x227e6c+_0xab92('0x46')+_0xab92('0x47')+_0xd9762a+'&'+_0x18b4b2,'auth':_0x41b847,'json':!![]};return rp(_0xdb4050)[_0xab92('0xc')](function(_0x50ec3c){if(_0x50ec3c[_0xab92('0xf')][_0xab92('0xd')]>0x0){var _0xad519d=_0x50ec3c[_0xab92('0xf')][0x0][_0xab92('0x10')];_0x5811de(_0xad519d);}else{return createRemoteTag(_0xd9762a,_0x41b847,_0x227e6c,_0x18b4b2)['then'](function(_0x2116a2){_0x5811de(_0x2116a2);});}});});}function assignTagToIncident(_0x1b17e4,_0x4e314d,_0x511598,_0x52b863,_0x450a93){return new Promise(function(_0x4d01d3,_0x3aa93a){var _0x211c5a={'method':'POST','uri':_0x511598+_0xab92('0x48')+'?'+_0x450a93,'body':{'label':_0x1b17e4,'table':_0xab92('0x3c'),'id_type':_0xab92('0x49'),'table_key':_0x52b863[_0xab92('0x42')],'title':_0xab92('0x4a')+_0x52b863['ticketNumber'],'id_display':_0x52b863[_0xab92('0x43')]},'auth':_0x4e314d,'json':!![]};return rp(_0x211c5a)['then'](function(_0x5c1e89){_0x4d01d3();})[_0xab92('0x13')](function(){_0x4d01d3();});});}function manageTags(_0x117cb7,_0x595e2d,_0x1b85ee,_0xc74a3d,_0x25190e,_0x17666f,_0x1cf786){return new Promise(function(_0x2532d0,_0x4d1f48){var _0x34ba95=[];_0x595e2d[_0xab92('0x2b')](function(_0x529d48){_0x34ba95['push'](getRemoteTag(_0x529d48,_0x1b85ee,_0xc74a3d,_0x17666f,_0x1cf786));});return Promise[_0xab92('0x4b')](_0x34ba95)[_0xab92('0xc')](function(_0x44e252){if(_0x44e252[_0xab92('0xd')]){logger[_0xab92('0x1a')]('['+[_0x117cb7[_0xab92('0x11')]()]+']\x20arrayPromises:\x20IDs\x20in\x20table\x20label',_0x44e252);var _0x19d1bb=[];_0x44e252['forEach'](function(_0x4bc3f2){_0x19d1bb[_0xab92('0x4c')](assignTagToIncident(_0x4bc3f2,_0x1b85ee,_0xc74a3d,_0x25190e,_0x17666f));});return Promise[_0xab92('0x4b')](_0x19d1bb)[_0xab92('0xc')](function(){_0x2532d0();})['catch'](function(){_0x2532d0();});}else{_0x2532d0();}});});}function getTags(_0x3bdd75,_0x248623,_0xb03260,_0x5a020f,_0x3b88c3,_0x38fff9){return function(_0x1d6cf1){return new Promise(function(_0x512af8,_0x1521e2){var _0xcdf407=[];var _0x3b91b5=_0x5a020f[_0xab92('0x4d')];if(_0x3b91b5&&_0x3b91b5[_0xab92('0xd')]>0x0){_0xcdf407=_['map'](_0x3b91b5,_0xab92('0x39'));}if(_0xcdf407['length']>0x0){return manageTags(_0x3bdd75,_0xcdf407,_0x248623,_0xb03260,_0x1d6cf1,_0x3b88c3,_0x38fff9)[_0xab92('0xc')](function(){_0x512af8(_0x1d6cf1);});}else{_0x512af8(_0x1d6cf1);}});};}function emit(_0xf118d9,_0x393ce7,_0x5070e4){var _0x140591='%26sysparm_record_target%3Dincident'+_0xab92('0x4e')+_0xab92('0x4f')+_0xab92('0x50');var _0x18ce15={'uri':_0xf118d9+_0xab92('0x51')+_0x5070e4+_0x140591};io['to'](util[_0xab92('0x52')](_0xab92('0x53'),_0x393ce7))[_0xab92('0x54')](_0xab92('0x55'),_0x18ce15);}exports['cs']=function(_0x1c8345,_0x379a53,_0x3dcb9f,_0x22c2ee,_0x2297b6,_0x354652,_0x43f00d,_0x10c921){var _0x8a00ac={};var _0x14bc21={'user':_0x354652[_0xab92('0x56')],'pass':_0x354652[_0xab92('0x57')]};var _0x1c88b8=_0xab92('0x58');var _0x1f80c1=_0xab92('0x59');_0x354652[_0xab92('0x5a')]=intUtil[_0xab92('0x5b')](_0x354652[_0xab92('0x5a')]);_0x354652['serverUrl']=intUtil['stripTrailingSlash'](_0x354652['serverUrl']);var _0x560bd9=util[_0xab92('0x52')](_0xab92('0x5c'),_0x354652[_0xab92('0x5a')]);_0x8a00ac[_0xab92('0x18')]=!_[_0xab92('0x5d')](_0x22c2ee)?_0x22c2ee['email']:null;_0x8a00ac[_0xab92('0x20')]=_0x354652[_0xab92('0x5e')];_0x8a00ac[_0xab92('0x23')]=_0x10c921[_0xab92('0x32')]()===_0xab92('0x3b')?_0x379a53[_0xab92('0x5f')]:_0x379a53[_0xab92('0x60')];_0x8a00ac[_0xab92('0x61')]=_0x10c921===_0xab92('0x62')||_0x10c921===_0xab92('0x63')?'queue':_0xab92('0x3b');var _0x34d369=util['format'](_0xab92('0x64'),_0x354652['serverUrl'],_0x379a53[_0xab92('0x65')],md5(_0x379a53[_0xab92('0x65')]));if(_0x2297b6&&_0x2297b6[_0xab92('0x66')]){logger[_0xab92('0x1a')](_0xab92('0x67'),_0xab92('0x68'));_0x379a53[_0xab92('0x69')]=_0x34d369;}else if(_0x43f00d&&_0x43f00d[_0xab92('0x6a')]&&_0x43f00d[_0xab92('0x6a')]!==_0xab92('0x6b')){logger['info']('[OUTBOUND]',_0xab92('0x68'));_0x379a53[_0xab92('0x69')]=_0x34d369;}else{_0x379a53['recordingURL']='';}return getAdminUser(_0x10c921,_0x14bc21,_0x8a00ac,_0x560bd9,_0x1f80c1,_0x1c88b8)[_0xab92('0xc')](getUser(_0x10c921,_0x14bc21,_0x560bd9,_0x1f80c1,_0x1c88b8))[_0xab92('0xc')](getEndUser(_0x10c921,_0x14bc21,_0x560bd9,_0x1f80c1,_0x1c88b8))['then'](getTicket(_0x10c921,_0x14bc21,_0x560bd9,_0x3dcb9f,_0x379a53,_0x1f80c1))[_0xab92('0xc')](function(_0x2af374){logger[_0xab92('0x1a')](util['format']('The\x20ticket\x20ID\x20is:\x20%s',_0x2af374[_0xab92('0x42')]));logger[_0xab92('0x1a')](util['format'](_0xab92('0x6c'),_0x10c921));if(_0x10c921!==_0xab92('0x63')){logger[_0xab92('0x1a')]('['+[_0x10c921[_0xab92('0x11')]()]+']',_0xab92('0x6d'));emit(_0x354652[_0xab92('0x5a')],_0x22c2ee['name'],_0x2af374[_0xab92('0x42')]);}})['catch'](function(_0x3139a3){logger[_0xab92('0x14')]('['+[_0x10c921['toUpperCase']()]+_0xab92('0x6e'),util['inspect'](_0x3139a3,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file
+var _0x0ea7=['unmanaged','Displaying\x20call\x20in\x20a\x20new\x20tab...','request-promise','util','md5','ioredis','./util','../../../../config/environment','../../../../config/logger','servicenow','redis','socket.io-emitter','sys_user?sysparm_query=user_name%3Dadmin','then','result','length','adminId','info','toUpperCase','],\x20getAdminUser\x20crm','catch','message','],\x20getUser\x20input\x20crm','GET','userEmail','],\x20getUser\x20rp\x20obj','true','userId','sys_id','adminEmail','],\x20getUser\x20crm','error',']\x20using\x20admin\x20profile','POST','sys_user?','endUserNumber','user','System','],\x20EndUser\x20schema','endUserId','],\x20getEndUser\x20input\x20crm','sys_user?sysparm_query=phone%3D','],\x20getEndUser\x20crm','],\x20createEndUser\x20crm','forEach','includes','string','picklist','type','nameField','toString','idField','customField','toLowerCase','content','variable','variableName','Variable','name',']\x20getTicket\x20input\x20crm','outbound','assign','getString','Subjects','Descriptions',']\x20POST\x20incident\x20entity\x20schema','ticketId','ticketNumber','number',']\x20getTicket\x20crm','label','label_entry','incident','Incident','Incident\x20-\x20','push',']\x20arrayPromises:\x20IDs\x20in\x20table\x20label','all','Tags','map','%26sysparm_record_target%3Dincident','%26sysparm_record_list%3Dactive%253Dtrue','%255EORDERBYDESCnumber','/nav_to.do?uri=incident.do?sys_id%3D','format','user:%s','emit','trigger:browser:url','password','sysparm_display_value=true','remoteUri','serverUrl','stripTrailingSlash','%s/api/now/table/','isNil','email','callDirection','queue','%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s','uniqueid','monitor_format','recordingURL','recordingFormat','Recording\x20is\x20enabled!','The\x20ticket\x20ID\x20is:\x20%s'];(function(_0x566667,_0x51ae8f){var _0x34e450=function(_0x168acc){while(--_0x168acc){_0x566667['push'](_0x566667['shift']());}};_0x34e450(++_0x51ae8f);}(_0x0ea7,0x13d));var _0x70ea=function(_0xf0276c,_0x4e2ca4){_0xf0276c=_0xf0276c-0x0;var _0x1a2327=_0x0ea7[_0xf0276c];return _0x1a2327;};'use strict';var _=require('lodash');var Promise=require('bluebird');var rp=require(_0x70ea('0x0'));var util=require(_0x70ea('0x1'));var md5=require(_0x70ea('0x2'));var Redis=require(_0x70ea('0x3'));var intUtil=require(_0x70ea('0x4'));var config=require(_0x70ea('0x5'));var logger=require(_0x70ea('0x6'))(_0x70ea('0x7'));config[_0x70ea('0x8')]=_['defaults'](config[_0x70ea('0x8')],{'host':'localhost','port':0x18eb});var io=require(_0x70ea('0x9'))(new Redis(config[_0x70ea('0x8')]));function getAdminUser(_0x4c2df6,_0x5b6138,_0x28ac30,_0x3ac3b6,_0x30c6d8,_0x2512f9){return new Promise(function(_0x482693,_0x3f5f39){var _0x3fd19b={'method':'GET','uri':_0x3ac3b6+_0x70ea('0xa')+'&'+_0x30c6d8+'&'+_0x2512f9,'auth':_0x5b6138,'json':!![]};return rp(_0x3fd19b)[_0x70ea('0xb')](function(_0x21cac7){if(_0x21cac7[_0x70ea('0xc')][_0x70ea('0xd')]>0x0){_0x28ac30[_0x70ea('0xe')]=_0x21cac7[_0x70ea('0xc')][0x0]['sys_id'];}logger[_0x70ea('0xf')]('['+[_0x4c2df6[_0x70ea('0x10')]()]+_0x70ea('0x11'),_0x28ac30);_0x482693(_0x28ac30);})[_0x70ea('0x12')](function(_0xfcf84c){logger['error']('['+[_0x4c2df6['toUpperCase']()]+']',_0xfcf84c[_0x70ea('0x13')]);_0x3f5f39(_0xfcf84c[_0x70ea('0x13')]);});});}function getUser(_0x5005ba,_0x1a9a5d,_0x3c8ebb,_0x4fb99a,_0x33a973){return function(_0x3794b4){logger[_0x70ea('0xf')]('['+[_0x5005ba['toUpperCase']()]+_0x70ea('0x14'),_0x3794b4);return new Promise(function(_0xa3ff5e,_0x395da8){if(intUtil['validateEmail'](_0x3794b4['userEmail'])){var _0x4710ef={'method':_0x70ea('0x15'),'uri':_0x3c8ebb+'sys_user?sysparm_query=email%3D'+_0x3794b4[_0x70ea('0x16')]+'&'+_0x4fb99a+'&'+_0x33a973,'auth':_0x1a9a5d,'json':!![]};logger[_0x70ea('0xf')]('['+[_0x5005ba[_0x70ea('0x10')]()]+_0x70ea('0x17'),_0x4710ef);return rp(_0x4710ef)[_0x70ea('0xb')](function(_0x57bb20){logger['info']('['+[_0x5005ba[_0x70ea('0x10')]()]+'],\x20getUser\x20entity',_0x57bb20);if(_0x57bb20[_0x70ea('0xc')][_0x70ea('0xd')]>0x0&&String(_0x57bb20['result'][0x0]['active'])===_0x70ea('0x18')){_0x3794b4[_0x70ea('0x19')]=_0x57bb20[_0x70ea('0xc')][0x0][_0x70ea('0x1a')];}else{_0x3794b4[_0x70ea('0x19')]=_0x3794b4[_0x70ea('0xe')];_0x3794b4['userEmail']=_0x3794b4[_0x70ea('0x1b')];}logger[_0x70ea('0xf')]('['+[_0x5005ba[_0x70ea('0x10')]()]+_0x70ea('0x1c'),_0x3794b4);_0xa3ff5e(_0x3794b4);})['catch'](function(_0xbcc3e){logger[_0x70ea('0x1d')]('['+[_0x5005ba['toUpperCase']()]+']',_0xbcc3e[_0x70ea('0x13')]);_0x395da8(_0xbcc3e[_0x70ea('0x13')]);});}else{logger[_0x70ea('0xf')]('['+[_0x5005ba[_0x70ea('0x10')]()]+_0x70ea('0x1e'));_0x3794b4['userId']=_0x3794b4[_0x70ea('0xe')];_0x3794b4[_0x70ea('0x16')]=_0x3794b4[_0x70ea('0x1b')];_0xa3ff5e(_0x3794b4);}});};}function createEndUser(_0x5d105a,_0x222a1c,_0x272e01,_0x3a4be3,_0x1da55a){logger[_0x70ea('0xf')]('['+[_0x5d105a[_0x70ea('0x10')]()]+'],\x20createEndUser\x20input\x20crm',_0x272e01);return new Promise(function(_0x33b093,_0x207817){var _0x408d5a={'method':_0x70ea('0x1f'),'uri':_0x3a4be3+_0x70ea('0x20')+_0x1da55a,'body':{'user_name':_0x272e01[_0x70ea('0x21')],'roles':_0x70ea('0x22'),'first_name':_0x272e01[_0x70ea('0x21')],'active':_0x70ea('0x18'),'date_format':_0x70ea('0x23'),'phone':_0x272e01[_0x70ea('0x21')]},'auth':_0x222a1c,'json':!![]};return rp(_0x408d5a)[_0x70ea('0xb')](function(_0x2d039f){logger['info']('['+[_0x5d105a['toUpperCase']()]+_0x70ea('0x24'),_0x2d039f[_0x70ea('0xc')]);_0x272e01[_0x70ea('0x25')]=_0x2d039f[_0x70ea('0xc')][_0x70ea('0x1a')];_0x33b093(_0x272e01);})['catch'](function(_0x288418){logger[_0x70ea('0x1d')]('['+[_0x5d105a[_0x70ea('0x10')]()]+']',_0x288418[_0x70ea('0x13')]);_0x207817(_0x288418['message']);});});}function getEndUser(_0x3629d6,_0x33a46e,_0x32d9b5,_0x1bcafb,_0x3ab6bd){return function(_0x5d194d){logger['info']('['+[_0x3629d6[_0x70ea('0x10')]()]+_0x70ea('0x26'),_0x5d194d);return new Promise(function(_0x1ceee8,_0x5def7a){var _0x35b7f6={'method':'GET','uri':_0x32d9b5+_0x70ea('0x27')+_0x5d194d[_0x70ea('0x21')]+'&'+_0x1bcafb+'&'+_0x3ab6bd,'auth':_0x33a46e,'json':!![]};return rp(_0x35b7f6)[_0x70ea('0xb')](function(_0x12b728){if(_0x12b728[_0x70ea('0xc')][_0x70ea('0xd')]>0x0){_0x5d194d[_0x70ea('0x25')]=_0x12b728[_0x70ea('0xc')][0x0][_0x70ea('0x1a')];logger['info']('['+[_0x3629d6['toUpperCase']()]+_0x70ea('0x28'),_0x5d194d);_0x1ceee8(_0x5d194d);}else{return createEndUser(_0x3629d6,_0x33a46e,_0x5d194d,_0x32d9b5,_0x1bcafb)['then'](function(_0x4398aa){logger[_0x70ea('0xf')]('['+[_0x3629d6[_0x70ea('0x10')]()]+_0x70ea('0x29'),_0x4398aa);_0x1ceee8(_0x4398aa);});}})['catch'](function(_0x26de77){logger['error']('['+[_0x3629d6['toUpperCase']()]+']',_0x26de77['message']);_0x5def7a(_0x26de77[_0x70ea('0x13')]);});});};}function getCustomFields(_0x41da90,_0x365a60){var _0x370c8a={};if(_0x41da90[_0x70ea('0xd')]>0x0){_[_0x70ea('0x2a')](_0x41da90,function(_0x3e43f3){if(_[_0x70ea('0x2b')]([_0x70ea('0x2c'),_0x70ea('0x2d')],_0x3e43f3[_0x70ea('0x2e')])&&_0x3e43f3[_0x70ea('0x2f')]&&!_0x3e43f3['customField']){_0x370c8a[_0x3e43f3[_0x70ea('0x2f')]['toLowerCase']()]=_0x3e43f3['content'][_0x70ea('0x30')]();}else if(_[_0x70ea('0x2b')]([_0x70ea('0x2c'),_0x70ea('0x2d')],_0x3e43f3[_0x70ea('0x2e')])&&_0x3e43f3[_0x70ea('0x31')]&&_0x3e43f3[_0x70ea('0x32')]){_0x370c8a[_0x3e43f3['idField'][_0x70ea('0x33')]()]=_0x3e43f3[_0x70ea('0x34')][_0x70ea('0x30')]();}else if(_0x3e43f3[_0x70ea('0x2e')]===_0x70ea('0x35')&&_0x3e43f3[_0x70ea('0x36')]&&_0x3e43f3[_0x70ea('0x31')]&&_0x3e43f3[_0x70ea('0x32')]){_0x370c8a[_0x3e43f3[_0x70ea('0x31')][_0x70ea('0x33')]()]=_0x365a60[_0x3e43f3[_0x70ea('0x36')]]['toString']();}else if(_0x3e43f3[_0x70ea('0x2e')]==='customVariable'&&_0x3e43f3[_0x70ea('0x37')]&&_0x3e43f3['Variable']['name']&&_0x3e43f3[_0x70ea('0x31')]&&_0x3e43f3[_0x70ea('0x32')]){_0x370c8a[_0x3e43f3[_0x70ea('0x31')]['toLowerCase']()]=_0x365a60[_0x3e43f3[_0x70ea('0x37')][_0x70ea('0x38')][_0x70ea('0x33')]()][_0x70ea('0x30')]();}});}return _0x370c8a;}function getTicket(_0x1c5479,_0xe08422,_0x1c46ac,_0x5c3a6a,_0x17a7d7,_0x23e939){return function(_0x519baf){logger[_0x70ea('0xf')]('['+[_0x1c5479[_0x70ea('0x10')]()]+_0x70ea('0x39'),_0x519baf);return new Promise(function(_0x5e4459,_0x451137){var _0x309788=_0x1c5479[_0x70ea('0x33')]()===_0x70ea('0x3a')?_0x519baf[_0x70ea('0x19')]:_0x519baf['endUserId'];var _0x21b758={'method':'POST','uri':_0x1c46ac+'incident'+'?'+_0x23e939,'body':Object[_0x70ea('0x3b')]({},{'active':'true','caller_id':_0x309788,'assigned_to':_0x519baf[_0x70ea('0x19')],'short_description':intUtil[_0x70ea('0x3c')](_0x5c3a6a[_0x70ea('0x3d')],_0x17a7d7,'\x20'),'description':intUtil[_0x70ea('0x3c')](_0x5c3a6a[_0x70ea('0x3e')],_0x17a7d7,'\x0a')},getCustomFields(_0x5c3a6a['Fields'],_0x17a7d7)),'auth':_0xe08422,'json':!![]};return rp(_0x21b758)[_0x70ea('0xb')](function(_0x558ae1){logger['info']('['+[_0x1c5479[_0x70ea('0x10')]()]+_0x70ea('0x3f'),_0x558ae1[_0x70ea('0xc')]);_0x519baf[_0x70ea('0x40')]=_0x558ae1[_0x70ea('0xc')][_0x70ea('0x1a')];_0x519baf[_0x70ea('0x41')]=_0x558ae1[_0x70ea('0xc')][_0x70ea('0x42')];logger['info']('['+[_0x1c5479[_0x70ea('0x10')]()]+_0x70ea('0x43'),_0x519baf);_0x5e4459(_0x519baf);})[_0x70ea('0x12')](function(_0x31ecf8){logger['error']('['+[_0x1c5479[_0x70ea('0x10')]()]+']',_0x31ecf8[_0x70ea('0x13')]);_0x451137(_0x31ecf8['message']);});});};}function createRemoteTag(_0x23060c,_0x1109b0,_0x3e0bde,_0x15f30f){return new Promise(function(_0x3f142a,_0x4402cd){var _0x50973d={'method':_0x70ea('0x1f'),'uri':_0x3e0bde+'label'+'?'+_0x15f30f,'body':{'short_description':_0x23060c,'global':!![],'active':!![],'name':_0x23060c},'auth':_0x1109b0,'json':!![]};return rp(_0x50973d)[_0x70ea('0xb')](function(_0x439184){var _0x49f647=_0x439184['result'][_0x70ea('0x1a')];_0x3f142a(_0x49f647);});});}function getRemoteTag(_0x2e584c,_0x265d85,_0x2d34c6,_0x296e8b,_0x5c5196){return new Promise(function(_0x121ec1,_0x12faca){var _0x539944={'method':_0x70ea('0x15'),'uri':_0x2d34c6+_0x70ea('0x44')+'?sysparm_query=name%3D'+_0x2e584c+'&'+_0x296e8b,'auth':_0x265d85,'json':!![]};return rp(_0x539944)[_0x70ea('0xb')](function(_0x294fbf){if(_0x294fbf['result'][_0x70ea('0xd')]>0x0){var _0x1bcbe8=_0x294fbf[_0x70ea('0xc')][0x0][_0x70ea('0x1a')];_0x121ec1(_0x1bcbe8);}else{return createRemoteTag(_0x2e584c,_0x265d85,_0x2d34c6,_0x296e8b)[_0x70ea('0xb')](function(_0x214b9e){_0x121ec1(_0x214b9e);});}});});}function assignTagToIncident(_0x284555,_0x2e52e0,_0x4618b7,_0x50a19d,_0x2565e0){return new Promise(function(_0x5ca141,_0x66d1fd){var _0x2d189a={'method':_0x70ea('0x1f'),'uri':_0x4618b7+_0x70ea('0x45')+'?'+_0x2565e0,'body':{'label':_0x284555,'table':_0x70ea('0x46'),'id_type':_0x70ea('0x47'),'table_key':_0x50a19d[_0x70ea('0x40')],'title':_0x70ea('0x48')+_0x50a19d[_0x70ea('0x41')],'id_display':_0x50a19d[_0x70ea('0x41')]},'auth':_0x2e52e0,'json':!![]};return rp(_0x2d189a)[_0x70ea('0xb')](function(_0x1d1615){_0x5ca141();})[_0x70ea('0x12')](function(){_0x5ca141();});});}function manageTags(_0x4d0d41,_0x58b0e4,_0x4a8356,_0x4fbd58,_0x3de80f,_0x24dcb5,_0x1c02ce){return new Promise(function(_0x2c7d1b,_0x3ea47a){var _0x891cd=[];_0x58b0e4[_0x70ea('0x2a')](function(_0x238662){_0x891cd[_0x70ea('0x49')](getRemoteTag(_0x238662,_0x4a8356,_0x4fbd58,_0x24dcb5,_0x1c02ce));});return Promise['all'](_0x891cd)[_0x70ea('0xb')](function(_0x311096){if(_0x311096['length']){logger[_0x70ea('0xf')]('['+[_0x4d0d41['toUpperCase']()]+_0x70ea('0x4a'),_0x311096);var _0x2f13aa=[];_0x311096[_0x70ea('0x2a')](function(_0x58df30){_0x2f13aa['push'](assignTagToIncident(_0x58df30,_0x4a8356,_0x4fbd58,_0x3de80f,_0x24dcb5));});return Promise[_0x70ea('0x4b')](_0x2f13aa)[_0x70ea('0xb')](function(){_0x2c7d1b();})[_0x70ea('0x12')](function(){_0x2c7d1b();});}else{_0x2c7d1b();}});});}function getTags(_0x396422,_0x24af99,_0x2b37cd,_0x4d8eaf,_0x2aed5f,_0x589861){return function(_0x5eb455){return new Promise(function(_0x376b1c,_0xdee193){var _0x172418=[];var _0x28e681=_0x4d8eaf[_0x70ea('0x4c')];if(_0x28e681&&_0x28e681[_0x70ea('0xd')]>0x0){_0x172418=_[_0x70ea('0x4d')](_0x28e681,_0x70ea('0x38'));}if(_0x172418['length']>0x0){return manageTags(_0x396422,_0x172418,_0x24af99,_0x2b37cd,_0x5eb455,_0x2aed5f,_0x589861)[_0x70ea('0xb')](function(){_0x376b1c(_0x5eb455);});}else{_0x376b1c(_0x5eb455);}});};}function emit(_0x3094b9,_0x14e1cb,_0x1cfd6d){var _0x183df1=_0x70ea('0x4e')+'%26sysparm_record_row%3D1%26sysparm_record_rows%3D39'+_0x70ea('0x4f')+_0x70ea('0x50');var _0x3f39e4={'uri':_0x3094b9+_0x70ea('0x51')+_0x1cfd6d+_0x183df1};io['to'](util[_0x70ea('0x52')](_0x70ea('0x53'),_0x14e1cb))[_0x70ea('0x54')](_0x70ea('0x55'),_0x3f39e4);}exports['cs']=function(_0x3c41e6,_0x4fcef7,_0x2e2633,_0x4ca0dc,_0x232d2e,_0x114007,_0x5a62a2,_0x453fc1){var _0x199920={};var _0x5d2ea7={'user':_0x114007['username'],'pass':_0x114007[_0x70ea('0x56')]};var _0x5686f4='sysparm_limit=1';var _0x3019a3=_0x70ea('0x57');_0x114007['remoteUri']=intUtil['stripTrailingSlash'](_0x114007[_0x70ea('0x58')]);_0x114007[_0x70ea('0x59')]=intUtil[_0x70ea('0x5a')](_0x114007[_0x70ea('0x59')]);var _0x19c653=util[_0x70ea('0x52')](_0x70ea('0x5b'),_0x114007[_0x70ea('0x58')]);_0x199920[_0x70ea('0x16')]=!_[_0x70ea('0x5c')](_0x4ca0dc)?_0x4ca0dc[_0x70ea('0x5d')]:null;_0x199920[_0x70ea('0x1b')]=_0x114007[_0x70ea('0x5d')];_0x199920[_0x70ea('0x21')]=_0x453fc1[_0x70ea('0x33')]()===_0x70ea('0x3a')?_0x4fcef7['destcalleridnum']:_0x4fcef7['calleridnum'];_0x199920[_0x70ea('0x5e')]=_0x453fc1===_0x70ea('0x5f')||_0x453fc1==='unmanaged'?_0x70ea('0x5f'):_0x70ea('0x3a');var _0x5d811a=util[_0x70ea('0x52')](_0x70ea('0x60'),_0x114007[_0x70ea('0x59')],_0x4fcef7[_0x70ea('0x61')],md5(_0x4fcef7[_0x70ea('0x61')]));if(_0x232d2e&&_0x232d2e[_0x70ea('0x62')]){logger['info']('[QUEUE]','Recording\x20is\x20enabled!');_0x4fcef7[_0x70ea('0x63')]=_0x5d811a;}else if(_0x5a62a2&&_0x5a62a2[_0x70ea('0x64')]&&_0x5a62a2[_0x70ea('0x64')]!=='none'){logger[_0x70ea('0xf')]('[OUTBOUND]',_0x70ea('0x65'));_0x4fcef7[_0x70ea('0x63')]=_0x5d811a;}else{_0x4fcef7[_0x70ea('0x63')]='';}return getAdminUser(_0x453fc1,_0x5d2ea7,_0x199920,_0x19c653,_0x3019a3,_0x5686f4)[_0x70ea('0xb')](getUser(_0x453fc1,_0x5d2ea7,_0x19c653,_0x3019a3,_0x5686f4))[_0x70ea('0xb')](getEndUser(_0x453fc1,_0x5d2ea7,_0x19c653,_0x3019a3,_0x5686f4))[_0x70ea('0xb')](getTicket(_0x453fc1,_0x5d2ea7,_0x19c653,_0x2e2633,_0x4fcef7,_0x3019a3))[_0x70ea('0xb')](function(_0x2d6b04){logger[_0x70ea('0xf')](util['format'](_0x70ea('0x66'),_0x2d6b04[_0x70ea('0x40')]));logger[_0x70ea('0xf')](util[_0x70ea('0x52')]('call\x20direction:\x20%s',_0x453fc1));if(_0x453fc1!==_0x70ea('0x67')){logger[_0x70ea('0xf')]('['+[_0x453fc1[_0x70ea('0x10')]()]+']',_0x70ea('0x68'));emit(_0x114007['remoteUri'],_0x4ca0dc[_0x70ea('0x38')],_0x2d6b04[_0x70ea('0x40')]);}})[_0x70ea('0x12')](function(_0x3551be){logger['error']('['+[_0x453fc1['toUpperCase']()]+']\x20Error\x20running\x20ServiceNow\x20integration',util['inspect'](_0x3551be,{'showHidden':!![],'depth':null}));});};
\ No newline at end of file