Built motion from commit 9d7072cc.|2.5.39
[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 _0xca6a=['type','Set','format','CDR(type)=%s','context','VoiceExtensionId','inbound','CDR(routeid)=','outbound','extension','${EXTEN:','cutdigits','${EXTEN}','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','length','createdAt','updatedAt','interval','*,*,*,*','intervals','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','toLowerCase','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice','GotoIfTime','last','concat','Hangup','transaction','destroy','sortBy','error','rewrite','lodash','util','Interval','findAll','then','models','VoiceExtension','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','playback','hasOwnProperty','priority','extensions','push'];(function(_0x1e3c02,_0x5c07a2){var _0x4d26d7=function(_0x367ed9){while(--_0x367ed9){_0x1e3c02['push'](_0x1e3c02['shift']());}};_0x4d26d7(++_0x5c07a2);}(_0xca6a,0x19d));var _0xaca6=function(_0x17d9e3,_0x1f969c){_0x17d9e3=_0x17d9e3-0x0;var _0x14192d=_0xca6a[_0x17d9e3];return _0x14192d;};'use strict';var _=require(_0xaca6('0x0'));var util=require(_0xaca6('0x1'));function rewrite(_0x424e85,_0x166ea4){var _0x3fac7b=this;return _0x424e85['models'][_0xaca6('0x2')][_0xaca6('0x3')]({'raw':!![]})[_0xaca6('0x4')](function(_0x4c4627){_0x3fac7b['intervals']=_0x4c4627;return _0x424e85[_0xaca6('0x5')][_0xaca6('0x6')][_0xaca6('0x3')]({'where':{'IntervalId':_0x166ea4[_0xaca6('0x7')]},'raw':!![]});})['then'](function(_0x55cccb){return _0x424e85['models'][_0xaca6('0x6')]['findAll']({'where':{'exten':{'$in':_[_0xaca6('0x8')](_[_0xaca6('0x9')](_0x55cccb,_0xaca6('0xa')))}},'order':[{'raw':_0xaca6('0xb')}],'raw':!![]});})['then'](function(_0x2e1282){var _0x59970e=_['filter'](_0x2e1282,{'priority':'1'});var _0x3bc096=_[_0xaca6('0xc')](_0x2e1282,{'isApp':0x1});var _0x1d783c=_[_0xaca6('0xd')](_0x3bc096,_0xaca6('0xa'));var _0x2eee21=['queue',_0xaca6('0xe')];var _0x144c1e=[];var _0x31d3ca=[];for(var _0x3decbf in _0x1d783c){if(_0x1d783c[_0xaca6('0xf')](_0x3decbf)){_0x3fac7b[_0xaca6('0x10')]=0x2;_0x3fac7b[_0xaca6('0x11')]=[];_0x3fac7b['extension']=_['find'](_0x59970e,{'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')]});_0x3fac7b[_0xaca6('0x11')][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':_0xaca6('0x14'),'appdata':util[_0xaca6('0x15')](_0xaca6('0x16'),_0x1d783c[_0x3decbf][0x0]['type']),'context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b[_0xaca6('0x10')]++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')]});if(_0x1d783c[_0x3decbf][0x0]['type']===_0xaca6('0x19')){_0x3fac7b[_0xaca6('0x11')]['push']({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':_0xaca6('0x14'),'appdata':_0xaca6('0x1a')+_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')],'context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b['priority']++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0]['VoiceExtensionId']});}else if(_0x1d783c[_0x3decbf][0x0]['type']===_0xaca6('0x1b')){if(_0x3fac7b[_0xaca6('0x1c')]){_0x3fac7b[_0xaca6('0x11')][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':_0xaca6('0x14'),'appdata':'CDR(destination)='+(_0x3fac7b[_0xaca6('0x1c')]['cutdigits']?_0xaca6('0x1d')+_0x3fac7b[_0xaca6('0x1c')][_0xaca6('0x1e')]+'}':_0xaca6('0x1f')),'context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b[_0xaca6('0x10')]++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0]['VoiceExtensionId']});}_0x3fac7b['extensions'][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':'Set','appdata':_0xaca6('0x1a')+_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')],'context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0]['exten'],'priority':_0x3fac7b[_0xaca6('0x10')]++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')]});var _0x2f3601=_0x3fac7b['priority']++;_0x3fac7b[_0xaca6('0x11')]['push']({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':_0xaca6('0x20'),'appdata':_0xaca6('0x21')+(_0x2f3601+0x2)+_0xaca6('0x22')+(_0x2f3601+0x1)+')','context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0]['exten'],'priority':_0x2f3601,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')]});if(_0x3fac7b[_0xaca6('0x1c')]){_0x3fac7b['extensions'][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0]['type'],'app':_0xaca6('0x14'),'appdata':_0x3fac7b[_0xaca6('0x1c')][_0xaca6('0x1e')]?_0xaca6('0x23')+_0x3fac7b[_0xaca6('0x1c')][_0xaca6('0x1e')]+'}':_0xaca6('0x24'),'context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b['priority']++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')]});}_0x3fac7b[_0xaca6('0x11')][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':'Set','appdata':'outboundrouteid='+_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')],'context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b[_0xaca6('0x10')]++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')]});if(_0x3fac7b[_0xaca6('0x1c')]&&_0x3fac7b['extension'][_0xaca6('0xf')](_0xaca6('0x25'))&&_0x3fac7b['extension'][_0xaca6('0x25')]!==_0xaca6('0x26')){_0x3fac7b['extensions'][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':_0xaca6('0x14'),'appdata':_0xaca6('0x27'),'context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b[_0xaca6('0x10')]++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0]['VoiceExtensionId']});_0x3fac7b[_0xaca6('0x11')][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0]['type'],'app':_0xaca6('0x14'),'appdata':_0xaca6('0x28')+_0x3fac7b['extension'][_0xaca6('0x25')]||_0xaca6('0x29'),'context':_0x1d783c[_0x3decbf][0x0]['context'],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b[_0xaca6('0x10')]++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')]});}}_0x3fac7b[_0xaca6('0x11')][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':_0xaca6('0x14'),'appdata':_0xaca6('0x2a'),'context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b['priority']++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0]['VoiceExtensionId']});_0x3fac7b[_0xaca6('0x11')][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0]['type'],'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b[_0xaca6('0x10')]++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')]});_0x3fac7b[_0xaca6('0x11')][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0]['type'],'app':'Set','appdata':'MONITOR_OPTIONS=ab','context':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x17')],'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'priority':_0x3fac7b[_0xaca6('0x10')]++,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0]['VoiceExtensionId']});for(var _0x262483=0x0,_0x5683fd=0x0;_0x262483<_0x1d783c[_0x3decbf][_0xaca6('0x2b')];_0x262483+=0x1,_0x5683fd=0x0){var _0x2201be=_0x1d783c[_0x3decbf][_0x262483];if(_0x2201be['type']){_0x2201be[_0xaca6('0x13')]=_0x2201be['type']['toLowerCase']();}var _0x17fce4=[];var _0x39b328=[];delete _0x2201be['id'];delete _0x2201be[_0xaca6('0x2c')];delete _0x2201be[_0xaca6('0x2d')];var _0x36d3a8=_0x2201be[_0xaca6('0x2e')]!==_0xaca6('0x2f')?[_0x2201be[_0xaca6('0x2e')]]:_0x2201be[_0xaca6('0x7')]?_[_0xaca6('0x9')](_[_0xaca6('0xc')](_0x3fac7b[_0xaca6('0x30')],{'IntervalId':_0x2201be[_0xaca6('0x7')]}),'interval'):[];if(_0x2201be[_0xaca6('0xf')]('tag')){if(_0x2201be[_0xaca6('0x31')]&&_0x2201be[_0xaca6('0x31')]!=='--'){_0x17fce4[_0xaca6('0x12')]({'type':_0x2201be[_0xaca6('0x13')],'app':_0xaca6('0x14'),'appdata':_0xaca6('0x32')+_0x2201be[_0xaca6('0x31')],'context':_0x2201be[_0xaca6('0x17')],'exten':_0x2201be[_0xaca6('0xa')],'priority':_0x36d3a8[_0xaca6('0x2b')]+_0x3fac7b[_0xaca6('0x10')]+_0x5683fd++,'VoiceExtensionId':_0x2201be[_0xaca6('0x18')]});}}if(_0x2201be['type']===_0xaca6('0x1b')&&_0x2201be['hasOwnProperty']('callerID')){if(_0x2201be[_0xaca6('0x33')]){_0x17fce4[_0xaca6('0x12')]({'type':_0x2201be[_0xaca6('0x13')],'app':'ExecIf','appdata':_0xaca6('0x34')+_0x2201be['callerID']+')','context':_0x2201be['context'],'exten':_0x2201be[_0xaca6('0xa')],'priority':_0x36d3a8[_0xaca6('0x2b')]+_0x3fac7b['priority']+_0x5683fd++,'VoiceExtensionId':_0x2201be['VoiceExtensionId']});}else{_0x17fce4[_0xaca6('0x12')]({'type':_0x2201be[_0xaca6('0x13')],'app':'ExecIf','appdata':_0xaca6('0x35'),'context':_0x2201be[_0xaca6('0x17')],'exten':_0x2201be[_0xaca6('0xa')],'priority':_0x36d3a8[_0xaca6('0x2b')]+_0x3fac7b[_0xaca6('0x10')]+_0x5683fd++,'VoiceExtensionId':_0x2201be['VoiceExtensionId']});}}if(_0x2201be[_0xaca6('0xf')](_0xaca6('0x36'))){if(_0x2eee21[_0xaca6('0x37')](_0x2201be['app'][_0xaca6('0x38')]())>=0x0&&_0x2201be[_0xaca6('0x39')]!==_0xaca6('0x3a')){if(_0x2201be[_0xaca6('0x36')]){_0x17fce4['push']({'type':_0x2201be[_0xaca6('0x13')],'app':_0xaca6('0x20'),'appdata':_0xaca6('0x3b'),'context':_0x2201be[_0xaca6('0x17')],'exten':_0x2201be[_0xaca6('0xa')],'priority':_0x36d3a8[_0xaca6('0x2b')]+_0x3fac7b[_0xaca6('0x10')]+_0x5683fd++,'VoiceExtensionId':_0x2201be[_0xaca6('0x18')]});_0x17fce4[_0xaca6('0x12')]({'type':_0x2201be['type'],'app':_0xaca6('0x14'),'appdata':_0xaca6('0x3c'),'context':_0x2201be[_0xaca6('0x17')],'exten':_0x2201be[_0xaca6('0xa')],'priority':_0x36d3a8[_0xaca6('0x2b')]+_0x3fac7b[_0xaca6('0x10')]+_0x5683fd++,'VoiceExtensionId':_0x2201be[_0xaca6('0x18')]});}else{_0x17fce4['push']({'type':_0x2201be['type'],'app':_0xaca6('0x20'),'appdata':_0xaca6('0x3d'),'context':_0x2201be[_0xaca6('0x17')],'exten':_0x2201be[_0xaca6('0xa')],'priority':_0x36d3a8[_0xaca6('0x2b')]+_0x3fac7b[_0xaca6('0x10')]+_0x5683fd++,'VoiceExtensionId':_0x2201be[_0xaca6('0x18')]});_0x17fce4[_0xaca6('0x12')]({'type':_0x2201be[_0xaca6('0x13')],'app':_0xaca6('0x14'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x2201be[_0xaca6('0x17')],'exten':_0x2201be[_0xaca6('0xa')],'priority':_0x36d3a8[_0xaca6('0x2b')]+_0x3fac7b[_0xaca6('0x10')]+_0x5683fd++,'VoiceExtensionId':_0x2201be[_0xaca6('0x18')]});}}}for(var _0x47c96e=0x0;_0x47c96e<_0x36d3a8['length'];_0x47c96e+=0x1){var _0x101603=_0x3fac7b[_0xaca6('0x10')]+_0x36d3a8[_0xaca6('0x2b')];var _0x2efc87=_0x47c96e===_0x36d3a8[_0xaca6('0x2b')]-0x1?_0x3fac7b['priority']+_0x17fce4[_0xaca6('0x2b')]+_0x39b328[_0xaca6('0x2b')]+0x2:_0x3fac7b[_0xaca6('0x10')]+_0x47c96e+0x1;_0x17fce4[_0xaca6('0x3e')](_0x47c96e,0x0,{'type':_0x2201be['type'],'app':_0xaca6('0x3f'),'appdata':_0x36d3a8[_0x47c96e]+'?'+_0x2201be['context']+',${EXTEN},'+_0x101603+':'+_0x2201be['context']+',${EXTEN},'+_0x2efc87,'exten':_0x2201be[_0xaca6('0xa')],'context':_0x2201be['context'],'priority':_0x3fac7b[_0xaca6('0x10')]+_0x47c96e,'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0]['VoiceExtensionId']});}_0x2201be[_0xaca6('0x10')]=_0x17fce4[_0xaca6('0x2b')]?_['last'](_0x17fce4)[_0xaca6('0x10')]+0x1:_0x3fac7b['priority'];_0x3fac7b[_0xaca6('0x10')]=(_0x39b328[_0xaca6('0x2b')]?_[_0xaca6('0x40')](_0x39b328)[_0xaca6('0x10')]:_0x2201be[_0xaca6('0x10')])+0x1;_0x3fac7b[_0xaca6('0x11')]=_[_0xaca6('0x41')](_0x3fac7b['extensions'],_0x17fce4,[_0x2201be],_0x39b328);}_0x3fac7b[_0xaca6('0x11')][_0xaca6('0x12')]({'type':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x13')],'app':_0xaca6('0x42'),'exten':_0x1d783c[_0x3decbf][0x0][_0xaca6('0xa')],'context':_0x1d783c[_0x3decbf][0x0]['context'],'priority':_0x3fac7b['priority'],'VoiceExtensionId':_0x1d783c[_0x3decbf][0x0][_0xaca6('0x18')]});_0x144c1e[_0xaca6('0x12')](_0x1d783c[_0x3decbf][0x0]['VoiceExtensionId']);_0x31d3ca=_[_0xaca6('0x41')](_0x31d3ca,_0x3fac7b[_0xaca6('0x11')]);}}return _0x424e85[_0xaca6('0x43')](function(_0x11c2c5){return _0x424e85[_0xaca6('0x5')][_0xaca6('0x6')][_0xaca6('0x44')]({'where':{'VoiceExtensionId':{'$in':_0x144c1e}},'transaction':_0x11c2c5})[_0xaca6('0x4')](function(_0x41655e){return _0x424e85['models'][_0xaca6('0x6')]['bulkCreate'](_[_0xaca6('0x45')](_0x31d3ca,_0xaca6('0x10')),{'transaction':_0x11c2c5});});});})['catch'](function(_0x45285f){console[_0xaca6('0x46')](_0x45285f);});}exports[_0xaca6('0x47')]=rewrite;