Built motion from commit (unavailable).|2.5.14
[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 _0x3c8e=['_XCALLY_MIXMONITOR_FORMAT=','XCALLY-MOTION-PROGRESS=0','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','intervals','hasOwnProperty','tag','length','callerID','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','answer','indexOf','app','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','splice',',${EXTEN},','last','concat','Hangup','transaction','destroy','bulkCreate','sortBy','catch','rewrite','lodash','util','Interval','findAll','models','VoiceExtension','IntervalId','then','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','priority','extensions','extension','find','push','type','Set','format','CDR(type)=%s','VoiceExtensionId','outbound','CDR(destination)=','cutdigits','context','CDR(routeid)=','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}'];(function(_0xd5b8d4,_0x84559e){var _0x5b7314=function(_0x5322b7){while(--_0x5322b7){_0xd5b8d4['push'](_0xd5b8d4['shift']());}};_0x5b7314(++_0x84559e);}(_0x3c8e,0x65));var _0xe3c8=function(_0x251892,_0x3357ad){_0x251892=_0x251892-0x0;var _0x40e718=_0x3c8e[_0x251892];return _0x40e718;};'use strict';var _=require(_0xe3c8('0x0'));var util=require(_0xe3c8('0x1'));function rewrite(_0x166090,_0x117b59){var _0x4839bf=this;return _0x166090['models'][_0xe3c8('0x2')][_0xe3c8('0x3')]({'raw':!![]})['then'](function(_0x520c40){_0x4839bf['intervals']=_0x520c40;return _0x166090[_0xe3c8('0x4')][_0xe3c8('0x5')][_0xe3c8('0x3')]({'where':{'IntervalId':_0x117b59[_0xe3c8('0x6')]},'raw':!![]});})[_0xe3c8('0x7')](function(_0x505744){return _0x166090[_0xe3c8('0x4')][_0xe3c8('0x5')]['findAll']({'where':{'exten':{'$in':_[_0xe3c8('0x8')](_[_0xe3c8('0x9')](_0x505744,_0xe3c8('0xa')))}},'order':[{'raw':_0xe3c8('0xb')}],'raw':!![]});})[_0xe3c8('0x7')](function(_0x50f612){var _0x18e5ea=_['filter'](_0x50f612,{'priority':'1'});var _0x1189b8=_[_0xe3c8('0xc')](_0x50f612,{'isApp':0x1});var _0x2d29eb=_[_0xe3c8('0xd')](_0x1189b8,'exten');var _0x29d174=[_0xe3c8('0xe'),'playback'];var _0x28f419=[];var _0x561eb4=[];for(var _0x40751c in _0x2d29eb){if(_0x2d29eb['hasOwnProperty'](_0x40751c)){_0x4839bf[_0xe3c8('0xf')]=0x2;_0x4839bf[_0xe3c8('0x10')]=[];_0x4839bf[_0xe3c8('0x11')]=_[_0xe3c8('0x12')](_0x18e5ea,{'exten':_0x2d29eb[_0x40751c][0x0]['exten']});_0x4839bf[_0xe3c8('0x10')][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')],'app':_0xe3c8('0x15'),'appdata':util[_0xe3c8('0x16')](_0xe3c8('0x17'),_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')]),'context':_0x2d29eb[_0x40751c][0x0]['context'],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x4839bf['priority']++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});if(_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')]===_0xe3c8('0x19')){if(_0x4839bf['extension']){_0x4839bf['extensions'][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')],'app':'Set','appdata':_0xe3c8('0x1a')+(_0x4839bf[_0xe3c8('0x11')][_0xe3c8('0x1b')]?'${EXTEN:'+_0x4839bf[_0xe3c8('0x11')][_0xe3c8('0x1b')]+'}':'${EXTEN}'),'context':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x1c')],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x4839bf[_0xe3c8('0xf')]++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});}_0x4839bf['extensions'][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')],'app':_0xe3c8('0x15'),'appdata':_0xe3c8('0x1d')+_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')],'context':_0x2d29eb[_0x40751c][0x0]['context'],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x4839bf[_0xe3c8('0xf')]++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0]['VoiceExtensionId']});var _0x5ef5a3=_0x4839bf['priority']++;_0x4839bf['extensions']['push']({'type':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')],'app':'ExecIf','appdata':_0xe3c8('0x1e')+(_0x5ef5a3+0x2)+_0xe3c8('0x1f')+(_0x5ef5a3+0x1)+')','context':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x1c')],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x5ef5a3,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});if(_0x4839bf[_0xe3c8('0x11')]){_0x4839bf[_0xe3c8('0x10')]['push']({'type':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')],'app':'Set','appdata':_0x4839bf['extension'][_0xe3c8('0x1b')]?'CDR(prefix)=${EXTEN:0:'+_0x4839bf[_0xe3c8('0x11')]['cutdigits']+'}':_0xe3c8('0x20'),'context':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x1c')],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x4839bf['priority']++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});}_0x4839bf['extensions'][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')],'app':_0xe3c8('0x15'),'appdata':_0xe3c8('0x21')+_0x2d29eb[_0x40751c][0x0]['VoiceExtensionId'],'context':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x1c')],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x4839bf['priority']++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});if(_0x4839bf[_0xe3c8('0x11')]&&_0x4839bf[_0xe3c8('0x11')]['hasOwnProperty'](_0xe3c8('0x22'))&&_0x4839bf[_0xe3c8('0x11')][_0xe3c8('0x22')]!==_0xe3c8('0x23')){_0x4839bf[_0xe3c8('0x10')][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0]['type'],'app':_0xe3c8('0x15'),'appdata':_0xe3c8('0x24'),'context':_0x2d29eb[_0x40751c][0x0]['context'],'exten':_0x2d29eb[_0x40751c][0x0]['exten'],'priority':_0x4839bf[_0xe3c8('0xf')]++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});_0x4839bf['extensions'][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0]['type'],'app':_0xe3c8('0x15'),'appdata':_0xe3c8('0x25')+_0x4839bf[_0xe3c8('0x11')][_0xe3c8('0x22')]||'wav','context':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x1c')],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x4839bf[_0xe3c8('0xf')]++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});}}_0x4839bf[_0xe3c8('0x10')]['push']({'type':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')],'app':_0xe3c8('0x15'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x1c')],'exten':_0x2d29eb[_0x40751c][0x0]['exten'],'priority':_0x4839bf[_0xe3c8('0xf')]++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});_0x4839bf[_0xe3c8('0x10')][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0]['type'],'app':'Set','appdata':_0xe3c8('0x26'),'context':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x1c')],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x4839bf[_0xe3c8('0xf')]++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});_0x4839bf['extensions'][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0]['type'],'app':_0xe3c8('0x15'),'appdata':'MONITOR_OPTIONS=ab','context':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x1c')],'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'priority':_0x4839bf[_0xe3c8('0xf')]++,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0]['VoiceExtensionId']});for(var _0x3aca6c=0x0,_0x54e4e4=0x0;_0x3aca6c<_0x2d29eb[_0x40751c]['length'];_0x3aca6c+=0x1,_0x54e4e4=0x0){var _0x5d30f0=_0x2d29eb[_0x40751c][_0x3aca6c];if(_0x5d30f0[_0xe3c8('0x14')]){_0x5d30f0[_0xe3c8('0x14')]=_0x5d30f0[_0xe3c8('0x14')][_0xe3c8('0x27')]();}var _0x20fde5=[];var _0x24266e=[];delete _0x5d30f0['id'];delete _0x5d30f0[_0xe3c8('0x28')];delete _0x5d30f0[_0xe3c8('0x29')];var _0x18fdc8=_0x5d30f0[_0xe3c8('0x2a')]!==_0xe3c8('0x2b')?[_0x5d30f0[_0xe3c8('0x2a')]]:_0x5d30f0[_0xe3c8('0x6')]?_[_0xe3c8('0x9')](_[_0xe3c8('0xc')](_0x4839bf[_0xe3c8('0x2c')],{'IntervalId':_0x5d30f0['IntervalId']}),'interval'):[];if(_0x5d30f0[_0xe3c8('0x2d')]('tag')){if(_0x5d30f0[_0xe3c8('0x2e')]&&_0x5d30f0['tag']!=='--'){_0x20fde5['push']({'type':_0x5d30f0[_0xe3c8('0x14')],'app':_0xe3c8('0x15'),'appdata':'CDR(tag)='+_0x5d30f0[_0xe3c8('0x2e')],'context':_0x5d30f0[_0xe3c8('0x1c')],'exten':_0x5d30f0[_0xe3c8('0xa')],'priority':_0x18fdc8[_0xe3c8('0x2f')]+_0x4839bf[_0xe3c8('0xf')]+_0x54e4e4++,'VoiceExtensionId':_0x5d30f0['VoiceExtensionId']});}}if(_0x5d30f0[_0xe3c8('0x14')]===_0xe3c8('0x19')&&_0x5d30f0[_0xe3c8('0x2d')](_0xe3c8('0x30'))){if(_0x5d30f0['callerID']){_0x20fde5[_0xe3c8('0x13')]({'type':_0x5d30f0[_0xe3c8('0x14')],'app':_0xe3c8('0x31'),'appdata':_0xe3c8('0x32')+_0x5d30f0[_0xe3c8('0x30')]+')','context':_0x5d30f0['context'],'exten':_0x5d30f0['exten'],'priority':_0x18fdc8[_0xe3c8('0x2f')]+_0x4839bf[_0xe3c8('0xf')]+_0x54e4e4++,'VoiceExtensionId':_0x5d30f0[_0xe3c8('0x18')]});}else{_0x20fde5[_0xe3c8('0x13')]({'type':_0x5d30f0[_0xe3c8('0x14')],'app':_0xe3c8('0x31'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x5d30f0[_0xe3c8('0x1c')],'exten':_0x5d30f0[_0xe3c8('0xa')],'priority':_0x18fdc8['length']+_0x4839bf[_0xe3c8('0xf')]+_0x54e4e4++,'VoiceExtensionId':_0x5d30f0[_0xe3c8('0x18')]});}}if(_0x5d30f0['hasOwnProperty'](_0xe3c8('0x33'))){if(_0x29d174[_0xe3c8('0x34')](_0x5d30f0[_0xe3c8('0x35')][_0xe3c8('0x27')]())>=0x0&&_0x5d30f0['appType']!==_0xe3c8('0x36')){if(_0x5d30f0[_0xe3c8('0x33')]){_0x20fde5[_0xe3c8('0x13')]({'type':_0x5d30f0[_0xe3c8('0x14')],'app':_0xe3c8('0x31'),'appdata':_0xe3c8('0x37'),'context':_0x5d30f0[_0xe3c8('0x1c')],'exten':_0x5d30f0[_0xe3c8('0xa')],'priority':_0x18fdc8[_0xe3c8('0x2f')]+_0x4839bf[_0xe3c8('0xf')]+_0x54e4e4++,'VoiceExtensionId':_0x5d30f0['VoiceExtensionId']});_0x20fde5['push']({'type':_0x5d30f0[_0xe3c8('0x14')],'app':_0xe3c8('0x15'),'appdata':_0xe3c8('0x38'),'context':_0x5d30f0[_0xe3c8('0x1c')],'exten':_0x5d30f0[_0xe3c8('0xa')],'priority':_0x18fdc8[_0xe3c8('0x2f')]+_0x4839bf[_0xe3c8('0xf')]+_0x54e4e4++,'VoiceExtensionId':_0x5d30f0['VoiceExtensionId']});}else{_0x20fde5[_0xe3c8('0x13')]({'type':_0x5d30f0[_0xe3c8('0x14')],'app':_0xe3c8('0x31'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x5d30f0[_0xe3c8('0x1c')],'exten':_0x5d30f0[_0xe3c8('0xa')],'priority':_0x18fdc8['length']+_0x4839bf['priority']+_0x54e4e4++,'VoiceExtensionId':_0x5d30f0[_0xe3c8('0x18')]});_0x20fde5[_0xe3c8('0x13')]({'type':_0x5d30f0['type'],'app':_0xe3c8('0x15'),'appdata':_0xe3c8('0x39'),'context':_0x5d30f0[_0xe3c8('0x1c')],'exten':_0x5d30f0[_0xe3c8('0xa')],'priority':_0x18fdc8[_0xe3c8('0x2f')]+_0x4839bf[_0xe3c8('0xf')]+_0x54e4e4++,'VoiceExtensionId':_0x5d30f0[_0xe3c8('0x18')]});}}}for(var _0x285841=0x0;_0x285841<_0x18fdc8[_0xe3c8('0x2f')];_0x285841+=0x1){var _0x195076=_0x4839bf['priority']+_0x18fdc8['length'];var _0x5aa6ad=_0x285841===_0x18fdc8[_0xe3c8('0x2f')]-0x1?_0x4839bf['priority']+_0x20fde5[_0xe3c8('0x2f')]+_0x24266e[_0xe3c8('0x2f')]+0x2:_0x4839bf[_0xe3c8('0xf')]+_0x285841+0x1;_0x20fde5[_0xe3c8('0x3a')](_0x285841,0x0,{'type':_0x5d30f0[_0xe3c8('0x14')],'app':'GotoIfTime','appdata':_0x18fdc8[_0x285841]+'?'+_0x5d30f0[_0xe3c8('0x1c')]+_0xe3c8('0x3b')+_0x195076+':'+_0x5d30f0[_0xe3c8('0x1c')]+_0xe3c8('0x3b')+_0x5aa6ad,'exten':_0x5d30f0[_0xe3c8('0xa')],'context':_0x5d30f0[_0xe3c8('0x1c')],'priority':_0x4839bf['priority']+_0x285841,'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]});}_0x5d30f0['priority']=_0x20fde5[_0xe3c8('0x2f')]?_[_0xe3c8('0x3c')](_0x20fde5)['priority']+0x1:_0x4839bf['priority'];_0x4839bf[_0xe3c8('0xf')]=(_0x24266e['length']?_[_0xe3c8('0x3c')](_0x24266e)[_0xe3c8('0xf')]:_0x5d30f0[_0xe3c8('0xf')])+0x1;_0x4839bf['extensions']=_[_0xe3c8('0x3d')](_0x4839bf[_0xe3c8('0x10')],_0x20fde5,[_0x5d30f0],_0x24266e);}_0x4839bf[_0xe3c8('0x10')][_0xe3c8('0x13')]({'type':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x14')],'app':_0xe3c8('0x3e'),'exten':_0x2d29eb[_0x40751c][0x0][_0xe3c8('0xa')],'context':_0x2d29eb[_0x40751c][0x0]['context'],'priority':_0x4839bf['priority'],'VoiceExtensionId':_0x2d29eb[_0x40751c][0x0]['VoiceExtensionId']});_0x28f419['push'](_0x2d29eb[_0x40751c][0x0][_0xe3c8('0x18')]);_0x561eb4=_[_0xe3c8('0x3d')](_0x561eb4,_0x4839bf[_0xe3c8('0x10')]);}}return _0x166090[_0xe3c8('0x3f')](function(_0x1b33b0){return _0x166090[_0xe3c8('0x4')]['VoiceExtension'][_0xe3c8('0x40')]({'where':{'VoiceExtensionId':{'$in':_0x28f419}},'transaction':_0x1b33b0})[_0xe3c8('0x7')](function(_0x2b6cd5){return _0x166090[_0xe3c8('0x4')]['VoiceExtension'][_0xe3c8('0x41')](_[_0xe3c8('0x42')](_0x561eb4,_0xe3c8('0xf')),{'transaction':_0x1b33b0});});});})[_0xe3c8('0x43')](function(_0x4b438c){console['error'](_0x4b438c);});}exports[_0xe3c8('0x44')]=rewrite;