254ceb9a86764254bb7b102e5307514371477d57
[motion2.git] / server / components / extensions / rewrite.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xddce=['custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','bulkCreate','catch','lodash','util','models','findAll','then','IntervalId','VoiceExtension','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','extensions','extension','push','type','Set','CDR(type)=%s','context','inbound','CDR(routeid)=','priority','VoiceExtensionId','outbound','cutdigits','${EXTEN}','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','length','toLowerCase','createdAt','updatedAt','interval','intervals','tag','CDR(tag)=','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf'];(function(_0x40eadc,_0x37af8d){var _0x6963b4=function(_0x4c2c9){while(--_0x4c2c9){_0x40eadc['push'](_0x40eadc['shift']());}};_0x6963b4(++_0x37af8d);}(_0xddce,0x1d5));var _0xeddc=function(_0x13068c,_0x23b56a){_0x13068c=_0x13068c-0x0;var _0x189484=_0xddce[_0x13068c];return _0x189484;};'use strict';var _=require(_0xeddc('0x0'));var util=require(_0xeddc('0x1'));function rewrite(_0x4bab5c,_0x46700b){var _0x5a5d75=this;return _0x4bab5c[_0xeddc('0x2')]['Interval'][_0xeddc('0x3')]({'raw':!![]})[_0xeddc('0x4')](function(_0x58266c){_0x5a5d75['intervals']=_0x58266c;return _0x4bab5c[_0xeddc('0x2')]['VoiceExtension']['findAll']({'where':{'IntervalId':_0x46700b[_0xeddc('0x5')]},'raw':!![]});})[_0xeddc('0x4')](function(_0x34e142){return _0x4bab5c[_0xeddc('0x2')][_0xeddc('0x6')]['findAll']({'where':{'exten':{'$in':_[_0xeddc('0x7')](_[_0xeddc('0x8')](_0x34e142,_0xeddc('0x9')))}},'order':[{'raw':_0xeddc('0xa')}],'raw':!![]});})['then'](function(_0x193b52){var _0x4a199c=_[_0xeddc('0xb')](_0x193b52,{'priority':'1'});var _0x466ad2=_[_0xeddc('0xb')](_0x193b52,{'isApp':0x1});var _0x26ee12=_[_0xeddc('0xc')](_0x466ad2,_0xeddc('0x9'));var _0x44e0a8=[_0xeddc('0xd'),_0xeddc('0xe')];var _0x1157e2=[];var _0x4025c7=[];for(var _0x12e027 in _0x26ee12){if(_0x26ee12[_0xeddc('0xf')](_0x12e027)){_0x5a5d75['priority']=0x2;_0x5a5d75[_0xeddc('0x10')]=[];_0x5a5d75[_0xeddc('0x11')]=_['find'](_0x4a199c,{'exten':_0x26ee12[_0x12e027][0x0]['exten']});_0x5a5d75[_0xeddc('0x10')][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')],'app':_0xeddc('0x14'),'appdata':util['format'](_0xeddc('0x15'),_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')]),'context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75['priority']++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0]['VoiceExtensionId']});if(_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')]===_0xeddc('0x17')){_0x5a5d75['extensions'][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')],'app':_0xeddc('0x14'),'appdata':_0xeddc('0x18')+_0x26ee12[_0x12e027][0x0]['VoiceExtensionId'],'context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});}else if(_0x26ee12[_0x12e027][0x0]['type']===_0xeddc('0x1b')){if(_0x5a5d75[_0xeddc('0x11')]){_0x5a5d75[_0xeddc('0x10')]['push']({'type':_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')],'app':_0xeddc('0x14'),'appdata':'CDR(destination)='+(_0x5a5d75[_0xeddc('0x11')][_0xeddc('0x1c')]?'${EXTEN:'+_0x5a5d75[_0xeddc('0x11')]['cutdigits']+'}':_0xeddc('0x1d')),'context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0]['VoiceExtensionId']});}_0x5a5d75[_0xeddc('0x10')][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')],'app':_0xeddc('0x14'),'appdata':_0xeddc('0x18')+_0x26ee12[_0x12e027][0x0]['VoiceExtensionId'],'context':_0x26ee12[_0x12e027][0x0]['context'],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});var _0x30a8a2=_0x5a5d75[_0xeddc('0x19')]++;_0x5a5d75['extensions']['push']({'type':_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')],'app':'ExecIf','appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x30a8a2+0x2)+'):Goto('+(_0x30a8a2+0x1)+')','context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x30a8a2,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});if(_0x5a5d75[_0xeddc('0x11')]){_0x5a5d75['extensions']['push']({'type':_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')],'app':_0xeddc('0x14'),'appdata':_0x5a5d75[_0xeddc('0x11')][_0xeddc('0x1c')]?_0xeddc('0x1e')+_0x5a5d75[_0xeddc('0x11')][_0xeddc('0x1c')]+'}':'CDR(prefix)=noprefix','context':_0x26ee12[_0x12e027][0x0]['context'],'exten':_0x26ee12[_0x12e027][0x0]['exten'],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});}_0x5a5d75[_0xeddc('0x10')][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')],'app':_0xeddc('0x14'),'appdata':_0xeddc('0x1f')+_0x26ee12[_0x12e027][0x0]['VoiceExtensionId'],'context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});if(_0x5a5d75[_0xeddc('0x11')]&&_0x5a5d75['extension'][_0xeddc('0xf')](_0xeddc('0x20'))&&_0x5a5d75[_0xeddc('0x11')]['recordingFormat']!==_0xeddc('0x21')){_0x5a5d75[_0xeddc('0x10')][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0][_0xeddc('0x13')],'app':_0xeddc('0x14'),'appdata':_0xeddc('0x22'),'context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});_0x5a5d75[_0xeddc('0x10')][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0]['type'],'app':_0xeddc('0x14'),'appdata':_0xeddc('0x23')+_0x5a5d75[_0xeddc('0x11')][_0xeddc('0x20')]||'wav','context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});}}_0x5a5d75['extensions'][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0]['type'],'app':'Set','appdata':_0xeddc('0x24'),'context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});_0x5a5d75['extensions'][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0]['type'],'app':_0xeddc('0x14'),'appdata':_0xeddc('0x25'),'context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0][_0xeddc('0x9')],'priority':_0x5a5d75['priority']++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0]['VoiceExtensionId']});_0x5a5d75[_0xeddc('0x10')]['push']({'type':_0x26ee12[_0x12e027][0x0]['type'],'app':_0xeddc('0x14'),'appdata':'MONITOR_OPTIONS=ab','context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'exten':_0x26ee12[_0x12e027][0x0]['exten'],'priority':_0x5a5d75[_0xeddc('0x19')]++,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});for(var _0x4a3ba1=0x0,_0x11b4fd=0x0;_0x4a3ba1<_0x26ee12[_0x12e027][_0xeddc('0x26')];_0x4a3ba1+=0x1,_0x11b4fd=0x0){var _0x41c011=_0x26ee12[_0x12e027][_0x4a3ba1];if(_0x41c011[_0xeddc('0x13')]){_0x41c011[_0xeddc('0x13')]=_0x41c011[_0xeddc('0x13')][_0xeddc('0x27')]();}var _0x11ef4c=[];var _0xf4d4db=[];delete _0x41c011['id'];delete _0x41c011[_0xeddc('0x28')];delete _0x41c011[_0xeddc('0x29')];var _0x2c7181=_0x41c011[_0xeddc('0x2a')]!=='*,*,*,*'?[_0x41c011[_0xeddc('0x2a')]]:_0x41c011['IntervalId']?_[_0xeddc('0x8')](_['filter'](_0x5a5d75[_0xeddc('0x2b')],{'IntervalId':_0x41c011[_0xeddc('0x5')]}),_0xeddc('0x2a')):[];if(_0x41c011[_0xeddc('0xf')]('tag')){if(_0x41c011[_0xeddc('0x2c')]&&_0x41c011[_0xeddc('0x2c')]!=='--'){_0x11ef4c[_0xeddc('0x12')]({'type':_0x41c011[_0xeddc('0x13')],'app':'Set','appdata':_0xeddc('0x2d')+_0x41c011[_0xeddc('0x2c')],'context':_0x41c011[_0xeddc('0x16')],'exten':_0x41c011[_0xeddc('0x9')],'priority':_0x2c7181[_0xeddc('0x26')]+_0x5a5d75[_0xeddc('0x19')]+_0x11b4fd++,'VoiceExtensionId':_0x41c011[_0xeddc('0x1a')]});}}if(_0x41c011[_0xeddc('0x13')]===_0xeddc('0x1b')&&_0x41c011[_0xeddc('0xf')]('callerID')){if(_0x41c011['callerID']){_0x11ef4c[_0xeddc('0x12')]({'type':_0x41c011[_0xeddc('0x13')],'app':'ExecIf','appdata':_0xeddc('0x2e')+_0x41c011['callerID']+')','context':_0x41c011[_0xeddc('0x16')],'exten':_0x41c011[_0xeddc('0x9')],'priority':_0x2c7181[_0xeddc('0x26')]+_0x5a5d75[_0xeddc('0x19')]+_0x11b4fd++,'VoiceExtensionId':_0x41c011[_0xeddc('0x1a')]});}else{_0x11ef4c[_0xeddc('0x12')]({'type':_0x41c011[_0xeddc('0x13')],'app':_0xeddc('0x2f'),'appdata':_0xeddc('0x30'),'context':_0x41c011[_0xeddc('0x16')],'exten':_0x41c011[_0xeddc('0x9')],'priority':_0x2c7181['length']+_0x5a5d75['priority']+_0x11b4fd++,'VoiceExtensionId':_0x41c011['VoiceExtensionId']});}}if(_0x41c011[_0xeddc('0xf')](_0xeddc('0x31'))){if(_0x44e0a8[_0xeddc('0x32')](_0x41c011['app'][_0xeddc('0x27')]())>=0x0&&_0x41c011['appType']!==_0xeddc('0x33')){if(_0x41c011[_0xeddc('0x31')]){_0x11ef4c[_0xeddc('0x12')]({'type':_0x41c011[_0xeddc('0x13')],'app':_0xeddc('0x2f'),'appdata':_0xeddc('0x34'),'context':_0x41c011[_0xeddc('0x16')],'exten':_0x41c011[_0xeddc('0x9')],'priority':_0x2c7181[_0xeddc('0x26')]+_0x5a5d75['priority']+_0x11b4fd++,'VoiceExtensionId':_0x41c011[_0xeddc('0x1a')]});_0x11ef4c[_0xeddc('0x12')]({'type':_0x41c011['type'],'app':'Set','appdata':'XCALLY-MOTION-ANSWER=1','context':_0x41c011[_0xeddc('0x16')],'exten':_0x41c011[_0xeddc('0x9')],'priority':_0x2c7181[_0xeddc('0x26')]+_0x5a5d75[_0xeddc('0x19')]+_0x11b4fd++,'VoiceExtensionId':_0x41c011[_0xeddc('0x1a')]});}else{_0x11ef4c['push']({'type':_0x41c011[_0xeddc('0x13')],'app':_0xeddc('0x2f'),'appdata':_0xeddc('0x35'),'context':_0x41c011[_0xeddc('0x16')],'exten':_0x41c011['exten'],'priority':_0x2c7181[_0xeddc('0x26')]+_0x5a5d75['priority']+_0x11b4fd++,'VoiceExtensionId':_0x41c011[_0xeddc('0x1a')]});_0x11ef4c[_0xeddc('0x12')]({'type':_0x41c011[_0xeddc('0x13')],'app':_0xeddc('0x14'),'appdata':_0xeddc('0x36'),'context':_0x41c011[_0xeddc('0x16')],'exten':_0x41c011[_0xeddc('0x9')],'priority':_0x2c7181['length']+_0x5a5d75[_0xeddc('0x19')]+_0x11b4fd++,'VoiceExtensionId':_0x41c011[_0xeddc('0x1a')]});}}}for(var _0x168ad1=0x0;_0x168ad1<_0x2c7181[_0xeddc('0x26')];_0x168ad1+=0x1){var _0x5bdcc6=_0x5a5d75[_0xeddc('0x19')]+_0x2c7181[_0xeddc('0x26')];var _0x528ec6=_0x168ad1===_0x2c7181['length']-0x1?_0x5a5d75['priority']+_0x11ef4c[_0xeddc('0x26')]+_0xf4d4db[_0xeddc('0x26')]+0x2:_0x5a5d75[_0xeddc('0x19')]+_0x168ad1+0x1;_0x11ef4c[_0xeddc('0x37')](_0x168ad1,0x0,{'type':_0x41c011['type'],'app':_0xeddc('0x38'),'appdata':_0x2c7181[_0x168ad1]+'?'+_0x41c011[_0xeddc('0x16')]+_0xeddc('0x39')+_0x5bdcc6+':'+_0x41c011[_0xeddc('0x16')]+',${EXTEN},'+_0x528ec6,'exten':_0x41c011[_0xeddc('0x9')],'context':_0x41c011[_0xeddc('0x16')],'priority':_0x5a5d75[_0xeddc('0x19')]+_0x168ad1,'VoiceExtensionId':_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]});}_0x41c011['priority']=_0x11ef4c[_0xeddc('0x26')]?_['last'](_0x11ef4c)['priority']+0x1:_0x5a5d75[_0xeddc('0x19')];_0x5a5d75[_0xeddc('0x19')]=(_0xf4d4db[_0xeddc('0x26')]?_[_0xeddc('0x3a')](_0xf4d4db)[_0xeddc('0x19')]:_0x41c011[_0xeddc('0x19')])+0x1;_0x5a5d75[_0xeddc('0x10')]=_[_0xeddc('0x3b')](_0x5a5d75[_0xeddc('0x10')],_0x11ef4c,[_0x41c011],_0xf4d4db);}_0x5a5d75['extensions'][_0xeddc('0x12')]({'type':_0x26ee12[_0x12e027][0x0]['type'],'app':_0xeddc('0x3c'),'exten':_0x26ee12[_0x12e027][0x0]['exten'],'context':_0x26ee12[_0x12e027][0x0][_0xeddc('0x16')],'priority':_0x5a5d75[_0xeddc('0x19')],'VoiceExtensionId':_0x26ee12[_0x12e027][0x0]['VoiceExtensionId']});_0x1157e2['push'](_0x26ee12[_0x12e027][0x0][_0xeddc('0x1a')]);_0x4025c7=_['concat'](_0x4025c7,_0x5a5d75[_0xeddc('0x10')]);}}return _0x4bab5c[_0xeddc('0x3d')](function(_0x3e913b){return _0x4bab5c[_0xeddc('0x2')][_0xeddc('0x6')][_0xeddc('0x3e')]({'where':{'VoiceExtensionId':{'$in':_0x1157e2}},'transaction':_0x3e913b})[_0xeddc('0x4')](function(_0x2bd7b1){return _0x4bab5c[_0xeddc('0x2')][_0xeddc('0x6')][_0xeddc('0x3f')](_['sortBy'](_0x4025c7,_0xeddc('0x19')),{'transaction':_0x3e913b});});});})[_0xeddc('0x40')](function(_0x45e61f){console['error'](_0x45e61f);});}exports['rewrite']=rewrite;