Built motion from commit (unavailable).|2.4.17
[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 _0x3fb7=['playback','hasOwnProperty','priority','extensions','extension','find','type','CDR(type)=%s','VoiceExtensionId','push','CDR(destination)=','cutdigits','${EXTEN:','context','CDR(routeid)=','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','Set','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','wav','MONITOR_OPTIONS=ab','length','createdAt','updatedAt','interval','*,*,*,*','tag','CDR(tag)=','outbound','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','app','toLowerCase','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1',',${EXTEN},','last','concat','destroy','bulkCreate','sortBy','catch','error','rewrite','util','Interval','then','intervals','models','VoiceExtension','findAll','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue'];(function(_0x1bd208,_0x505e7e){var _0x3877b5=function(_0x1471b1){while(--_0x1471b1){_0x1bd208['push'](_0x1bd208['shift']());}};_0x3877b5(++_0x505e7e);}(_0x3fb7,0x189));var _0x73fb=function(_0x5c9aba,_0x534d44){_0x5c9aba=_0x5c9aba-0x0;var _0x5ed7b9=_0x3fb7[_0x5c9aba];return _0x5ed7b9;};'use strict';var _=require('lodash');var util=require(_0x73fb('0x0'));function rewrite(_0x58700a,_0x3482a5){var _0x302333=this;return _0x58700a['models'][_0x73fb('0x1')]['findAll']({'raw':!![]})[_0x73fb('0x2')](function(_0x2c4f8c){_0x302333[_0x73fb('0x3')]=_0x2c4f8c;return _0x58700a[_0x73fb('0x4')][_0x73fb('0x5')][_0x73fb('0x6')]({'where':{'IntervalId':_0x3482a5[_0x73fb('0x7')]},'raw':!![]});})[_0x73fb('0x2')](function(_0x1455de){return _0x58700a[_0x73fb('0x4')][_0x73fb('0x5')][_0x73fb('0x6')]({'where':{'exten':{'$in':_[_0x73fb('0x8')](_[_0x73fb('0x9')](_0x1455de,_0x73fb('0xa')))}},'order':[{'raw':_0x73fb('0xb')}],'raw':!![]});})[_0x73fb('0x2')](function(_0x1052e1){var _0x1fbaf1=_[_0x73fb('0xc')](_0x1052e1,{'priority':'1'});var _0x2214eb=_[_0x73fb('0xc')](_0x1052e1,{'isApp':0x1});var _0x4e655c=_[_0x73fb('0xd')](_0x2214eb,'exten');var _0x3fc7ac=[_0x73fb('0xe'),_0x73fb('0xf')];var _0x9b6032=[];var _0x1395e1=[];for(var _0x17b18f in _0x4e655c){if(_0x4e655c[_0x73fb('0x10')](_0x17b18f)){_0x302333[_0x73fb('0x11')]=0x2;_0x302333[_0x73fb('0x12')]=[];_0x302333[_0x73fb('0x13')]=_[_0x73fb('0x14')](_0x1fbaf1,{'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')]});_0x302333[_0x73fb('0x12')]['push']({'type':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')],'app':'Set','appdata':util['format'](_0x73fb('0x16'),_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')]),'context':_0x4e655c[_0x17b18f][0x0]['context'],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});if(_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')]==='outbound'){if(_0x302333['extension']){_0x302333[_0x73fb('0x12')][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')],'app':'Set','appdata':_0x73fb('0x19')+(_0x302333[_0x73fb('0x13')][_0x73fb('0x1a')]?_0x73fb('0x1b')+_0x302333[_0x73fb('0x13')][_0x73fb('0x1a')]+'}':'${EXTEN}'),'context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0]['VoiceExtensionId']});}_0x302333['extensions'][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')],'app':'Set','appdata':_0x73fb('0x1d')+_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')],'context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});var _0x801c4d=_0x302333[_0x73fb('0x11')]++;_0x302333[_0x73fb('0x12')]['push']({'type':_0x4e655c[_0x17b18f][0x0]['type'],'app':_0x73fb('0x1e'),'appdata':_0x73fb('0x1f')+(_0x801c4d+0x2)+_0x73fb('0x20')+(_0x801c4d+0x1)+')','context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x801c4d,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});if(_0x302333[_0x73fb('0x13')]){_0x302333['extensions'][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')],'app':_0x73fb('0x21'),'appdata':_0x302333[_0x73fb('0x13')][_0x73fb('0x1a')]?_0x73fb('0x22')+_0x302333[_0x73fb('0x13')][_0x73fb('0x1a')]+'}':'CDR(prefix)=noprefix','context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333['priority']++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0]['VoiceExtensionId']});}_0x302333[_0x73fb('0x12')][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')],'app':_0x73fb('0x21'),'appdata':_0x73fb('0x23')+_0x4e655c[_0x17b18f][0x0]['VoiceExtensionId'],'context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});if(_0x302333[_0x73fb('0x13')]&&_0x302333[_0x73fb('0x13')][_0x73fb('0x10')](_0x73fb('0x24'))&&_0x302333[_0x73fb('0x13')][_0x73fb('0x24')]!=='none'){_0x302333[_0x73fb('0x12')][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')],'app':_0x73fb('0x21'),'appdata':_0x73fb('0x25'),'context':_0x4e655c[_0x17b18f][0x0]['context'],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0]['VoiceExtensionId']});_0x302333[_0x73fb('0x12')]['push']({'type':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')],'app':'Set','appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x302333[_0x73fb('0x13')][_0x73fb('0x24')]||_0x73fb('0x26'),'context':_0x4e655c[_0x17b18f][0x0]['context'],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});}}_0x302333[_0x73fb('0x12')][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x15')],'app':'Set','appdata':'XCALLY-MOTION-ANSWER=0','context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});_0x302333[_0x73fb('0x12')][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0]['type'],'app':_0x73fb('0x21'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0]['VoiceExtensionId']});_0x302333[_0x73fb('0x12')][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0]['type'],'app':_0x73fb('0x21'),'appdata':_0x73fb('0x27'),'context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'exten':_0x4e655c[_0x17b18f][0x0][_0x73fb('0xa')],'priority':_0x302333[_0x73fb('0x11')]++,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});for(var _0x1e4621=0x0,_0xc8253e=0x0;_0x1e4621<_0x4e655c[_0x17b18f][_0x73fb('0x28')];_0x1e4621+=0x1,_0xc8253e=0x0){var _0x52a047=_0x4e655c[_0x17b18f][_0x1e4621];if(_0x52a047[_0x73fb('0x15')]){_0x52a047[_0x73fb('0x15')]=_0x52a047['type']['toLowerCase']();}var _0x3b269a=[];var _0x4f349a=[];delete _0x52a047['id'];delete _0x52a047[_0x73fb('0x29')];delete _0x52a047[_0x73fb('0x2a')];var _0x325902=_0x52a047[_0x73fb('0x2b')]!==_0x73fb('0x2c')?[_0x52a047[_0x73fb('0x2b')]]:_0x52a047[_0x73fb('0x7')]?_[_0x73fb('0x9')](_['filter'](_0x302333[_0x73fb('0x3')],{'IntervalId':_0x52a047['IntervalId']}),'interval'):[];if(_0x52a047['hasOwnProperty'](_0x73fb('0x2d'))){if(_0x52a047['tag']&&_0x52a047[_0x73fb('0x2d')]!=='--'){_0x3b269a[_0x73fb('0x18')]({'type':_0x52a047[_0x73fb('0x15')],'app':'Set','appdata':_0x73fb('0x2e')+_0x52a047[_0x73fb('0x2d')],'context':_0x52a047[_0x73fb('0x1c')],'exten':_0x52a047['exten'],'priority':_0x325902[_0x73fb('0x28')]+_0x302333[_0x73fb('0x11')]+_0xc8253e++,'VoiceExtensionId':_0x52a047['VoiceExtensionId']});}}if(_0x52a047[_0x73fb('0x15')]===_0x73fb('0x2f')&&_0x52a047['hasOwnProperty'](_0x73fb('0x30'))){if(_0x52a047[_0x73fb('0x30')]){_0x3b269a[_0x73fb('0x18')]({'type':_0x52a047['type'],'app':_0x73fb('0x1e'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x52a047[_0x73fb('0x30')]+')','context':_0x52a047[_0x73fb('0x1c')],'exten':_0x52a047[_0x73fb('0xa')],'priority':_0x325902['length']+_0x302333[_0x73fb('0x11')]+_0xc8253e++,'VoiceExtensionId':_0x52a047[_0x73fb('0x17')]});}else{_0x3b269a[_0x73fb('0x18')]({'type':_0x52a047[_0x73fb('0x15')],'app':_0x73fb('0x1e'),'appdata':_0x73fb('0x31'),'context':_0x52a047[_0x73fb('0x1c')],'exten':_0x52a047[_0x73fb('0xa')],'priority':_0x325902[_0x73fb('0x28')]+_0x302333['priority']+_0xc8253e++,'VoiceExtensionId':_0x52a047['VoiceExtensionId']});}}if(_0x52a047[_0x73fb('0x10')](_0x73fb('0x32'))){if(_0x3fc7ac[_0x73fb('0x33')](_0x52a047[_0x73fb('0x34')][_0x73fb('0x35')]())>=0x0&&_0x52a047['appType']!==_0x73fb('0x36')){if(_0x52a047[_0x73fb('0x32')]){_0x3b269a[_0x73fb('0x18')]({'type':_0x52a047[_0x73fb('0x15')],'app':_0x73fb('0x1e'),'appdata':_0x73fb('0x37'),'context':_0x52a047[_0x73fb('0x1c')],'exten':_0x52a047[_0x73fb('0xa')],'priority':_0x325902['length']+_0x302333[_0x73fb('0x11')]+_0xc8253e++,'VoiceExtensionId':_0x52a047['VoiceExtensionId']});_0x3b269a[_0x73fb('0x18')]({'type':_0x52a047[_0x73fb('0x15')],'app':'Set','appdata':_0x73fb('0x38'),'context':_0x52a047['context'],'exten':_0x52a047[_0x73fb('0xa')],'priority':_0x325902[_0x73fb('0x28')]+_0x302333[_0x73fb('0x11')]+_0xc8253e++,'VoiceExtensionId':_0x52a047[_0x73fb('0x17')]});}else{_0x3b269a[_0x73fb('0x18')]({'type':_0x52a047[_0x73fb('0x15')],'app':_0x73fb('0x1e'),'appdata':_0x73fb('0x39'),'context':_0x52a047[_0x73fb('0x1c')],'exten':_0x52a047[_0x73fb('0xa')],'priority':_0x325902[_0x73fb('0x28')]+_0x302333[_0x73fb('0x11')]+_0xc8253e++,'VoiceExtensionId':_0x52a047['VoiceExtensionId']});_0x3b269a[_0x73fb('0x18')]({'type':_0x52a047['type'],'app':_0x73fb('0x21'),'appdata':_0x73fb('0x3a'),'context':_0x52a047['context'],'exten':_0x52a047[_0x73fb('0xa')],'priority':_0x325902['length']+_0x302333[_0x73fb('0x11')]+_0xc8253e++,'VoiceExtensionId':_0x52a047[_0x73fb('0x17')]});}}}for(var _0x2bc96e=0x0;_0x2bc96e<_0x325902[_0x73fb('0x28')];_0x2bc96e+=0x1){var _0x34c32b=_0x302333[_0x73fb('0x11')]+_0x325902[_0x73fb('0x28')];var _0xe5f745=_0x2bc96e===_0x325902[_0x73fb('0x28')]-0x1?_0x302333[_0x73fb('0x11')]+_0x3b269a[_0x73fb('0x28')]+_0x4f349a[_0x73fb('0x28')]+0x2:_0x302333[_0x73fb('0x11')]+_0x2bc96e+0x1;_0x3b269a['splice'](_0x2bc96e,0x0,{'type':_0x52a047[_0x73fb('0x15')],'app':'GotoIfTime','appdata':_0x325902[_0x2bc96e]+'?'+_0x52a047[_0x73fb('0x1c')]+_0x73fb('0x3b')+_0x34c32b+':'+_0x52a047[_0x73fb('0x1c')]+_0x73fb('0x3b')+_0xe5f745,'exten':_0x52a047['exten'],'context':_0x52a047[_0x73fb('0x1c')],'priority':_0x302333[_0x73fb('0x11')]+_0x2bc96e,'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});}_0x52a047[_0x73fb('0x11')]=_0x3b269a['length']?_[_0x73fb('0x3c')](_0x3b269a)[_0x73fb('0x11')]+0x1:_0x302333[_0x73fb('0x11')];_0x302333['priority']=(_0x4f349a[_0x73fb('0x28')]?_[_0x73fb('0x3c')](_0x4f349a)[_0x73fb('0x11')]:_0x52a047['priority'])+0x1;_0x302333[_0x73fb('0x12')]=_[_0x73fb('0x3d')](_0x302333[_0x73fb('0x12')],_0x3b269a,[_0x52a047],_0x4f349a);}_0x302333[_0x73fb('0x12')][_0x73fb('0x18')]({'type':_0x4e655c[_0x17b18f][0x0]['type'],'app':'Hangup','exten':_0x4e655c[_0x17b18f][0x0]['exten'],'context':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x1c')],'priority':_0x302333[_0x73fb('0x11')],'VoiceExtensionId':_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]});_0x9b6032[_0x73fb('0x18')](_0x4e655c[_0x17b18f][0x0][_0x73fb('0x17')]);_0x1395e1=_[_0x73fb('0x3d')](_0x1395e1,_0x302333['extensions']);}}return _0x58700a['transaction'](function(_0x1886fd){return _0x58700a['models']['VoiceExtension'][_0x73fb('0x3e')]({'where':{'VoiceExtensionId':{'$in':_0x9b6032}},'transaction':_0x1886fd})[_0x73fb('0x2')](function(_0x2bc9c){return _0x58700a['models'][_0x73fb('0x5')][_0x73fb('0x3f')](_[_0x73fb('0x40')](_0x1395e1,'priority'),{'transaction':_0x1886fd});});});})[_0x73fb('0x41')](function(_0x1820c2){console[_0x73fb('0x42')](_0x1820c2);});}exports[_0x73fb('0x43')]=rewrite;