Built motion from commit 85328c08.|2.5.50
[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 _0x189f=['callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','answer','indexOf','app','appType','custom','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice','last','Hangup','concat','destroy','bulkCreate','catch','error','rewrite','lodash','util','models','Interval','findAll','IntervalId','VoiceExtension','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','then','filter','groupBy','hasOwnProperty','priority','find','extensions','push','Set','format','CDR(type)=%s','type','context','VoiceExtensionId','outbound','extension','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','CDR(routeid)=','ExecIf','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','length','toLowerCase','createdAt','updatedAt','interval','intervals','tag','CDR(tag)='];(function(_0x18ce8c,_0xecedd2){var _0x4d1946=function(_0x3bb64e){while(--_0x3bb64e){_0x18ce8c['push'](_0x18ce8c['shift']());}};_0x4d1946(++_0xecedd2);}(_0x189f,0xd8));var _0xf189=function(_0x5fb9da,_0x1ac0d0){_0x5fb9da=_0x5fb9da-0x0;var _0x528081=_0x189f[_0x5fb9da];return _0x528081;};'use strict';var _=require(_0xf189('0x0'));var util=require(_0xf189('0x1'));function rewrite(_0x10a0d3,_0xdb9097){var _0x375bcc=this;return _0x10a0d3[_0xf189('0x2')][_0xf189('0x3')][_0xf189('0x4')]({'raw':!![]})['then'](function(_0x53dcf0){_0x375bcc['intervals']=_0x53dcf0;return _0x10a0d3['models']['VoiceExtension'][_0xf189('0x4')]({'where':{'IntervalId':_0xdb9097[_0xf189('0x5')]},'raw':!![]});})['then'](function(_0x4f40f4){return _0x10a0d3[_0xf189('0x2')][_0xf189('0x6')][_0xf189('0x4')]({'where':{'exten':{'$in':_[_0xf189('0x7')](_[_0xf189('0x8')](_0x4f40f4,_0xf189('0x9')))}},'order':[{'raw':_0xf189('0xa')}],'raw':!![]});})[_0xf189('0xb')](function(_0x5e4cbc){var _0xed8679=_[_0xf189('0xc')](_0x5e4cbc,{'priority':'1'});var _0x3de60b=_['filter'](_0x5e4cbc,{'isApp':0x1});var _0x105d4d=_[_0xf189('0xd')](_0x3de60b,_0xf189('0x9'));var _0x4da8be=['queue','playback'];var _0x2030d5=[];var _0x5cd328=[];for(var _0x4231bf in _0x105d4d){if(_0x105d4d[_0xf189('0xe')](_0x4231bf)){_0x375bcc[_0xf189('0xf')]=0x2;_0x375bcc['extensions']=[];_0x375bcc['extension']=_[_0xf189('0x10')](_0xed8679,{'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')]});_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0]['type'],'app':_0xf189('0x13'),'appdata':util[_0xf189('0x14')](_0xf189('0x15'),_0x105d4d[_0x4231bf][0x0][_0xf189('0x16')]),'context':_0x105d4d[_0x4231bf][0x0][_0xf189('0x17')],'exten':_0x105d4d[_0x4231bf][0x0]['exten'],'priority':_0x375bcc[_0xf189('0xf')]++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});if(_0x105d4d[_0x4231bf][0x0]['type']==='inbound'){_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0]['type'],'app':'Set','appdata':'CDR(routeid)='+_0x105d4d[_0x4231bf][0x0]['VoiceExtensionId'],'context':_0x105d4d[_0x4231bf][0x0]['context'],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x375bcc[_0xf189('0xf')]++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});}else if(_0x105d4d[_0x4231bf][0x0]['type']===_0xf189('0x19')){if(_0x375bcc[_0xf189('0x1a')]){_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0][_0xf189('0x16')],'app':'Set','appdata':_0xf189('0x1b')+(_0x375bcc[_0xf189('0x1a')][_0xf189('0x1c')]?_0xf189('0x1d')+_0x375bcc['extension'][_0xf189('0x1c')]+'}':_0xf189('0x1e')),'context':_0x105d4d[_0x4231bf][0x0][_0xf189('0x17')],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x375bcc['priority']++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});}_0x375bcc['extensions'][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0]['type'],'app':'Set','appdata':_0xf189('0x1f')+_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')],'context':_0x105d4d[_0x4231bf][0x0][_0xf189('0x17')],'exten':_0x105d4d[_0x4231bf][0x0]['exten'],'priority':_0x375bcc['priority']++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});var _0x2afce1=_0x375bcc[_0xf189('0xf')]++;_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0]['type'],'app':_0xf189('0x20'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x2afce1+0x2)+'):Goto('+(_0x2afce1+0x1)+')','context':_0x105d4d[_0x4231bf][0x0]['context'],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x2afce1,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});if(_0x375bcc['extension']){_0x375bcc['extensions']['push']({'type':_0x105d4d[_0x4231bf][0x0]['type'],'app':_0xf189('0x13'),'appdata':_0x375bcc['extension'][_0xf189('0x1c')]?'CDR(prefix)=${EXTEN:0:'+_0x375bcc[_0xf189('0x1a')][_0xf189('0x1c')]+'}':_0xf189('0x21'),'context':_0x105d4d[_0x4231bf][0x0][_0xf189('0x17')],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x375bcc[_0xf189('0xf')]++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});}_0x375bcc['extensions'][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0]['type'],'app':_0xf189('0x13'),'appdata':_0xf189('0x22')+_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')],'context':_0x105d4d[_0x4231bf][0x0]['context'],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x375bcc['priority']++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});if(_0x375bcc[_0xf189('0x1a')]&&_0x375bcc[_0xf189('0x1a')][_0xf189('0xe')](_0xf189('0x23'))&&_0x375bcc[_0xf189('0x1a')]['recordingFormat']!==_0xf189('0x24')){_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0][_0xf189('0x16')],'app':'Set','appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x105d4d[_0x4231bf][0x0][_0xf189('0x17')],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x375bcc[_0xf189('0xf')]++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0][_0xf189('0x16')],'app':'Set','appdata':_0xf189('0x25')+_0x375bcc[_0xf189('0x1a')]['recordingFormat']||_0xf189('0x26'),'context':_0x105d4d[_0x4231bf][0x0][_0xf189('0x17')],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x375bcc[_0xf189('0xf')]++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});}}_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0][_0xf189('0x16')],'app':_0xf189('0x13'),'appdata':_0xf189('0x27'),'context':_0x105d4d[_0x4231bf][0x0][_0xf189('0x17')],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x375bcc[_0xf189('0xf')]++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0]['type'],'app':_0xf189('0x13'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x105d4d[_0x4231bf][0x0][_0xf189('0x17')],'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'priority':_0x375bcc[_0xf189('0xf')]++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});_0x375bcc[_0xf189('0x11')]['push']({'type':_0x105d4d[_0x4231bf][0x0]['type'],'app':_0xf189('0x13'),'appdata':'MONITOR_OPTIONS=ab','context':_0x105d4d[_0x4231bf][0x0]['context'],'exten':_0x105d4d[_0x4231bf][0x0]['exten'],'priority':_0x375bcc[_0xf189('0xf')]++,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0]['VoiceExtensionId']});for(var _0x2ec564=0x0,_0x268f40=0x0;_0x2ec564<_0x105d4d[_0x4231bf][_0xf189('0x28')];_0x2ec564+=0x1,_0x268f40=0x0){var _0x207e2a=_0x105d4d[_0x4231bf][_0x2ec564];if(_0x207e2a[_0xf189('0x16')]){_0x207e2a[_0xf189('0x16')]=_0x207e2a['type'][_0xf189('0x29')]();}var _0x3a6b54=[];var _0x172104=[];delete _0x207e2a['id'];delete _0x207e2a[_0xf189('0x2a')];delete _0x207e2a[_0xf189('0x2b')];var _0x97a380=_0x207e2a[_0xf189('0x2c')]!=='*,*,*,*'?[_0x207e2a['interval']]:_0x207e2a['IntervalId']?_['map'](_[_0xf189('0xc')](_0x375bcc[_0xf189('0x2d')],{'IntervalId':_0x207e2a['IntervalId']}),_0xf189('0x2c')):[];if(_0x207e2a[_0xf189('0xe')]('tag')){if(_0x207e2a[_0xf189('0x2e')]&&_0x207e2a[_0xf189('0x2e')]!=='--'){_0x3a6b54['push']({'type':_0x207e2a[_0xf189('0x16')],'app':_0xf189('0x13'),'appdata':_0xf189('0x2f')+_0x207e2a['tag'],'context':_0x207e2a[_0xf189('0x17')],'exten':_0x207e2a[_0xf189('0x9')],'priority':_0x97a380[_0xf189('0x28')]+_0x375bcc['priority']+_0x268f40++,'VoiceExtensionId':_0x207e2a[_0xf189('0x18')]});}}if(_0x207e2a['type']===_0xf189('0x19')&&_0x207e2a[_0xf189('0xe')](_0xf189('0x30'))){if(_0x207e2a[_0xf189('0x30')]){_0x3a6b54['push']({'type':_0x207e2a[_0xf189('0x16')],'app':_0xf189('0x20'),'appdata':_0xf189('0x31')+_0x207e2a[_0xf189('0x30')]+')','context':_0x207e2a['context'],'exten':_0x207e2a[_0xf189('0x9')],'priority':_0x97a380[_0xf189('0x28')]+_0x375bcc[_0xf189('0xf')]+_0x268f40++,'VoiceExtensionId':_0x207e2a[_0xf189('0x18')]});}else{_0x3a6b54['push']({'type':_0x207e2a[_0xf189('0x16')],'app':_0xf189('0x20'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x207e2a[_0xf189('0x17')],'exten':_0x207e2a[_0xf189('0x9')],'priority':_0x97a380[_0xf189('0x28')]+_0x375bcc[_0xf189('0xf')]+_0x268f40++,'VoiceExtensionId':_0x207e2a[_0xf189('0x18')]});}}if(_0x207e2a[_0xf189('0xe')](_0xf189('0x32'))){if(_0x4da8be[_0xf189('0x33')](_0x207e2a[_0xf189('0x34')]['toLowerCase']())>=0x0&&_0x207e2a[_0xf189('0x35')]!==_0xf189('0x36')){if(_0x207e2a[_0xf189('0x32')]){_0x3a6b54[_0xf189('0x12')]({'type':_0x207e2a['type'],'app':_0xf189('0x20'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x207e2a[_0xf189('0x17')],'exten':_0x207e2a[_0xf189('0x9')],'priority':_0x97a380[_0xf189('0x28')]+_0x375bcc[_0xf189('0xf')]+_0x268f40++,'VoiceExtensionId':_0x207e2a[_0xf189('0x18')]});_0x3a6b54[_0xf189('0x12')]({'type':_0x207e2a[_0xf189('0x16')],'app':_0xf189('0x13'),'appdata':_0xf189('0x37'),'context':_0x207e2a[_0xf189('0x17')],'exten':_0x207e2a['exten'],'priority':_0x97a380['length']+_0x375bcc[_0xf189('0xf')]+_0x268f40++,'VoiceExtensionId':_0x207e2a[_0xf189('0x18')]});}else{_0x3a6b54[_0xf189('0x12')]({'type':_0x207e2a[_0xf189('0x16')],'app':_0xf189('0x20'),'appdata':_0xf189('0x38'),'context':_0x207e2a['context'],'exten':_0x207e2a[_0xf189('0x9')],'priority':_0x97a380[_0xf189('0x28')]+_0x375bcc[_0xf189('0xf')]+_0x268f40++,'VoiceExtensionId':_0x207e2a[_0xf189('0x18')]});_0x3a6b54[_0xf189('0x12')]({'type':_0x207e2a[_0xf189('0x16')],'app':_0xf189('0x13'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x207e2a[_0xf189('0x17')],'exten':_0x207e2a[_0xf189('0x9')],'priority':_0x97a380['length']+_0x375bcc['priority']+_0x268f40++,'VoiceExtensionId':_0x207e2a[_0xf189('0x18')]});}}}for(var _0x1c1ae9=0x0;_0x1c1ae9<_0x97a380[_0xf189('0x28')];_0x1c1ae9+=0x1){var _0x1d44bb=_0x375bcc[_0xf189('0xf')]+_0x97a380[_0xf189('0x28')];var _0x131577=_0x1c1ae9===_0x97a380[_0xf189('0x28')]-0x1?_0x375bcc[_0xf189('0xf')]+_0x3a6b54['length']+_0x172104[_0xf189('0x28')]+0x2:_0x375bcc[_0xf189('0xf')]+_0x1c1ae9+0x1;_0x3a6b54[_0xf189('0x39')](_0x1c1ae9,0x0,{'type':_0x207e2a[_0xf189('0x16')],'app':'GotoIfTime','appdata':_0x97a380[_0x1c1ae9]+'?'+_0x207e2a[_0xf189('0x17')]+',${EXTEN},'+_0x1d44bb+':'+_0x207e2a[_0xf189('0x17')]+',${EXTEN},'+_0x131577,'exten':_0x207e2a[_0xf189('0x9')],'context':_0x207e2a[_0xf189('0x17')],'priority':_0x375bcc[_0xf189('0xf')]+_0x1c1ae9,'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});}_0x207e2a['priority']=_0x3a6b54['length']?_[_0xf189('0x3a')](_0x3a6b54)[_0xf189('0xf')]+0x1:_0x375bcc[_0xf189('0xf')];_0x375bcc[_0xf189('0xf')]=(_0x172104[_0xf189('0x28')]?_[_0xf189('0x3a')](_0x172104)[_0xf189('0xf')]:_0x207e2a[_0xf189('0xf')])+0x1;_0x375bcc[_0xf189('0x11')]=_['concat'](_0x375bcc['extensions'],_0x3a6b54,[_0x207e2a],_0x172104);}_0x375bcc[_0xf189('0x11')][_0xf189('0x12')]({'type':_0x105d4d[_0x4231bf][0x0][_0xf189('0x16')],'app':_0xf189('0x3b'),'exten':_0x105d4d[_0x4231bf][0x0][_0xf189('0x9')],'context':_0x105d4d[_0x4231bf][0x0]['context'],'priority':_0x375bcc[_0xf189('0xf')],'VoiceExtensionId':_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]});_0x2030d5[_0xf189('0x12')](_0x105d4d[_0x4231bf][0x0][_0xf189('0x18')]);_0x5cd328=_[_0xf189('0x3c')](_0x5cd328,_0x375bcc[_0xf189('0x11')]);}}return _0x10a0d3['transaction'](function(_0x4f1579){return _0x10a0d3['models']['VoiceExtension'][_0xf189('0x3d')]({'where':{'VoiceExtensionId':{'$in':_0x2030d5}},'transaction':_0x4f1579})[_0xf189('0xb')](function(_0x4cc7ba){return _0x10a0d3[_0xf189('0x2')][_0xf189('0x6')][_0xf189('0x3e')](_['sortBy'](_0x5cd328,_0xf189('0xf')),{'transaction':_0x4f1579});});});})[_0xf189('0x3f')](function(_0x343553){console[_0xf189('0x40')](_0x343553);});}exports[_0xf189('0x41')]=rewrite;