Built motion from commit (unavailable).|2.5.7
[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 _0x04f1=['find','extensions','type','Set','format','CDR(type)=%s','context','outbound','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','CDR(routeid)=','VoiceExtensionId','push','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','wav','XCALLY-MOTION-ANSWER=0','length','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','map','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','indexOf','appType','custom','answer','ExecIf','$[${XCALLY-MOTION-ANSWER}=0]?Answer','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','bulkCreate','sortBy','catch','error','lodash','util','models','findAll','then','intervals','VoiceExtension','IntervalId','uniq','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','playback','hasOwnProperty','priority','extension'];(function(_0x690918,_0x5e6749){var _0xa9610e=function(_0x5ada9a){while(--_0x5ada9a){_0x690918['push'](_0x690918['shift']());}};_0xa9610e(++_0x5e6749);}(_0x04f1,0xc1));var _0x104f=function(_0x2b93de,_0x3e50c0){_0x2b93de=_0x2b93de-0x0;var _0x4e910f=_0x04f1[_0x2b93de];return _0x4e910f;};'use strict';var _=require(_0x104f('0x0'));var util=require(_0x104f('0x1'));function rewrite(_0x36fbb6,_0xc5a5f4){var _0x2a1106=this;return _0x36fbb6[_0x104f('0x2')]['Interval'][_0x104f('0x3')]({'raw':!![]})[_0x104f('0x4')](function(_0xea3d5d){_0x2a1106[_0x104f('0x5')]=_0xea3d5d;return _0x36fbb6['models'][_0x104f('0x6')]['findAll']({'where':{'IntervalId':_0xc5a5f4[_0x104f('0x7')]},'raw':!![]});})[_0x104f('0x4')](function(_0x235367){return _0x36fbb6[_0x104f('0x2')][_0x104f('0x6')][_0x104f('0x3')]({'where':{'exten':{'$in':_[_0x104f('0x8')](_['map'](_0x235367,'exten'))}},'order':[{'raw':_0x104f('0x9')}],'raw':!![]});})[_0x104f('0x4')](function(_0x536288){var _0x41244b=_[_0x104f('0xa')](_0x536288,{'priority':'1'});var _0x26ba45=_['filter'](_0x536288,{'isApp':0x1});var _0x1e505b=_[_0x104f('0xb')](_0x26ba45,_0x104f('0xc'));var _0x53d126=['queue',_0x104f('0xd')];var _0x51b4b9=[];var _0x5df613=[];for(var _0x459abc in _0x1e505b){if(_0x1e505b[_0x104f('0xe')](_0x459abc)){_0x2a1106[_0x104f('0xf')]=0x2;_0x2a1106['extensions']=[];_0x2a1106[_0x104f('0x10')]=_[_0x104f('0x11')](_0x41244b,{'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')]});_0x2a1106[_0x104f('0x12')]['push']({'type':_0x1e505b[_0x459abc][0x0][_0x104f('0x13')],'app':_0x104f('0x14'),'appdata':util[_0x104f('0x15')](_0x104f('0x16'),_0x1e505b[_0x459abc][0x0][_0x104f('0x13')]),'context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106[_0x104f('0xf')]++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0]['VoiceExtensionId']});if(_0x1e505b[_0x459abc][0x0]['type']===_0x104f('0x18')){if(_0x2a1106['extension']){_0x2a1106[_0x104f('0x12')]['push']({'type':_0x1e505b[_0x459abc][0x0][_0x104f('0x13')],'app':_0x104f('0x14'),'appdata':_0x104f('0x19')+(_0x2a1106[_0x104f('0x10')][_0x104f('0x1a')]?_0x104f('0x1b')+_0x2a1106[_0x104f('0x10')]['cutdigits']+'}':_0x104f('0x1c')),'context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106['priority']++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0]['VoiceExtensionId']});}_0x2a1106[_0x104f('0x12')]['push']({'type':_0x1e505b[_0x459abc][0x0]['type'],'app':_0x104f('0x14'),'appdata':_0x104f('0x1d')+_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')],'context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106['priority']++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});var _0x3ec5e8=_0x2a1106[_0x104f('0xf')]++;_0x2a1106[_0x104f('0x12')][_0x104f('0x1f')]({'type':_0x1e505b[_0x459abc][0x0]['type'],'app':'ExecIf','appdata':_0x104f('0x20')+(_0x3ec5e8+0x2)+_0x104f('0x21')+(_0x3ec5e8+0x1)+')','context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x3ec5e8,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});if(_0x2a1106[_0x104f('0x10')]){_0x2a1106[_0x104f('0x12')]['push']({'type':_0x1e505b[_0x459abc][0x0][_0x104f('0x13')],'app':_0x104f('0x14'),'appdata':_0x2a1106[_0x104f('0x10')][_0x104f('0x1a')]?_0x104f('0x22')+_0x2a1106[_0x104f('0x10')][_0x104f('0x1a')]+'}':_0x104f('0x23'),'context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106[_0x104f('0xf')]++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});}_0x2a1106[_0x104f('0x12')]['push']({'type':_0x1e505b[_0x459abc][0x0]['type'],'app':_0x104f('0x14'),'appdata':_0x104f('0x24')+_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')],'context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106[_0x104f('0xf')]++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});if(_0x2a1106[_0x104f('0x10')]&&_0x2a1106[_0x104f('0x10')]['hasOwnProperty'](_0x104f('0x25'))&&_0x2a1106[_0x104f('0x10')][_0x104f('0x25')]!==_0x104f('0x26')){_0x2a1106[_0x104f('0x12')][_0x104f('0x1f')]({'type':_0x1e505b[_0x459abc][0x0][_0x104f('0x13')],'app':_0x104f('0x14'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106['priority']++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});_0x2a1106['extensions'][_0x104f('0x1f')]({'type':_0x1e505b[_0x459abc][0x0]['type'],'app':'Set','appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x2a1106['extension']['recordingFormat']||_0x104f('0x27'),'context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0]['exten'],'priority':_0x2a1106[_0x104f('0xf')]++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});}}_0x2a1106[_0x104f('0x12')][_0x104f('0x1f')]({'type':_0x1e505b[_0x459abc][0x0]['type'],'app':'Set','appdata':_0x104f('0x28'),'context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106['priority']++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});_0x2a1106[_0x104f('0x12')][_0x104f('0x1f')]({'type':_0x1e505b[_0x459abc][0x0][_0x104f('0x13')],'app':_0x104f('0x14'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106['priority']++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0]['VoiceExtensionId']});_0x2a1106[_0x104f('0x12')]['push']({'type':_0x1e505b[_0x459abc][0x0][_0x104f('0x13')],'app':_0x104f('0x14'),'appdata':'MONITOR_OPTIONS=ab','context':_0x1e505b[_0x459abc][0x0]['context'],'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'priority':_0x2a1106[_0x104f('0xf')]++,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});for(var _0x377b98=0x0,_0x4bed23=0x0;_0x377b98<_0x1e505b[_0x459abc][_0x104f('0x29')];_0x377b98+=0x1,_0x4bed23=0x0){var _0x5091ea=_0x1e505b[_0x459abc][_0x377b98];if(_0x5091ea[_0x104f('0x13')]){_0x5091ea[_0x104f('0x13')]=_0x5091ea[_0x104f('0x13')][_0x104f('0x2a')]();}var _0x2949f0=[];var _0x3b4b20=[];delete _0x5091ea['id'];delete _0x5091ea[_0x104f('0x2b')];delete _0x5091ea[_0x104f('0x2c')];var _0x2b0ce0=_0x5091ea[_0x104f('0x2d')]!==_0x104f('0x2e')?[_0x5091ea[_0x104f('0x2d')]]:_0x5091ea[_0x104f('0x7')]?_[_0x104f('0x2f')](_['filter'](_0x2a1106[_0x104f('0x5')],{'IntervalId':_0x5091ea['IntervalId']}),_0x104f('0x2d')):[];if(_0x5091ea['hasOwnProperty'](_0x104f('0x30'))){if(_0x5091ea['tag']&&_0x5091ea[_0x104f('0x30')]!=='--'){_0x2949f0['push']({'type':_0x5091ea['type'],'app':'Set','appdata':_0x104f('0x31')+_0x5091ea[_0x104f('0x30')],'context':_0x5091ea[_0x104f('0x17')],'exten':_0x5091ea['exten'],'priority':_0x2b0ce0['length']+_0x2a1106['priority']+_0x4bed23++,'VoiceExtensionId':_0x5091ea[_0x104f('0x1e')]});}}if(_0x5091ea[_0x104f('0x13')]===_0x104f('0x18')&&_0x5091ea[_0x104f('0xe')](_0x104f('0x32'))){if(_0x5091ea[_0x104f('0x32')]){_0x2949f0[_0x104f('0x1f')]({'type':_0x5091ea[_0x104f('0x13')],'app':'ExecIf','appdata':_0x104f('0x33')+_0x5091ea['callerID']+')','context':_0x5091ea[_0x104f('0x17')],'exten':_0x5091ea['exten'],'priority':_0x2b0ce0[_0x104f('0x29')]+_0x2a1106[_0x104f('0xf')]+_0x4bed23++,'VoiceExtensionId':_0x5091ea[_0x104f('0x1e')]});}else{_0x2949f0[_0x104f('0x1f')]({'type':_0x5091ea['type'],'app':'ExecIf','appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x5091ea[_0x104f('0x17')],'exten':_0x5091ea['exten'],'priority':_0x2b0ce0[_0x104f('0x29')]+_0x2a1106['priority']+_0x4bed23++,'VoiceExtensionId':_0x5091ea[_0x104f('0x1e')]});}}if(_0x5091ea[_0x104f('0xe')]('answer')){if(_0x53d126[_0x104f('0x34')](_0x5091ea['app'][_0x104f('0x2a')]())>=0x0&&_0x5091ea[_0x104f('0x35')]!==_0x104f('0x36')){if(_0x5091ea[_0x104f('0x37')]){_0x2949f0['push']({'type':_0x5091ea[_0x104f('0x13')],'app':_0x104f('0x38'),'appdata':_0x104f('0x39'),'context':_0x5091ea['context'],'exten':_0x5091ea[_0x104f('0xc')],'priority':_0x2b0ce0[_0x104f('0x29')]+_0x2a1106[_0x104f('0xf')]+_0x4bed23++,'VoiceExtensionId':_0x5091ea[_0x104f('0x1e')]});_0x2949f0['push']({'type':_0x5091ea[_0x104f('0x13')],'app':_0x104f('0x14'),'appdata':'XCALLY-MOTION-ANSWER=1','context':_0x5091ea[_0x104f('0x17')],'exten':_0x5091ea[_0x104f('0xc')],'priority':_0x2b0ce0[_0x104f('0x29')]+_0x2a1106[_0x104f('0xf')]+_0x4bed23++,'VoiceExtensionId':_0x5091ea[_0x104f('0x1e')]});}else{_0x2949f0[_0x104f('0x1f')]({'type':_0x5091ea[_0x104f('0x13')],'app':_0x104f('0x38'),'appdata':_0x104f('0x3a'),'context':_0x5091ea[_0x104f('0x17')],'exten':_0x5091ea['exten'],'priority':_0x2b0ce0[_0x104f('0x29')]+_0x2a1106['priority']+_0x4bed23++,'VoiceExtensionId':_0x5091ea[_0x104f('0x1e')]});_0x2949f0[_0x104f('0x1f')]({'type':_0x5091ea[_0x104f('0x13')],'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x5091ea[_0x104f('0x17')],'exten':_0x5091ea[_0x104f('0xc')],'priority':_0x2b0ce0['length']+_0x2a1106[_0x104f('0xf')]+_0x4bed23++,'VoiceExtensionId':_0x5091ea[_0x104f('0x1e')]});}}}for(var _0x421e6b=0x0;_0x421e6b<_0x2b0ce0['length'];_0x421e6b+=0x1){var _0x5c17b4=_0x2a1106[_0x104f('0xf')]+_0x2b0ce0[_0x104f('0x29')];var _0x513aa2=_0x421e6b===_0x2b0ce0[_0x104f('0x29')]-0x1?_0x2a1106[_0x104f('0xf')]+_0x2949f0[_0x104f('0x29')]+_0x3b4b20[_0x104f('0x29')]+0x2:_0x2a1106['priority']+_0x421e6b+0x1;_0x2949f0['splice'](_0x421e6b,0x0,{'type':_0x5091ea[_0x104f('0x13')],'app':_0x104f('0x3b'),'appdata':_0x2b0ce0[_0x421e6b]+'?'+_0x5091ea[_0x104f('0x17')]+_0x104f('0x3c')+_0x5c17b4+':'+_0x5091ea[_0x104f('0x17')]+_0x104f('0x3c')+_0x513aa2,'exten':_0x5091ea[_0x104f('0xc')],'context':_0x5091ea['context'],'priority':_0x2a1106[_0x104f('0xf')]+_0x421e6b,'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});}_0x5091ea['priority']=_0x2949f0[_0x104f('0x29')]?_[_0x104f('0x3d')](_0x2949f0)['priority']+0x1:_0x2a1106[_0x104f('0xf')];_0x2a1106['priority']=(_0x3b4b20['length']?_['last'](_0x3b4b20)[_0x104f('0xf')]:_0x5091ea[_0x104f('0xf')])+0x1;_0x2a1106['extensions']=_[_0x104f('0x3e')](_0x2a1106[_0x104f('0x12')],_0x2949f0,[_0x5091ea],_0x3b4b20);}_0x2a1106['extensions'][_0x104f('0x1f')]({'type':_0x1e505b[_0x459abc][0x0][_0x104f('0x13')],'app':_0x104f('0x3f'),'exten':_0x1e505b[_0x459abc][0x0][_0x104f('0xc')],'context':_0x1e505b[_0x459abc][0x0][_0x104f('0x17')],'priority':_0x2a1106['priority'],'VoiceExtensionId':_0x1e505b[_0x459abc][0x0][_0x104f('0x1e')]});_0x51b4b9['push'](_0x1e505b[_0x459abc][0x0]['VoiceExtensionId']);_0x5df613=_[_0x104f('0x3e')](_0x5df613,_0x2a1106[_0x104f('0x12')]);}}return _0x36fbb6[_0x104f('0x40')](function(_0x1fd86e){return _0x36fbb6['models'][_0x104f('0x6')][_0x104f('0x41')]({'where':{'VoiceExtensionId':{'$in':_0x51b4b9}},'transaction':_0x1fd86e})['then'](function(_0x122b1b){return _0x36fbb6[_0x104f('0x2')][_0x104f('0x6')][_0x104f('0x42')](_[_0x104f('0x43')](_0x5df613,_0x104f('0xf')),{'transaction':_0x1fd86e});});});})[_0x104f('0x44')](function(_0x210df3){console[_0x104f('0x45')](_0x210df3);});}exports['rewrite']=rewrite;