Built motion from commit (unavailable).|2.5.2
[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 _0x00da=['none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','updatedAt','*,*,*,*','interval','IntervalId','tag','CDR(tag)=','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)','appType','custom','answer','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice','GotoIfTime',',${EXTEN},','last','concat','transaction','VoiceExtension','destroy','bulkCreate','sortBy','catch','error','rewrite','lodash','util','findAll','intervals','then','models','map','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','playback','hasOwnProperty','extensions','extension','find','type','Set','format','CDR(type)=%s','VoiceExtensionId','outbound','push','CDR(destination)=','cutdigits','${EXTEN:','context','priority','CDR(routeid)=','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','recordingFormat'];(function(_0x5e43f4,_0x47ea74){var _0x3bcd34=function(_0x121c71){while(--_0x121c71){_0x5e43f4['push'](_0x5e43f4['shift']());}};_0x3bcd34(++_0x47ea74);}(_0x00da,0x1cf));var _0xa00d=function(_0x5e34dc,_0x15c2f2){_0x5e34dc=_0x5e34dc-0x0;var _0x5a4041=_0x00da[_0x5e34dc];return _0x5a4041;};'use strict';var _=require(_0xa00d('0x0'));var util=require(_0xa00d('0x1'));function rewrite(_0x497587,_0x307eb9){var _0x457042=this;return _0x497587['models']['Interval'][_0xa00d('0x2')]({'raw':!![]})['then'](function(_0x333fdc){_0x457042[_0xa00d('0x3')]=_0x333fdc;return _0x497587['models']['VoiceExtension'][_0xa00d('0x2')]({'where':{'IntervalId':_0x307eb9['IntervalId']},'raw':!![]});})[_0xa00d('0x4')](function(_0x482ff0){return _0x497587[_0xa00d('0x5')]['VoiceExtension'][_0xa00d('0x2')]({'where':{'exten':{'$in':_['uniq'](_[_0xa00d('0x6')](_0x482ff0,'exten'))}},'order':[{'raw':_0xa00d('0x7')}],'raw':!![]});})[_0xa00d('0x4')](function(_0x5e46f6){var _0x2860c2=_[_0xa00d('0x8')](_0x5e46f6,{'priority':'1'});var _0x32da26=_['filter'](_0x5e46f6,{'isApp':0x1});var _0x565e69=_[_0xa00d('0x9')](_0x32da26,_0xa00d('0xa'));var _0x539a94=[_0xa00d('0xb'),_0xa00d('0xc')];var _0x4b8764=[];var _0xf92671=[];for(var _0x1cf8a5 in _0x565e69){if(_0x565e69[_0xa00d('0xd')](_0x1cf8a5)){_0x457042['priority']=0x2;_0x457042[_0xa00d('0xe')]=[];_0x457042[_0xa00d('0xf')]=_[_0xa00d('0x10')](_0x2860c2,{'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')]});_0x457042[_0xa00d('0xe')]['push']({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':util[_0xa00d('0x13')](_0xa00d('0x14'),_0x565e69[_0x1cf8a5][0x0]['type']),'context':_0x565e69[_0x1cf8a5][0x0]['context'],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042['priority']++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});if(_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')]===_0xa00d('0x16')){if(_0x457042[_0xa00d('0xf')]){_0x457042['extensions'][_0xa00d('0x17')]({'type':_0x565e69[_0x1cf8a5][0x0]['type'],'app':'Set','appdata':_0xa00d('0x18')+(_0x457042[_0xa00d('0xf')][_0xa00d('0x19')]?_0xa00d('0x1a')+_0x457042[_0xa00d('0xf')][_0xa00d('0x19')]+'}':'${EXTEN}'),'context':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x1b')],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042[_0xa00d('0x1c')]++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});}_0x457042[_0xa00d('0xe')][_0xa00d('0x17')]({'type':_0x565e69[_0x1cf8a5][0x0]['type'],'app':_0xa00d('0x12'),'appdata':_0xa00d('0x1d')+_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')],'context':_0x565e69[_0x1cf8a5][0x0]['context'],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042[_0xa00d('0x1c')]++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0]['VoiceExtensionId']});var _0x4c6147=_0x457042[_0xa00d('0x1c')]++;_0x457042[_0xa00d('0xe')]['push']({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':_0xa00d('0x1e'),'appdata':_0xa00d('0x1f')+(_0x4c6147+0x2)+'):Goto('+(_0x4c6147+0x1)+')','context':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x1b')],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x4c6147,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});if(_0x457042[_0xa00d('0xf')]){_0x457042[_0xa00d('0xe')]['push']({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':_0x457042[_0xa00d('0xf')][_0xa00d('0x19')]?_0xa00d('0x20')+_0x457042[_0xa00d('0xf')][_0xa00d('0x19')]+'}':'CDR(prefix)=noprefix','context':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x1b')],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042[_0xa00d('0x1c')]++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});}_0x457042['extensions']['push']({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':'outboundrouteid='+_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')],'context':_0x565e69[_0x1cf8a5][0x0]['context'],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042[_0xa00d('0x1c')]++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0]['VoiceExtensionId']});if(_0x457042[_0xa00d('0xf')]&&_0x457042[_0xa00d('0xf')][_0xa00d('0xd')]('recordingFormat')&&_0x457042[_0xa00d('0xf')][_0xa00d('0x21')]!==_0xa00d('0x22')){_0x457042[_0xa00d('0xe')][_0xa00d('0x17')]({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':_0xa00d('0x23'),'context':_0x565e69[_0x1cf8a5][0x0]['context'],'exten':_0x565e69[_0x1cf8a5][0x0]['exten'],'priority':_0x457042[_0xa00d('0x1c')]++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});_0x457042[_0xa00d('0xe')][_0xa00d('0x17')]({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':_0xa00d('0x24')+_0x457042[_0xa00d('0xf')][_0xa00d('0x21')]||_0xa00d('0x25'),'context':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x1b')],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042[_0xa00d('0x1c')]++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});}}_0x457042[_0xa00d('0xe')][_0xa00d('0x17')]({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x565e69[_0x1cf8a5][0x0]['context'],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042[_0xa00d('0x1c')]++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});_0x457042[_0xa00d('0xe')][_0xa00d('0x17')]({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':'Set','appdata':_0xa00d('0x26'),'context':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x1b')],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042[_0xa00d('0x1c')]++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});_0x457042['extensions']['push']({'type':_0x565e69[_0x1cf8a5][0x0]['type'],'app':_0xa00d('0x12'),'appdata':_0xa00d('0x27'),'context':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x1b')],'exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'priority':_0x457042['priority']++,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});for(var _0x29ba4a=0x0,_0x2eac89=0x0;_0x29ba4a<_0x565e69[_0x1cf8a5][_0xa00d('0x28')];_0x29ba4a+=0x1,_0x2eac89=0x0){var _0x3a9fcd=_0x565e69[_0x1cf8a5][_0x29ba4a];if(_0x3a9fcd[_0xa00d('0x11')]){_0x3a9fcd[_0xa00d('0x11')]=_0x3a9fcd[_0xa00d('0x11')][_0xa00d('0x29')]();}var _0x446a82=[];var _0x1d7b72=[];delete _0x3a9fcd['id'];delete _0x3a9fcd[_0xa00d('0x2a')];delete _0x3a9fcd[_0xa00d('0x2b')];var _0x41fecb=_0x3a9fcd['interval']!==_0xa00d('0x2c')?[_0x3a9fcd[_0xa00d('0x2d')]]:_0x3a9fcd['IntervalId']?_[_0xa00d('0x6')](_[_0xa00d('0x8')](_0x457042[_0xa00d('0x3')],{'IntervalId':_0x3a9fcd[_0xa00d('0x2e')]}),'interval'):[];if(_0x3a9fcd['hasOwnProperty'](_0xa00d('0x2f'))){if(_0x3a9fcd[_0xa00d('0x2f')]&&_0x3a9fcd[_0xa00d('0x2f')]!=='--'){_0x446a82[_0xa00d('0x17')]({'type':_0x3a9fcd[_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':_0xa00d('0x30')+_0x3a9fcd['tag'],'context':_0x3a9fcd['context'],'exten':_0x3a9fcd[_0xa00d('0xa')],'priority':_0x41fecb['length']+_0x457042['priority']+_0x2eac89++,'VoiceExtensionId':_0x3a9fcd[_0xa00d('0x15')]});}}if(_0x3a9fcd['type']===_0xa00d('0x16')&&_0x3a9fcd[_0xa00d('0xd')](_0xa00d('0x31'))){if(_0x3a9fcd[_0xa00d('0x31')]){_0x446a82['push']({'type':_0x3a9fcd['type'],'app':_0xa00d('0x1e'),'appdata':_0xa00d('0x32')+_0x3a9fcd['callerID']+')','context':_0x3a9fcd[_0xa00d('0x1b')],'exten':_0x3a9fcd[_0xa00d('0xa')],'priority':_0x41fecb['length']+_0x457042['priority']+_0x2eac89++,'VoiceExtensionId':_0x3a9fcd[_0xa00d('0x15')]});}else{_0x446a82[_0xa00d('0x17')]({'type':_0x3a9fcd['type'],'app':'ExecIf','appdata':_0xa00d('0x33'),'context':_0x3a9fcd['context'],'exten':_0x3a9fcd[_0xa00d('0xa')],'priority':_0x41fecb[_0xa00d('0x28')]+_0x457042['priority']+_0x2eac89++,'VoiceExtensionId':_0x3a9fcd[_0xa00d('0x15')]});}}if(_0x3a9fcd[_0xa00d('0xd')]('answer')){if(_0x539a94['indexOf'](_0x3a9fcd['app'][_0xa00d('0x29')]())>=0x0&&_0x3a9fcd[_0xa00d('0x34')]!==_0xa00d('0x35')){if(_0x3a9fcd[_0xa00d('0x36')]){_0x446a82[_0xa00d('0x17')]({'type':_0x3a9fcd[_0xa00d('0x11')],'app':_0xa00d('0x1e'),'appdata':_0xa00d('0x37'),'context':_0x3a9fcd[_0xa00d('0x1b')],'exten':_0x3a9fcd[_0xa00d('0xa')],'priority':_0x41fecb[_0xa00d('0x28')]+_0x457042['priority']+_0x2eac89++,'VoiceExtensionId':_0x3a9fcd[_0xa00d('0x15')]});_0x446a82[_0xa00d('0x17')]({'type':_0x3a9fcd[_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':_0xa00d('0x38'),'context':_0x3a9fcd['context'],'exten':_0x3a9fcd[_0xa00d('0xa')],'priority':_0x41fecb[_0xa00d('0x28')]+_0x457042['priority']+_0x2eac89++,'VoiceExtensionId':_0x3a9fcd[_0xa00d('0x15')]});}else{_0x446a82[_0xa00d('0x17')]({'type':_0x3a9fcd[_0xa00d('0x11')],'app':_0xa00d('0x1e'),'appdata':_0xa00d('0x39'),'context':_0x3a9fcd[_0xa00d('0x1b')],'exten':_0x3a9fcd[_0xa00d('0xa')],'priority':_0x41fecb[_0xa00d('0x28')]+_0x457042[_0xa00d('0x1c')]+_0x2eac89++,'VoiceExtensionId':_0x3a9fcd['VoiceExtensionId']});_0x446a82[_0xa00d('0x17')]({'type':_0x3a9fcd[_0xa00d('0x11')],'app':_0xa00d('0x12'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x3a9fcd[_0xa00d('0x1b')],'exten':_0x3a9fcd[_0xa00d('0xa')],'priority':_0x41fecb[_0xa00d('0x28')]+_0x457042[_0xa00d('0x1c')]+_0x2eac89++,'VoiceExtensionId':_0x3a9fcd[_0xa00d('0x15')]});}}}for(var _0x270cc7=0x0;_0x270cc7<_0x41fecb[_0xa00d('0x28')];_0x270cc7+=0x1){var _0x54b3d7=_0x457042[_0xa00d('0x1c')]+_0x41fecb[_0xa00d('0x28')];var _0x31ff05=_0x270cc7===_0x41fecb[_0xa00d('0x28')]-0x1?_0x457042[_0xa00d('0x1c')]+_0x446a82[_0xa00d('0x28')]+_0x1d7b72[_0xa00d('0x28')]+0x2:_0x457042[_0xa00d('0x1c')]+_0x270cc7+0x1;_0x446a82[_0xa00d('0x3a')](_0x270cc7,0x0,{'type':_0x3a9fcd[_0xa00d('0x11')],'app':_0xa00d('0x3b'),'appdata':_0x41fecb[_0x270cc7]+'?'+_0x3a9fcd[_0xa00d('0x1b')]+_0xa00d('0x3c')+_0x54b3d7+':'+_0x3a9fcd[_0xa00d('0x1b')]+_0xa00d('0x3c')+_0x31ff05,'exten':_0x3a9fcd['exten'],'context':_0x3a9fcd[_0xa00d('0x1b')],'priority':_0x457042[_0xa00d('0x1c')]+_0x270cc7,'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});}_0x3a9fcd[_0xa00d('0x1c')]=_0x446a82['length']?_[_0xa00d('0x3d')](_0x446a82)[_0xa00d('0x1c')]+0x1:_0x457042[_0xa00d('0x1c')];_0x457042[_0xa00d('0x1c')]=(_0x1d7b72['length']?_['last'](_0x1d7b72)[_0xa00d('0x1c')]:_0x3a9fcd[_0xa00d('0x1c')])+0x1;_0x457042[_0xa00d('0xe')]=_[_0xa00d('0x3e')](_0x457042['extensions'],_0x446a82,[_0x3a9fcd],_0x1d7b72);}_0x457042['extensions']['push']({'type':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x11')],'app':'Hangup','exten':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0xa')],'context':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x1b')],'priority':_0x457042[_0xa00d('0x1c')],'VoiceExtensionId':_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]});_0x4b8764['push'](_0x565e69[_0x1cf8a5][0x0][_0xa00d('0x15')]);_0xf92671=_[_0xa00d('0x3e')](_0xf92671,_0x457042[_0xa00d('0xe')]);}}return _0x497587[_0xa00d('0x3f')](function(_0x44f2d7){return _0x497587[_0xa00d('0x5')][_0xa00d('0x40')][_0xa00d('0x41')]({'where':{'VoiceExtensionId':{'$in':_0x4b8764}},'transaction':_0x44f2d7})[_0xa00d('0x4')](function(_0x50a8dc){return _0x497587[_0xa00d('0x5')]['VoiceExtension'][_0xa00d('0x42')](_[_0xa00d('0x43')](_0xf92671,_0xa00d('0x1c')),{'transaction':_0x44f2d7});});});})[_0xa00d('0x44')](function(_0x1bc54b){console[_0xa00d('0x45')](_0x1bc54b);});}exports[_0xa00d('0x46')]=rewrite;