f5bf43404443ec7f0e7d7325199c2963a68d0942
[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 _0xb538=['wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','createdAt','updatedAt','interval','IntervalId','map','intervals','tag','CDR(tag)=','length','outbound','callerID','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','answer','indexOf','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','destroy','bulkCreate','sortBy','catch','lodash','models','Interval','findAll','then','VoiceExtension','uniq','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','playback','hasOwnProperty','priority','extensions','extension','find','push','type','Set','format','context','VoiceExtensionId','inbound','CDR(routeid)=','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}'];(function(_0x1170e5,_0xc0e250){var _0x3ec902=function(_0x55b2a9){while(--_0x55b2a9){_0x1170e5['push'](_0x1170e5['shift']());}};_0x3ec902(++_0xc0e250);}(_0xb538,0xb1));var _0x8b53=function(_0x533e64,_0x20e791){_0x533e64=_0x533e64-0x0;var _0xfa37b1=_0xb538[_0x533e64];return _0xfa37b1;};'use strict';var _=require(_0x8b53('0x0'));var util=require('util');function rewrite(_0x36eeb3,_0x5590b6){var _0x52d7eb=this;return _0x36eeb3[_0x8b53('0x1')][_0x8b53('0x2')][_0x8b53('0x3')]({'raw':!![]})[_0x8b53('0x4')](function(_0x330bbb){_0x52d7eb['intervals']=_0x330bbb;return _0x36eeb3[_0x8b53('0x1')]['VoiceExtension'][_0x8b53('0x3')]({'where':{'IntervalId':_0x5590b6['IntervalId']},'raw':!![]});})['then'](function(_0x148569){return _0x36eeb3['models'][_0x8b53('0x5')][_0x8b53('0x3')]({'where':{'exten':{'$in':_[_0x8b53('0x6')](_['map'](_0x148569,'exten'))}},'order':[{'raw':_0x8b53('0x7')}],'raw':!![]});})[_0x8b53('0x4')](function(_0x24a902){var _0x176dad=_[_0x8b53('0x8')](_0x24a902,{'priority':'1'});var _0x27333d=_[_0x8b53('0x8')](_0x24a902,{'isApp':0x1});var _0x525e85=_[_0x8b53('0x9')](_0x27333d,_0x8b53('0xa'));var _0x489bad=[_0x8b53('0xb'),_0x8b53('0xc')];var _0x32ee1a=[];var _0x2f83f5=[];for(var _0x105da9 in _0x525e85){if(_0x525e85[_0x8b53('0xd')](_0x105da9)){_0x52d7eb[_0x8b53('0xe')]=0x2;_0x52d7eb[_0x8b53('0xf')]=[];_0x52d7eb[_0x8b53('0x10')]=_[_0x8b53('0x11')](_0x176dad,{'exten':_0x525e85[_0x105da9][0x0]['exten']});_0x52d7eb[_0x8b53('0xf')][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':_0x8b53('0x14'),'appdata':util[_0x8b53('0x15')]('CDR(type)=%s',_0x525e85[_0x105da9][0x0][_0x8b53('0x13')]),'context':_0x525e85[_0x105da9][0x0][_0x8b53('0x16')],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x52d7eb['priority']++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});if(_0x525e85[_0x105da9][0x0][_0x8b53('0x13')]===_0x8b53('0x18')){_0x52d7eb[_0x8b53('0xf')]['push']({'type':_0x525e85[_0x105da9][0x0]['type'],'app':_0x8b53('0x14'),'appdata':_0x8b53('0x19')+_0x525e85[_0x105da9][0x0][_0x8b53('0x17')],'context':_0x525e85[_0x105da9][0x0]['context'],'exten':_0x525e85[_0x105da9][0x0]['exten'],'priority':_0x52d7eb[_0x8b53('0xe')]++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0]['VoiceExtensionId']});}else if(_0x525e85[_0x105da9][0x0]['type']==='outbound'){if(_0x52d7eb[_0x8b53('0x10')]){_0x52d7eb[_0x8b53('0xf')][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':'Set','appdata':_0x8b53('0x1a')+(_0x52d7eb[_0x8b53('0x10')][_0x8b53('0x1b')]?_0x8b53('0x1c')+_0x52d7eb[_0x8b53('0x10')]['cutdigits']+'}':_0x8b53('0x1d')),'context':_0x525e85[_0x105da9][0x0]['context'],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x52d7eb['priority']++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});}_0x52d7eb[_0x8b53('0xf')][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':_0x8b53('0x14'),'appdata':_0x8b53('0x19')+_0x525e85[_0x105da9][0x0][_0x8b53('0x17')],'context':_0x525e85[_0x105da9][0x0]['context'],'exten':_0x525e85[_0x105da9][0x0]['exten'],'priority':_0x52d7eb[_0x8b53('0xe')]++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0]['VoiceExtensionId']});var _0x1bf24f=_0x52d7eb[_0x8b53('0xe')]++;_0x52d7eb[_0x8b53('0xf')][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':'ExecIf','appdata':_0x8b53('0x1e')+(_0x1bf24f+0x2)+'):Goto('+(_0x1bf24f+0x1)+')','context':_0x525e85[_0x105da9][0x0]['context'],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x1bf24f,'VoiceExtensionId':_0x525e85[_0x105da9][0x0]['VoiceExtensionId']});if(_0x52d7eb[_0x8b53('0x10')]){_0x52d7eb['extensions'][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0]['type'],'app':_0x8b53('0x14'),'appdata':_0x52d7eb[_0x8b53('0x10')][_0x8b53('0x1b')]?_0x8b53('0x1f')+_0x52d7eb[_0x8b53('0x10')]['cutdigits']+'}':_0x8b53('0x20'),'context':_0x525e85[_0x105da9][0x0][_0x8b53('0x16')],'exten':_0x525e85[_0x105da9][0x0]['exten'],'priority':_0x52d7eb[_0x8b53('0xe')]++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});}_0x52d7eb[_0x8b53('0xf')][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':_0x8b53('0x14'),'appdata':_0x8b53('0x21')+_0x525e85[_0x105da9][0x0][_0x8b53('0x17')],'context':_0x525e85[_0x105da9][0x0][_0x8b53('0x16')],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x52d7eb[_0x8b53('0xe')]++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});if(_0x52d7eb['extension']&&_0x52d7eb['extension'][_0x8b53('0xd')]('recordingFormat')&&_0x52d7eb['extension'][_0x8b53('0x22')]!=='none'){_0x52d7eb[_0x8b53('0xf')]['push']({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':'Set','appdata':_0x8b53('0x23'),'context':_0x525e85[_0x105da9][0x0]['context'],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x52d7eb[_0x8b53('0xe')]++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});_0x52d7eb[_0x8b53('0xf')][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':_0x8b53('0x14'),'appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x52d7eb['extension'][_0x8b53('0x22')]||_0x8b53('0x24'),'context':_0x525e85[_0x105da9][0x0]['context'],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x52d7eb[_0x8b53('0xe')]++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});}}_0x52d7eb[_0x8b53('0xf')][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0]['type'],'app':_0x8b53('0x14'),'appdata':_0x8b53('0x25'),'context':_0x525e85[_0x105da9][0x0][_0x8b53('0x16')],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x52d7eb['priority']++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0]['VoiceExtensionId']});_0x52d7eb['extensions'][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':_0x8b53('0x14'),'appdata':_0x8b53('0x26'),'context':_0x525e85[_0x105da9][0x0][_0x8b53('0x16')],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x52d7eb[_0x8b53('0xe')]++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});_0x52d7eb[_0x8b53('0xf')][_0x8b53('0x12')]({'type':_0x525e85[_0x105da9][0x0][_0x8b53('0x13')],'app':'Set','appdata':_0x8b53('0x27'),'context':_0x525e85[_0x105da9][0x0]['context'],'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'priority':_0x52d7eb[_0x8b53('0xe')]++,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});for(var _0x4bcb26=0x0,_0x4745cc=0x0;_0x4bcb26<_0x525e85[_0x105da9]['length'];_0x4bcb26+=0x1,_0x4745cc=0x0){var _0x1f0c05=_0x525e85[_0x105da9][_0x4bcb26];if(_0x1f0c05[_0x8b53('0x13')]){_0x1f0c05[_0x8b53('0x13')]=_0x1f0c05['type'][_0x8b53('0x28')]();}var _0x5b4657=[];var _0x512b47=[];delete _0x1f0c05['id'];delete _0x1f0c05[_0x8b53('0x29')];delete _0x1f0c05[_0x8b53('0x2a')];var _0x19bbbf=_0x1f0c05[_0x8b53('0x2b')]!=='*,*,*,*'?[_0x1f0c05[_0x8b53('0x2b')]]:_0x1f0c05[_0x8b53('0x2c')]?_[_0x8b53('0x2d')](_['filter'](_0x52d7eb[_0x8b53('0x2e')],{'IntervalId':_0x1f0c05[_0x8b53('0x2c')]}),'interval'):[];if(_0x1f0c05[_0x8b53('0xd')](_0x8b53('0x2f'))){if(_0x1f0c05[_0x8b53('0x2f')]&&_0x1f0c05[_0x8b53('0x2f')]!=='--'){_0x5b4657['push']({'type':_0x1f0c05[_0x8b53('0x13')],'app':_0x8b53('0x14'),'appdata':_0x8b53('0x30')+_0x1f0c05[_0x8b53('0x2f')],'context':_0x1f0c05['context'],'exten':_0x1f0c05[_0x8b53('0xa')],'priority':_0x19bbbf[_0x8b53('0x31')]+_0x52d7eb[_0x8b53('0xe')]+_0x4745cc++,'VoiceExtensionId':_0x1f0c05[_0x8b53('0x17')]});}}if(_0x1f0c05[_0x8b53('0x13')]===_0x8b53('0x32')&&_0x1f0c05[_0x8b53('0xd')](_0x8b53('0x33'))){if(_0x1f0c05[_0x8b53('0x33')]){_0x5b4657[_0x8b53('0x12')]({'type':_0x1f0c05[_0x8b53('0x13')],'app':_0x8b53('0x34'),'appdata':_0x8b53('0x35')+_0x1f0c05[_0x8b53('0x33')]+')','context':_0x1f0c05['context'],'exten':_0x1f0c05['exten'],'priority':_0x19bbbf[_0x8b53('0x31')]+_0x52d7eb['priority']+_0x4745cc++,'VoiceExtensionId':_0x1f0c05[_0x8b53('0x17')]});}else{_0x5b4657['push']({'type':_0x1f0c05[_0x8b53('0x13')],'app':_0x8b53('0x34'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x1f0c05[_0x8b53('0x16')],'exten':_0x1f0c05[_0x8b53('0xa')],'priority':_0x19bbbf[_0x8b53('0x31')]+_0x52d7eb[_0x8b53('0xe')]+_0x4745cc++,'VoiceExtensionId':_0x1f0c05[_0x8b53('0x17')]});}}if(_0x1f0c05[_0x8b53('0xd')](_0x8b53('0x36'))){if(_0x489bad[_0x8b53('0x37')](_0x1f0c05['app'][_0x8b53('0x28')]())>=0x0&&_0x1f0c05[_0x8b53('0x38')]!==_0x8b53('0x39')){if(_0x1f0c05[_0x8b53('0x36')]){_0x5b4657[_0x8b53('0x12')]({'type':_0x1f0c05[_0x8b53('0x13')],'app':'ExecIf','appdata':_0x8b53('0x3a'),'context':_0x1f0c05['context'],'exten':_0x1f0c05[_0x8b53('0xa')],'priority':_0x19bbbf[_0x8b53('0x31')]+_0x52d7eb[_0x8b53('0xe')]+_0x4745cc++,'VoiceExtensionId':_0x1f0c05['VoiceExtensionId']});_0x5b4657['push']({'type':_0x1f0c05['type'],'app':_0x8b53('0x14'),'appdata':'XCALLY-MOTION-ANSWER=1','context':_0x1f0c05['context'],'exten':_0x1f0c05[_0x8b53('0xa')],'priority':_0x19bbbf[_0x8b53('0x31')]+_0x52d7eb[_0x8b53('0xe')]+_0x4745cc++,'VoiceExtensionId':_0x1f0c05[_0x8b53('0x17')]});}else{_0x5b4657[_0x8b53('0x12')]({'type':_0x1f0c05['type'],'app':_0x8b53('0x34'),'appdata':_0x8b53('0x3b'),'context':_0x1f0c05['context'],'exten':_0x1f0c05['exten'],'priority':_0x19bbbf[_0x8b53('0x31')]+_0x52d7eb[_0x8b53('0xe')]+_0x4745cc++,'VoiceExtensionId':_0x1f0c05[_0x8b53('0x17')]});_0x5b4657['push']({'type':_0x1f0c05[_0x8b53('0x13')],'app':_0x8b53('0x14'),'appdata':_0x8b53('0x3c'),'context':_0x1f0c05[_0x8b53('0x16')],'exten':_0x1f0c05[_0x8b53('0xa')],'priority':_0x19bbbf[_0x8b53('0x31')]+_0x52d7eb[_0x8b53('0xe')]+_0x4745cc++,'VoiceExtensionId':_0x1f0c05[_0x8b53('0x17')]});}}}for(var _0x270ec0=0x0;_0x270ec0<_0x19bbbf[_0x8b53('0x31')];_0x270ec0+=0x1){var _0x23070=_0x52d7eb[_0x8b53('0xe')]+_0x19bbbf[_0x8b53('0x31')];var _0x2afed5=_0x270ec0===_0x19bbbf[_0x8b53('0x31')]-0x1?_0x52d7eb['priority']+_0x5b4657[_0x8b53('0x31')]+_0x512b47[_0x8b53('0x31')]+0x2:_0x52d7eb['priority']+_0x270ec0+0x1;_0x5b4657[_0x8b53('0x3d')](_0x270ec0,0x0,{'type':_0x1f0c05[_0x8b53('0x13')],'app':_0x8b53('0x3e'),'appdata':_0x19bbbf[_0x270ec0]+'?'+_0x1f0c05[_0x8b53('0x16')]+_0x8b53('0x3f')+_0x23070+':'+_0x1f0c05[_0x8b53('0x16')]+_0x8b53('0x3f')+_0x2afed5,'exten':_0x1f0c05[_0x8b53('0xa')],'context':_0x1f0c05[_0x8b53('0x16')],'priority':_0x52d7eb[_0x8b53('0xe')]+_0x270ec0,'VoiceExtensionId':_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]});}_0x1f0c05[_0x8b53('0xe')]=_0x5b4657[_0x8b53('0x31')]?_[_0x8b53('0x40')](_0x5b4657)['priority']+0x1:_0x52d7eb['priority'];_0x52d7eb[_0x8b53('0xe')]=(_0x512b47['length']?_[_0x8b53('0x40')](_0x512b47)['priority']:_0x1f0c05[_0x8b53('0xe')])+0x1;_0x52d7eb[_0x8b53('0xf')]=_[_0x8b53('0x41')](_0x52d7eb['extensions'],_0x5b4657,[_0x1f0c05],_0x512b47);}_0x52d7eb[_0x8b53('0xf')]['push']({'type':_0x525e85[_0x105da9][0x0]['type'],'app':_0x8b53('0x42'),'exten':_0x525e85[_0x105da9][0x0][_0x8b53('0xa')],'context':_0x525e85[_0x105da9][0x0][_0x8b53('0x16')],'priority':_0x52d7eb[_0x8b53('0xe')],'VoiceExtensionId':_0x525e85[_0x105da9][0x0]['VoiceExtensionId']});_0x32ee1a[_0x8b53('0x12')](_0x525e85[_0x105da9][0x0][_0x8b53('0x17')]);_0x2f83f5=_[_0x8b53('0x41')](_0x2f83f5,_0x52d7eb['extensions']);}}return _0x36eeb3['transaction'](function(_0x2ddfbe){return _0x36eeb3[_0x8b53('0x1')]['VoiceExtension'][_0x8b53('0x43')]({'where':{'VoiceExtensionId':{'$in':_0x32ee1a}},'transaction':_0x2ddfbe})[_0x8b53('0x4')](function(_0x40ef4b){return _0x36eeb3[_0x8b53('0x1')][_0x8b53('0x5')][_0x8b53('0x44')](_[_0x8b53('0x45')](_0x2f83f5,'priority'),{'transaction':_0x2ddfbe});});});})[_0x8b53('0x46')](function(_0x2f75e8){console['error'](_0x2f75e8);});}exports['rewrite']=rewrite;