c7bd330d80fd472f864ebe13b106f6f2f60a4248
[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 _0x0a16=['answer','indexOf','app','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','GotoIfTime',',${EXTEN},','last','Hangup','concat','destroy','bulkCreate','sortBy','catch','error','rewrite','lodash','util','Interval','findAll','then','intervals','models','VoiceExtension','uniq','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','priority','extensions','find','push','type','Set','format','CDR(type)=%s','context','VoiceExtensionId','outbound','extension','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','CDR(routeid)=','ExecIf','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','XCALLY-MOTION-PROGRESS=0','length','toLowerCase','updatedAt','interval','*,*,*,*','map','IntervalId','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)'];(function(_0x18aa57,_0x4d93fd){var _0x16f27f=function(_0x443679){while(--_0x443679){_0x18aa57['push'](_0x18aa57['shift']());}};_0x16f27f(++_0x4d93fd);}(_0x0a16,0x160));var _0x60a1=function(_0x43ccac,_0x2c7511){_0x43ccac=_0x43ccac-0x0;var _0x384b91=_0x0a16[_0x43ccac];return _0x384b91;};'use strict';var _=require(_0x60a1('0x0'));var util=require(_0x60a1('0x1'));function rewrite(_0x3d986f,_0x538752){var _0x11d2b7=this;return _0x3d986f['models'][_0x60a1('0x2')][_0x60a1('0x3')]({'raw':!![]})[_0x60a1('0x4')](function(_0x5efd30){_0x11d2b7[_0x60a1('0x5')]=_0x5efd30;return _0x3d986f['models']['VoiceExtension'][_0x60a1('0x3')]({'where':{'IntervalId':_0x538752['IntervalId']},'raw':!![]});})['then'](function(_0x558006){return _0x3d986f[_0x60a1('0x6')][_0x60a1('0x7')][_0x60a1('0x3')]({'where':{'exten':{'$in':_[_0x60a1('0x8')](_['map'](_0x558006,_0x60a1('0x9')))}},'order':[{'raw':_0x60a1('0xa')}],'raw':!![]});})[_0x60a1('0x4')](function(_0x2f2ab9){var _0x4d43d0=_[_0x60a1('0xb')](_0x2f2ab9,{'priority':'1'});var _0x1980d0=_[_0x60a1('0xb')](_0x2f2ab9,{'isApp':0x1});var _0x37aa27=_[_0x60a1('0xc')](_0x1980d0,_0x60a1('0x9'));var _0xdc54a6=[_0x60a1('0xd'),_0x60a1('0xe')];var _0x616ff8=[];var _0x31779b=[];for(var _0x5f3af3 in _0x37aa27){if(_0x37aa27[_0x60a1('0xf')](_0x5f3af3)){_0x11d2b7[_0x60a1('0x10')]=0x2;_0x11d2b7[_0x60a1('0x11')]=[];_0x11d2b7['extension']=_[_0x60a1('0x12')](_0x4d43d0,{'exten':_0x37aa27[_0x5f3af3][0x0]['exten']});_0x11d2b7[_0x60a1('0x11')][_0x60a1('0x13')]({'type':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':util[_0x60a1('0x16')](_0x60a1('0x17'),_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')]),'context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7[_0x60a1('0x10')]++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});if(_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')]===_0x60a1('0x1a')){if(_0x11d2b7[_0x60a1('0x1b')]){_0x11d2b7[_0x60a1('0x11')]['push']({'type':_0x37aa27[_0x5f3af3][0x0]['type'],'app':'Set','appdata':_0x60a1('0x1c')+(_0x11d2b7['extension'][_0x60a1('0x1d')]?_0x60a1('0x1e')+_0x11d2b7['extension'][_0x60a1('0x1d')]+'}':_0x60a1('0x1f')),'context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7['priority']++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});}_0x11d2b7['extensions']['push']({'type':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':_0x60a1('0x20')+_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')],'context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7['priority']++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});var _0x41a62d=_0x11d2b7['priority']++;_0x11d2b7[_0x60a1('0x11')]['push']({'type':_0x37aa27[_0x5f3af3][0x0]['type'],'app':_0x60a1('0x21'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x41a62d+0x2)+'):Goto('+(_0x41a62d+0x1)+')','context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x41a62d,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});if(_0x11d2b7[_0x60a1('0x1b')]){_0x11d2b7['extensions'][_0x60a1('0x13')]({'type':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')],'app':'Set','appdata':_0x11d2b7[_0x60a1('0x1b')][_0x60a1('0x1d')]?_0x60a1('0x22')+_0x11d2b7['extension']['cutdigits']+'}':'CDR(prefix)=noprefix','context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7['priority']++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});}_0x11d2b7['extensions'][_0x60a1('0x13')]({'type':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':_0x60a1('0x23')+_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')],'context':_0x37aa27[_0x5f3af3][0x0]['context'],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7[_0x60a1('0x10')]++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0]['VoiceExtensionId']});if(_0x11d2b7[_0x60a1('0x1b')]&&_0x11d2b7[_0x60a1('0x1b')][_0x60a1('0xf')](_0x60a1('0x24'))&&_0x11d2b7[_0x60a1('0x1b')][_0x60a1('0x24')]!=='none'){_0x11d2b7['extensions']['push']({'type':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':_0x60a1('0x25'),'context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7[_0x60a1('0x10')]++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});_0x11d2b7[_0x60a1('0x11')][_0x60a1('0x13')]({'type':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x11d2b7[_0x60a1('0x1b')][_0x60a1('0x24')]||'wav','context':_0x37aa27[_0x5f3af3][0x0]['context'],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7[_0x60a1('0x10')]++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});}}_0x11d2b7[_0x60a1('0x11')]['push']({'type':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'exten':_0x37aa27[_0x5f3af3][0x0]['exten'],'priority':_0x11d2b7[_0x60a1('0x10')]++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0]['VoiceExtensionId']});_0x11d2b7['extensions']['push']({'type':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':_0x60a1('0x26'),'context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7[_0x60a1('0x10')]++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0]['VoiceExtensionId']});_0x11d2b7[_0x60a1('0x11')]['push']({'type':_0x37aa27[_0x5f3af3][0x0]['type'],'app':_0x60a1('0x15'),'appdata':'MONITOR_OPTIONS=ab','context':_0x37aa27[_0x5f3af3][0x0]['context'],'exten':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x9')],'priority':_0x11d2b7[_0x60a1('0x10')]++,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0]['VoiceExtensionId']});for(var _0xf9e8b1=0x0,_0x2a4462=0x0;_0xf9e8b1<_0x37aa27[_0x5f3af3][_0x60a1('0x27')];_0xf9e8b1+=0x1,_0x2a4462=0x0){var _0xc1f1df=_0x37aa27[_0x5f3af3][_0xf9e8b1];if(_0xc1f1df['type']){_0xc1f1df[_0x60a1('0x14')]=_0xc1f1df['type'][_0x60a1('0x28')]();}var _0x19fd28=[];var _0x441cc4=[];delete _0xc1f1df['id'];delete _0xc1f1df['createdAt'];delete _0xc1f1df[_0x60a1('0x29')];var _0xc120f2=_0xc1f1df[_0x60a1('0x2a')]!==_0x60a1('0x2b')?[_0xc1f1df[_0x60a1('0x2a')]]:_0xc1f1df['IntervalId']?_[_0x60a1('0x2c')](_[_0x60a1('0xb')](_0x11d2b7['intervals'],{'IntervalId':_0xc1f1df[_0x60a1('0x2d')]}),_0x60a1('0x2a')):[];if(_0xc1f1df[_0x60a1('0xf')](_0x60a1('0x2e'))){if(_0xc1f1df[_0x60a1('0x2e')]&&_0xc1f1df[_0x60a1('0x2e')]!=='--'){_0x19fd28[_0x60a1('0x13')]({'type':_0xc1f1df[_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':_0x60a1('0x2f')+_0xc1f1df[_0x60a1('0x2e')],'context':_0xc1f1df['context'],'exten':_0xc1f1df[_0x60a1('0x9')],'priority':_0xc120f2[_0x60a1('0x27')]+_0x11d2b7['priority']+_0x2a4462++,'VoiceExtensionId':_0xc1f1df[_0x60a1('0x19')]});}}if(_0xc1f1df['type']===_0x60a1('0x1a')&&_0xc1f1df[_0x60a1('0xf')](_0x60a1('0x30'))){if(_0xc1f1df['callerID']){_0x19fd28['push']({'type':_0xc1f1df[_0x60a1('0x14')],'app':_0x60a1('0x21'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0xc1f1df[_0x60a1('0x30')]+')','context':_0xc1f1df[_0x60a1('0x18')],'exten':_0xc1f1df[_0x60a1('0x9')],'priority':_0xc120f2['length']+_0x11d2b7[_0x60a1('0x10')]+_0x2a4462++,'VoiceExtensionId':_0xc1f1df[_0x60a1('0x19')]});}else{_0x19fd28[_0x60a1('0x13')]({'type':_0xc1f1df[_0x60a1('0x14')],'app':_0x60a1('0x21'),'appdata':_0x60a1('0x31'),'context':_0xc1f1df[_0x60a1('0x18')],'exten':_0xc1f1df[_0x60a1('0x9')],'priority':_0xc120f2[_0x60a1('0x27')]+_0x11d2b7[_0x60a1('0x10')]+_0x2a4462++,'VoiceExtensionId':_0xc1f1df[_0x60a1('0x19')]});}}if(_0xc1f1df[_0x60a1('0xf')](_0x60a1('0x32'))){if(_0xdc54a6[_0x60a1('0x33')](_0xc1f1df[_0x60a1('0x34')][_0x60a1('0x28')]())>=0x0&&_0xc1f1df['appType']!=='custom'){if(_0xc1f1df[_0x60a1('0x32')]){_0x19fd28[_0x60a1('0x13')]({'type':_0xc1f1df[_0x60a1('0x14')],'app':_0x60a1('0x21'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0xc1f1df[_0x60a1('0x18')],'exten':_0xc1f1df[_0x60a1('0x9')],'priority':_0xc120f2[_0x60a1('0x27')]+_0x11d2b7[_0x60a1('0x10')]+_0x2a4462++,'VoiceExtensionId':_0xc1f1df[_0x60a1('0x19')]});_0x19fd28['push']({'type':_0xc1f1df[_0x60a1('0x14')],'app':_0x60a1('0x15'),'appdata':_0x60a1('0x35'),'context':_0xc1f1df['context'],'exten':_0xc1f1df[_0x60a1('0x9')],'priority':_0xc120f2[_0x60a1('0x27')]+_0x11d2b7[_0x60a1('0x10')]+_0x2a4462++,'VoiceExtensionId':_0xc1f1df[_0x60a1('0x19')]});}else{_0x19fd28[_0x60a1('0x13')]({'type':_0xc1f1df[_0x60a1('0x14')],'app':_0x60a1('0x21'),'appdata':_0x60a1('0x36'),'context':_0xc1f1df[_0x60a1('0x18')],'exten':_0xc1f1df[_0x60a1('0x9')],'priority':_0xc120f2[_0x60a1('0x27')]+_0x11d2b7[_0x60a1('0x10')]+_0x2a4462++,'VoiceExtensionId':_0xc1f1df[_0x60a1('0x19')]});_0x19fd28['push']({'type':_0xc1f1df[_0x60a1('0x14')],'app':'Set','appdata':_0x60a1('0x37'),'context':_0xc1f1df[_0x60a1('0x18')],'exten':_0xc1f1df[_0x60a1('0x9')],'priority':_0xc120f2[_0x60a1('0x27')]+_0x11d2b7[_0x60a1('0x10')]+_0x2a4462++,'VoiceExtensionId':_0xc1f1df['VoiceExtensionId']});}}}for(var _0x2a6a43=0x0;_0x2a6a43<_0xc120f2['length'];_0x2a6a43+=0x1){var _0x1b8bae=_0x11d2b7['priority']+_0xc120f2['length'];var _0x201e9c=_0x2a6a43===_0xc120f2[_0x60a1('0x27')]-0x1?_0x11d2b7[_0x60a1('0x10')]+_0x19fd28[_0x60a1('0x27')]+_0x441cc4[_0x60a1('0x27')]+0x2:_0x11d2b7[_0x60a1('0x10')]+_0x2a6a43+0x1;_0x19fd28['splice'](_0x2a6a43,0x0,{'type':_0xc1f1df[_0x60a1('0x14')],'app':_0x60a1('0x38'),'appdata':_0xc120f2[_0x2a6a43]+'?'+_0xc1f1df[_0x60a1('0x18')]+_0x60a1('0x39')+_0x1b8bae+':'+_0xc1f1df[_0x60a1('0x18')]+_0x60a1('0x39')+_0x201e9c,'exten':_0xc1f1df[_0x60a1('0x9')],'context':_0xc1f1df[_0x60a1('0x18')],'priority':_0x11d2b7[_0x60a1('0x10')]+_0x2a6a43,'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});}_0xc1f1df[_0x60a1('0x10')]=_0x19fd28['length']?_[_0x60a1('0x3a')](_0x19fd28)['priority']+0x1:_0x11d2b7['priority'];_0x11d2b7[_0x60a1('0x10')]=(_0x441cc4[_0x60a1('0x27')]?_[_0x60a1('0x3a')](_0x441cc4)[_0x60a1('0x10')]:_0xc1f1df[_0x60a1('0x10')])+0x1;_0x11d2b7[_0x60a1('0x11')]=_['concat'](_0x11d2b7[_0x60a1('0x11')],_0x19fd28,[_0xc1f1df],_0x441cc4);}_0x11d2b7['extensions']['push']({'type':_0x37aa27[_0x5f3af3][0x0]['type'],'app':_0x60a1('0x3b'),'exten':_0x37aa27[_0x5f3af3][0x0]['exten'],'context':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x18')],'priority':_0x11d2b7[_0x60a1('0x10')],'VoiceExtensionId':_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]});_0x616ff8['push'](_0x37aa27[_0x5f3af3][0x0][_0x60a1('0x19')]);_0x31779b=_[_0x60a1('0x3c')](_0x31779b,_0x11d2b7[_0x60a1('0x11')]);}}return _0x3d986f['transaction'](function(_0x335194){return _0x3d986f[_0x60a1('0x6')][_0x60a1('0x7')][_0x60a1('0x3d')]({'where':{'VoiceExtensionId':{'$in':_0x616ff8}},'transaction':_0x335194})[_0x60a1('0x4')](function(_0x2fbbbf){return _0x3d986f[_0x60a1('0x6')][_0x60a1('0x7')][_0x60a1('0x3e')](_[_0x60a1('0x3f')](_0x31779b,_0x60a1('0x10')),{'transaction':_0x335194});});});})[_0x60a1('0x40')](function(_0x15de3a){console[_0x60a1('0x41')](_0x15de3a);});}exports[_0x60a1('0x42')]=rewrite;