2a227b783857ff7958e3c258a1aa213a9a3a861f
[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 _0x1043=['createdAt','updatedAt','interval','*,*,*,*','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','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice',',${EXTEN},','concat','Hangup','bulkCreate','sortBy','catch','error','rewrite','lodash','util','models','Interval','then','intervals','VoiceExtension','findAll','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','queue','playback','priority','extensions','find','push','format','type','context','inbound','Set','CDR(routeid)=','VoiceExtensionId','outbound','extension','CDR(destination)=','${EXTEN:','cutdigits','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','outboundrouteid=','hasOwnProperty','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase'];(function(_0x588a9c,_0x434e22){var _0x32ab03=function(_0x4928e5){while(--_0x4928e5){_0x588a9c['push'](_0x588a9c['shift']());}};_0x32ab03(++_0x434e22);}(_0x1043,0xfc));var _0x3104=function(_0x306133,_0x9023e1){_0x306133=_0x306133-0x0;var _0x3cd580=_0x1043[_0x306133];return _0x3cd580;};'use strict';var _=require(_0x3104('0x0'));var util=require(_0x3104('0x1'));function rewrite(_0x3e3936,_0x2bed32){var _0xe1b3c1=this;return _0x3e3936[_0x3104('0x2')][_0x3104('0x3')]['findAll']({'raw':!![]})[_0x3104('0x4')](function(_0x184a5a){_0xe1b3c1[_0x3104('0x5')]=_0x184a5a;return _0x3e3936[_0x3104('0x2')][_0x3104('0x6')][_0x3104('0x7')]({'where':{'IntervalId':_0x2bed32[_0x3104('0x8')]},'raw':!![]});})[_0x3104('0x4')](function(_0x19a94f){return _0x3e3936[_0x3104('0x2')][_0x3104('0x6')]['findAll']({'where':{'exten':{'$in':_[_0x3104('0x9')](_[_0x3104('0xa')](_0x19a94f,_0x3104('0xb')))}},'order':[{'raw':_0x3104('0xc')}],'raw':!![]});})[_0x3104('0x4')](function(_0x4ee0c9){var _0x35bcac=_[_0x3104('0xd')](_0x4ee0c9,{'priority':'1'});var _0x3dc343=_[_0x3104('0xd')](_0x4ee0c9,{'isApp':0x1});var _0x42f5c0=_['groupBy'](_0x3dc343,'exten');var _0x568a25=[_0x3104('0xe'),_0x3104('0xf')];var _0x81a184=[];var _0x484400=[];for(var _0x1f65f6 in _0x42f5c0){if(_0x42f5c0['hasOwnProperty'](_0x1f65f6)){_0xe1b3c1[_0x3104('0x10')]=0x2;_0xe1b3c1[_0x3104('0x11')]=[];_0xe1b3c1['extension']=_[_0x3104('0x12')](_0x35bcac,{'exten':_0x42f5c0[_0x1f65f6][0x0]['exten']});_0xe1b3c1[_0x3104('0x11')][_0x3104('0x13')]({'type':_0x42f5c0[_0x1f65f6][0x0]['type'],'app':'Set','appdata':util[_0x3104('0x14')]('CDR(type)=%s',_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')]),'context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0]['exten'],'priority':_0xe1b3c1[_0x3104('0x10')]++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0]['VoiceExtensionId']});if(_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')]===_0x3104('0x17')){_0xe1b3c1[_0x3104('0x11')]['push']({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x19')+_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')],'context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0]['exten'],'priority':_0xe1b3c1[_0x3104('0x10')]++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0]['VoiceExtensionId']});}else if(_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')]===_0x3104('0x1b')){if(_0xe1b3c1[_0x3104('0x1c')]){_0xe1b3c1[_0x3104('0x11')]['push']({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x1d')+(_0xe1b3c1[_0x3104('0x1c')]['cutdigits']?_0x3104('0x1e')+_0xe1b3c1[_0x3104('0x1c')][_0x3104('0x1f')]+'}':'${EXTEN}'),'context':_0x42f5c0[_0x1f65f6][0x0]['context'],'exten':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0xb')],'priority':_0xe1b3c1[_0x3104('0x10')]++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0]['VoiceExtensionId']});}_0xe1b3c1[_0x3104('0x11')]['push']({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x19')+_0x42f5c0[_0x1f65f6][0x0]['VoiceExtensionId'],'context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0xb')],'priority':_0xe1b3c1['priority']++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});var _0x1453ca=_0xe1b3c1[_0x3104('0x10')]++;_0xe1b3c1[_0x3104('0x11')]['push']({'type':_0x42f5c0[_0x1f65f6][0x0]['type'],'app':_0x3104('0x20'),'appdata':_0x3104('0x21')+(_0x1453ca+0x2)+_0x3104('0x22')+(_0x1453ca+0x1)+')','context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0xb')],'priority':_0x1453ca,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});if(_0xe1b3c1['extension']){_0xe1b3c1[_0x3104('0x11')][_0x3104('0x13')]({'type':_0x42f5c0[_0x1f65f6][0x0]['type'],'app':'Set','appdata':_0xe1b3c1['extension'][_0x3104('0x1f')]?_0x3104('0x23')+_0xe1b3c1['extension']['cutdigits']+'}':'CDR(prefix)=noprefix','context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0xb')],'priority':_0xe1b3c1[_0x3104('0x10')]++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});}_0xe1b3c1[_0x3104('0x11')][_0x3104('0x13')]({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x24')+_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')],'context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0xb')],'priority':_0xe1b3c1['priority']++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});if(_0xe1b3c1[_0x3104('0x1c')]&&_0xe1b3c1[_0x3104('0x1c')][_0x3104('0x25')](_0x3104('0x26'))&&_0xe1b3c1[_0x3104('0x1c')]['recordingFormat']!==_0x3104('0x27')){_0xe1b3c1[_0x3104('0x11')][_0x3104('0x13')]({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x28'),'context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0]['exten'],'priority':_0xe1b3c1[_0x3104('0x10')]++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});_0xe1b3c1[_0x3104('0x11')]['push']({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x29')+_0xe1b3c1[_0x3104('0x1c')]['recordingFormat']||_0x3104('0x2a'),'context':_0x42f5c0[_0x1f65f6][0x0]['context'],'exten':_0x42f5c0[_0x1f65f6][0x0]['exten'],'priority':_0xe1b3c1[_0x3104('0x10')]++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});}}_0xe1b3c1[_0x3104('0x11')][_0x3104('0x13')]({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x2b'),'context':_0x42f5c0[_0x1f65f6][0x0]['context'],'exten':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0xb')],'priority':_0xe1b3c1['priority']++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});_0xe1b3c1[_0x3104('0x11')][_0x3104('0x13')]({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x2c'),'context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0xb')],'priority':_0xe1b3c1['priority']++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});_0xe1b3c1[_0x3104('0x11')][_0x3104('0x13')]({'type':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x2d'),'context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'exten':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0xb')],'priority':_0xe1b3c1[_0x3104('0x10')]++,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]});for(var _0x11618b=0x0,_0x4d7023=0x0;_0x11618b<_0x42f5c0[_0x1f65f6][_0x3104('0x2e')];_0x11618b+=0x1,_0x4d7023=0x0){var _0x23f15e=_0x42f5c0[_0x1f65f6][_0x11618b];if(_0x23f15e[_0x3104('0x15')]){_0x23f15e[_0x3104('0x15')]=_0x23f15e[_0x3104('0x15')][_0x3104('0x2f')]();}var _0x243437=[];var _0x26c799=[];delete _0x23f15e['id'];delete _0x23f15e[_0x3104('0x30')];delete _0x23f15e[_0x3104('0x31')];var _0x4a2934=_0x23f15e[_0x3104('0x32')]!==_0x3104('0x33')?[_0x23f15e[_0x3104('0x32')]]:_0x23f15e[_0x3104('0x8')]?_[_0x3104('0xa')](_[_0x3104('0xd')](_0xe1b3c1[_0x3104('0x5')],{'IntervalId':_0x23f15e[_0x3104('0x8')]}),_0x3104('0x32')):[];if(_0x23f15e[_0x3104('0x25')](_0x3104('0x34'))){if(_0x23f15e[_0x3104('0x34')]&&_0x23f15e[_0x3104('0x34')]!=='--'){_0x243437['push']({'type':_0x23f15e[_0x3104('0x15')],'app':'Set','appdata':_0x3104('0x35')+_0x23f15e[_0x3104('0x34')],'context':_0x23f15e['context'],'exten':_0x23f15e[_0x3104('0xb')],'priority':_0x4a2934[_0x3104('0x2e')]+_0xe1b3c1[_0x3104('0x10')]+_0x4d7023++,'VoiceExtensionId':_0x23f15e['VoiceExtensionId']});}}if(_0x23f15e[_0x3104('0x15')]==='outbound'&&_0x23f15e['hasOwnProperty'](_0x3104('0x36'))){if(_0x23f15e['callerID']){_0x243437['push']({'type':_0x23f15e['type'],'app':_0x3104('0x20'),'appdata':_0x3104('0x37')+_0x23f15e[_0x3104('0x36')]+')','context':_0x23f15e[_0x3104('0x16')],'exten':_0x23f15e[_0x3104('0xb')],'priority':_0x4a2934[_0x3104('0x2e')]+_0xe1b3c1['priority']+_0x4d7023++,'VoiceExtensionId':_0x23f15e['VoiceExtensionId']});}else{_0x243437['push']({'type':_0x23f15e['type'],'app':'ExecIf','appdata':_0x3104('0x38'),'context':_0x23f15e[_0x3104('0x16')],'exten':_0x23f15e[_0x3104('0xb')],'priority':_0x4a2934['length']+_0xe1b3c1[_0x3104('0x10')]+_0x4d7023++,'VoiceExtensionId':_0x23f15e[_0x3104('0x1a')]});}}if(_0x23f15e[_0x3104('0x25')](_0x3104('0x39'))){if(_0x568a25[_0x3104('0x3a')](_0x23f15e[_0x3104('0x3b')]['toLowerCase']())>=0x0&&_0x23f15e[_0x3104('0x3c')]!==_0x3104('0x3d')){if(_0x23f15e['answer']){_0x243437[_0x3104('0x13')]({'type':_0x23f15e[_0x3104('0x15')],'app':_0x3104('0x20'),'appdata':_0x3104('0x3e'),'context':_0x23f15e[_0x3104('0x16')],'exten':_0x23f15e['exten'],'priority':_0x4a2934['length']+_0xe1b3c1[_0x3104('0x10')]+_0x4d7023++,'VoiceExtensionId':_0x23f15e[_0x3104('0x1a')]});_0x243437['push']({'type':_0x23f15e[_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x3f'),'context':_0x23f15e['context'],'exten':_0x23f15e[_0x3104('0xb')],'priority':_0x4a2934[_0x3104('0x2e')]+_0xe1b3c1[_0x3104('0x10')]+_0x4d7023++,'VoiceExtensionId':_0x23f15e['VoiceExtensionId']});}else{_0x243437[_0x3104('0x13')]({'type':_0x23f15e[_0x3104('0x15')],'app':_0x3104('0x20'),'appdata':_0x3104('0x40'),'context':_0x23f15e[_0x3104('0x16')],'exten':_0x23f15e[_0x3104('0xb')],'priority':_0x4a2934[_0x3104('0x2e')]+_0xe1b3c1[_0x3104('0x10')]+_0x4d7023++,'VoiceExtensionId':_0x23f15e['VoiceExtensionId']});_0x243437[_0x3104('0x13')]({'type':_0x23f15e[_0x3104('0x15')],'app':_0x3104('0x18'),'appdata':_0x3104('0x41'),'context':_0x23f15e[_0x3104('0x16')],'exten':_0x23f15e[_0x3104('0xb')],'priority':_0x4a2934[_0x3104('0x2e')]+_0xe1b3c1['priority']+_0x4d7023++,'VoiceExtensionId':_0x23f15e[_0x3104('0x1a')]});}}}for(var _0x71af45=0x0;_0x71af45<_0x4a2934[_0x3104('0x2e')];_0x71af45+=0x1){var _0x4e5d8b=_0xe1b3c1[_0x3104('0x10')]+_0x4a2934[_0x3104('0x2e')];var _0x12daf4=_0x71af45===_0x4a2934['length']-0x1?_0xe1b3c1[_0x3104('0x10')]+_0x243437['length']+_0x26c799['length']+0x2:_0xe1b3c1[_0x3104('0x10')]+_0x71af45+0x1;_0x243437[_0x3104('0x42')](_0x71af45,0x0,{'type':_0x23f15e[_0x3104('0x15')],'app':'GotoIfTime','appdata':_0x4a2934[_0x71af45]+'?'+_0x23f15e[_0x3104('0x16')]+_0x3104('0x43')+_0x4e5d8b+':'+_0x23f15e['context']+_0x3104('0x43')+_0x12daf4,'exten':_0x23f15e['exten'],'context':_0x23f15e[_0x3104('0x16')],'priority':_0xe1b3c1[_0x3104('0x10')]+_0x71af45,'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0]['VoiceExtensionId']});}_0x23f15e[_0x3104('0x10')]=_0x243437[_0x3104('0x2e')]?_['last'](_0x243437)['priority']+0x1:_0xe1b3c1[_0x3104('0x10')];_0xe1b3c1[_0x3104('0x10')]=(_0x26c799['length']?_['last'](_0x26c799)[_0x3104('0x10')]:_0x23f15e[_0x3104('0x10')])+0x1;_0xe1b3c1[_0x3104('0x11')]=_[_0x3104('0x44')](_0xe1b3c1[_0x3104('0x11')],_0x243437,[_0x23f15e],_0x26c799);}_0xe1b3c1[_0x3104('0x11')][_0x3104('0x13')]({'type':_0x42f5c0[_0x1f65f6][0x0]['type'],'app':_0x3104('0x45'),'exten':_0x42f5c0[_0x1f65f6][0x0]['exten'],'context':_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x16')],'priority':_0xe1b3c1['priority'],'VoiceExtensionId':_0x42f5c0[_0x1f65f6][0x0]['VoiceExtensionId']});_0x81a184[_0x3104('0x13')](_0x42f5c0[_0x1f65f6][0x0][_0x3104('0x1a')]);_0x484400=_['concat'](_0x484400,_0xe1b3c1[_0x3104('0x11')]);}}return _0x3e3936['transaction'](function(_0x1505a8){return _0x3e3936[_0x3104('0x2')][_0x3104('0x6')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x81a184}},'transaction':_0x1505a8})[_0x3104('0x4')](function(_0x6a19a1){return _0x3e3936[_0x3104('0x2')][_0x3104('0x6')][_0x3104('0x46')](_[_0x3104('0x47')](_0x484400,'priority'),{'transaction':_0x1505a8});});});})[_0x3104('0x48')](function(_0xbf7bcb){console[_0x3104('0x49')](_0xbf7bcb);});}exports[_0x3104('0x4a')]=rewrite;