Built motion from commit fe909640.|2.6.8
[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 _0x90ad=['findAll','then','VoiceExtension','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','priority','extensions','extension','find','type','VoiceExtensionId','inbound','Set','CDR(routeid)=','context','outbound','push','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=noprefix','outboundrouteid=','hasOwnProperty','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','interval','*,*,*,*','intervals','IntervalId','tag','CDR(tag)=','callerID','ExecIf','$[${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','app','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice',',${EXTEN},','last','concat','Hangup','bulkCreate','sortBy','catch','error','rewrite','lodash','util','models','Interval'];(function(_0x1bfa31,_0x131b5b){var _0x32f67c=function(_0x47e7ec){while(--_0x47e7ec){_0x1bfa31['push'](_0x1bfa31['shift']());}};_0x32f67c(++_0x131b5b);}(_0x90ad,0xd7));var _0xd90a=function(_0x31cb5f,_0x2df766){_0x31cb5f=_0x31cb5f-0x0;var _0x586042=_0x90ad[_0x31cb5f];return _0x586042;};'use strict';var _=require(_0xd90a('0x0'));var util=require(_0xd90a('0x1'));function rewrite(_0x449ba4,_0x2ae446){var _0x23865f=this;return _0x449ba4[_0xd90a('0x2')][_0xd90a('0x3')][_0xd90a('0x4')]({'raw':!![]})[_0xd90a('0x5')](function(_0x56e5c8){_0x23865f['intervals']=_0x56e5c8;return _0x449ba4[_0xd90a('0x2')][_0xd90a('0x6')][_0xd90a('0x4')]({'where':{'IntervalId':_0x2ae446['IntervalId']},'raw':!![]});})['then'](function(_0x289d80){return _0x449ba4[_0xd90a('0x2')][_0xd90a('0x6')][_0xd90a('0x4')]({'where':{'exten':{'$in':_[_0xd90a('0x7')](_[_0xd90a('0x8')](_0x289d80,_0xd90a('0x9')))}},'order':[{'raw':_0xd90a('0xa')}],'raw':!![]});})[_0xd90a('0x5')](function(_0x66cf34){var _0x18996e=_[_0xd90a('0xb')](_0x66cf34,{'priority':'1'});var _0x297ec4=_[_0xd90a('0xb')](_0x66cf34,{'isApp':0x1});var _0x352869=_[_0xd90a('0xc')](_0x297ec4,_0xd90a('0x9'));var _0x344206=[_0xd90a('0xd'),_0xd90a('0xe')];var _0x581da3=[];var _0x4af478=[];for(var _0xa23ef6 in _0x352869){if(_0x352869['hasOwnProperty'](_0xa23ef6)){_0x23865f[_0xd90a('0xf')]=0x2;_0x23865f[_0xd90a('0x10')]=[];_0x23865f[_0xd90a('0x11')]=_[_0xd90a('0x12')](_0x18996e,{'exten':_0x352869[_0xa23ef6][0x0][_0xd90a('0x9')]});_0x23865f[_0xd90a('0x10')]['push']({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':'Set','appdata':util['format']('CDR(type)=%s',_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')]),'context':_0x352869[_0xa23ef6][0x0]['context'],'exten':_0x352869[_0xa23ef6][0x0]['exten'],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});if(_0x352869[_0xa23ef6][0x0]['type']===_0xd90a('0x15')){_0x23865f[_0xd90a('0x10')]['push']({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':_0xd90a('0x17')+_0x352869[_0xa23ef6][0x0]['VoiceExtensionId'],'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0]['exten'],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0]['VoiceExtensionId']});}else if(_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')]===_0xd90a('0x19')){if(_0x23865f[_0xd90a('0x11')]){_0x23865f['extensions'][_0xd90a('0x1a')]({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':_0xd90a('0x1b')+(_0x23865f[_0xd90a('0x11')][_0xd90a('0x1c')]?_0xd90a('0x1d')+_0x23865f[_0xd90a('0x11')]['cutdigits']+'}':_0xd90a('0x1e')),'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0]['exten'],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0]['VoiceExtensionId']});}_0x23865f['extensions'][_0xd90a('0x1a')]({'type':_0x352869[_0xa23ef6][0x0]['type'],'app':_0xd90a('0x16'),'appdata':'CDR(routeid)='+_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')],'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0][_0xd90a('0x9')],'priority':_0x23865f['priority']++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});var _0x506e57=_0x23865f[_0xd90a('0xf')]++;_0x23865f[_0xd90a('0x10')][_0xd90a('0x1a')]({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':'ExecIf','appdata':_0xd90a('0x1f')+(_0x506e57+0x2)+_0xd90a('0x20')+(_0x506e57+0x1)+')','context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0][_0xd90a('0x9')],'priority':_0x506e57,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});if(_0x23865f[_0xd90a('0x11')]){_0x23865f[_0xd90a('0x10')][_0xd90a('0x1a')]({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':_0x23865f[_0xd90a('0x11')]['cutdigits']?'CDR(prefix)=${EXTEN:0:'+_0x23865f['extension']['cutdigits']+'}':_0xd90a('0x21'),'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0][_0xd90a('0x9')],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});}_0x23865f[_0xd90a('0x10')]['push']({'type':_0x352869[_0xa23ef6][0x0]['type'],'app':_0xd90a('0x16'),'appdata':_0xd90a('0x22')+_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')],'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0][_0xd90a('0x9')],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});if(_0x23865f['extension']&&_0x23865f[_0xd90a('0x11')][_0xd90a('0x23')](_0xd90a('0x24'))&&_0x23865f[_0xd90a('0x11')][_0xd90a('0x24')]!==_0xd90a('0x25')){_0x23865f[_0xd90a('0x10')]['push']({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':'Set','appdata':_0xd90a('0x26'),'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0]['exten'],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0]['VoiceExtensionId']});_0x23865f['extensions']['push']({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x23865f[_0xd90a('0x11')][_0xd90a('0x24')]||_0xd90a('0x27'),'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0]['exten'],'priority':_0x23865f['priority']++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});}}_0x23865f[_0xd90a('0x10')][_0xd90a('0x1a')]({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':_0xd90a('0x28'),'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0]['exten'],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});_0x23865f[_0xd90a('0x10')][_0xd90a('0x1a')]({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':_0xd90a('0x29'),'context':_0x352869[_0xa23ef6][0x0]['context'],'exten':_0x352869[_0xa23ef6][0x0]['exten'],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});_0x23865f['extensions']['push']({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':_0xd90a('0x2a'),'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'exten':_0x352869[_0xa23ef6][0x0][_0xd90a('0x9')],'priority':_0x23865f[_0xd90a('0xf')]++,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});for(var _0x38afb2=0x0,_0xe73c1=0x0;_0x38afb2<_0x352869[_0xa23ef6][_0xd90a('0x2b')];_0x38afb2+=0x1,_0xe73c1=0x0){var _0x25d7b7=_0x352869[_0xa23ef6][_0x38afb2];if(_0x25d7b7[_0xd90a('0x13')]){_0x25d7b7[_0xd90a('0x13')]=_0x25d7b7['type'][_0xd90a('0x2c')]();}var _0x144882=[];var _0x3b8408=[];delete _0x25d7b7['id'];delete _0x25d7b7[_0xd90a('0x2d')];delete _0x25d7b7['updatedAt'];var _0xe284a0=_0x25d7b7[_0xd90a('0x2e')]!==_0xd90a('0x2f')?[_0x25d7b7[_0xd90a('0x2e')]]:_0x25d7b7['IntervalId']?_[_0xd90a('0x8')](_[_0xd90a('0xb')](_0x23865f[_0xd90a('0x30')],{'IntervalId':_0x25d7b7[_0xd90a('0x31')]}),_0xd90a('0x2e')):[];if(_0x25d7b7[_0xd90a('0x23')](_0xd90a('0x32'))){if(_0x25d7b7['tag']&&_0x25d7b7[_0xd90a('0x32')]!=='--'){_0x144882[_0xd90a('0x1a')]({'type':_0x25d7b7['type'],'app':_0xd90a('0x16'),'appdata':_0xd90a('0x33')+_0x25d7b7['tag'],'context':_0x25d7b7['context'],'exten':_0x25d7b7[_0xd90a('0x9')],'priority':_0xe284a0[_0xd90a('0x2b')]+_0x23865f[_0xd90a('0xf')]+_0xe73c1++,'VoiceExtensionId':_0x25d7b7[_0xd90a('0x14')]});}}if(_0x25d7b7['type']===_0xd90a('0x19')&&_0x25d7b7[_0xd90a('0x23')](_0xd90a('0x34'))){if(_0x25d7b7[_0xd90a('0x34')]){_0x144882[_0xd90a('0x1a')]({'type':_0x25d7b7[_0xd90a('0x13')],'app':_0xd90a('0x35'),'appdata':_0xd90a('0x36')+_0x25d7b7[_0xd90a('0x34')]+')','context':_0x25d7b7[_0xd90a('0x18')],'exten':_0x25d7b7[_0xd90a('0x9')],'priority':_0xe284a0[_0xd90a('0x2b')]+_0x23865f['priority']+_0xe73c1++,'VoiceExtensionId':_0x25d7b7[_0xd90a('0x14')]});}else{_0x144882['push']({'type':_0x25d7b7['type'],'app':_0xd90a('0x35'),'appdata':_0xd90a('0x37'),'context':_0x25d7b7['context'],'exten':_0x25d7b7['exten'],'priority':_0xe284a0[_0xd90a('0x2b')]+_0x23865f[_0xd90a('0xf')]+_0xe73c1++,'VoiceExtensionId':_0x25d7b7[_0xd90a('0x14')]});}}if(_0x25d7b7[_0xd90a('0x23')](_0xd90a('0x38'))){if(_0x344206[_0xd90a('0x39')](_0x25d7b7[_0xd90a('0x3a')]['toLowerCase']())>=0x0&&_0x25d7b7['appType']!==_0xd90a('0x3b')){if(_0x25d7b7[_0xd90a('0x38')]){_0x144882[_0xd90a('0x1a')]({'type':_0x25d7b7[_0xd90a('0x13')],'app':_0xd90a('0x35'),'appdata':_0xd90a('0x3c'),'context':_0x25d7b7[_0xd90a('0x18')],'exten':_0x25d7b7[_0xd90a('0x9')],'priority':_0xe284a0[_0xd90a('0x2b')]+_0x23865f[_0xd90a('0xf')]+_0xe73c1++,'VoiceExtensionId':_0x25d7b7[_0xd90a('0x14')]});_0x144882[_0xd90a('0x1a')]({'type':_0x25d7b7[_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':_0xd90a('0x3d'),'context':_0x25d7b7[_0xd90a('0x18')],'exten':_0x25d7b7[_0xd90a('0x9')],'priority':_0xe284a0[_0xd90a('0x2b')]+_0x23865f[_0xd90a('0xf')]+_0xe73c1++,'VoiceExtensionId':_0x25d7b7[_0xd90a('0x14')]});}else{_0x144882[_0xd90a('0x1a')]({'type':_0x25d7b7[_0xd90a('0x13')],'app':_0xd90a('0x35'),'appdata':_0xd90a('0x3e'),'context':_0x25d7b7[_0xd90a('0x18')],'exten':_0x25d7b7[_0xd90a('0x9')],'priority':_0xe284a0[_0xd90a('0x2b')]+_0x23865f['priority']+_0xe73c1++,'VoiceExtensionId':_0x25d7b7[_0xd90a('0x14')]});_0x144882[_0xd90a('0x1a')]({'type':_0x25d7b7[_0xd90a('0x13')],'app':_0xd90a('0x16'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x25d7b7[_0xd90a('0x18')],'exten':_0x25d7b7[_0xd90a('0x9')],'priority':_0xe284a0[_0xd90a('0x2b')]+_0x23865f[_0xd90a('0xf')]+_0xe73c1++,'VoiceExtensionId':_0x25d7b7[_0xd90a('0x14')]});}}}for(var _0x4f52f4=0x0;_0x4f52f4<_0xe284a0[_0xd90a('0x2b')];_0x4f52f4+=0x1){var _0x472e9c=_0x23865f['priority']+_0xe284a0[_0xd90a('0x2b')];var _0x1a76cb=_0x4f52f4===_0xe284a0['length']-0x1?_0x23865f['priority']+_0x144882[_0xd90a('0x2b')]+_0x3b8408['length']+0x2:_0x23865f['priority']+_0x4f52f4+0x1;_0x144882[_0xd90a('0x3f')](_0x4f52f4,0x0,{'type':_0x25d7b7[_0xd90a('0x13')],'app':'GotoIfTime','appdata':_0xe284a0[_0x4f52f4]+'?'+_0x25d7b7[_0xd90a('0x18')]+_0xd90a('0x40')+_0x472e9c+':'+_0x25d7b7[_0xd90a('0x18')]+_0xd90a('0x40')+_0x1a76cb,'exten':_0x25d7b7[_0xd90a('0x9')],'context':_0x25d7b7[_0xd90a('0x18')],'priority':_0x23865f[_0xd90a('0xf')]+_0x4f52f4,'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});}_0x25d7b7[_0xd90a('0xf')]=_0x144882[_0xd90a('0x2b')]?_[_0xd90a('0x41')](_0x144882)[_0xd90a('0xf')]+0x1:_0x23865f['priority'];_0x23865f[_0xd90a('0xf')]=(_0x3b8408[_0xd90a('0x2b')]?_['last'](_0x3b8408)['priority']:_0x25d7b7['priority'])+0x1;_0x23865f[_0xd90a('0x10')]=_[_0xd90a('0x42')](_0x23865f[_0xd90a('0x10')],_0x144882,[_0x25d7b7],_0x3b8408);}_0x23865f[_0xd90a('0x10')][_0xd90a('0x1a')]({'type':_0x352869[_0xa23ef6][0x0][_0xd90a('0x13')],'app':_0xd90a('0x43'),'exten':_0x352869[_0xa23ef6][0x0][_0xd90a('0x9')],'context':_0x352869[_0xa23ef6][0x0][_0xd90a('0x18')],'priority':_0x23865f[_0xd90a('0xf')],'VoiceExtensionId':_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]});_0x581da3['push'](_0x352869[_0xa23ef6][0x0][_0xd90a('0x14')]);_0x4af478=_[_0xd90a('0x42')](_0x4af478,_0x23865f['extensions']);}}return _0x449ba4['transaction'](function(_0x3f65ed){return _0x449ba4[_0xd90a('0x2')][_0xd90a('0x6')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x581da3}},'transaction':_0x3f65ed})[_0xd90a('0x5')](function(_0x18ff04){return _0x449ba4[_0xd90a('0x2')]['VoiceExtension'][_0xd90a('0x44')](_[_0xd90a('0x45')](_0x4af478,_0xd90a('0xf')),{'transaction':_0x3f65ed});});});})[_0xd90a('0x46')](function(_0x5413d5){console[_0xd90a('0x47')](_0x5413d5);});}exports[_0xd90a('0x48')]=rewrite;