Built motion from commit (unavailable).|2.4.18
[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 _0x5cbc=['groupBy','exten','playback','hasOwnProperty','priority','extensions','extension','push','type','Set','CDR(type)=%s','context','outbound','CDR(destination)=','${EXTEN:','cutdigits','VoiceExtensionId','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','recordingFormat','none','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','*,*,*,*','interval','filter','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','app','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','Hangup','bulkCreate','sortBy','catch','error','rewrite','lodash','models','findAll','then','IntervalId','VoiceExtension','uniq','map','CAST(priority\x20AS\x20UNSIGNED)'];(function(_0x50e970,_0x38e2e9){var _0x36bbea=function(_0x5de406){while(--_0x5de406){_0x50e970['push'](_0x50e970['shift']());}};_0x36bbea(++_0x38e2e9);}(_0x5cbc,0xfb));var _0xc5cb=function(_0x55cd8c,_0x302b88){_0x55cd8c=_0x55cd8c-0x0;var _0x1ba719=_0x5cbc[_0x55cd8c];return _0x1ba719;};'use strict';var _=require(_0xc5cb('0x0'));var util=require('util');function rewrite(_0x29b739,_0x1ec545){var _0x38586e=this;return _0x29b739[_0xc5cb('0x1')]['Interval'][_0xc5cb('0x2')]({'raw':!![]})[_0xc5cb('0x3')](function(_0x1f4383){_0x38586e['intervals']=_0x1f4383;return _0x29b739[_0xc5cb('0x1')]['VoiceExtension'][_0xc5cb('0x2')]({'where':{'IntervalId':_0x1ec545[_0xc5cb('0x4')]},'raw':!![]});})['then'](function(_0x1804f6){return _0x29b739['models'][_0xc5cb('0x5')][_0xc5cb('0x2')]({'where':{'exten':{'$in':_[_0xc5cb('0x6')](_[_0xc5cb('0x7')](_0x1804f6,'exten'))}},'order':[{'raw':_0xc5cb('0x8')}],'raw':!![]});})['then'](function(_0x46d8d3){var _0x5d8973=_['filter'](_0x46d8d3,{'priority':'1'});var _0x295b75=_['filter'](_0x46d8d3,{'isApp':0x1});var _0x3b7be4=_[_0xc5cb('0x9')](_0x295b75,_0xc5cb('0xa'));var _0x57de51=['queue',_0xc5cb('0xb')];var _0x20d71f=[];var _0x5cc765=[];for(var _0x42a792 in _0x3b7be4){if(_0x3b7be4[_0xc5cb('0xc')](_0x42a792)){_0x38586e[_0xc5cb('0xd')]=0x2;_0x38586e[_0xc5cb('0xe')]=[];_0x38586e[_0xc5cb('0xf')]=_['find'](_0x5d8973,{'exten':_0x3b7be4[_0x42a792][0x0]['exten']});_0x38586e[_0xc5cb('0xe')][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':_0xc5cb('0x12'),'appdata':util['format'](_0xc5cb('0x13'),_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')]),'context':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x14')],'exten':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0xa')],'priority':_0x38586e['priority']++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0]['VoiceExtensionId']});if(_0x3b7be4[_0x42a792][0x0]['type']===_0xc5cb('0x15')){if(_0x38586e[_0xc5cb('0xf')]){_0x38586e['extensions'][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':_0xc5cb('0x12'),'appdata':_0xc5cb('0x16')+(_0x38586e[_0xc5cb('0xf')]['cutdigits']?_0xc5cb('0x17')+_0x38586e[_0xc5cb('0xf')][_0xc5cb('0x18')]+'}':'${EXTEN}'),'context':_0x3b7be4[_0x42a792][0x0]['context'],'exten':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0xa')],'priority':_0x38586e['priority']++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});}_0x38586e[_0xc5cb('0xe')]['push']({'type':_0x3b7be4[_0x42a792][0x0]['type'],'app':_0xc5cb('0x12'),'appdata':'CDR(routeid)='+_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')],'context':_0x3b7be4[_0x42a792][0x0]['context'],'exten':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0xa')],'priority':_0x38586e[_0xc5cb('0xd')]++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});var _0x567057=_0x38586e['priority']++;_0x38586e[_0xc5cb('0xe')]['push']({'type':_0x3b7be4[_0x42a792][0x0]['type'],'app':_0xc5cb('0x1a'),'appdata':_0xc5cb('0x1b')+(_0x567057+0x2)+_0xc5cb('0x1c')+(_0x567057+0x1)+')','context':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x14')],'exten':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0xa')],'priority':_0x567057,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});if(_0x38586e[_0xc5cb('0xf')]){_0x38586e['extensions']['push']({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':'Set','appdata':_0x38586e[_0xc5cb('0xf')][_0xc5cb('0x18')]?_0xc5cb('0x1d')+_0x38586e[_0xc5cb('0xf')][_0xc5cb('0x18')]+'}':_0xc5cb('0x1e'),'context':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x14')],'exten':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0xa')],'priority':_0x38586e[_0xc5cb('0xd')]++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0]['VoiceExtensionId']});}_0x38586e[_0xc5cb('0xe')][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':'Set','appdata':'outboundrouteid='+_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')],'context':_0x3b7be4[_0x42a792][0x0]['context'],'exten':_0x3b7be4[_0x42a792][0x0]['exten'],'priority':_0x38586e[_0xc5cb('0xd')]++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0]['VoiceExtensionId']});if(_0x38586e[_0xc5cb('0xf')]&&_0x38586e[_0xc5cb('0xf')]['hasOwnProperty']('recordingFormat')&&_0x38586e['extension'][_0xc5cb('0x1f')]!==_0xc5cb('0x20')){_0x38586e[_0xc5cb('0xe')][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':_0xc5cb('0x12'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x14')],'exten':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0xa')],'priority':_0x38586e[_0xc5cb('0xd')]++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0]['VoiceExtensionId']});_0x38586e[_0xc5cb('0xe')][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':_0xc5cb('0x12'),'appdata':_0xc5cb('0x21')+_0x38586e[_0xc5cb('0xf')][_0xc5cb('0x1f')]||_0xc5cb('0x22'),'context':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x14')],'exten':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0xa')],'priority':_0x38586e[_0xc5cb('0xd')]++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});}}_0x38586e['extensions'][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':_0xc5cb('0x12'),'appdata':_0xc5cb('0x23'),'context':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x14')],'exten':_0x3b7be4[_0x42a792][0x0]['exten'],'priority':_0x38586e[_0xc5cb('0xd')]++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});_0x38586e[_0xc5cb('0xe')][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x3b7be4[_0x42a792][0x0]['context'],'exten':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0xa')],'priority':_0x38586e[_0xc5cb('0xd')]++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});_0x38586e[_0xc5cb('0xe')][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':_0xc5cb('0x12'),'appdata':_0xc5cb('0x24'),'context':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x14')],'exten':_0x3b7be4[_0x42a792][0x0]['exten'],'priority':_0x38586e['priority']++,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});for(var _0x5c9182=0x0,_0x33fdc3=0x0;_0x5c9182<_0x3b7be4[_0x42a792][_0xc5cb('0x25')];_0x5c9182+=0x1,_0x33fdc3=0x0){var _0x57432c=_0x3b7be4[_0x42a792][_0x5c9182];if(_0x57432c[_0xc5cb('0x11')]){_0x57432c[_0xc5cb('0x11')]=_0x57432c[_0xc5cb('0x11')][_0xc5cb('0x26')]();}var _0x3cb3cb=[];var _0x3ec035=[];delete _0x57432c['id'];delete _0x57432c[_0xc5cb('0x27')];delete _0x57432c['updatedAt'];var _0x3783bd=_0x57432c['interval']!==_0xc5cb('0x28')?[_0x57432c[_0xc5cb('0x29')]]:_0x57432c[_0xc5cb('0x4')]?_[_0xc5cb('0x7')](_[_0xc5cb('0x2a')](_0x38586e['intervals'],{'IntervalId':_0x57432c[_0xc5cb('0x4')]}),_0xc5cb('0x29')):[];if(_0x57432c[_0xc5cb('0xc')]('tag')){if(_0x57432c[_0xc5cb('0x2b')]&&_0x57432c['tag']!=='--'){_0x3cb3cb[_0xc5cb('0x10')]({'type':_0x57432c[_0xc5cb('0x11')],'app':_0xc5cb('0x12'),'appdata':_0xc5cb('0x2c')+_0x57432c[_0xc5cb('0x2b')],'context':_0x57432c['context'],'exten':_0x57432c[_0xc5cb('0xa')],'priority':_0x3783bd[_0xc5cb('0x25')]+_0x38586e[_0xc5cb('0xd')]+_0x33fdc3++,'VoiceExtensionId':_0x57432c[_0xc5cb('0x19')]});}}if(_0x57432c[_0xc5cb('0x11')]===_0xc5cb('0x15')&&_0x57432c['hasOwnProperty'](_0xc5cb('0x2d'))){if(_0x57432c[_0xc5cb('0x2d')]){_0x3cb3cb[_0xc5cb('0x10')]({'type':_0x57432c[_0xc5cb('0x11')],'app':'ExecIf','appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x57432c[_0xc5cb('0x2d')]+')','context':_0x57432c[_0xc5cb('0x14')],'exten':_0x57432c[_0xc5cb('0xa')],'priority':_0x3783bd[_0xc5cb('0x25')]+_0x38586e['priority']+_0x33fdc3++,'VoiceExtensionId':_0x57432c[_0xc5cb('0x19')]});}else{_0x3cb3cb[_0xc5cb('0x10')]({'type':_0x57432c[_0xc5cb('0x11')],'app':_0xc5cb('0x1a'),'appdata':_0xc5cb('0x2e'),'context':_0x57432c[_0xc5cb('0x14')],'exten':_0x57432c[_0xc5cb('0xa')],'priority':_0x3783bd[_0xc5cb('0x25')]+_0x38586e['priority']+_0x33fdc3++,'VoiceExtensionId':_0x57432c['VoiceExtensionId']});}}if(_0x57432c[_0xc5cb('0xc')](_0xc5cb('0x2f'))){if(_0x57de51['indexOf'](_0x57432c[_0xc5cb('0x30')][_0xc5cb('0x26')]())>=0x0&&_0x57432c[_0xc5cb('0x31')]!==_0xc5cb('0x32')){if(_0x57432c[_0xc5cb('0x2f')]){_0x3cb3cb[_0xc5cb('0x10')]({'type':_0x57432c[_0xc5cb('0x11')],'app':_0xc5cb('0x1a'),'appdata':_0xc5cb('0x33'),'context':_0x57432c[_0xc5cb('0x14')],'exten':_0x57432c[_0xc5cb('0xa')],'priority':_0x3783bd[_0xc5cb('0x25')]+_0x38586e['priority']+_0x33fdc3++,'VoiceExtensionId':_0x57432c['VoiceExtensionId']});_0x3cb3cb[_0xc5cb('0x10')]({'type':_0x57432c[_0xc5cb('0x11')],'app':_0xc5cb('0x12'),'appdata':_0xc5cb('0x34'),'context':_0x57432c[_0xc5cb('0x14')],'exten':_0x57432c[_0xc5cb('0xa')],'priority':_0x3783bd[_0xc5cb('0x25')]+_0x38586e['priority']+_0x33fdc3++,'VoiceExtensionId':_0x57432c['VoiceExtensionId']});}else{_0x3cb3cb[_0xc5cb('0x10')]({'type':_0x57432c[_0xc5cb('0x11')],'app':_0xc5cb('0x1a'),'appdata':_0xc5cb('0x35'),'context':_0x57432c[_0xc5cb('0x14')],'exten':_0x57432c['exten'],'priority':_0x3783bd[_0xc5cb('0x25')]+_0x38586e['priority']+_0x33fdc3++,'VoiceExtensionId':_0x57432c[_0xc5cb('0x19')]});_0x3cb3cb[_0xc5cb('0x10')]({'type':_0x57432c[_0xc5cb('0x11')],'app':'Set','appdata':_0xc5cb('0x36'),'context':_0x57432c['context'],'exten':_0x57432c[_0xc5cb('0xa')],'priority':_0x3783bd[_0xc5cb('0x25')]+_0x38586e['priority']+_0x33fdc3++,'VoiceExtensionId':_0x57432c['VoiceExtensionId']});}}}for(var _0x5ba1d3=0x0;_0x5ba1d3<_0x3783bd[_0xc5cb('0x25')];_0x5ba1d3+=0x1){var _0x3fcf4f=_0x38586e[_0xc5cb('0xd')]+_0x3783bd[_0xc5cb('0x25')];var _0x157d54=_0x5ba1d3===_0x3783bd['length']-0x1?_0x38586e[_0xc5cb('0xd')]+_0x3cb3cb[_0xc5cb('0x25')]+_0x3ec035[_0xc5cb('0x25')]+0x2:_0x38586e[_0xc5cb('0xd')]+_0x5ba1d3+0x1;_0x3cb3cb[_0xc5cb('0x37')](_0x5ba1d3,0x0,{'type':_0x57432c[_0xc5cb('0x11')],'app':_0xc5cb('0x38'),'appdata':_0x3783bd[_0x5ba1d3]+'?'+_0x57432c[_0xc5cb('0x14')]+_0xc5cb('0x39')+_0x3fcf4f+':'+_0x57432c['context']+_0xc5cb('0x39')+_0x157d54,'exten':_0x57432c['exten'],'context':_0x57432c[_0xc5cb('0x14')],'priority':_0x38586e[_0xc5cb('0xd')]+_0x5ba1d3,'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});}_0x57432c[_0xc5cb('0xd')]=_0x3cb3cb[_0xc5cb('0x25')]?_[_0xc5cb('0x3a')](_0x3cb3cb)['priority']+0x1:_0x38586e[_0xc5cb('0xd')];_0x38586e[_0xc5cb('0xd')]=(_0x3ec035[_0xc5cb('0x25')]?_['last'](_0x3ec035)[_0xc5cb('0xd')]:_0x57432c[_0xc5cb('0xd')])+0x1;_0x38586e[_0xc5cb('0xe')]=_['concat'](_0x38586e[_0xc5cb('0xe')],_0x3cb3cb,[_0x57432c],_0x3ec035);}_0x38586e[_0xc5cb('0xe')][_0xc5cb('0x10')]({'type':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x11')],'app':_0xc5cb('0x3b'),'exten':_0x3b7be4[_0x42a792][0x0]['exten'],'context':_0x3b7be4[_0x42a792][0x0]['context'],'priority':_0x38586e['priority'],'VoiceExtensionId':_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]});_0x20d71f[_0xc5cb('0x10')](_0x3b7be4[_0x42a792][0x0][_0xc5cb('0x19')]);_0x5cc765=_['concat'](_0x5cc765,_0x38586e['extensions']);}}return _0x29b739['transaction'](function(_0x5970c0){return _0x29b739[_0xc5cb('0x1')]['VoiceExtension']['destroy']({'where':{'VoiceExtensionId':{'$in':_0x20d71f}},'transaction':_0x5970c0})[_0xc5cb('0x3')](function(_0x21b4a4){return _0x29b739[_0xc5cb('0x1')][_0xc5cb('0x5')][_0xc5cb('0x3c')](_[_0xc5cb('0x3d')](_0x5cc765,_0xc5cb('0xd')),{'transaction':_0x5970c0});});});})[_0xc5cb('0x3e')](function(_0x31fa82){console[_0xc5cb('0x3f')](_0x31fa82);});}exports[_0xc5cb('0x40')]=rewrite;