Built motion from commit 85328c08.|2.5.50
[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 _0x7394=['models','VoiceExtension','findAll','then','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','extension','find','push','Set','format','CDR(type)=%s','type','context','priority','inbound','extensions','VoiceExtensionId','${EXTEN:','cutdigits','${EXTEN}','CDR(routeid)=','ExecIf','CDR(prefix)=${EXTEN:0:','outboundrouteid=','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','IntervalId','tag','CDR(tag)=','outbound','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','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','catch','error','rewrite','lodash','util','Interval','intervals'];(function(_0x46acdb,_0x1401ba){var _0x49c1b9=function(_0xc0821d){while(--_0xc0821d){_0x46acdb['push'](_0x46acdb['shift']());}};_0x49c1b9(++_0x1401ba);}(_0x7394,0x114));var _0x4739=function(_0x105212,_0x479629){_0x105212=_0x105212-0x0;var _0x16601e=_0x7394[_0x105212];return _0x16601e;};'use strict';var _=require(_0x4739('0x0'));var util=require(_0x4739('0x1'));function rewrite(_0xff53a8,_0x39b382){var _0x2fbb08=this;return _0xff53a8['models'][_0x4739('0x2')]['findAll']({'raw':!![]})['then'](function(_0x315965){_0x2fbb08[_0x4739('0x3')]=_0x315965;return _0xff53a8[_0x4739('0x4')][_0x4739('0x5')][_0x4739('0x6')]({'where':{'IntervalId':_0x39b382['IntervalId']},'raw':!![]});})[_0x4739('0x7')](function(_0x239943){return _0xff53a8[_0x4739('0x4')][_0x4739('0x5')][_0x4739('0x6')]({'where':{'exten':{'$in':_['uniq'](_['map'](_0x239943,_0x4739('0x8')))}},'order':[{'raw':_0x4739('0x9')}],'raw':!![]});})[_0x4739('0x7')](function(_0x5a790f){var _0x32e35d=_['filter'](_0x5a790f,{'priority':'1'});var _0x3b589b=_[_0x4739('0xa')](_0x5a790f,{'isApp':0x1});var _0x3f73b8=_[_0x4739('0xb')](_0x3b589b,_0x4739('0x8'));var _0x4bfce9=[_0x4739('0xc'),_0x4739('0xd')];var _0x2adc17=[];var _0x2e7cdf=[];for(var _0x393903 in _0x3f73b8){if(_0x3f73b8[_0x4739('0xe')](_0x393903)){_0x2fbb08['priority']=0x2;_0x2fbb08['extensions']=[];_0x2fbb08[_0x4739('0xf')]=_[_0x4739('0x10')](_0x32e35d,{'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')]});_0x2fbb08['extensions'][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0]['type'],'app':_0x4739('0x12'),'appdata':util[_0x4739('0x13')](_0x4739('0x14'),_0x3f73b8[_0x393903][0x0][_0x4739('0x15')]),'context':_0x3f73b8[_0x393903][0x0][_0x4739('0x16')],'exten':_0x3f73b8[_0x393903][0x0]['exten'],'priority':_0x2fbb08[_0x4739('0x17')]++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0]['VoiceExtensionId']});if(_0x3f73b8[_0x393903][0x0][_0x4739('0x15')]===_0x4739('0x18')){_0x2fbb08[_0x4739('0x19')][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':'Set','appdata':'CDR(routeid)='+_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')],'context':_0x3f73b8[_0x393903][0x0][_0x4739('0x16')],'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'priority':_0x2fbb08['priority']++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});}else if(_0x3f73b8[_0x393903][0x0][_0x4739('0x15')]==='outbound'){if(_0x2fbb08[_0x4739('0xf')]){_0x2fbb08['extensions']['push']({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':'CDR(destination)='+(_0x2fbb08[_0x4739('0xf')]['cutdigits']?_0x4739('0x1b')+_0x2fbb08[_0x4739('0xf')][_0x4739('0x1c')]+'}':_0x4739('0x1d')),'context':_0x3f73b8[_0x393903][0x0][_0x4739('0x16')],'exten':_0x3f73b8[_0x393903][0x0]['exten'],'priority':_0x2fbb08[_0x4739('0x17')]++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});}_0x2fbb08[_0x4739('0x19')][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x4739('0x1e')+_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')],'context':_0x3f73b8[_0x393903][0x0]['context'],'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'priority':_0x2fbb08[_0x4739('0x17')]++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});var _0x57f5c2=_0x2fbb08[_0x4739('0x17')]++;_0x2fbb08['extensions'][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x1f'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x57f5c2+0x2)+'):Goto('+(_0x57f5c2+0x1)+')','context':_0x3f73b8[_0x393903][0x0][_0x4739('0x16')],'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'priority':_0x57f5c2,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});if(_0x2fbb08[_0x4739('0xf')]){_0x2fbb08['extensions']['push']({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x2fbb08['extension'][_0x4739('0x1c')]?_0x4739('0x20')+_0x2fbb08['extension'][_0x4739('0x1c')]+'}':'CDR(prefix)=noprefix','context':_0x3f73b8[_0x393903][0x0][_0x4739('0x16')],'exten':_0x3f73b8[_0x393903][0x0]['exten'],'priority':_0x2fbb08[_0x4739('0x17')]++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});}_0x2fbb08[_0x4739('0x19')][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x4739('0x21')+_0x3f73b8[_0x393903][0x0]['VoiceExtensionId'],'context':_0x3f73b8[_0x393903][0x0]['context'],'exten':_0x3f73b8[_0x393903][0x0]['exten'],'priority':_0x2fbb08[_0x4739('0x17')]++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});if(_0x2fbb08[_0x4739('0xf')]&&_0x2fbb08[_0x4739('0xf')]['hasOwnProperty'](_0x4739('0x22'))&&_0x2fbb08[_0x4739('0xf')][_0x4739('0x22')]!==_0x4739('0x23')){_0x2fbb08['extensions'][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x4739('0x24'),'context':_0x3f73b8[_0x393903][0x0]['context'],'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'priority':_0x2fbb08['priority']++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});_0x2fbb08[_0x4739('0x19')][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x4739('0x25')+_0x2fbb08[_0x4739('0xf')][_0x4739('0x22')]||_0x4739('0x26'),'context':_0x3f73b8[_0x393903][0x0]['context'],'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'priority':_0x2fbb08['priority']++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0]['VoiceExtensionId']});}}_0x2fbb08['extensions']['push']({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x4739('0x27'),'context':_0x3f73b8[_0x393903][0x0]['context'],'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'priority':_0x2fbb08[_0x4739('0x17')]++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});_0x2fbb08['extensions'][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0]['type'],'app':_0x4739('0x12'),'appdata':_0x4739('0x28'),'context':_0x3f73b8[_0x393903][0x0]['context'],'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'priority':_0x2fbb08[_0x4739('0x17')]++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});_0x2fbb08[_0x4739('0x19')]['push']({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x4739('0x29'),'context':_0x3f73b8[_0x393903][0x0][_0x4739('0x16')],'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'priority':_0x2fbb08[_0x4739('0x17')]++,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]});for(var _0x1743dd=0x0,_0x52a118=0x0;_0x1743dd<_0x3f73b8[_0x393903][_0x4739('0x2a')];_0x1743dd+=0x1,_0x52a118=0x0){var _0x43c18b=_0x3f73b8[_0x393903][_0x1743dd];if(_0x43c18b[_0x4739('0x15')]){_0x43c18b[_0x4739('0x15')]=_0x43c18b[_0x4739('0x15')][_0x4739('0x2b')]();}var _0x17d55e=[];var _0x4ff782=[];delete _0x43c18b['id'];delete _0x43c18b[_0x4739('0x2c')];delete _0x43c18b[_0x4739('0x2d')];var _0x4c4893=_0x43c18b[_0x4739('0x2e')]!=='*,*,*,*'?[_0x43c18b[_0x4739('0x2e')]]:_0x43c18b[_0x4739('0x2f')]?_['map'](_[_0x4739('0xa')](_0x2fbb08[_0x4739('0x3')],{'IntervalId':_0x43c18b['IntervalId']}),_0x4739('0x2e')):[];if(_0x43c18b['hasOwnProperty']('tag')){if(_0x43c18b[_0x4739('0x30')]&&_0x43c18b[_0x4739('0x30')]!=='--'){_0x17d55e[_0x4739('0x11')]({'type':_0x43c18b[_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x4739('0x31')+_0x43c18b[_0x4739('0x30')],'context':_0x43c18b['context'],'exten':_0x43c18b[_0x4739('0x8')],'priority':_0x4c4893[_0x4739('0x2a')]+_0x2fbb08[_0x4739('0x17')]+_0x52a118++,'VoiceExtensionId':_0x43c18b[_0x4739('0x1a')]});}}if(_0x43c18b[_0x4739('0x15')]===_0x4739('0x32')&&_0x43c18b[_0x4739('0xe')](_0x4739('0x33'))){if(_0x43c18b[_0x4739('0x33')]){_0x17d55e[_0x4739('0x11')]({'type':_0x43c18b[_0x4739('0x15')],'app':_0x4739('0x1f'),'appdata':_0x4739('0x34')+_0x43c18b[_0x4739('0x33')]+')','context':_0x43c18b[_0x4739('0x16')],'exten':_0x43c18b[_0x4739('0x8')],'priority':_0x4c4893[_0x4739('0x2a')]+_0x2fbb08['priority']+_0x52a118++,'VoiceExtensionId':_0x43c18b[_0x4739('0x1a')]});}else{_0x17d55e[_0x4739('0x11')]({'type':_0x43c18b['type'],'app':_0x4739('0x1f'),'appdata':_0x4739('0x35'),'context':_0x43c18b[_0x4739('0x16')],'exten':_0x43c18b[_0x4739('0x8')],'priority':_0x4c4893[_0x4739('0x2a')]+_0x2fbb08[_0x4739('0x17')]+_0x52a118++,'VoiceExtensionId':_0x43c18b[_0x4739('0x1a')]});}}if(_0x43c18b[_0x4739('0xe')](_0x4739('0x36'))){if(_0x4bfce9['indexOf'](_0x43c18b['app'][_0x4739('0x2b')]())>=0x0&&_0x43c18b['appType']!==_0x4739('0x37')){if(_0x43c18b['answer']){_0x17d55e[_0x4739('0x11')]({'type':_0x43c18b['type'],'app':_0x4739('0x1f'),'appdata':_0x4739('0x38'),'context':_0x43c18b['context'],'exten':_0x43c18b['exten'],'priority':_0x4c4893[_0x4739('0x2a')]+_0x2fbb08[_0x4739('0x17')]+_0x52a118++,'VoiceExtensionId':_0x43c18b[_0x4739('0x1a')]});_0x17d55e[_0x4739('0x11')]({'type':_0x43c18b[_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':_0x4739('0x39'),'context':_0x43c18b[_0x4739('0x16')],'exten':_0x43c18b['exten'],'priority':_0x4c4893[_0x4739('0x2a')]+_0x2fbb08[_0x4739('0x17')]+_0x52a118++,'VoiceExtensionId':_0x43c18b['VoiceExtensionId']});}else{_0x17d55e['push']({'type':_0x43c18b['type'],'app':_0x4739('0x1f'),'appdata':_0x4739('0x3a'),'context':_0x43c18b[_0x4739('0x16')],'exten':_0x43c18b[_0x4739('0x8')],'priority':_0x4c4893[_0x4739('0x2a')]+_0x2fbb08[_0x4739('0x17')]+_0x52a118++,'VoiceExtensionId':_0x43c18b['VoiceExtensionId']});_0x17d55e[_0x4739('0x11')]({'type':_0x43c18b[_0x4739('0x15')],'app':_0x4739('0x12'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x43c18b['context'],'exten':_0x43c18b[_0x4739('0x8')],'priority':_0x4c4893[_0x4739('0x2a')]+_0x2fbb08[_0x4739('0x17')]+_0x52a118++,'VoiceExtensionId':_0x43c18b['VoiceExtensionId']});}}}for(var _0x2db529=0x0;_0x2db529<_0x4c4893[_0x4739('0x2a')];_0x2db529+=0x1){var _0x18a354=_0x2fbb08[_0x4739('0x17')]+_0x4c4893[_0x4739('0x2a')];var _0x5674f6=_0x2db529===_0x4c4893[_0x4739('0x2a')]-0x1?_0x2fbb08[_0x4739('0x17')]+_0x17d55e[_0x4739('0x2a')]+_0x4ff782['length']+0x2:_0x2fbb08[_0x4739('0x17')]+_0x2db529+0x1;_0x17d55e[_0x4739('0x3b')](_0x2db529,0x0,{'type':_0x43c18b[_0x4739('0x15')],'app':_0x4739('0x3c'),'appdata':_0x4c4893[_0x2db529]+'?'+_0x43c18b[_0x4739('0x16')]+_0x4739('0x3d')+_0x18a354+':'+_0x43c18b[_0x4739('0x16')]+_0x4739('0x3d')+_0x5674f6,'exten':_0x43c18b['exten'],'context':_0x43c18b[_0x4739('0x16')],'priority':_0x2fbb08[_0x4739('0x17')]+_0x2db529,'VoiceExtensionId':_0x3f73b8[_0x393903][0x0]['VoiceExtensionId']});}_0x43c18b[_0x4739('0x17')]=_0x17d55e['length']?_['last'](_0x17d55e)['priority']+0x1:_0x2fbb08[_0x4739('0x17')];_0x2fbb08[_0x4739('0x17')]=(_0x4ff782[_0x4739('0x2a')]?_[_0x4739('0x3e')](_0x4ff782)['priority']:_0x43c18b[_0x4739('0x17')])+0x1;_0x2fbb08[_0x4739('0x19')]=_[_0x4739('0x3f')](_0x2fbb08[_0x4739('0x19')],_0x17d55e,[_0x43c18b],_0x4ff782);}_0x2fbb08['extensions'][_0x4739('0x11')]({'type':_0x3f73b8[_0x393903][0x0][_0x4739('0x15')],'app':_0x4739('0x40'),'exten':_0x3f73b8[_0x393903][0x0][_0x4739('0x8')],'context':_0x3f73b8[_0x393903][0x0]['context'],'priority':_0x2fbb08[_0x4739('0x17')],'VoiceExtensionId':_0x3f73b8[_0x393903][0x0]['VoiceExtensionId']});_0x2adc17[_0x4739('0x11')](_0x3f73b8[_0x393903][0x0][_0x4739('0x1a')]);_0x2e7cdf=_['concat'](_0x2e7cdf,_0x2fbb08[_0x4739('0x19')]);}}return _0xff53a8[_0x4739('0x41')](function(_0x38d413){return _0xff53a8[_0x4739('0x4')][_0x4739('0x5')][_0x4739('0x42')]({'where':{'VoiceExtensionId':{'$in':_0x2adc17}},'transaction':_0x38d413})[_0x4739('0x7')](function(_0x4cba76){return _0xff53a8['models']['VoiceExtension']['bulkCreate'](_['sortBy'](_0x2e7cdf,_0x4739('0x17')),{'transaction':_0x38d413});});});})[_0x4739('0x43')](function(_0x5aed48){console[_0x4739('0x44')](_0x5aed48);});}exports[_0x4739('0x45')]=rewrite;