7afdebc7846fcd3ddeb2b7310ca378a46b9f4e0d
[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 _0xdbb7=['$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','app','toLowerCase','custom','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1',',${EXTEN},','last','Hangup','concat','transaction','destroy','bulkCreate','catch','error','rewrite','util','models','Interval','then','intervals','VoiceExtension','findAll','IntervalId','map','CAST(priority\x20AS\x20UNSIGNED)','filter','exten','playback','hasOwnProperty','extensions','type','Set','format','CDR(type)=%s','context','priority','VoiceExtensionId','outbound','CDR(destination)=','extension','cutdigits','push','CDR(routeid)=','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','createdAt','updatedAt','*,*,*,*','interval','tag','CDR(tag)=','callerID','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='];(function(_0x4c5713,_0x1517cf){var _0x46089c=function(_0x37c368){while(--_0x37c368){_0x4c5713['push'](_0x4c5713['shift']());}};_0x46089c(++_0x1517cf);}(_0xdbb7,0x9d));var _0x7dbb=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xdbb7[_0x14add3];return _0x4a174f;};'use strict';var _=require('lodash');var util=require(_0x7dbb('0x0'));function rewrite(_0xcdfc9b,_0x3be8bb){var _0x3d858e=this;return _0xcdfc9b[_0x7dbb('0x1')][_0x7dbb('0x2')]['findAll']({'raw':!![]})[_0x7dbb('0x3')](function(_0x856c9c){_0x3d858e[_0x7dbb('0x4')]=_0x856c9c;return _0xcdfc9b[_0x7dbb('0x1')][_0x7dbb('0x5')][_0x7dbb('0x6')]({'where':{'IntervalId':_0x3be8bb[_0x7dbb('0x7')]},'raw':!![]});})[_0x7dbb('0x3')](function(_0x4d709f){return _0xcdfc9b['models'][_0x7dbb('0x5')]['findAll']({'where':{'exten':{'$in':_['uniq'](_[_0x7dbb('0x8')](_0x4d709f,'exten'))}},'order':[{'raw':_0x7dbb('0x9')}],'raw':!![]});})[_0x7dbb('0x3')](function(_0x253e5a){var _0x2700ef=_[_0x7dbb('0xa')](_0x253e5a,{'priority':'1'});var _0x28cbd6=_['filter'](_0x253e5a,{'isApp':0x1});var _0x475ce3=_['groupBy'](_0x28cbd6,_0x7dbb('0xb'));var _0x9aabdd=['queue',_0x7dbb('0xc')];var _0x1342b8=[];var _0x2ec426=[];for(var _0x16dadb in _0x475ce3){if(_0x475ce3[_0x7dbb('0xd')](_0x16dadb)){_0x3d858e['priority']=0x2;_0x3d858e[_0x7dbb('0xe')]=[];_0x3d858e['extension']=_['find'](_0x2700ef,{'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')]});_0x3d858e[_0x7dbb('0xe')]['push']({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':util[_0x7dbb('0x11')](_0x7dbb('0x12'),_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')]),'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});if(_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')]===_0x7dbb('0x16')){if(_0x3d858e['extension']){_0x3d858e[_0x7dbb('0xe')]['push']({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x17')+(_0x3d858e[_0x7dbb('0x18')][_0x7dbb('0x19')]?'${EXTEN:'+_0x3d858e[_0x7dbb('0x18')][_0x7dbb('0x19')]+'}':'${EXTEN}'),'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});}_0x3d858e['extensions'][_0x7dbb('0x1a')]({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x1b')+_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')],'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});var _0x1b6b49=_0x3d858e[_0x7dbb('0x14')]++;_0x3d858e['extensions'][_0x7dbb('0x1a')]({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':'ExecIf','appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x1b6b49+0x2)+_0x7dbb('0x1c')+(_0x1b6b49+0x1)+')','context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')],'priority':_0x1b6b49,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});if(_0x3d858e['extension']){_0x3d858e[_0x7dbb('0xe')][_0x7dbb('0x1a')]({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':_0x3d858e[_0x7dbb('0x18')][_0x7dbb('0x19')]?_0x7dbb('0x1d')+_0x3d858e[_0x7dbb('0x18')][_0x7dbb('0x19')]+'}':_0x7dbb('0x1e'),'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});}_0x3d858e[_0x7dbb('0xe')][_0x7dbb('0x1a')]({'type':_0x475ce3[_0x16dadb][0x0]['type'],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x1f')+_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')],'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});if(_0x3d858e['extension']&&_0x3d858e[_0x7dbb('0x18')][_0x7dbb('0xd')](_0x7dbb('0x20'))&&_0x3d858e[_0x7dbb('0x18')][_0x7dbb('0x20')]!==_0x7dbb('0x21')){_0x3d858e[_0x7dbb('0xe')][_0x7dbb('0x1a')]({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x22'),'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0]['exten'],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0]['VoiceExtensionId']});_0x3d858e[_0x7dbb('0xe')]['push']({'type':_0x475ce3[_0x16dadb][0x0]['type'],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x23')+_0x3d858e[_0x7dbb('0x18')][_0x7dbb('0x20')]||_0x7dbb('0x24'),'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});}}_0x3d858e[_0x7dbb('0xe')][_0x7dbb('0x1a')]({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x25'),'context':_0x475ce3[_0x16dadb][0x0]['context'],'exten':_0x475ce3[_0x16dadb][0x0]['exten'],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});_0x3d858e[_0x7dbb('0xe')]['push']({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':'Set','appdata':_0x7dbb('0x26'),'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xb')],'priority':_0x3d858e[_0x7dbb('0x14')]++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});_0x3d858e[_0x7dbb('0xe')][_0x7dbb('0x1a')]({'type':_0x475ce3[_0x16dadb][0x0]['type'],'app':'Set','appdata':_0x7dbb('0x27'),'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'exten':_0x475ce3[_0x16dadb][0x0]['exten'],'priority':_0x3d858e['priority']++,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});for(var _0x4299b3=0x0,_0x48390a=0x0;_0x4299b3<_0x475ce3[_0x16dadb][_0x7dbb('0x28')];_0x4299b3+=0x1,_0x48390a=0x0){var _0x176be1=_0x475ce3[_0x16dadb][_0x4299b3];if(_0x176be1[_0x7dbb('0xf')]){_0x176be1[_0x7dbb('0xf')]=_0x176be1[_0x7dbb('0xf')]['toLowerCase']();}var _0x3033bf=[];var _0x2050ba=[];delete _0x176be1['id'];delete _0x176be1[_0x7dbb('0x29')];delete _0x176be1[_0x7dbb('0x2a')];var _0x5198aa=_0x176be1['interval']!==_0x7dbb('0x2b')?[_0x176be1[_0x7dbb('0x2c')]]:_0x176be1[_0x7dbb('0x7')]?_[_0x7dbb('0x8')](_[_0x7dbb('0xa')](_0x3d858e[_0x7dbb('0x4')],{'IntervalId':_0x176be1[_0x7dbb('0x7')]}),_0x7dbb('0x2c')):[];if(_0x176be1[_0x7dbb('0xd')](_0x7dbb('0x2d'))){if(_0x176be1['tag']&&_0x176be1[_0x7dbb('0x2d')]!=='--'){_0x3033bf[_0x7dbb('0x1a')]({'type':_0x176be1[_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x2e')+_0x176be1[_0x7dbb('0x2d')],'context':_0x176be1['context'],'exten':_0x176be1[_0x7dbb('0xb')],'priority':_0x5198aa[_0x7dbb('0x28')]+_0x3d858e[_0x7dbb('0x14')]+_0x48390a++,'VoiceExtensionId':_0x176be1[_0x7dbb('0x15')]});}}if(_0x176be1[_0x7dbb('0xf')]===_0x7dbb('0x16')&&_0x176be1[_0x7dbb('0xd')](_0x7dbb('0x2f'))){if(_0x176be1[_0x7dbb('0x2f')]){_0x3033bf[_0x7dbb('0x1a')]({'type':_0x176be1['type'],'app':_0x7dbb('0x30'),'appdata':_0x7dbb('0x31')+_0x176be1[_0x7dbb('0x2f')]+')','context':_0x176be1[_0x7dbb('0x13')],'exten':_0x176be1['exten'],'priority':_0x5198aa[_0x7dbb('0x28')]+_0x3d858e[_0x7dbb('0x14')]+_0x48390a++,'VoiceExtensionId':_0x176be1[_0x7dbb('0x15')]});}else{_0x3033bf[_0x7dbb('0x1a')]({'type':_0x176be1[_0x7dbb('0xf')],'app':'ExecIf','appdata':_0x7dbb('0x32'),'context':_0x176be1[_0x7dbb('0x13')],'exten':_0x176be1[_0x7dbb('0xb')],'priority':_0x5198aa[_0x7dbb('0x28')]+_0x3d858e['priority']+_0x48390a++,'VoiceExtensionId':_0x176be1[_0x7dbb('0x15')]});}}if(_0x176be1[_0x7dbb('0xd')](_0x7dbb('0x33'))){if(_0x9aabdd[_0x7dbb('0x34')](_0x176be1[_0x7dbb('0x35')][_0x7dbb('0x36')]())>=0x0&&_0x176be1['appType']!==_0x7dbb('0x37')){if(_0x176be1[_0x7dbb('0x33')]){_0x3033bf['push']({'type':_0x176be1[_0x7dbb('0xf')],'app':'ExecIf','appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x176be1[_0x7dbb('0x13')],'exten':_0x176be1[_0x7dbb('0xb')],'priority':_0x5198aa['length']+_0x3d858e[_0x7dbb('0x14')]+_0x48390a++,'VoiceExtensionId':_0x176be1[_0x7dbb('0x15')]});_0x3033bf[_0x7dbb('0x1a')]({'type':_0x176be1[_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x38'),'context':_0x176be1[_0x7dbb('0x13')],'exten':_0x176be1[_0x7dbb('0xb')],'priority':_0x5198aa[_0x7dbb('0x28')]+_0x3d858e['priority']+_0x48390a++,'VoiceExtensionId':_0x176be1['VoiceExtensionId']});}else{_0x3033bf[_0x7dbb('0x1a')]({'type':_0x176be1[_0x7dbb('0xf')],'app':'ExecIf','appdata':_0x7dbb('0x39'),'context':_0x176be1[_0x7dbb('0x13')],'exten':_0x176be1[_0x7dbb('0xb')],'priority':_0x5198aa[_0x7dbb('0x28')]+_0x3d858e[_0x7dbb('0x14')]+_0x48390a++,'VoiceExtensionId':_0x176be1[_0x7dbb('0x15')]});_0x3033bf[_0x7dbb('0x1a')]({'type':_0x176be1[_0x7dbb('0xf')],'app':_0x7dbb('0x10'),'appdata':_0x7dbb('0x3a'),'context':_0x176be1[_0x7dbb('0x13')],'exten':_0x176be1['exten'],'priority':_0x5198aa['length']+_0x3d858e[_0x7dbb('0x14')]+_0x48390a++,'VoiceExtensionId':_0x176be1[_0x7dbb('0x15')]});}}}for(var _0x4b30ab=0x0;_0x4b30ab<_0x5198aa['length'];_0x4b30ab+=0x1){var _0x289a3d=_0x3d858e[_0x7dbb('0x14')]+_0x5198aa[_0x7dbb('0x28')];var _0x18c883=_0x4b30ab===_0x5198aa[_0x7dbb('0x28')]-0x1?_0x3d858e[_0x7dbb('0x14')]+_0x3033bf['length']+_0x2050ba[_0x7dbb('0x28')]+0x2:_0x3d858e[_0x7dbb('0x14')]+_0x4b30ab+0x1;_0x3033bf['splice'](_0x4b30ab,0x0,{'type':_0x176be1[_0x7dbb('0xf')],'app':'GotoIfTime','appdata':_0x5198aa[_0x4b30ab]+'?'+_0x176be1['context']+_0x7dbb('0x3b')+_0x289a3d+':'+_0x176be1['context']+_0x7dbb('0x3b')+_0x18c883,'exten':_0x176be1['exten'],'context':_0x176be1[_0x7dbb('0x13')],'priority':_0x3d858e[_0x7dbb('0x14')]+_0x4b30ab,'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});}_0x176be1[_0x7dbb('0x14')]=_0x3033bf[_0x7dbb('0x28')]?_[_0x7dbb('0x3c')](_0x3033bf)[_0x7dbb('0x14')]+0x1:_0x3d858e[_0x7dbb('0x14')];_0x3d858e[_0x7dbb('0x14')]=(_0x2050ba[_0x7dbb('0x28')]?_[_0x7dbb('0x3c')](_0x2050ba)[_0x7dbb('0x14')]:_0x176be1[_0x7dbb('0x14')])+0x1;_0x3d858e['extensions']=_['concat'](_0x3d858e[_0x7dbb('0xe')],_0x3033bf,[_0x176be1],_0x2050ba);}_0x3d858e['extensions']['push']({'type':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0xf')],'app':_0x7dbb('0x3d'),'exten':_0x475ce3[_0x16dadb][0x0]['exten'],'context':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x13')],'priority':_0x3d858e['priority'],'VoiceExtensionId':_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]});_0x1342b8[_0x7dbb('0x1a')](_0x475ce3[_0x16dadb][0x0][_0x7dbb('0x15')]);_0x2ec426=_[_0x7dbb('0x3e')](_0x2ec426,_0x3d858e[_0x7dbb('0xe')]);}}return _0xcdfc9b[_0x7dbb('0x3f')](function(_0x2b189a){return _0xcdfc9b[_0x7dbb('0x1')][_0x7dbb('0x5')][_0x7dbb('0x40')]({'where':{'VoiceExtensionId':{'$in':_0x1342b8}},'transaction':_0x2b189a})[_0x7dbb('0x3')](function(_0x1cef6a){return _0xcdfc9b[_0x7dbb('0x1')][_0x7dbb('0x5')][_0x7dbb('0x41')](_['sortBy'](_0x2ec426,_0x7dbb('0x14')),{'transaction':_0x2b189a});});});})[_0x7dbb('0x42')](function(_0x47ac09){console[_0x7dbb('0x43')](_0x47ac09);});}exports[_0x7dbb('0x44')]=rewrite;