Built motion from commit 9d1906d1.|2.5.40
[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 _0x4bfb=['length','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','app','appType','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','bulkCreate','sortBy','catch','error','lodash','util','Interval','findAll','then','intervals','models','VoiceExtension','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','groupBy','playback','hasOwnProperty','extension','find','push','type','Set','format','context','priority','VoiceExtensionId','inbound','extensions','outbound','cutdigits','${EXTEN:','CDR(routeid)=','ExecIf','):Goto(','CDR(prefix)=noprefix','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','updatedAt','interval','*,*,*,*','tag','CDR(tag)=','callerID'];(function(_0x5ddb1c,_0x5ea4df){var _0x354adc=function(_0x2dfb1f){while(--_0x2dfb1f){_0x5ddb1c['push'](_0x5ddb1c['shift']());}};_0x354adc(++_0x5ea4df);}(_0x4bfb,0x124));var _0xb4bf=function(_0x157111,_0x3a9771){_0x157111=_0x157111-0x0;var _0x5b00c4=_0x4bfb[_0x157111];return _0x5b00c4;};'use strict';var _=require(_0xb4bf('0x0'));var util=require(_0xb4bf('0x1'));function rewrite(_0x608235,_0x29ee87){var _0x20b540=this;return _0x608235['models'][_0xb4bf('0x2')][_0xb4bf('0x3')]({'raw':!![]})[_0xb4bf('0x4')](function(_0x420e57){_0x20b540[_0xb4bf('0x5')]=_0x420e57;return _0x608235[_0xb4bf('0x6')][_0xb4bf('0x7')]['findAll']({'where':{'IntervalId':_0x29ee87[_0xb4bf('0x8')]},'raw':!![]});})[_0xb4bf('0x4')](function(_0x279528){return _0x608235[_0xb4bf('0x6')][_0xb4bf('0x7')]['findAll']({'where':{'exten':{'$in':_[_0xb4bf('0x9')](_[_0xb4bf('0xa')](_0x279528,_0xb4bf('0xb')))}},'order':[{'raw':_0xb4bf('0xc')}],'raw':!![]});})['then'](function(_0x5c10f8){var _0x2334b6=_['filter'](_0x5c10f8,{'priority':'1'});var _0x4714c0=_['filter'](_0x5c10f8,{'isApp':0x1});var _0x5bb71f=_[_0xb4bf('0xd')](_0x4714c0,_0xb4bf('0xb'));var _0xc95b0f=['queue',_0xb4bf('0xe')];var _0x23003b=[];var _0x4d5b4b=[];for(var _0x380316 in _0x5bb71f){if(_0x5bb71f[_0xb4bf('0xf')](_0x380316)){_0x20b540['priority']=0x2;_0x20b540['extensions']=[];_0x20b540[_0xb4bf('0x10')]=_[_0xb4bf('0x11')](_0x2334b6,{'exten':_0x5bb71f[_0x380316][0x0]['exten']});_0x20b540['extensions'][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x13')],'app':_0xb4bf('0x14'),'appdata':util[_0xb4bf('0x15')]('CDR(type)=%s',_0x5bb71f[_0x380316][0x0][_0xb4bf('0x13')]),'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0][_0xb4bf('0xb')],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});if(_0x5bb71f[_0x380316][0x0]['type']===_0xb4bf('0x19')){_0x20b540[_0xb4bf('0x1a')][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x13')],'app':_0xb4bf('0x14'),'appdata':'CDR(routeid)='+_0x5bb71f[_0x380316][0x0]['VoiceExtensionId'],'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0]['exten'],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});}else if(_0x5bb71f[_0x380316][0x0][_0xb4bf('0x13')]===_0xb4bf('0x1b')){if(_0x20b540['extension']){_0x20b540['extensions'][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0]['type'],'app':_0xb4bf('0x14'),'appdata':'CDR(destination)='+(_0x20b540[_0xb4bf('0x10')][_0xb4bf('0x1c')]?_0xb4bf('0x1d')+_0x20b540['extension'][_0xb4bf('0x1c')]+'}':'${EXTEN}'),'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0][_0xb4bf('0xb')],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});}_0x20b540[_0xb4bf('0x1a')]['push']({'type':_0x5bb71f[_0x380316][0x0]['type'],'app':'Set','appdata':_0xb4bf('0x1e')+_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')],'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0][_0xb4bf('0xb')],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});var _0x1e852e=_0x20b540[_0xb4bf('0x17')]++;_0x20b540[_0xb4bf('0x1a')][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0]['type'],'app':_0xb4bf('0x1f'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x1e852e+0x2)+_0xb4bf('0x20')+(_0x1e852e+0x1)+')','context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0]['exten'],'priority':_0x1e852e,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});if(_0x20b540['extension']){_0x20b540[_0xb4bf('0x1a')][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x13')],'app':_0xb4bf('0x14'),'appdata':_0x20b540['extension'][_0xb4bf('0x1c')]?'CDR(prefix)=${EXTEN:0:'+_0x20b540[_0xb4bf('0x10')][_0xb4bf('0x1c')]+'}':_0xb4bf('0x21'),'context':_0x5bb71f[_0x380316][0x0]['context'],'exten':_0x5bb71f[_0x380316][0x0]['exten'],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});}_0x20b540[_0xb4bf('0x1a')][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0]['type'],'app':_0xb4bf('0x14'),'appdata':'outboundrouteid='+_0x5bb71f[_0x380316][0x0]['VoiceExtensionId'],'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0][_0xb4bf('0xb')],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});if(_0x20b540[_0xb4bf('0x10')]&&_0x20b540[_0xb4bf('0x10')][_0xb4bf('0xf')](_0xb4bf('0x22'))&&_0x20b540[_0xb4bf('0x10')][_0xb4bf('0x22')]!=='none'){_0x20b540[_0xb4bf('0x1a')][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x13')],'app':_0xb4bf('0x14'),'appdata':_0xb4bf('0x23'),'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0]['exten'],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});_0x20b540[_0xb4bf('0x1a')][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0]['type'],'app':_0xb4bf('0x14'),'appdata':_0xb4bf('0x24')+_0x20b540[_0xb4bf('0x10')][_0xb4bf('0x22')]||_0xb4bf('0x25'),'context':_0x5bb71f[_0x380316][0x0]['context'],'exten':_0x5bb71f[_0x380316][0x0][_0xb4bf('0xb')],'priority':_0x20b540['priority']++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0]['VoiceExtensionId']});}}_0x20b540['extensions'][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0]['type'],'app':'Set','appdata':_0xb4bf('0x26'),'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0][_0xb4bf('0xb')],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});_0x20b540['extensions'][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x13')],'app':_0xb4bf('0x14'),'appdata':_0xb4bf('0x27'),'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0][_0xb4bf('0xb')],'priority':_0x20b540['priority']++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0]['VoiceExtensionId']});_0x20b540['extensions'][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x13')],'app':_0xb4bf('0x14'),'appdata':_0xb4bf('0x28'),'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'exten':_0x5bb71f[_0x380316][0x0]['exten'],'priority':_0x20b540[_0xb4bf('0x17')]++,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});for(var _0x46a523=0x0,_0x4fe0d4=0x0;_0x46a523<_0x5bb71f[_0x380316]['length'];_0x46a523+=0x1,_0x4fe0d4=0x0){var _0x18537a=_0x5bb71f[_0x380316][_0x46a523];if(_0x18537a[_0xb4bf('0x13')]){_0x18537a['type']=_0x18537a[_0xb4bf('0x13')][_0xb4bf('0x29')]();}var _0x434ce4=[];var _0x4ece6c=[];delete _0x18537a['id'];delete _0x18537a['createdAt'];delete _0x18537a[_0xb4bf('0x2a')];var _0x3910e5=_0x18537a[_0xb4bf('0x2b')]!==_0xb4bf('0x2c')?[_0x18537a[_0xb4bf('0x2b')]]:_0x18537a[_0xb4bf('0x8')]?_[_0xb4bf('0xa')](_['filter'](_0x20b540[_0xb4bf('0x5')],{'IntervalId':_0x18537a[_0xb4bf('0x8')]}),_0xb4bf('0x2b')):[];if(_0x18537a[_0xb4bf('0xf')]('tag')){if(_0x18537a[_0xb4bf('0x2d')]&&_0x18537a[_0xb4bf('0x2d')]!=='--'){_0x434ce4[_0xb4bf('0x12')]({'type':_0x18537a[_0xb4bf('0x13')],'app':_0xb4bf('0x14'),'appdata':_0xb4bf('0x2e')+_0x18537a[_0xb4bf('0x2d')],'context':_0x18537a[_0xb4bf('0x16')],'exten':_0x18537a[_0xb4bf('0xb')],'priority':_0x3910e5['length']+_0x20b540[_0xb4bf('0x17')]+_0x4fe0d4++,'VoiceExtensionId':_0x18537a['VoiceExtensionId']});}}if(_0x18537a[_0xb4bf('0x13')]===_0xb4bf('0x1b')&&_0x18537a['hasOwnProperty'](_0xb4bf('0x2f'))){if(_0x18537a[_0xb4bf('0x2f')]){_0x434ce4[_0xb4bf('0x12')]({'type':_0x18537a[_0xb4bf('0x13')],'app':'ExecIf','appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x18537a['callerID']+')','context':_0x18537a[_0xb4bf('0x16')],'exten':_0x18537a[_0xb4bf('0xb')],'priority':_0x3910e5[_0xb4bf('0x30')]+_0x20b540[_0xb4bf('0x17')]+_0x4fe0d4++,'VoiceExtensionId':_0x18537a['VoiceExtensionId']});}else{_0x434ce4[_0xb4bf('0x12')]({'type':_0x18537a[_0xb4bf('0x13')],'app':'ExecIf','appdata':_0xb4bf('0x31'),'context':_0x18537a[_0xb4bf('0x16')],'exten':_0x18537a[_0xb4bf('0xb')],'priority':_0x3910e5[_0xb4bf('0x30')]+_0x20b540[_0xb4bf('0x17')]+_0x4fe0d4++,'VoiceExtensionId':_0x18537a[_0xb4bf('0x18')]});}}if(_0x18537a[_0xb4bf('0xf')](_0xb4bf('0x32'))){if(_0xc95b0f[_0xb4bf('0x33')](_0x18537a[_0xb4bf('0x34')][_0xb4bf('0x29')]())>=0x0&&_0x18537a[_0xb4bf('0x35')]!=='custom'){if(_0x18537a[_0xb4bf('0x32')]){_0x434ce4[_0xb4bf('0x12')]({'type':_0x18537a[_0xb4bf('0x13')],'app':'ExecIf','appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x18537a[_0xb4bf('0x16')],'exten':_0x18537a[_0xb4bf('0xb')],'priority':_0x3910e5[_0xb4bf('0x30')]+_0x20b540[_0xb4bf('0x17')]+_0x4fe0d4++,'VoiceExtensionId':_0x18537a[_0xb4bf('0x18')]});_0x434ce4['push']({'type':_0x18537a['type'],'app':'Set','appdata':_0xb4bf('0x36'),'context':_0x18537a[_0xb4bf('0x16')],'exten':_0x18537a['exten'],'priority':_0x3910e5[_0xb4bf('0x30')]+_0x20b540[_0xb4bf('0x17')]+_0x4fe0d4++,'VoiceExtensionId':_0x18537a['VoiceExtensionId']});}else{_0x434ce4[_0xb4bf('0x12')]({'type':_0x18537a[_0xb4bf('0x13')],'app':'ExecIf','appdata':_0xb4bf('0x37'),'context':_0x18537a[_0xb4bf('0x16')],'exten':_0x18537a['exten'],'priority':_0x3910e5[_0xb4bf('0x30')]+_0x20b540['priority']+_0x4fe0d4++,'VoiceExtensionId':_0x18537a['VoiceExtensionId']});_0x434ce4[_0xb4bf('0x12')]({'type':_0x18537a[_0xb4bf('0x13')],'app':_0xb4bf('0x14'),'appdata':_0xb4bf('0x38'),'context':_0x18537a[_0xb4bf('0x16')],'exten':_0x18537a[_0xb4bf('0xb')],'priority':_0x3910e5[_0xb4bf('0x30')]+_0x20b540[_0xb4bf('0x17')]+_0x4fe0d4++,'VoiceExtensionId':_0x18537a[_0xb4bf('0x18')]});}}}for(var _0x15d64a=0x0;_0x15d64a<_0x3910e5[_0xb4bf('0x30')];_0x15d64a+=0x1){var _0xbb8362=_0x20b540[_0xb4bf('0x17')]+_0x3910e5['length'];var _0x297819=_0x15d64a===_0x3910e5[_0xb4bf('0x30')]-0x1?_0x20b540[_0xb4bf('0x17')]+_0x434ce4[_0xb4bf('0x30')]+_0x4ece6c[_0xb4bf('0x30')]+0x2:_0x20b540['priority']+_0x15d64a+0x1;_0x434ce4[_0xb4bf('0x39')](_0x15d64a,0x0,{'type':_0x18537a[_0xb4bf('0x13')],'app':_0xb4bf('0x3a'),'appdata':_0x3910e5[_0x15d64a]+'?'+_0x18537a[_0xb4bf('0x16')]+_0xb4bf('0x3b')+_0xbb8362+':'+_0x18537a[_0xb4bf('0x16')]+_0xb4bf('0x3b')+_0x297819,'exten':_0x18537a['exten'],'context':_0x18537a[_0xb4bf('0x16')],'priority':_0x20b540[_0xb4bf('0x17')]+_0x15d64a,'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});}_0x18537a[_0xb4bf('0x17')]=_0x434ce4[_0xb4bf('0x30')]?_[_0xb4bf('0x3c')](_0x434ce4)[_0xb4bf('0x17')]+0x1:_0x20b540[_0xb4bf('0x17')];_0x20b540[_0xb4bf('0x17')]=(_0x4ece6c['length']?_[_0xb4bf('0x3c')](_0x4ece6c)['priority']:_0x18537a[_0xb4bf('0x17')])+0x1;_0x20b540[_0xb4bf('0x1a')]=_[_0xb4bf('0x3d')](_0x20b540['extensions'],_0x434ce4,[_0x18537a],_0x4ece6c);}_0x20b540[_0xb4bf('0x1a')][_0xb4bf('0x12')]({'type':_0x5bb71f[_0x380316][0x0]['type'],'app':_0xb4bf('0x3e'),'exten':_0x5bb71f[_0x380316][0x0][_0xb4bf('0xb')],'context':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x16')],'priority':_0x20b540[_0xb4bf('0x17')],'VoiceExtensionId':_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]});_0x23003b[_0xb4bf('0x12')](_0x5bb71f[_0x380316][0x0][_0xb4bf('0x18')]);_0x4d5b4b=_['concat'](_0x4d5b4b,_0x20b540[_0xb4bf('0x1a')]);}}return _0x608235[_0xb4bf('0x3f')](function(_0x250fdf){return _0x608235['models'][_0xb4bf('0x7')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x23003b}},'transaction':_0x250fdf})[_0xb4bf('0x4')](function(_0x420dbb){return _0x608235[_0xb4bf('0x6')][_0xb4bf('0x7')][_0xb4bf('0x40')](_[_0xb4bf('0x41')](_0x4d5b4b,'priority'),{'transaction':_0x250fdf});});});})[_0xb4bf('0x42')](function(_0x40c6a5){console[_0xb4bf('0x43')](_0x40c6a5);});}exports['rewrite']=rewrite;