f912aa764ad173cec0375fff8484f7cbd7870a82
[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 _0x0bed=['models','Interval','findAll','then','intervals','VoiceExtension','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','playback','hasOwnProperty','priority','extension','find','extensions','push','type','Set','format','CDR(type)=%s','context','VoiceExtensionId','inbound','CDR(routeid)=','outbound','cutdigits','${EXTEN:','${EXTEN}','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','recordingFormat','none','_XCALLY_MIXMONITOR_FORMAT=','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','tag','CDR(tag)=','length','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)','indexOf','app','appType','custom','answer','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','GotoIfTime',',${EXTEN},','last','concat','transaction','bulkCreate','sortBy','catch','rewrite','lodash','util'];(function(_0x387777,_0x356171){var _0x3f84c0=function(_0x4d4423){while(--_0x4d4423){_0x387777['push'](_0x387777['shift']());}};_0x3f84c0(++_0x356171);}(_0x0bed,0xd3));var _0xd0be=function(_0x4d0146,_0x31f115){_0x4d0146=_0x4d0146-0x0;var _0x367086=_0x0bed[_0x4d0146];return _0x367086;};'use strict';var _=require(_0xd0be('0x0'));var util=require(_0xd0be('0x1'));function rewrite(_0x5d95b9,_0x2222c8){var _0x4eee3e=this;return _0x5d95b9[_0xd0be('0x2')][_0xd0be('0x3')][_0xd0be('0x4')]({'raw':!![]})[_0xd0be('0x5')](function(_0x5e5575){_0x4eee3e[_0xd0be('0x6')]=_0x5e5575;return _0x5d95b9[_0xd0be('0x2')][_0xd0be('0x7')][_0xd0be('0x4')]({'where':{'IntervalId':_0x2222c8[_0xd0be('0x8')]},'raw':!![]});})[_0xd0be('0x5')](function(_0x4e3ceb){return _0x5d95b9[_0xd0be('0x2')]['VoiceExtension'][_0xd0be('0x4')]({'where':{'exten':{'$in':_[_0xd0be('0x9')](_[_0xd0be('0xa')](_0x4e3ceb,_0xd0be('0xb')))}},'order':[{'raw':_0xd0be('0xc')}],'raw':!![]});})[_0xd0be('0x5')](function(_0x24aff5){var _0x1a454e=_[_0xd0be('0xd')](_0x24aff5,{'priority':'1'});var _0x25dd7b=_[_0xd0be('0xd')](_0x24aff5,{'isApp':0x1});var _0xfa0797=_[_0xd0be('0xe')](_0x25dd7b,_0xd0be('0xb'));var _0x48af50=['queue',_0xd0be('0xf')];var _0x2c8017=[];var _0x3ae417=[];for(var _0x1ecb9c in _0xfa0797){if(_0xfa0797[_0xd0be('0x10')](_0x1ecb9c)){_0x4eee3e[_0xd0be('0x11')]=0x2;_0x4eee3e['extensions']=[];_0x4eee3e[_0xd0be('0x12')]=_[_0xd0be('0x13')](_0x1a454e,{'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')]});_0x4eee3e[_0xd0be('0x14')][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x16')],'app':_0xd0be('0x17'),'appdata':util[_0xd0be('0x18')](_0xd0be('0x19'),_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x16')]),'context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e[_0xd0be('0x11')]++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});if(_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x16')]===_0xd0be('0x1c')){_0x4eee3e[_0xd0be('0x14')][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0]['type'],'app':_0xd0be('0x17'),'appdata':_0xd0be('0x1d')+_0xfa0797[_0x1ecb9c][0x0]['VoiceExtensionId'],'context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e[_0xd0be('0x11')]++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0]['VoiceExtensionId']});}else if(_0xfa0797[_0x1ecb9c][0x0]['type']===_0xd0be('0x1e')){if(_0x4eee3e[_0xd0be('0x12')]){_0x4eee3e['extensions'][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0]['type'],'app':_0xd0be('0x17'),'appdata':'CDR(destination)='+(_0x4eee3e[_0xd0be('0x12')][_0xd0be('0x1f')]?_0xd0be('0x20')+_0x4eee3e[_0xd0be('0x12')][_0xd0be('0x1f')]+'}':_0xd0be('0x21')),'context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e[_0xd0be('0x11')]++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0]['VoiceExtensionId']});}_0x4eee3e[_0xd0be('0x14')]['push']({'type':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x16')],'app':'Set','appdata':_0xd0be('0x1d')+_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')],'context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e[_0xd0be('0x11')]++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});var _0x437c90=_0x4eee3e[_0xd0be('0x11')]++;_0x4eee3e[_0xd0be('0x14')]['push']({'type':_0xfa0797[_0x1ecb9c][0x0]['type'],'app':_0xd0be('0x22'),'appdata':_0xd0be('0x23')+(_0x437c90+0x2)+'):Goto('+(_0x437c90+0x1)+')','context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x437c90,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0]['VoiceExtensionId']});if(_0x4eee3e['extension']){_0x4eee3e[_0xd0be('0x14')][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x16')],'app':_0xd0be('0x17'),'appdata':_0x4eee3e[_0xd0be('0x12')][_0xd0be('0x1f')]?_0xd0be('0x24')+_0x4eee3e[_0xd0be('0x12')][_0xd0be('0x1f')]+'}':'CDR(prefix)=noprefix','context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0]['exten'],'priority':_0x4eee3e[_0xd0be('0x11')]++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});}_0x4eee3e[_0xd0be('0x14')][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0]['type'],'app':_0xd0be('0x17'),'appdata':'outboundrouteid='+_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')],'context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e[_0xd0be('0x11')]++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});if(_0x4eee3e['extension']&&_0x4eee3e[_0xd0be('0x12')]['hasOwnProperty'](_0xd0be('0x25'))&&_0x4eee3e[_0xd0be('0x12')][_0xd0be('0x25')]!==_0xd0be('0x26')){_0x4eee3e[_0xd0be('0x14')][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x16')],'app':_0xd0be('0x17'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0xfa0797[_0x1ecb9c][0x0]['context'],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e[_0xd0be('0x11')]++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});_0x4eee3e[_0xd0be('0x14')]['push']({'type':_0xfa0797[_0x1ecb9c][0x0]['type'],'app':_0xd0be('0x17'),'appdata':_0xd0be('0x27')+_0x4eee3e[_0xd0be('0x12')][_0xd0be('0x25')]||'wav','context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0]['exten'],'priority':_0x4eee3e['priority']++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});}}_0x4eee3e['extensions'][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0]['type'],'app':_0xd0be('0x17'),'appdata':_0xd0be('0x28'),'context':_0xfa0797[_0x1ecb9c][0x0]['context'],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e['priority']++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});_0x4eee3e[_0xd0be('0x14')][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0]['type'],'app':_0xd0be('0x17'),'appdata':_0xd0be('0x29'),'context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e['priority']++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});_0x4eee3e[_0xd0be('0x14')][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x16')],'app':_0xd0be('0x17'),'appdata':_0xd0be('0x2a'),'context':_0xfa0797[_0x1ecb9c][0x0]['context'],'exten':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0xb')],'priority':_0x4eee3e[_0xd0be('0x11')]++,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});for(var _0x5731ef=0x0,_0x340008=0x0;_0x5731ef<_0xfa0797[_0x1ecb9c]['length'];_0x5731ef+=0x1,_0x340008=0x0){var _0x5d94ec=_0xfa0797[_0x1ecb9c][_0x5731ef];if(_0x5d94ec[_0xd0be('0x16')]){_0x5d94ec[_0xd0be('0x16')]=_0x5d94ec[_0xd0be('0x16')][_0xd0be('0x2b')]();}var _0x5e3028=[];var _0x448222=[];delete _0x5d94ec['id'];delete _0x5d94ec[_0xd0be('0x2c')];delete _0x5d94ec[_0xd0be('0x2d')];var _0x4e0b9c=_0x5d94ec[_0xd0be('0x2e')]!==_0xd0be('0x2f')?[_0x5d94ec['interval']]:_0x5d94ec[_0xd0be('0x8')]?_[_0xd0be('0xa')](_[_0xd0be('0xd')](_0x4eee3e[_0xd0be('0x6')],{'IntervalId':_0x5d94ec[_0xd0be('0x8')]}),'interval'):[];if(_0x5d94ec['hasOwnProperty'](_0xd0be('0x30'))){if(_0x5d94ec[_0xd0be('0x30')]&&_0x5d94ec[_0xd0be('0x30')]!=='--'){_0x5e3028[_0xd0be('0x15')]({'type':_0x5d94ec[_0xd0be('0x16')],'app':'Set','appdata':_0xd0be('0x31')+_0x5d94ec['tag'],'context':_0x5d94ec['context'],'exten':_0x5d94ec[_0xd0be('0xb')],'priority':_0x4e0b9c[_0xd0be('0x32')]+_0x4eee3e[_0xd0be('0x11')]+_0x340008++,'VoiceExtensionId':_0x5d94ec[_0xd0be('0x1b')]});}}if(_0x5d94ec[_0xd0be('0x16')]===_0xd0be('0x1e')&&_0x5d94ec[_0xd0be('0x10')](_0xd0be('0x33'))){if(_0x5d94ec[_0xd0be('0x33')]){_0x5e3028[_0xd0be('0x15')]({'type':_0x5d94ec['type'],'app':_0xd0be('0x22'),'appdata':_0xd0be('0x34')+_0x5d94ec[_0xd0be('0x33')]+')','context':_0x5d94ec[_0xd0be('0x1a')],'exten':_0x5d94ec[_0xd0be('0xb')],'priority':_0x4e0b9c[_0xd0be('0x32')]+_0x4eee3e[_0xd0be('0x11')]+_0x340008++,'VoiceExtensionId':_0x5d94ec[_0xd0be('0x1b')]});}else{_0x5e3028[_0xd0be('0x15')]({'type':_0x5d94ec[_0xd0be('0x16')],'app':_0xd0be('0x22'),'appdata':_0xd0be('0x35'),'context':_0x5d94ec[_0xd0be('0x1a')],'exten':_0x5d94ec[_0xd0be('0xb')],'priority':_0x4e0b9c['length']+_0x4eee3e[_0xd0be('0x11')]+_0x340008++,'VoiceExtensionId':_0x5d94ec[_0xd0be('0x1b')]});}}if(_0x5d94ec[_0xd0be('0x10')]('answer')){if(_0x48af50[_0xd0be('0x36')](_0x5d94ec[_0xd0be('0x37')][_0xd0be('0x2b')]())>=0x0&&_0x5d94ec[_0xd0be('0x38')]!==_0xd0be('0x39')){if(_0x5d94ec[_0xd0be('0x3a')]){_0x5e3028['push']({'type':_0x5d94ec['type'],'app':_0xd0be('0x22'),'appdata':_0xd0be('0x3b'),'context':_0x5d94ec[_0xd0be('0x1a')],'exten':_0x5d94ec[_0xd0be('0xb')],'priority':_0x4e0b9c[_0xd0be('0x32')]+_0x4eee3e[_0xd0be('0x11')]+_0x340008++,'VoiceExtensionId':_0x5d94ec[_0xd0be('0x1b')]});_0x5e3028[_0xd0be('0x15')]({'type':_0x5d94ec[_0xd0be('0x16')],'app':_0xd0be('0x17'),'appdata':_0xd0be('0x3c'),'context':_0x5d94ec[_0xd0be('0x1a')],'exten':_0x5d94ec[_0xd0be('0xb')],'priority':_0x4e0b9c[_0xd0be('0x32')]+_0x4eee3e['priority']+_0x340008++,'VoiceExtensionId':_0x5d94ec[_0xd0be('0x1b')]});}else{_0x5e3028[_0xd0be('0x15')]({'type':_0x5d94ec['type'],'app':_0xd0be('0x22'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x5d94ec[_0xd0be('0x1a')],'exten':_0x5d94ec[_0xd0be('0xb')],'priority':_0x4e0b9c[_0xd0be('0x32')]+_0x4eee3e['priority']+_0x340008++,'VoiceExtensionId':_0x5d94ec[_0xd0be('0x1b')]});_0x5e3028[_0xd0be('0x15')]({'type':_0x5d94ec['type'],'app':_0xd0be('0x17'),'appdata':_0xd0be('0x3d'),'context':_0x5d94ec['context'],'exten':_0x5d94ec[_0xd0be('0xb')],'priority':_0x4e0b9c['length']+_0x4eee3e[_0xd0be('0x11')]+_0x340008++,'VoiceExtensionId':_0x5d94ec['VoiceExtensionId']});}}}for(var _0x479a6d=0x0;_0x479a6d<_0x4e0b9c['length'];_0x479a6d+=0x1){var _0x18ceb3=_0x4eee3e[_0xd0be('0x11')]+_0x4e0b9c[_0xd0be('0x32')];var _0x1b03b6=_0x479a6d===_0x4e0b9c['length']-0x1?_0x4eee3e['priority']+_0x5e3028['length']+_0x448222[_0xd0be('0x32')]+0x2:_0x4eee3e[_0xd0be('0x11')]+_0x479a6d+0x1;_0x5e3028['splice'](_0x479a6d,0x0,{'type':_0x5d94ec[_0xd0be('0x16')],'app':_0xd0be('0x3e'),'appdata':_0x4e0b9c[_0x479a6d]+'?'+_0x5d94ec[_0xd0be('0x1a')]+',${EXTEN},'+_0x18ceb3+':'+_0x5d94ec['context']+_0xd0be('0x3f')+_0x1b03b6,'exten':_0x5d94ec['exten'],'context':_0x5d94ec['context'],'priority':_0x4eee3e[_0xd0be('0x11')]+_0x479a6d,'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0]['VoiceExtensionId']});}_0x5d94ec[_0xd0be('0x11')]=_0x5e3028[_0xd0be('0x32')]?_['last'](_0x5e3028)[_0xd0be('0x11')]+0x1:_0x4eee3e[_0xd0be('0x11')];_0x4eee3e[_0xd0be('0x11')]=(_0x448222[_0xd0be('0x32')]?_[_0xd0be('0x40')](_0x448222)['priority']:_0x5d94ec[_0xd0be('0x11')])+0x1;_0x4eee3e['extensions']=_[_0xd0be('0x41')](_0x4eee3e[_0xd0be('0x14')],_0x5e3028,[_0x5d94ec],_0x448222);}_0x4eee3e[_0xd0be('0x14')][_0xd0be('0x15')]({'type':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x16')],'app':'Hangup','exten':_0xfa0797[_0x1ecb9c][0x0]['exten'],'context':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1a')],'priority':_0x4eee3e[_0xd0be('0x11')],'VoiceExtensionId':_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]});_0x2c8017[_0xd0be('0x15')](_0xfa0797[_0x1ecb9c][0x0][_0xd0be('0x1b')]);_0x3ae417=_['concat'](_0x3ae417,_0x4eee3e[_0xd0be('0x14')]);}}return _0x5d95b9[_0xd0be('0x42')](function(_0x105ee8){return _0x5d95b9[_0xd0be('0x2')][_0xd0be('0x7')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x2c8017}},'transaction':_0x105ee8})[_0xd0be('0x5')](function(_0x52f5fc){return _0x5d95b9[_0xd0be('0x2')][_0xd0be('0x7')][_0xd0be('0x43')](_[_0xd0be('0x44')](_0x3ae417,'priority'),{'transaction':_0x105ee8});});});})[_0xd0be('0x45')](function(_0x1f4aee){console['error'](_0x1f4aee);});}exports[_0xd0be('0x46')]=rewrite;