Built motion from commit (unavailable).|2.5.9
[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 _0x28f3=['appType','custom','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','bulkCreate','sortBy','catch','error','rewrite','lodash','util','models','intervals','VoiceExtension','findAll','IntervalId','then','uniq','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','hasOwnProperty','priority','extensions','extension','find','push','type','Set','format','CDR(type)=%s','context','VoiceExtensionId','cutdigits','${EXTEN}','CDR(routeid)=','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_FORMAT=','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','createdAt','interval','*,*,*,*','tag','CDR(tag)=','length','outbound','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','answer','indexOf'];(function(_0x5c1932,_0x5b1a24){var _0x2e8728=function(_0x495742){while(--_0x495742){_0x5c1932['push'](_0x5c1932['shift']());}};_0x2e8728(++_0x5b1a24);}(_0x28f3,0x9d));var _0x328f=function(_0x2f2a24,_0x1a045e){_0x2f2a24=_0x2f2a24-0x0;var _0x444178=_0x28f3[_0x2f2a24];return _0x444178;};'use strict';var _=require(_0x328f('0x0'));var util=require(_0x328f('0x1'));function rewrite(_0x500f75,_0x2eb3df){var _0x156eb5=this;return _0x500f75[_0x328f('0x2')]['Interval']['findAll']({'raw':!![]})['then'](function(_0x17ee76){_0x156eb5[_0x328f('0x3')]=_0x17ee76;return _0x500f75['models'][_0x328f('0x4')][_0x328f('0x5')]({'where':{'IntervalId':_0x2eb3df[_0x328f('0x6')]},'raw':!![]});})[_0x328f('0x7')](function(_0x4b30ef){return _0x500f75[_0x328f('0x2')][_0x328f('0x4')][_0x328f('0x5')]({'where':{'exten':{'$in':_[_0x328f('0x8')](_['map'](_0x4b30ef,_0x328f('0x9')))}},'order':[{'raw':_0x328f('0xa')}],'raw':!![]});})[_0x328f('0x7')](function(_0x43a762){var _0x39f529=_['filter'](_0x43a762,{'priority':'1'});var _0x2b05b2=_[_0x328f('0xb')](_0x43a762,{'isApp':0x1});var _0x49be56=_[_0x328f('0xc')](_0x2b05b2,_0x328f('0x9'));var _0x48ae4d=[_0x328f('0xd'),'playback'];var _0x2e06bc=[];var _0x18188c=[];for(var _0x1c9db8 in _0x49be56){if(_0x49be56[_0x328f('0xe')](_0x1c9db8)){_0x156eb5[_0x328f('0xf')]=0x2;_0x156eb5[_0x328f('0x10')]=[];_0x156eb5[_0x328f('0x11')]=_[_0x328f('0x12')](_0x39f529,{'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')]});_0x156eb5[_0x328f('0x10')][_0x328f('0x13')]({'type':_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')],'app':_0x328f('0x15'),'appdata':util[_0x328f('0x16')](_0x328f('0x17'),_0x49be56[_0x1c9db8][0x0]['type']),'context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});if(_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')]==='outbound'){if(_0x156eb5[_0x328f('0x11')]){_0x156eb5[_0x328f('0x10')][_0x328f('0x13')]({'type':_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')],'app':_0x328f('0x15'),'appdata':'CDR(destination)='+(_0x156eb5[_0x328f('0x11')][_0x328f('0x1a')]?'${EXTEN:'+_0x156eb5[_0x328f('0x11')][_0x328f('0x1a')]+'}':_0x328f('0x1b')),'context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});}_0x156eb5[_0x328f('0x10')][_0x328f('0x13')]({'type':_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')],'app':_0x328f('0x15'),'appdata':_0x328f('0x1c')+_0x49be56[_0x1c9db8][0x0]['VoiceExtensionId'],'context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0]['exten'],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});var _0x39f46f=_0x156eb5[_0x328f('0xf')]++;_0x156eb5[_0x328f('0x10')][_0x328f('0x13')]({'type':_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')],'app':_0x328f('0x1d'),'appdata':_0x328f('0x1e')+(_0x39f46f+0x2)+_0x328f('0x1f')+(_0x39f46f+0x1)+')','context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'priority':_0x39f46f,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});if(_0x156eb5['extension']){_0x156eb5[_0x328f('0x10')]['push']({'type':_0x49be56[_0x1c9db8][0x0]['type'],'app':_0x328f('0x15'),'appdata':_0x156eb5[_0x328f('0x11')]['cutdigits']?_0x328f('0x20')+_0x156eb5[_0x328f('0x11')][_0x328f('0x1a')]+'}':_0x328f('0x21'),'context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0]['VoiceExtensionId']});}_0x156eb5[_0x328f('0x10')][_0x328f('0x13')]({'type':_0x49be56[_0x1c9db8][0x0]['type'],'app':_0x328f('0x15'),'appdata':_0x328f('0x22')+_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')],'context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'priority':_0x156eb5['priority']++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});if(_0x156eb5[_0x328f('0x11')]&&_0x156eb5[_0x328f('0x11')][_0x328f('0xe')](_0x328f('0x23'))&&_0x156eb5['extension'][_0x328f('0x23')]!==_0x328f('0x24')){_0x156eb5[_0x328f('0x10')]['push']({'type':_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')],'app':_0x328f('0x15'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});_0x156eb5[_0x328f('0x10')]['push']({'type':_0x49be56[_0x1c9db8][0x0]['type'],'app':'Set','appdata':_0x328f('0x25')+_0x156eb5[_0x328f('0x11')][_0x328f('0x23')]||'wav','context':_0x49be56[_0x1c9db8][0x0]['context'],'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0]['VoiceExtensionId']});}}_0x156eb5[_0x328f('0x10')][_0x328f('0x13')]({'type':_0x49be56[_0x1c9db8][0x0]['type'],'app':_0x328f('0x15'),'appdata':_0x328f('0x26'),'context':_0x49be56[_0x1c9db8][0x0]['context'],'exten':_0x49be56[_0x1c9db8][0x0]['exten'],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0]['VoiceExtensionId']});_0x156eb5[_0x328f('0x10')][_0x328f('0x13')]({'type':_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')],'app':_0x328f('0x15'),'appdata':_0x328f('0x27'),'context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0]['exten'],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});_0x156eb5['extensions'][_0x328f('0x13')]({'type':_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')],'app':_0x328f('0x15'),'appdata':_0x328f('0x28'),'context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'priority':_0x156eb5[_0x328f('0xf')]++,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});for(var _0x5d2288=0x0,_0x48ad89=0x0;_0x5d2288<_0x49be56[_0x1c9db8]['length'];_0x5d2288+=0x1,_0x48ad89=0x0){var _0x5a1268=_0x49be56[_0x1c9db8][_0x5d2288];if(_0x5a1268[_0x328f('0x14')]){_0x5a1268[_0x328f('0x14')]=_0x5a1268['type'][_0x328f('0x29')]();}var _0xa3c8fc=[];var _0xa4be7e=[];delete _0x5a1268['id'];delete _0x5a1268[_0x328f('0x2a')];delete _0x5a1268['updatedAt'];var _0x31a7db=_0x5a1268[_0x328f('0x2b')]!==_0x328f('0x2c')?[_0x5a1268[_0x328f('0x2b')]]:_0x5a1268[_0x328f('0x6')]?_['map'](_[_0x328f('0xb')](_0x156eb5['intervals'],{'IntervalId':_0x5a1268[_0x328f('0x6')]}),'interval'):[];if(_0x5a1268[_0x328f('0xe')](_0x328f('0x2d'))){if(_0x5a1268['tag']&&_0x5a1268['tag']!=='--'){_0xa3c8fc[_0x328f('0x13')]({'type':_0x5a1268[_0x328f('0x14')],'app':_0x328f('0x15'),'appdata':_0x328f('0x2e')+_0x5a1268['tag'],'context':_0x5a1268[_0x328f('0x18')],'exten':_0x5a1268['exten'],'priority':_0x31a7db[_0x328f('0x2f')]+_0x156eb5[_0x328f('0xf')]+_0x48ad89++,'VoiceExtensionId':_0x5a1268[_0x328f('0x19')]});}}if(_0x5a1268['type']===_0x328f('0x30')&&_0x5a1268[_0x328f('0xe')](_0x328f('0x31'))){if(_0x5a1268[_0x328f('0x31')]){_0xa3c8fc['push']({'type':_0x5a1268[_0x328f('0x14')],'app':'ExecIf','appdata':_0x328f('0x32')+_0x5a1268[_0x328f('0x31')]+')','context':_0x5a1268[_0x328f('0x18')],'exten':_0x5a1268['exten'],'priority':_0x31a7db[_0x328f('0x2f')]+_0x156eb5[_0x328f('0xf')]+_0x48ad89++,'VoiceExtensionId':_0x5a1268[_0x328f('0x19')]});}else{_0xa3c8fc[_0x328f('0x13')]({'type':_0x5a1268[_0x328f('0x14')],'app':_0x328f('0x1d'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x5a1268[_0x328f('0x18')],'exten':_0x5a1268[_0x328f('0x9')],'priority':_0x31a7db['length']+_0x156eb5[_0x328f('0xf')]+_0x48ad89++,'VoiceExtensionId':_0x5a1268[_0x328f('0x19')]});}}if(_0x5a1268[_0x328f('0xe')](_0x328f('0x33'))){if(_0x48ae4d[_0x328f('0x34')](_0x5a1268['app']['toLowerCase']())>=0x0&&_0x5a1268[_0x328f('0x35')]!==_0x328f('0x36')){if(_0x5a1268[_0x328f('0x33')]){_0xa3c8fc[_0x328f('0x13')]({'type':_0x5a1268[_0x328f('0x14')],'app':_0x328f('0x1d'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x5a1268[_0x328f('0x18')],'exten':_0x5a1268[_0x328f('0x9')],'priority':_0x31a7db[_0x328f('0x2f')]+_0x156eb5[_0x328f('0xf')]+_0x48ad89++,'VoiceExtensionId':_0x5a1268[_0x328f('0x19')]});_0xa3c8fc[_0x328f('0x13')]({'type':_0x5a1268[_0x328f('0x14')],'app':_0x328f('0x15'),'appdata':_0x328f('0x37'),'context':_0x5a1268[_0x328f('0x18')],'exten':_0x5a1268[_0x328f('0x9')],'priority':_0x31a7db[_0x328f('0x2f')]+_0x156eb5[_0x328f('0xf')]+_0x48ad89++,'VoiceExtensionId':_0x5a1268['VoiceExtensionId']});}else{_0xa3c8fc[_0x328f('0x13')]({'type':_0x5a1268[_0x328f('0x14')],'app':_0x328f('0x1d'),'appdata':_0x328f('0x38'),'context':_0x5a1268[_0x328f('0x18')],'exten':_0x5a1268[_0x328f('0x9')],'priority':_0x31a7db[_0x328f('0x2f')]+_0x156eb5[_0x328f('0xf')]+_0x48ad89++,'VoiceExtensionId':_0x5a1268[_0x328f('0x19')]});_0xa3c8fc[_0x328f('0x13')]({'type':_0x5a1268[_0x328f('0x14')],'app':'Set','appdata':_0x328f('0x39'),'context':_0x5a1268['context'],'exten':_0x5a1268[_0x328f('0x9')],'priority':_0x31a7db['length']+_0x156eb5[_0x328f('0xf')]+_0x48ad89++,'VoiceExtensionId':_0x5a1268['VoiceExtensionId']});}}}for(var _0x46ec5a=0x0;_0x46ec5a<_0x31a7db['length'];_0x46ec5a+=0x1){var _0x5039a5=_0x156eb5[_0x328f('0xf')]+_0x31a7db[_0x328f('0x2f')];var _0x492f80=_0x46ec5a===_0x31a7db['length']-0x1?_0x156eb5[_0x328f('0xf')]+_0xa3c8fc[_0x328f('0x2f')]+_0xa4be7e[_0x328f('0x2f')]+0x2:_0x156eb5[_0x328f('0xf')]+_0x46ec5a+0x1;_0xa3c8fc[_0x328f('0x3a')](_0x46ec5a,0x0,{'type':_0x5a1268[_0x328f('0x14')],'app':_0x328f('0x3b'),'appdata':_0x31a7db[_0x46ec5a]+'?'+_0x5a1268[_0x328f('0x18')]+_0x328f('0x3c')+_0x5039a5+':'+_0x5a1268[_0x328f('0x18')]+',${EXTEN},'+_0x492f80,'exten':_0x5a1268[_0x328f('0x9')],'context':_0x5a1268[_0x328f('0x18')],'priority':_0x156eb5[_0x328f('0xf')]+_0x46ec5a,'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});}_0x5a1268[_0x328f('0xf')]=_0xa3c8fc[_0x328f('0x2f')]?_[_0x328f('0x3d')](_0xa3c8fc)[_0x328f('0xf')]+0x1:_0x156eb5[_0x328f('0xf')];_0x156eb5['priority']=(_0xa4be7e[_0x328f('0x2f')]?_[_0x328f('0x3d')](_0xa4be7e)[_0x328f('0xf')]:_0x5a1268[_0x328f('0xf')])+0x1;_0x156eb5[_0x328f('0x10')]=_[_0x328f('0x3e')](_0x156eb5[_0x328f('0x10')],_0xa3c8fc,[_0x5a1268],_0xa4be7e);}_0x156eb5[_0x328f('0x10')]['push']({'type':_0x49be56[_0x1c9db8][0x0][_0x328f('0x14')],'app':_0x328f('0x3f'),'exten':_0x49be56[_0x1c9db8][0x0][_0x328f('0x9')],'context':_0x49be56[_0x1c9db8][0x0][_0x328f('0x18')],'priority':_0x156eb5[_0x328f('0xf')],'VoiceExtensionId':_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]});_0x2e06bc[_0x328f('0x13')](_0x49be56[_0x1c9db8][0x0][_0x328f('0x19')]);_0x18188c=_[_0x328f('0x3e')](_0x18188c,_0x156eb5[_0x328f('0x10')]);}}return _0x500f75[_0x328f('0x40')](function(_0x5c5815){return _0x500f75[_0x328f('0x2')][_0x328f('0x4')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x2e06bc}},'transaction':_0x5c5815})[_0x328f('0x7')](function(_0x49d8db){return _0x500f75[_0x328f('0x2')]['VoiceExtension'][_0x328f('0x41')](_[_0x328f('0x42')](_0x18188c,_0x328f('0xf')),{'transaction':_0x5c5815});});});})[_0x328f('0x43')](function(_0x2e73ca){console[_0x328f('0x44')](_0x2e73ca);});}exports[_0x328f('0x45')]=rewrite;