Built motion from commit fade34fd.|2.5.41
[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 _0xe5d3=['GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','bulkCreate','sortBy','error','lodash','util','models','Interval','findAll','intervals','VoiceExtension','IntervalId','then','uniq','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','queue','playback','hasOwnProperty','priority','extension','find','extensions','push','Set','format','CDR(type)=%s','type','context','CDR(routeid)=','VoiceExtensionId','outbound','CDR(destination)=','cutdigits','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','updatedAt','*,*,*,*','interval','map','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','ExecIf','indexOf','app','custom','answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice'];(function(_0x416a0a,_0x24f91f){var _0x574c9f=function(_0x44b83e){while(--_0x44b83e){_0x416a0a['push'](_0x416a0a['shift']());}};_0x574c9f(++_0x24f91f);}(_0xe5d3,0x1b3));var _0x3e5d=function(_0x3ccea2,_0x624323){_0x3ccea2=_0x3ccea2-0x0;var _0xeb988=_0xe5d3[_0x3ccea2];return _0xeb988;};'use strict';var _=require(_0x3e5d('0x0'));var util=require(_0x3e5d('0x1'));function rewrite(_0x5e07f1,_0x1feed6){var _0x5b4356=this;return _0x5e07f1[_0x3e5d('0x2')][_0x3e5d('0x3')][_0x3e5d('0x4')]({'raw':!![]})['then'](function(_0x37036f){_0x5b4356[_0x3e5d('0x5')]=_0x37036f;return _0x5e07f1['models'][_0x3e5d('0x6')][_0x3e5d('0x4')]({'where':{'IntervalId':_0x1feed6[_0x3e5d('0x7')]},'raw':!![]});})[_0x3e5d('0x8')](function(_0x8f921c){return _0x5e07f1[_0x3e5d('0x2')][_0x3e5d('0x6')]['findAll']({'where':{'exten':{'$in':_[_0x3e5d('0x9')](_['map'](_0x8f921c,_0x3e5d('0xa')))}},'order':[{'raw':_0x3e5d('0xb')}],'raw':!![]});})[_0x3e5d('0x8')](function(_0x5666d0){var _0x39caaf=_['filter'](_0x5666d0,{'priority':'1'});var _0x13a2dd=_[_0x3e5d('0xc')](_0x5666d0,{'isApp':0x1});var _0x495cc1=_['groupBy'](_0x13a2dd,_0x3e5d('0xa'));var _0x1ea68c=[_0x3e5d('0xd'),_0x3e5d('0xe')];var _0x13c25a=[];var _0x4fa908=[];for(var _0xbd3972 in _0x495cc1){if(_0x495cc1[_0x3e5d('0xf')](_0xbd3972)){_0x5b4356[_0x3e5d('0x10')]=0x2;_0x5b4356['extensions']=[];_0x5b4356[_0x3e5d('0x11')]=_[_0x3e5d('0x12')](_0x39caaf,{'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')]});_0x5b4356[_0x3e5d('0x13')][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0]['type'],'app':_0x3e5d('0x15'),'appdata':util[_0x3e5d('0x16')](_0x3e5d('0x17'),_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')]),'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'priority':_0x5b4356[_0x3e5d('0x10')]++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0]['VoiceExtensionId']});if(_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')]==='inbound'){_0x5b4356[_0x3e5d('0x13')]['push']({'type':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')],'app':'Set','appdata':_0x3e5d('0x1a')+_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')],'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0]['exten'],'priority':_0x5b4356[_0x3e5d('0x10')]++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0]['VoiceExtensionId']});}else if(_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')]===_0x3e5d('0x1c')){if(_0x5b4356[_0x3e5d('0x11')]){_0x5b4356[_0x3e5d('0x13')][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0]['type'],'app':'Set','appdata':_0x3e5d('0x1d')+(_0x5b4356[_0x3e5d('0x11')][_0x3e5d('0x1e')]?'${EXTEN:'+_0x5b4356[_0x3e5d('0x11')][_0x3e5d('0x1e')]+'}':'${EXTEN}'),'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'priority':_0x5b4356[_0x3e5d('0x10')]++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});}_0x5b4356[_0x3e5d('0x13')]['push']({'type':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')],'app':_0x3e5d('0x15'),'appdata':_0x3e5d('0x1a')+_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')],'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0]['exten'],'priority':_0x5b4356[_0x3e5d('0x10')]++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});var _0x2c8aca=_0x5b4356[_0x3e5d('0x10')]++;_0x5b4356[_0x3e5d('0x13')][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')],'app':'ExecIf','appdata':_0x3e5d('0x1f')+(_0x2c8aca+0x2)+_0x3e5d('0x20')+(_0x2c8aca+0x1)+')','context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'priority':_0x2c8aca,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});if(_0x5b4356['extension']){_0x5b4356[_0x3e5d('0x13')][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')],'app':_0x3e5d('0x15'),'appdata':_0x5b4356[_0x3e5d('0x11')][_0x3e5d('0x1e')]?'CDR(prefix)=${EXTEN:0:'+_0x5b4356[_0x3e5d('0x11')]['cutdigits']+'}':_0x3e5d('0x21'),'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'priority':_0x5b4356['priority']++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0]['VoiceExtensionId']});}_0x5b4356['extensions'][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')],'app':_0x3e5d('0x15'),'appdata':_0x3e5d('0x22')+_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')],'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0]['exten'],'priority':_0x5b4356[_0x3e5d('0x10')]++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});if(_0x5b4356['extension']&&_0x5b4356[_0x3e5d('0x11')][_0x3e5d('0xf')]('recordingFormat')&&_0x5b4356[_0x3e5d('0x11')][_0x3e5d('0x23')]!==_0x3e5d('0x24')){_0x5b4356['extensions'][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0]['type'],'app':_0x3e5d('0x15'),'appdata':_0x3e5d('0x25'),'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'priority':_0x5b4356['priority']++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});_0x5b4356['extensions'][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0]['type'],'app':'Set','appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x5b4356[_0x3e5d('0x11')][_0x3e5d('0x23')]||_0x3e5d('0x26'),'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'priority':_0x5b4356[_0x3e5d('0x10')]++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0]['VoiceExtensionId']});}}_0x5b4356[_0x3e5d('0x13')][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')],'app':'Set','appdata':_0x3e5d('0x27'),'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'priority':_0x5b4356[_0x3e5d('0x10')]++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});_0x5b4356[_0x3e5d('0x13')][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0]['type'],'app':'Set','appdata':_0x3e5d('0x28'),'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'priority':_0x5b4356['priority']++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});_0x5b4356[_0x3e5d('0x13')][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0]['type'],'app':_0x3e5d('0x15'),'appdata':_0x3e5d('0x29'),'context':_0x495cc1[_0xbd3972][0x0]['context'],'exten':_0x495cc1[_0xbd3972][0x0]['exten'],'priority':_0x5b4356[_0x3e5d('0x10')]++,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});for(var _0x2cae26=0x0,_0x194030=0x0;_0x2cae26<_0x495cc1[_0xbd3972][_0x3e5d('0x2a')];_0x2cae26+=0x1,_0x194030=0x0){var _0x4102db=_0x495cc1[_0xbd3972][_0x2cae26];if(_0x4102db[_0x3e5d('0x18')]){_0x4102db[_0x3e5d('0x18')]=_0x4102db['type'][_0x3e5d('0x2b')]();}var _0x10d208=[];var _0x3a3ff5=[];delete _0x4102db['id'];delete _0x4102db[_0x3e5d('0x2c')];delete _0x4102db[_0x3e5d('0x2d')];var _0x573d70=_0x4102db['interval']!==_0x3e5d('0x2e')?[_0x4102db[_0x3e5d('0x2f')]]:_0x4102db[_0x3e5d('0x7')]?_[_0x3e5d('0x30')](_['filter'](_0x5b4356[_0x3e5d('0x5')],{'IntervalId':_0x4102db['IntervalId']}),_0x3e5d('0x2f')):[];if(_0x4102db[_0x3e5d('0xf')](_0x3e5d('0x31'))){if(_0x4102db['tag']&&_0x4102db[_0x3e5d('0x31')]!=='--'){_0x10d208[_0x3e5d('0x14')]({'type':_0x4102db[_0x3e5d('0x18')],'app':_0x3e5d('0x15'),'appdata':_0x3e5d('0x32')+_0x4102db[_0x3e5d('0x31')],'context':_0x4102db['context'],'exten':_0x4102db['exten'],'priority':_0x573d70[_0x3e5d('0x2a')]+_0x5b4356[_0x3e5d('0x10')]+_0x194030++,'VoiceExtensionId':_0x4102db['VoiceExtensionId']});}}if(_0x4102db['type']===_0x3e5d('0x1c')&&_0x4102db[_0x3e5d('0xf')](_0x3e5d('0x33'))){if(_0x4102db[_0x3e5d('0x33')]){_0x10d208[_0x3e5d('0x14')]({'type':_0x4102db[_0x3e5d('0x18')],'app':'ExecIf','appdata':_0x3e5d('0x34')+_0x4102db[_0x3e5d('0x33')]+')','context':_0x4102db[_0x3e5d('0x19')],'exten':_0x4102db[_0x3e5d('0xa')],'priority':_0x573d70[_0x3e5d('0x2a')]+_0x5b4356[_0x3e5d('0x10')]+_0x194030++,'VoiceExtensionId':_0x4102db[_0x3e5d('0x1b')]});}else{_0x10d208[_0x3e5d('0x14')]({'type':_0x4102db['type'],'app':_0x3e5d('0x35'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x4102db['context'],'exten':_0x4102db['exten'],'priority':_0x573d70[_0x3e5d('0x2a')]+_0x5b4356[_0x3e5d('0x10')]+_0x194030++,'VoiceExtensionId':_0x4102db[_0x3e5d('0x1b')]});}}if(_0x4102db['hasOwnProperty']('answer')){if(_0x1ea68c[_0x3e5d('0x36')](_0x4102db[_0x3e5d('0x37')][_0x3e5d('0x2b')]())>=0x0&&_0x4102db['appType']!==_0x3e5d('0x38')){if(_0x4102db[_0x3e5d('0x39')]){_0x10d208[_0x3e5d('0x14')]({'type':_0x4102db['type'],'app':_0x3e5d('0x35'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x4102db[_0x3e5d('0x19')],'exten':_0x4102db[_0x3e5d('0xa')],'priority':_0x573d70[_0x3e5d('0x2a')]+_0x5b4356[_0x3e5d('0x10')]+_0x194030++,'VoiceExtensionId':_0x4102db[_0x3e5d('0x1b')]});_0x10d208[_0x3e5d('0x14')]({'type':_0x4102db['type'],'app':_0x3e5d('0x15'),'appdata':_0x3e5d('0x3a'),'context':_0x4102db['context'],'exten':_0x4102db['exten'],'priority':_0x573d70['length']+_0x5b4356['priority']+_0x194030++,'VoiceExtensionId':_0x4102db[_0x3e5d('0x1b')]});}else{_0x10d208['push']({'type':_0x4102db[_0x3e5d('0x18')],'app':_0x3e5d('0x35'),'appdata':_0x3e5d('0x3b'),'context':_0x4102db[_0x3e5d('0x19')],'exten':_0x4102db[_0x3e5d('0xa')],'priority':_0x573d70[_0x3e5d('0x2a')]+_0x5b4356[_0x3e5d('0x10')]+_0x194030++,'VoiceExtensionId':_0x4102db['VoiceExtensionId']});_0x10d208[_0x3e5d('0x14')]({'type':_0x4102db[_0x3e5d('0x18')],'app':_0x3e5d('0x15'),'appdata':_0x3e5d('0x3c'),'context':_0x4102db['context'],'exten':_0x4102db[_0x3e5d('0xa')],'priority':_0x573d70[_0x3e5d('0x2a')]+_0x5b4356[_0x3e5d('0x10')]+_0x194030++,'VoiceExtensionId':_0x4102db['VoiceExtensionId']});}}}for(var _0x5084c6=0x0;_0x5084c6<_0x573d70[_0x3e5d('0x2a')];_0x5084c6+=0x1){var _0x3bf291=_0x5b4356[_0x3e5d('0x10')]+_0x573d70[_0x3e5d('0x2a')];var _0x88c972=_0x5084c6===_0x573d70[_0x3e5d('0x2a')]-0x1?_0x5b4356[_0x3e5d('0x10')]+_0x10d208[_0x3e5d('0x2a')]+_0x3a3ff5[_0x3e5d('0x2a')]+0x2:_0x5b4356[_0x3e5d('0x10')]+_0x5084c6+0x1;_0x10d208[_0x3e5d('0x3d')](_0x5084c6,0x0,{'type':_0x4102db['type'],'app':_0x3e5d('0x3e'),'appdata':_0x573d70[_0x5084c6]+'?'+_0x4102db['context']+_0x3e5d('0x3f')+_0x3bf291+':'+_0x4102db[_0x3e5d('0x19')]+_0x3e5d('0x3f')+_0x88c972,'exten':_0x4102db[_0x3e5d('0xa')],'context':_0x4102db[_0x3e5d('0x19')],'priority':_0x5b4356['priority']+_0x5084c6,'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});}_0x4102db['priority']=_0x10d208[_0x3e5d('0x2a')]?_[_0x3e5d('0x40')](_0x10d208)[_0x3e5d('0x10')]+0x1:_0x5b4356[_0x3e5d('0x10')];_0x5b4356['priority']=(_0x3a3ff5[_0x3e5d('0x2a')]?_[_0x3e5d('0x40')](_0x3a3ff5)[_0x3e5d('0x10')]:_0x4102db[_0x3e5d('0x10')])+0x1;_0x5b4356['extensions']=_[_0x3e5d('0x41')](_0x5b4356[_0x3e5d('0x13')],_0x10d208,[_0x4102db],_0x3a3ff5);}_0x5b4356[_0x3e5d('0x13')][_0x3e5d('0x14')]({'type':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x18')],'app':_0x3e5d('0x42'),'exten':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0xa')],'context':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x19')],'priority':_0x5b4356[_0x3e5d('0x10')],'VoiceExtensionId':_0x495cc1[_0xbd3972][0x0][_0x3e5d('0x1b')]});_0x13c25a['push'](_0x495cc1[_0xbd3972][0x0]['VoiceExtensionId']);_0x4fa908=_['concat'](_0x4fa908,_0x5b4356['extensions']);}}return _0x5e07f1[_0x3e5d('0x43')](function(_0x501efe){return _0x5e07f1[_0x3e5d('0x2')][_0x3e5d('0x6')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x13c25a}},'transaction':_0x501efe})[_0x3e5d('0x8')](function(_0xc671cb){return _0x5e07f1[_0x3e5d('0x2')]['VoiceExtension'][_0x3e5d('0x44')](_[_0x3e5d('0x45')](_0x4fa908,_0x3e5d('0x10')),{'transaction':_0x501efe});});});})['catch'](function(_0x4397b6){console[_0x3e5d('0x46')](_0x4397b6);});}exports['rewrite']=rewrite;