Built motion from commit 3c2ce842.|2.6.31
[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 _0x5cd4=['indexOf','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','transaction','destroy','bulkCreate','catch','error','rewrite','lodash','util','models','Interval','findAll','then','intervals','VoiceExtension','IntervalId','uniq','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','priority','extensions','extension','push','type','Set','format','CDR(type)=%s','context','VoiceExtensionId','CDR(routeid)=','outbound','CDR(destination)=','${EXTEN:','cutdigits','${EXTEN}','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','map','tag','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','callerID','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer'];(function(_0x4ec7f2,_0x3d92d2){var _0x118004=function(_0x1ac4fb){while(--_0x1ac4fb){_0x4ec7f2['push'](_0x4ec7f2['shift']());}};_0x118004(++_0x3d92d2);}(_0x5cd4,0xed));var _0x45cd=function(_0x214f07,_0x3b9a2b){_0x214f07=_0x214f07-0x0;var _0x36be9b=_0x5cd4[_0x214f07];return _0x36be9b;};'use strict';var _=require(_0x45cd('0x0'));var util=require(_0x45cd('0x1'));function rewrite(_0x5de012,_0x13e8f8){var _0x2acc64=this;return _0x5de012[_0x45cd('0x2')][_0x45cd('0x3')][_0x45cd('0x4')]({'raw':!![]})[_0x45cd('0x5')](function(_0xb9b1db){_0x2acc64[_0x45cd('0x6')]=_0xb9b1db;return _0x5de012['models'][_0x45cd('0x7')][_0x45cd('0x4')]({'where':{'IntervalId':_0x13e8f8[_0x45cd('0x8')]},'raw':!![]});})[_0x45cd('0x5')](function(_0x45061f){return _0x5de012[_0x45cd('0x2')][_0x45cd('0x7')][_0x45cd('0x4')]({'where':{'exten':{'$in':_[_0x45cd('0x9')](_['map'](_0x45061f,_0x45cd('0xa')))}},'order':[{'raw':_0x45cd('0xb')}],'raw':!![]});})[_0x45cd('0x5')](function(_0x5684ae){var _0x3e0771=_[_0x45cd('0xc')](_0x5684ae,{'priority':'1'});var _0x38785c=_['filter'](_0x5684ae,{'isApp':0x1});var _0x1ebe21=_[_0x45cd('0xd')](_0x38785c,_0x45cd('0xa'));var _0x27aac6=[_0x45cd('0xe'),_0x45cd('0xf')];var _0xa7842c=[];var _0x127cea=[];for(var _0x1b4a7b in _0x1ebe21){if(_0x1ebe21[_0x45cd('0x10')](_0x1b4a7b)){_0x2acc64[_0x45cd('0x11')]=0x2;_0x2acc64[_0x45cd('0x12')]=[];_0x2acc64[_0x45cd('0x13')]=_['find'](_0x3e0771,{'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')]});_0x2acc64[_0x45cd('0x12')][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')],'app':_0x45cd('0x16'),'appdata':util[_0x45cd('0x17')](_0x45cd('0x18'),_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')]),'context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0]['exten'],'priority':_0x2acc64[_0x45cd('0x11')]++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')]});if(_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')]==='inbound'){_0x2acc64[_0x45cd('0x12')][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')],'app':_0x45cd('0x16'),'appdata':_0x45cd('0x1b')+_0x1ebe21[_0x1b4a7b][0x0]['VoiceExtensionId'],'context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x2acc64['priority']++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')]});}else if(_0x1ebe21[_0x1b4a7b][0x0]['type']===_0x45cd('0x1c')){if(_0x2acc64[_0x45cd('0x13')]){_0x2acc64[_0x45cd('0x12')][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0]['type'],'app':_0x45cd('0x16'),'appdata':_0x45cd('0x1d')+(_0x2acc64[_0x45cd('0x13')]['cutdigits']?_0x45cd('0x1e')+_0x2acc64[_0x45cd('0x13')][_0x45cd('0x1f')]+'}':_0x45cd('0x20')),'context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x2acc64[_0x45cd('0x11')]++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0]['VoiceExtensionId']});}_0x2acc64[_0x45cd('0x12')][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')],'app':_0x45cd('0x16'),'appdata':_0x45cd('0x1b')+_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')],'context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x2acc64[_0x45cd('0x11')]++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')]});var _0x52f5b3=_0x2acc64['priority']++;_0x2acc64[_0x45cd('0x12')][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')],'app':'ExecIf','appdata':_0x45cd('0x21')+(_0x52f5b3+0x2)+_0x45cd('0x22')+(_0x52f5b3+0x1)+')','context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x52f5b3,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')]});if(_0x2acc64[_0x45cd('0x13')]){_0x2acc64['extensions'][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')],'app':_0x45cd('0x16'),'appdata':_0x2acc64[_0x45cd('0x13')][_0x45cd('0x1f')]?_0x45cd('0x23')+_0x2acc64[_0x45cd('0x13')][_0x45cd('0x1f')]+'}':_0x45cd('0x24'),'context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0]['exten'],'priority':_0x2acc64['priority']++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0]['VoiceExtensionId']});}_0x2acc64[_0x45cd('0x12')][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0]['type'],'app':_0x45cd('0x16'),'appdata':_0x45cd('0x25')+_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')],'context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x2acc64[_0x45cd('0x11')]++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')]});if(_0x2acc64[_0x45cd('0x13')]&&_0x2acc64['extension'][_0x45cd('0x10')](_0x45cd('0x26'))&&_0x2acc64['extension']['recordingFormat']!=='none'){_0x2acc64[_0x45cd('0x12')][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0]['type'],'app':_0x45cd('0x16'),'appdata':_0x45cd('0x27'),'context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x2acc64[_0x45cd('0x11')]++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0]['VoiceExtensionId']});_0x2acc64['extensions'][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0]['type'],'app':_0x45cd('0x16'),'appdata':_0x45cd('0x28')+_0x2acc64[_0x45cd('0x13')][_0x45cd('0x26')]||'wav','context':_0x1ebe21[_0x1b4a7b][0x0]['context'],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x2acc64[_0x45cd('0x11')]++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0]['VoiceExtensionId']});}}_0x2acc64[_0x45cd('0x12')]['push']({'type':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')],'app':_0x45cd('0x16'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0]['exten'],'priority':_0x2acc64[_0x45cd('0x11')]++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')]});_0x2acc64['extensions'][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0]['type'],'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x2acc64[_0x45cd('0x11')]++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')]});_0x2acc64[_0x45cd('0x12')][_0x45cd('0x14')]({'type':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')],'app':'Set','appdata':_0x45cd('0x29'),'context':_0x1ebe21[_0x1b4a7b][0x0]['context'],'exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'priority':_0x2acc64['priority']++,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0]['VoiceExtensionId']});for(var _0x1768cc=0x0,_0x485d17=0x0;_0x1768cc<_0x1ebe21[_0x1b4a7b][_0x45cd('0x2a')];_0x1768cc+=0x1,_0x485d17=0x0){var _0xd3aebe=_0x1ebe21[_0x1b4a7b][_0x1768cc];if(_0xd3aebe[_0x45cd('0x15')]){_0xd3aebe['type']=_0xd3aebe[_0x45cd('0x15')][_0x45cd('0x2b')]();}var _0x1ab8ca=[];var _0x215980=[];delete _0xd3aebe['id'];delete _0xd3aebe[_0x45cd('0x2c')];delete _0xd3aebe[_0x45cd('0x2d')];var _0x4c8f2c=_0xd3aebe[_0x45cd('0x2e')]!==_0x45cd('0x2f')?[_0xd3aebe[_0x45cd('0x2e')]]:_0xd3aebe[_0x45cd('0x8')]?_[_0x45cd('0x30')](_[_0x45cd('0xc')](_0x2acc64[_0x45cd('0x6')],{'IntervalId':_0xd3aebe[_0x45cd('0x8')]}),'interval'):[];if(_0xd3aebe['hasOwnProperty'](_0x45cd('0x31'))){if(_0xd3aebe[_0x45cd('0x31')]&&_0xd3aebe['tag']!=='--'){_0x1ab8ca[_0x45cd('0x14')]({'type':_0xd3aebe['type'],'app':_0x45cd('0x16'),'appdata':'CDR(tag)='+_0xd3aebe[_0x45cd('0x31')],'context':_0xd3aebe[_0x45cd('0x19')],'exten':_0xd3aebe[_0x45cd('0xa')],'priority':_0x4c8f2c['length']+_0x2acc64[_0x45cd('0x11')]+_0x485d17++,'VoiceExtensionId':_0xd3aebe['VoiceExtensionId']});}}if(_0xd3aebe[_0x45cd('0x15')]===_0x45cd('0x1c')&&_0xd3aebe[_0x45cd('0x10')]('callerID')){if(_0xd3aebe['callerID']){_0x1ab8ca[_0x45cd('0x14')]({'type':_0xd3aebe[_0x45cd('0x15')],'app':'ExecIf','appdata':_0x45cd('0x32')+_0xd3aebe[_0x45cd('0x33')]+')','context':_0xd3aebe['context'],'exten':_0xd3aebe[_0x45cd('0xa')],'priority':_0x4c8f2c['length']+_0x2acc64[_0x45cd('0x11')]+_0x485d17++,'VoiceExtensionId':_0xd3aebe['VoiceExtensionId']});}else{_0x1ab8ca[_0x45cd('0x14')]({'type':_0xd3aebe[_0x45cd('0x15')],'app':_0x45cd('0x34'),'appdata':_0x45cd('0x35'),'context':_0xd3aebe[_0x45cd('0x19')],'exten':_0xd3aebe[_0x45cd('0xa')],'priority':_0x4c8f2c['length']+_0x2acc64['priority']+_0x485d17++,'VoiceExtensionId':_0xd3aebe[_0x45cd('0x1a')]});}}if(_0xd3aebe[_0x45cd('0x10')](_0x45cd('0x36'))){if(_0x27aac6[_0x45cd('0x37')](_0xd3aebe['app'][_0x45cd('0x2b')]())>=0x0&&_0xd3aebe[_0x45cd('0x38')]!==_0x45cd('0x39')){if(_0xd3aebe['answer']){_0x1ab8ca['push']({'type':_0xd3aebe[_0x45cd('0x15')],'app':'ExecIf','appdata':_0x45cd('0x3a'),'context':_0xd3aebe[_0x45cd('0x19')],'exten':_0xd3aebe[_0x45cd('0xa')],'priority':_0x4c8f2c['length']+_0x2acc64[_0x45cd('0x11')]+_0x485d17++,'VoiceExtensionId':_0xd3aebe[_0x45cd('0x1a')]});_0x1ab8ca['push']({'type':_0xd3aebe[_0x45cd('0x15')],'app':'Set','appdata':_0x45cd('0x3b'),'context':_0xd3aebe[_0x45cd('0x19')],'exten':_0xd3aebe['exten'],'priority':_0x4c8f2c[_0x45cd('0x2a')]+_0x2acc64[_0x45cd('0x11')]+_0x485d17++,'VoiceExtensionId':_0xd3aebe[_0x45cd('0x1a')]});}else{_0x1ab8ca[_0x45cd('0x14')]({'type':_0xd3aebe[_0x45cd('0x15')],'app':'ExecIf','appdata':_0x45cd('0x3c'),'context':_0xd3aebe[_0x45cd('0x19')],'exten':_0xd3aebe[_0x45cd('0xa')],'priority':_0x4c8f2c['length']+_0x2acc64['priority']+_0x485d17++,'VoiceExtensionId':_0xd3aebe[_0x45cd('0x1a')]});_0x1ab8ca[_0x45cd('0x14')]({'type':_0xd3aebe[_0x45cd('0x15')],'app':_0x45cd('0x16'),'appdata':_0x45cd('0x3d'),'context':_0xd3aebe[_0x45cd('0x19')],'exten':_0xd3aebe[_0x45cd('0xa')],'priority':_0x4c8f2c[_0x45cd('0x2a')]+_0x2acc64[_0x45cd('0x11')]+_0x485d17++,'VoiceExtensionId':_0xd3aebe['VoiceExtensionId']});}}}for(var _0x1ecfd6=0x0;_0x1ecfd6<_0x4c8f2c[_0x45cd('0x2a')];_0x1ecfd6+=0x1){var _0x4e2046=_0x2acc64[_0x45cd('0x11')]+_0x4c8f2c[_0x45cd('0x2a')];var _0xff72b0=_0x1ecfd6===_0x4c8f2c[_0x45cd('0x2a')]-0x1?_0x2acc64[_0x45cd('0x11')]+_0x1ab8ca[_0x45cd('0x2a')]+_0x215980[_0x45cd('0x2a')]+0x2:_0x2acc64[_0x45cd('0x11')]+_0x1ecfd6+0x1;_0x1ab8ca[_0x45cd('0x3e')](_0x1ecfd6,0x0,{'type':_0xd3aebe[_0x45cd('0x15')],'app':_0x45cd('0x3f'),'appdata':_0x4c8f2c[_0x1ecfd6]+'?'+_0xd3aebe['context']+_0x45cd('0x40')+_0x4e2046+':'+_0xd3aebe['context']+_0x45cd('0x40')+_0xff72b0,'exten':_0xd3aebe[_0x45cd('0xa')],'context':_0xd3aebe[_0x45cd('0x19')],'priority':_0x2acc64[_0x45cd('0x11')]+_0x1ecfd6,'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x1a')]});}_0xd3aebe[_0x45cd('0x11')]=_0x1ab8ca[_0x45cd('0x2a')]?_[_0x45cd('0x41')](_0x1ab8ca)[_0x45cd('0x11')]+0x1:_0x2acc64['priority'];_0x2acc64[_0x45cd('0x11')]=(_0x215980[_0x45cd('0x2a')]?_[_0x45cd('0x41')](_0x215980)[_0x45cd('0x11')]:_0xd3aebe[_0x45cd('0x11')])+0x1;_0x2acc64[_0x45cd('0x12')]=_[_0x45cd('0x42')](_0x2acc64[_0x45cd('0x12')],_0x1ab8ca,[_0xd3aebe],_0x215980);}_0x2acc64[_0x45cd('0x12')]['push']({'type':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x15')],'app':'Hangup','exten':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0xa')],'context':_0x1ebe21[_0x1b4a7b][0x0][_0x45cd('0x19')],'priority':_0x2acc64[_0x45cd('0x11')],'VoiceExtensionId':_0x1ebe21[_0x1b4a7b][0x0]['VoiceExtensionId']});_0xa7842c['push'](_0x1ebe21[_0x1b4a7b][0x0]['VoiceExtensionId']);_0x127cea=_[_0x45cd('0x42')](_0x127cea,_0x2acc64[_0x45cd('0x12')]);}}return _0x5de012[_0x45cd('0x43')](function(_0x1f0134){return _0x5de012[_0x45cd('0x2')][_0x45cd('0x7')][_0x45cd('0x44')]({'where':{'VoiceExtensionId':{'$in':_0xa7842c}},'transaction':_0x1f0134})[_0x45cd('0x5')](function(_0x2ba934){return _0x5de012[_0x45cd('0x2')][_0x45cd('0x7')][_0x45cd('0x45')](_['sortBy'](_0x127cea,_0x45cd('0x11')),{'transaction':_0x1f0134});});});})[_0x45cd('0x46')](function(_0x59f5bf){console[_0x45cd('0x47')](_0x59f5bf);});}exports[_0x45cd('0x48')]=rewrite;