37da60ec83b97ef6468dbd6ee65ee4f38e1e0e32
[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 _0xb4e1=['VoiceExtensionId','inbound','extensions','Set','CDR(routeid)=','outbound','cutdigits','${EXTEN:','${EXTEN}','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','none','wav','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','interval','*,*,*,*','IntervalId','map','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','app','appType','custom','ExecIf','XCALLY-MOTION-ANSWER=1','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','bulkCreate','catch','error','util','models','then','intervals','VoiceExtension','findAll','uniq','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','hasOwnProperty','priority','extension','find','push','CDR(type)=%s','type','context'];(function(_0x1d9959,_0x32d117){var _0x156da2=function(_0x29078e){while(--_0x29078e){_0x1d9959['push'](_0x1d9959['shift']());}};_0x156da2(++_0x32d117);}(_0xb4e1,0x1ec));var _0x1b4e=function(_0x442307,_0x6eaf8a){_0x442307=_0x442307-0x0;var _0x3c986a=_0xb4e1[_0x442307];return _0x3c986a;};'use strict';var _=require('lodash');var util=require(_0x1b4e('0x0'));function rewrite(_0x476bdd,_0x2d93dc){var _0x260b03=this;return _0x476bdd[_0x1b4e('0x1')]['Interval']['findAll']({'raw':!![]})[_0x1b4e('0x2')](function(_0x50eb41){_0x260b03[_0x1b4e('0x3')]=_0x50eb41;return _0x476bdd[_0x1b4e('0x1')][_0x1b4e('0x4')]['findAll']({'where':{'IntervalId':_0x2d93dc['IntervalId']},'raw':!![]});})['then'](function(_0x5a783f){return _0x476bdd[_0x1b4e('0x1')][_0x1b4e('0x4')][_0x1b4e('0x5')]({'where':{'exten':{'$in':_[_0x1b4e('0x6')](_['map'](_0x5a783f,'exten'))}},'order':[{'raw':_0x1b4e('0x7')}],'raw':!![]});})[_0x1b4e('0x2')](function(_0x3f2a7b){var _0x3ed4fc=_[_0x1b4e('0x8')](_0x3f2a7b,{'priority':'1'});var _0x3945bc=_[_0x1b4e('0x8')](_0x3f2a7b,{'isApp':0x1});var _0x39eff8=_[_0x1b4e('0x9')](_0x3945bc,_0x1b4e('0xa'));var _0x510638=[_0x1b4e('0xb'),'playback'];var _0x4e4166=[];var _0x2c486c=[];for(var _0x237b7c in _0x39eff8){if(_0x39eff8[_0x1b4e('0xc')](_0x237b7c)){_0x260b03[_0x1b4e('0xd')]=0x2;_0x260b03['extensions']=[];_0x260b03[_0x1b4e('0xe')]=_[_0x1b4e('0xf')](_0x3ed4fc,{'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')]});_0x260b03['extensions'][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0]['type'],'app':'Set','appdata':util['format'](_0x1b4e('0x11'),_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')]),'context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});if(_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')]===_0x1b4e('0x15')){_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':_0x1b4e('0x17'),'appdata':_0x1b4e('0x18')+_0x39eff8[_0x237b7c][0x0]['VoiceExtensionId'],'context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x260b03['priority']++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0]['VoiceExtensionId']});}else if(_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')]===_0x1b4e('0x19')){if(_0x260b03[_0x1b4e('0xe')]){_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':_0x1b4e('0x17'),'appdata':'CDR(destination)='+(_0x260b03['extension'][_0x1b4e('0x1a')]?_0x1b4e('0x1b')+_0x260b03[_0x1b4e('0xe')][_0x1b4e('0x1a')]+'}':_0x1b4e('0x1c')),'context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'exten':_0x39eff8[_0x237b7c][0x0]['exten'],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});}_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':_0x1b4e('0x17'),'appdata':_0x1b4e('0x18')+_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')],'context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});var _0x277424=_0x260b03[_0x1b4e('0xd')]++;_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0]['type'],'app':'ExecIf','appdata':_0x1b4e('0x1d')+(_0x277424+0x2)+'):Goto('+(_0x277424+0x1)+')','context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x277424,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});if(_0x260b03[_0x1b4e('0xe')]){_0x260b03['extensions'][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':_0x1b4e('0x17'),'appdata':_0x260b03[_0x1b4e('0xe')][_0x1b4e('0x1a')]?_0x1b4e('0x1e')+_0x260b03['extension'][_0x1b4e('0x1a')]+'}':'CDR(prefix)=noprefix','context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});}_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':_0x1b4e('0x17'),'appdata':_0x1b4e('0x1f')+_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')],'context':_0x39eff8[_0x237b7c][0x0]['context'],'exten':_0x39eff8[_0x237b7c][0x0]['exten'],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});if(_0x260b03[_0x1b4e('0xe')]&&_0x260b03['extension'][_0x1b4e('0xc')](_0x1b4e('0x20'))&&_0x260b03[_0x1b4e('0xe')]['recordingFormat']!==_0x1b4e('0x21')){_0x260b03['extensions'][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':'Set','appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':'Set','appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x260b03[_0x1b4e('0xe')][_0x1b4e('0x20')]||_0x1b4e('0x22'),'context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'exten':_0x39eff8[_0x237b7c][0x0]['exten'],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});}}_0x260b03[_0x1b4e('0x16')]['push']({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':'Set','appdata':'XCALLY-MOTION-ANSWER=0','context':_0x39eff8[_0x237b7c][0x0]['context'],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':_0x1b4e('0x17'),'appdata':_0x1b4e('0x23'),'context':_0x39eff8[_0x237b7c][0x0]['context'],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0]['type'],'app':_0x1b4e('0x17'),'appdata':_0x1b4e('0x24'),'context':_0x39eff8[_0x237b7c][0x0]['context'],'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'priority':_0x260b03[_0x1b4e('0xd')]++,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});for(var _0x1bc9fe=0x0,_0x478f0=0x0;_0x1bc9fe<_0x39eff8[_0x237b7c][_0x1b4e('0x25')];_0x1bc9fe+=0x1,_0x478f0=0x0){var _0x3793ad=_0x39eff8[_0x237b7c][_0x1bc9fe];if(_0x3793ad[_0x1b4e('0x12')]){_0x3793ad[_0x1b4e('0x12')]=_0x3793ad[_0x1b4e('0x12')][_0x1b4e('0x26')]();}var _0x579d35=[];var _0x3ef389=[];delete _0x3793ad['id'];delete _0x3793ad['createdAt'];delete _0x3793ad['updatedAt'];var _0xb9f1f6=_0x3793ad[_0x1b4e('0x27')]!==_0x1b4e('0x28')?[_0x3793ad['interval']]:_0x3793ad[_0x1b4e('0x29')]?_[_0x1b4e('0x2a')](_[_0x1b4e('0x8')](_0x260b03[_0x1b4e('0x3')],{'IntervalId':_0x3793ad[_0x1b4e('0x29')]}),_0x1b4e('0x27')):[];if(_0x3793ad[_0x1b4e('0xc')](_0x1b4e('0x2b'))){if(_0x3793ad[_0x1b4e('0x2b')]&&_0x3793ad[_0x1b4e('0x2b')]!=='--'){_0x579d35[_0x1b4e('0x10')]({'type':_0x3793ad['type'],'app':_0x1b4e('0x17'),'appdata':_0x1b4e('0x2c')+_0x3793ad[_0x1b4e('0x2b')],'context':_0x3793ad[_0x1b4e('0x13')],'exten':_0x3793ad[_0x1b4e('0xa')],'priority':_0xb9f1f6[_0x1b4e('0x25')]+_0x260b03[_0x1b4e('0xd')]+_0x478f0++,'VoiceExtensionId':_0x3793ad[_0x1b4e('0x14')]});}}if(_0x3793ad[_0x1b4e('0x12')]===_0x1b4e('0x19')&&_0x3793ad[_0x1b4e('0xc')]('callerID')){if(_0x3793ad[_0x1b4e('0x2d')]){_0x579d35['push']({'type':_0x3793ad[_0x1b4e('0x12')],'app':'ExecIf','appdata':_0x1b4e('0x2e')+_0x3793ad[_0x1b4e('0x2d')]+')','context':_0x3793ad[_0x1b4e('0x13')],'exten':_0x3793ad[_0x1b4e('0xa')],'priority':_0xb9f1f6[_0x1b4e('0x25')]+_0x260b03['priority']+_0x478f0++,'VoiceExtensionId':_0x3793ad[_0x1b4e('0x14')]});}else{_0x579d35[_0x1b4e('0x10')]({'type':_0x3793ad[_0x1b4e('0x12')],'app':'ExecIf','appdata':_0x1b4e('0x2f'),'context':_0x3793ad[_0x1b4e('0x13')],'exten':_0x3793ad['exten'],'priority':_0xb9f1f6[_0x1b4e('0x25')]+_0x260b03[_0x1b4e('0xd')]+_0x478f0++,'VoiceExtensionId':_0x3793ad[_0x1b4e('0x14')]});}}if(_0x3793ad[_0x1b4e('0xc')](_0x1b4e('0x30'))){if(_0x510638[_0x1b4e('0x31')](_0x3793ad[_0x1b4e('0x32')][_0x1b4e('0x26')]())>=0x0&&_0x3793ad[_0x1b4e('0x33')]!==_0x1b4e('0x34')){if(_0x3793ad['answer']){_0x579d35[_0x1b4e('0x10')]({'type':_0x3793ad['type'],'app':_0x1b4e('0x35'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x3793ad[_0x1b4e('0x13')],'exten':_0x3793ad[_0x1b4e('0xa')],'priority':_0xb9f1f6[_0x1b4e('0x25')]+_0x260b03[_0x1b4e('0xd')]+_0x478f0++,'VoiceExtensionId':_0x3793ad[_0x1b4e('0x14')]});_0x579d35[_0x1b4e('0x10')]({'type':_0x3793ad[_0x1b4e('0x12')],'app':_0x1b4e('0x17'),'appdata':_0x1b4e('0x36'),'context':_0x3793ad[_0x1b4e('0x13')],'exten':_0x3793ad[_0x1b4e('0xa')],'priority':_0xb9f1f6[_0x1b4e('0x25')]+_0x260b03[_0x1b4e('0xd')]+_0x478f0++,'VoiceExtensionId':_0x3793ad[_0x1b4e('0x14')]});}else{_0x579d35[_0x1b4e('0x10')]({'type':_0x3793ad[_0x1b4e('0x12')],'app':_0x1b4e('0x35'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x3793ad[_0x1b4e('0x13')],'exten':_0x3793ad[_0x1b4e('0xa')],'priority':_0xb9f1f6[_0x1b4e('0x25')]+_0x260b03[_0x1b4e('0xd')]+_0x478f0++,'VoiceExtensionId':_0x3793ad[_0x1b4e('0x14')]});_0x579d35[_0x1b4e('0x10')]({'type':_0x3793ad['type'],'app':_0x1b4e('0x17'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x3793ad['context'],'exten':_0x3793ad[_0x1b4e('0xa')],'priority':_0xb9f1f6[_0x1b4e('0x25')]+_0x260b03[_0x1b4e('0xd')]+_0x478f0++,'VoiceExtensionId':_0x3793ad[_0x1b4e('0x14')]});}}}for(var _0x4f8579=0x0;_0x4f8579<_0xb9f1f6['length'];_0x4f8579+=0x1){var _0x41cdf6=_0x260b03[_0x1b4e('0xd')]+_0xb9f1f6[_0x1b4e('0x25')];var _0x13a97b=_0x4f8579===_0xb9f1f6[_0x1b4e('0x25')]-0x1?_0x260b03['priority']+_0x579d35[_0x1b4e('0x25')]+_0x3ef389[_0x1b4e('0x25')]+0x2:_0x260b03[_0x1b4e('0xd')]+_0x4f8579+0x1;_0x579d35['splice'](_0x4f8579,0x0,{'type':_0x3793ad['type'],'app':_0x1b4e('0x37'),'appdata':_0xb9f1f6[_0x4f8579]+'?'+_0x3793ad['context']+_0x1b4e('0x38')+_0x41cdf6+':'+_0x3793ad[_0x1b4e('0x13')]+_0x1b4e('0x38')+_0x13a97b,'exten':_0x3793ad[_0x1b4e('0xa')],'context':_0x3793ad['context'],'priority':_0x260b03[_0x1b4e('0xd')]+_0x4f8579,'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});}_0x3793ad[_0x1b4e('0xd')]=_0x579d35[_0x1b4e('0x25')]?_[_0x1b4e('0x39')](_0x579d35)[_0x1b4e('0xd')]+0x1:_0x260b03['priority'];_0x260b03[_0x1b4e('0xd')]=(_0x3ef389[_0x1b4e('0x25')]?_[_0x1b4e('0x39')](_0x3ef389)[_0x1b4e('0xd')]:_0x3793ad[_0x1b4e('0xd')])+0x1;_0x260b03[_0x1b4e('0x16')]=_[_0x1b4e('0x3a')](_0x260b03['extensions'],_0x579d35,[_0x3793ad],_0x3ef389);}_0x260b03[_0x1b4e('0x16')][_0x1b4e('0x10')]({'type':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x12')],'app':_0x1b4e('0x3b'),'exten':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0xa')],'context':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x13')],'priority':_0x260b03[_0x1b4e('0xd')],'VoiceExtensionId':_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]});_0x4e4166['push'](_0x39eff8[_0x237b7c][0x0][_0x1b4e('0x14')]);_0x2c486c=_[_0x1b4e('0x3a')](_0x2c486c,_0x260b03[_0x1b4e('0x16')]);}}return _0x476bdd[_0x1b4e('0x3c')](function(_0x407c83){return _0x476bdd['models'][_0x1b4e('0x4')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x4e4166}},'transaction':_0x407c83})[_0x1b4e('0x2')](function(_0x189d29){return _0x476bdd[_0x1b4e('0x1')][_0x1b4e('0x4')][_0x1b4e('0x3d')](_['sortBy'](_0x2c486c,_0x1b4e('0xd')),{'transaction':_0x407c83});});});})[_0x1b4e('0x3e')](function(_0x555523){console[_0x1b4e('0x3f')](_0x555523);});}exports['rewrite']=rewrite;