Built motion from commit (unavailable).|2.5.24
[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 _0x5c00=['$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','indexOf','appType','answer','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','transaction','bulkCreate','sortBy','catch','rewrite','lodash','util','Interval','findAll','then','models','VoiceExtension','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','groupBy','queue','hasOwnProperty','priority','extensions','extension','find','push','type','Set','format','CDR(type)=%s','context','VoiceExtensionId','outbound','CDR(destination)=','cutdigits','${EXTEN:','CDR(routeid)=','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','filter','intervals','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='];(function(_0x52dcd2,_0x41de20){var _0x48a846=function(_0x535d3b){while(--_0x535d3b){_0x52dcd2['push'](_0x52dcd2['shift']());}};_0x48a846(++_0x41de20);}(_0x5c00,0x17e));var _0x05c0=function(_0x44be9a,_0x5ce1a6){_0x44be9a=_0x44be9a-0x0;var _0x3dbb78=_0x5c00[_0x44be9a];return _0x3dbb78;};'use strict';var _=require(_0x05c0('0x0'));var util=require(_0x05c0('0x1'));function rewrite(_0x1c3b79,_0x4e54ec){var _0x1e76da=this;return _0x1c3b79['models'][_0x05c0('0x2')][_0x05c0('0x3')]({'raw':!![]})[_0x05c0('0x4')](function(_0x28d9c7){_0x1e76da['intervals']=_0x28d9c7;return _0x1c3b79[_0x05c0('0x5')][_0x05c0('0x6')][_0x05c0('0x3')]({'where':{'IntervalId':_0x4e54ec[_0x05c0('0x7')]},'raw':!![]});})['then'](function(_0x3a3b1b){return _0x1c3b79[_0x05c0('0x5')][_0x05c0('0x6')]['findAll']({'where':{'exten':{'$in':_[_0x05c0('0x8')](_[_0x05c0('0x9')](_0x3a3b1b,_0x05c0('0xa')))}},'order':[{'raw':_0x05c0('0xb')}],'raw':!![]});})[_0x05c0('0x4')](function(_0x1edbb){var _0x5226c5=_['filter'](_0x1edbb,{'priority':'1'});var _0x5d4de1=_['filter'](_0x1edbb,{'isApp':0x1});var _0x205cec=_[_0x05c0('0xc')](_0x5d4de1,_0x05c0('0xa'));var _0x5a3e65=[_0x05c0('0xd'),'playback'];var _0x16a290=[];var _0x49e07e=[];for(var _0x20ff48 in _0x205cec){if(_0x205cec[_0x05c0('0xe')](_0x20ff48)){_0x1e76da[_0x05c0('0xf')]=0x2;_0x1e76da[_0x05c0('0x10')]=[];_0x1e76da[_0x05c0('0x11')]=_[_0x05c0('0x12')](_0x5226c5,{'exten':_0x205cec[_0x20ff48][0x0]['exten']});_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':util[_0x05c0('0x16')](_0x05c0('0x17'),_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')]),'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'priority':_0x1e76da['priority']++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});if(_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')]===_0x05c0('0x1a')){if(_0x1e76da['extension']){_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':_0x05c0('0x1b')+(_0x1e76da['extension'][_0x05c0('0x1c')]?_0x05c0('0x1d')+_0x1e76da['extension']['cutdigits']+'}':'${EXTEN}'),'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'priority':_0x1e76da[_0x05c0('0xf')]++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});}_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':'Set','appdata':_0x05c0('0x1e')+_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')],'context':_0x205cec[_0x20ff48][0x0]['context'],'exten':_0x205cec[_0x20ff48][0x0]['exten'],'priority':_0x1e76da['priority']++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0]['VoiceExtensionId']});var _0x56aa78=_0x1e76da[_0x05c0('0xf')]++;_0x1e76da[_0x05c0('0x10')]['push']({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':_0x05c0('0x1f'),'appdata':_0x05c0('0x20')+(_0x56aa78+0x2)+_0x05c0('0x21')+(_0x56aa78+0x1)+')','context':_0x205cec[_0x20ff48][0x0]['context'],'exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'priority':_0x56aa78,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});if(_0x1e76da[_0x05c0('0x11')]){_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':'Set','appdata':_0x1e76da['extension'][_0x05c0('0x1c')]?_0x05c0('0x22')+_0x1e76da[_0x05c0('0x11')][_0x05c0('0x1c')]+'}':_0x05c0('0x23'),'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'priority':_0x1e76da[_0x05c0('0xf')]++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});}_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':'Set','appdata':'outboundrouteid='+_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')],'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'priority':_0x1e76da['priority']++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});if(_0x1e76da[_0x05c0('0x11')]&&_0x1e76da['extension'][_0x05c0('0xe')]('recordingFormat')&&_0x1e76da[_0x05c0('0x11')][_0x05c0('0x24')]!==_0x05c0('0x25')){_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':_0x05c0('0x26'),'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'priority':_0x1e76da[_0x05c0('0xf')]++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':_0x05c0('0x27')+_0x1e76da[_0x05c0('0x11')][_0x05c0('0x24')]||_0x05c0('0x28'),'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'priority':_0x1e76da[_0x05c0('0xf')]++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});}}_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':_0x05c0('0x29'),'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'priority':_0x1e76da[_0x05c0('0xf')]++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});_0x1e76da['extensions'][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':_0x05c0('0x2a'),'context':_0x205cec[_0x20ff48][0x0]['context'],'exten':_0x205cec[_0x20ff48][0x0]['exten'],'priority':_0x1e76da[_0x05c0('0xf')]++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});_0x1e76da[_0x05c0('0x10')]['push']({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':_0x05c0('0x2b'),'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'exten':_0x205cec[_0x20ff48][0x0]['exten'],'priority':_0x1e76da[_0x05c0('0xf')]++,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});for(var _0x4de9c2=0x0,_0x16e5f7=0x0;_0x4de9c2<_0x205cec[_0x20ff48][_0x05c0('0x2c')];_0x4de9c2+=0x1,_0x16e5f7=0x0){var _0x4557db=_0x205cec[_0x20ff48][_0x4de9c2];if(_0x4557db[_0x05c0('0x14')]){_0x4557db[_0x05c0('0x14')]=_0x4557db[_0x05c0('0x14')][_0x05c0('0x2d')]();}var _0x5a75b4=[];var _0x595b0a=[];delete _0x4557db['id'];delete _0x4557db[_0x05c0('0x2e')];delete _0x4557db[_0x05c0('0x2f')];var _0xaa5d53=_0x4557db[_0x05c0('0x30')]!==_0x05c0('0x31')?[_0x4557db['interval']]:_0x4557db[_0x05c0('0x7')]?_[_0x05c0('0x9')](_[_0x05c0('0x32')](_0x1e76da[_0x05c0('0x33')],{'IntervalId':_0x4557db[_0x05c0('0x7')]}),_0x05c0('0x30')):[];if(_0x4557db[_0x05c0('0xe')]('tag')){if(_0x4557db[_0x05c0('0x34')]&&_0x4557db[_0x05c0('0x34')]!=='--'){_0x5a75b4[_0x05c0('0x13')]({'type':_0x4557db[_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':_0x05c0('0x35')+_0x4557db[_0x05c0('0x34')],'context':_0x4557db[_0x05c0('0x18')],'exten':_0x4557db[_0x05c0('0xa')],'priority':_0xaa5d53[_0x05c0('0x2c')]+_0x1e76da[_0x05c0('0xf')]+_0x16e5f7++,'VoiceExtensionId':_0x4557db['VoiceExtensionId']});}}if(_0x4557db['type']===_0x05c0('0x1a')&&_0x4557db[_0x05c0('0xe')](_0x05c0('0x36'))){if(_0x4557db[_0x05c0('0x36')]){_0x5a75b4[_0x05c0('0x13')]({'type':_0x4557db[_0x05c0('0x14')],'app':'ExecIf','appdata':_0x05c0('0x37')+_0x4557db[_0x05c0('0x36')]+')','context':_0x4557db[_0x05c0('0x18')],'exten':_0x4557db[_0x05c0('0xa')],'priority':_0xaa5d53['length']+_0x1e76da[_0x05c0('0xf')]+_0x16e5f7++,'VoiceExtensionId':_0x4557db[_0x05c0('0x19')]});}else{_0x5a75b4[_0x05c0('0x13')]({'type':_0x4557db[_0x05c0('0x14')],'app':'ExecIf','appdata':_0x05c0('0x38'),'context':_0x4557db[_0x05c0('0x18')],'exten':_0x4557db[_0x05c0('0xa')],'priority':_0xaa5d53[_0x05c0('0x2c')]+_0x1e76da['priority']+_0x16e5f7++,'VoiceExtensionId':_0x4557db[_0x05c0('0x19')]});}}if(_0x4557db[_0x05c0('0xe')]('answer')){if(_0x5a3e65[_0x05c0('0x39')](_0x4557db['app']['toLowerCase']())>=0x0&&_0x4557db[_0x05c0('0x3a')]!=='custom'){if(_0x4557db[_0x05c0('0x3b')]){_0x5a75b4[_0x05c0('0x13')]({'type':_0x4557db[_0x05c0('0x14')],'app':_0x05c0('0x1f'),'appdata':_0x05c0('0x3c'),'context':_0x4557db[_0x05c0('0x18')],'exten':_0x4557db['exten'],'priority':_0xaa5d53[_0x05c0('0x2c')]+_0x1e76da['priority']+_0x16e5f7++,'VoiceExtensionId':_0x4557db[_0x05c0('0x19')]});_0x5a75b4[_0x05c0('0x13')]({'type':_0x4557db[_0x05c0('0x14')],'app':_0x05c0('0x15'),'appdata':_0x05c0('0x3d'),'context':_0x4557db[_0x05c0('0x18')],'exten':_0x4557db[_0x05c0('0xa')],'priority':_0xaa5d53['length']+_0x1e76da['priority']+_0x16e5f7++,'VoiceExtensionId':_0x4557db['VoiceExtensionId']});}else{_0x5a75b4[_0x05c0('0x13')]({'type':_0x4557db[_0x05c0('0x14')],'app':'ExecIf','appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x4557db[_0x05c0('0x18')],'exten':_0x4557db[_0x05c0('0xa')],'priority':_0xaa5d53[_0x05c0('0x2c')]+_0x1e76da[_0x05c0('0xf')]+_0x16e5f7++,'VoiceExtensionId':_0x4557db[_0x05c0('0x19')]});_0x5a75b4[_0x05c0('0x13')]({'type':_0x4557db[_0x05c0('0x14')],'app':'Set','appdata':_0x05c0('0x3e'),'context':_0x4557db[_0x05c0('0x18')],'exten':_0x4557db[_0x05c0('0xa')],'priority':_0xaa5d53[_0x05c0('0x2c')]+_0x1e76da['priority']+_0x16e5f7++,'VoiceExtensionId':_0x4557db[_0x05c0('0x19')]});}}}for(var _0x4c47e5=0x0;_0x4c47e5<_0xaa5d53[_0x05c0('0x2c')];_0x4c47e5+=0x1){var _0x30bc90=_0x1e76da['priority']+_0xaa5d53[_0x05c0('0x2c')];var _0x58bf78=_0x4c47e5===_0xaa5d53[_0x05c0('0x2c')]-0x1?_0x1e76da[_0x05c0('0xf')]+_0x5a75b4[_0x05c0('0x2c')]+_0x595b0a[_0x05c0('0x2c')]+0x2:_0x1e76da[_0x05c0('0xf')]+_0x4c47e5+0x1;_0x5a75b4[_0x05c0('0x3f')](_0x4c47e5,0x0,{'type':_0x4557db['type'],'app':_0x05c0('0x40'),'appdata':_0xaa5d53[_0x4c47e5]+'?'+_0x4557db[_0x05c0('0x18')]+_0x05c0('0x41')+_0x30bc90+':'+_0x4557db[_0x05c0('0x18')]+_0x05c0('0x41')+_0x58bf78,'exten':_0x4557db[_0x05c0('0xa')],'context':_0x4557db['context'],'priority':_0x1e76da[_0x05c0('0xf')]+_0x4c47e5,'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});}_0x4557db[_0x05c0('0xf')]=_0x5a75b4[_0x05c0('0x2c')]?_[_0x05c0('0x42')](_0x5a75b4)[_0x05c0('0xf')]+0x1:_0x1e76da[_0x05c0('0xf')];_0x1e76da[_0x05c0('0xf')]=(_0x595b0a[_0x05c0('0x2c')]?_[_0x05c0('0x42')](_0x595b0a)[_0x05c0('0xf')]:_0x4557db[_0x05c0('0xf')])+0x1;_0x1e76da['extensions']=_['concat'](_0x1e76da['extensions'],_0x5a75b4,[_0x4557db],_0x595b0a);}_0x1e76da[_0x05c0('0x10')][_0x05c0('0x13')]({'type':_0x205cec[_0x20ff48][0x0][_0x05c0('0x14')],'app':'Hangup','exten':_0x205cec[_0x20ff48][0x0][_0x05c0('0xa')],'context':_0x205cec[_0x20ff48][0x0][_0x05c0('0x18')],'priority':_0x1e76da[_0x05c0('0xf')],'VoiceExtensionId':_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]});_0x16a290[_0x05c0('0x13')](_0x205cec[_0x20ff48][0x0][_0x05c0('0x19')]);_0x49e07e=_[_0x05c0('0x43')](_0x49e07e,_0x1e76da['extensions']);}}return _0x1c3b79[_0x05c0('0x44')](function(_0x27bd43){return _0x1c3b79[_0x05c0('0x5')][_0x05c0('0x6')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x16a290}},'transaction':_0x27bd43})['then'](function(_0x5e4941){return _0x1c3b79[_0x05c0('0x5')][_0x05c0('0x6')][_0x05c0('0x45')](_[_0x05c0('0x46')](_0x49e07e,_0x05c0('0xf')),{'transaction':_0x27bd43});});});})[_0x05c0('0x47')](function(_0x2d7e51){console['error'](_0x2d7e51);});}exports[_0x05c0('0x48')]=rewrite;