Built motion from commit (unavailable).|2.5.4
[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 _0x0482=['priority','VoiceExtensionId','push','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','Set','context','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','updatedAt','interval','*,*,*,*','map','tag','CDR(tag)=','outbound','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','app','custom','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','GotoIfTime',',${EXTEN},','last','concat','Hangup','destroy','bulkCreate','sortBy','catch','error','rewrite','lodash','util','models','Interval','findAll','then','intervals','IntervalId','VoiceExtension','uniq','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','queue','playback','hasOwnProperty','extensions','extension','find','type','format','CDR(type)=%s'];(function(_0x1bb827,_0x5b8aa5){var _0x5171b9=function(_0x2b4dd1){while(--_0x2b4dd1){_0x1bb827['push'](_0x1bb827['shift']());}};_0x5171b9(++_0x5b8aa5);}(_0x0482,0xc5));var _0x2048=function(_0xc69fda,_0x367f93){_0xc69fda=_0xc69fda-0x0;var _0x721842=_0x0482[_0xc69fda];return _0x721842;};'use strict';var _=require(_0x2048('0x0'));var util=require(_0x2048('0x1'));function rewrite(_0x3d3f2e,_0x4bf753){var _0x25b14b=this;return _0x3d3f2e[_0x2048('0x2')][_0x2048('0x3')][_0x2048('0x4')]({'raw':!![]})[_0x2048('0x5')](function(_0x25ea42){_0x25b14b[_0x2048('0x6')]=_0x25ea42;return _0x3d3f2e[_0x2048('0x2')]['VoiceExtension'][_0x2048('0x4')]({'where':{'IntervalId':_0x4bf753[_0x2048('0x7')]},'raw':!![]});})[_0x2048('0x5')](function(_0x37ddbd){return _0x3d3f2e[_0x2048('0x2')][_0x2048('0x8')][_0x2048('0x4')]({'where':{'exten':{'$in':_[_0x2048('0x9')](_['map'](_0x37ddbd,_0x2048('0xa')))}},'order':[{'raw':_0x2048('0xb')}],'raw':!![]});})['then'](function(_0x2cd09f){var _0x35ea2f=_[_0x2048('0xc')](_0x2cd09f,{'priority':'1'});var _0x2af7bd=_['filter'](_0x2cd09f,{'isApp':0x1});var _0x3c1642=_['groupBy'](_0x2af7bd,_0x2048('0xa'));var _0x10b1ba=[_0x2048('0xd'),_0x2048('0xe')];var _0x37d61c=[];var _0x5e78b6=[];for(var _0xecb80d in _0x3c1642){if(_0x3c1642[_0x2048('0xf')](_0xecb80d)){_0x25b14b['priority']=0x2;_0x25b14b[_0x2048('0x10')]=[];_0x25b14b[_0x2048('0x11')]=_[_0x2048('0x12')](_0x35ea2f,{'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')]});_0x25b14b[_0x2048('0x10')]['push']({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':'Set','appdata':util[_0x2048('0x14')](_0x2048('0x15'),_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')]),'context':_0x3c1642[_0xecb80d][0x0]['context'],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b[_0x2048('0x16')]++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});if(_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')]==='outbound'){if(_0x25b14b[_0x2048('0x11')]){_0x25b14b['extensions'][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':'Set','appdata':_0x2048('0x19')+(_0x25b14b[_0x2048('0x11')][_0x2048('0x1a')]?_0x2048('0x1b')+_0x25b14b[_0x2048('0x11')][_0x2048('0x1a')]+'}':_0x2048('0x1c')),'context':_0x3c1642[_0xecb80d][0x0]['context'],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b['priority']++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});}_0x25b14b['extensions'][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':_0x2048('0x1d'),'appdata':'CDR(routeid)='+_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')],'context':_0x3c1642[_0xecb80d][0x0][_0x2048('0x1e')],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b['priority']++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});var _0x117663=_0x25b14b['priority']++;_0x25b14b[_0x2048('0x10')][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':_0x2048('0x1f'),'appdata':_0x2048('0x20')+(_0x117663+0x2)+_0x2048('0x21')+(_0x117663+0x1)+')','context':_0x3c1642[_0xecb80d][0x0][_0x2048('0x1e')],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x117663,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0]['VoiceExtensionId']});if(_0x25b14b['extension']){_0x25b14b[_0x2048('0x10')][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':'Set','appdata':_0x25b14b['extension'][_0x2048('0x1a')]?_0x2048('0x22')+_0x25b14b['extension']['cutdigits']+'}':_0x2048('0x23'),'context':_0x3c1642[_0xecb80d][0x0][_0x2048('0x1e')],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b[_0x2048('0x16')]++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});}_0x25b14b['extensions'][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':'Set','appdata':_0x2048('0x24')+_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')],'context':_0x3c1642[_0xecb80d][0x0]['context'],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b['priority']++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});if(_0x25b14b[_0x2048('0x11')]&&_0x25b14b[_0x2048('0x11')]['hasOwnProperty'](_0x2048('0x25'))&&_0x25b14b['extension'][_0x2048('0x25')]!==_0x2048('0x26')){_0x25b14b[_0x2048('0x10')]['push']({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':'Set','appdata':_0x2048('0x27'),'context':_0x3c1642[_0xecb80d][0x0]['context'],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b[_0x2048('0x16')]++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});_0x25b14b[_0x2048('0x10')][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0]['type'],'app':'Set','appdata':_0x2048('0x28')+_0x25b14b[_0x2048('0x11')]['recordingFormat']||_0x2048('0x29'),'context':_0x3c1642[_0xecb80d][0x0][_0x2048('0x1e')],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b['priority']++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});}}_0x25b14b[_0x2048('0x10')][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':_0x2048('0x1d'),'appdata':_0x2048('0x2a'),'context':_0x3c1642[_0xecb80d][0x0]['context'],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b[_0x2048('0x16')]++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});_0x25b14b[_0x2048('0x10')][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':_0x2048('0x1d'),'appdata':_0x2048('0x2b'),'context':_0x3c1642[_0xecb80d][0x0][_0x2048('0x1e')],'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'priority':_0x25b14b[_0x2048('0x16')]++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});_0x25b14b['extensions'][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0][_0x2048('0x13')],'app':_0x2048('0x1d'),'appdata':_0x2048('0x2c'),'context':_0x3c1642[_0xecb80d][0x0][_0x2048('0x1e')],'exten':_0x3c1642[_0xecb80d][0x0]['exten'],'priority':_0x25b14b['priority']++,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0]['VoiceExtensionId']});for(var _0x25d008=0x0,_0x384ea7=0x0;_0x25d008<_0x3c1642[_0xecb80d][_0x2048('0x2d')];_0x25d008+=0x1,_0x384ea7=0x0){var _0x433f2a=_0x3c1642[_0xecb80d][_0x25d008];if(_0x433f2a[_0x2048('0x13')]){_0x433f2a[_0x2048('0x13')]=_0x433f2a[_0x2048('0x13')][_0x2048('0x2e')]();}var _0x16e9e7=[];var _0x34fbc3=[];delete _0x433f2a['id'];delete _0x433f2a['createdAt'];delete _0x433f2a[_0x2048('0x2f')];var _0x3b1f25=_0x433f2a[_0x2048('0x30')]!==_0x2048('0x31')?[_0x433f2a[_0x2048('0x30')]]:_0x433f2a[_0x2048('0x7')]?_[_0x2048('0x32')](_[_0x2048('0xc')](_0x25b14b[_0x2048('0x6')],{'IntervalId':_0x433f2a['IntervalId']}),_0x2048('0x30')):[];if(_0x433f2a[_0x2048('0xf')](_0x2048('0x33'))){if(_0x433f2a[_0x2048('0x33')]&&_0x433f2a[_0x2048('0x33')]!=='--'){_0x16e9e7[_0x2048('0x18')]({'type':_0x433f2a['type'],'app':_0x2048('0x1d'),'appdata':_0x2048('0x34')+_0x433f2a[_0x2048('0x33')],'context':_0x433f2a['context'],'exten':_0x433f2a[_0x2048('0xa')],'priority':_0x3b1f25[_0x2048('0x2d')]+_0x25b14b[_0x2048('0x16')]+_0x384ea7++,'VoiceExtensionId':_0x433f2a[_0x2048('0x17')]});}}if(_0x433f2a[_0x2048('0x13')]===_0x2048('0x35')&&_0x433f2a[_0x2048('0xf')](_0x2048('0x36'))){if(_0x433f2a[_0x2048('0x36')]){_0x16e9e7[_0x2048('0x18')]({'type':_0x433f2a[_0x2048('0x13')],'app':'ExecIf','appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x433f2a['callerID']+')','context':_0x433f2a[_0x2048('0x1e')],'exten':_0x433f2a[_0x2048('0xa')],'priority':_0x3b1f25[_0x2048('0x2d')]+_0x25b14b[_0x2048('0x16')]+_0x384ea7++,'VoiceExtensionId':_0x433f2a[_0x2048('0x17')]});}else{_0x16e9e7[_0x2048('0x18')]({'type':_0x433f2a[_0x2048('0x13')],'app':_0x2048('0x1f'),'appdata':_0x2048('0x37'),'context':_0x433f2a[_0x2048('0x1e')],'exten':_0x433f2a[_0x2048('0xa')],'priority':_0x3b1f25[_0x2048('0x2d')]+_0x25b14b[_0x2048('0x16')]+_0x384ea7++,'VoiceExtensionId':_0x433f2a[_0x2048('0x17')]});}}if(_0x433f2a[_0x2048('0xf')](_0x2048('0x38'))){if(_0x10b1ba['indexOf'](_0x433f2a[_0x2048('0x39')]['toLowerCase']())>=0x0&&_0x433f2a['appType']!==_0x2048('0x3a')){if(_0x433f2a['answer']){_0x16e9e7[_0x2048('0x18')]({'type':_0x433f2a[_0x2048('0x13')],'app':'ExecIf','appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x433f2a[_0x2048('0x1e')],'exten':_0x433f2a['exten'],'priority':_0x3b1f25[_0x2048('0x2d')]+_0x25b14b['priority']+_0x384ea7++,'VoiceExtensionId':_0x433f2a[_0x2048('0x17')]});_0x16e9e7[_0x2048('0x18')]({'type':_0x433f2a['type'],'app':_0x2048('0x1d'),'appdata':_0x2048('0x3b'),'context':_0x433f2a['context'],'exten':_0x433f2a[_0x2048('0xa')],'priority':_0x3b1f25[_0x2048('0x2d')]+_0x25b14b[_0x2048('0x16')]+_0x384ea7++,'VoiceExtensionId':_0x433f2a['VoiceExtensionId']});}else{_0x16e9e7['push']({'type':_0x433f2a[_0x2048('0x13')],'app':'ExecIf','appdata':_0x2048('0x3c'),'context':_0x433f2a[_0x2048('0x1e')],'exten':_0x433f2a[_0x2048('0xa')],'priority':_0x3b1f25[_0x2048('0x2d')]+_0x25b14b['priority']+_0x384ea7++,'VoiceExtensionId':_0x433f2a[_0x2048('0x17')]});_0x16e9e7[_0x2048('0x18')]({'type':_0x433f2a['type'],'app':_0x2048('0x1d'),'appdata':_0x2048('0x3d'),'context':_0x433f2a[_0x2048('0x1e')],'exten':_0x433f2a[_0x2048('0xa')],'priority':_0x3b1f25['length']+_0x25b14b[_0x2048('0x16')]+_0x384ea7++,'VoiceExtensionId':_0x433f2a['VoiceExtensionId']});}}}for(var _0x12371a=0x0;_0x12371a<_0x3b1f25[_0x2048('0x2d')];_0x12371a+=0x1){var _0xf63180=_0x25b14b[_0x2048('0x16')]+_0x3b1f25['length'];var _0x515b23=_0x12371a===_0x3b1f25[_0x2048('0x2d')]-0x1?_0x25b14b[_0x2048('0x16')]+_0x16e9e7[_0x2048('0x2d')]+_0x34fbc3['length']+0x2:_0x25b14b['priority']+_0x12371a+0x1;_0x16e9e7['splice'](_0x12371a,0x0,{'type':_0x433f2a[_0x2048('0x13')],'app':_0x2048('0x3e'),'appdata':_0x3b1f25[_0x12371a]+'?'+_0x433f2a[_0x2048('0x1e')]+_0x2048('0x3f')+_0xf63180+':'+_0x433f2a['context']+_0x2048('0x3f')+_0x515b23,'exten':_0x433f2a[_0x2048('0xa')],'context':_0x433f2a[_0x2048('0x1e')],'priority':_0x25b14b[_0x2048('0x16')]+_0x12371a,'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]});}_0x433f2a[_0x2048('0x16')]=_0x16e9e7['length']?_['last'](_0x16e9e7)['priority']+0x1:_0x25b14b[_0x2048('0x16')];_0x25b14b[_0x2048('0x16')]=(_0x34fbc3['length']?_[_0x2048('0x40')](_0x34fbc3)[_0x2048('0x16')]:_0x433f2a[_0x2048('0x16')])+0x1;_0x25b14b[_0x2048('0x10')]=_[_0x2048('0x41')](_0x25b14b[_0x2048('0x10')],_0x16e9e7,[_0x433f2a],_0x34fbc3);}_0x25b14b[_0x2048('0x10')][_0x2048('0x18')]({'type':_0x3c1642[_0xecb80d][0x0]['type'],'app':_0x2048('0x42'),'exten':_0x3c1642[_0xecb80d][0x0][_0x2048('0xa')],'context':_0x3c1642[_0xecb80d][0x0][_0x2048('0x1e')],'priority':_0x25b14b[_0x2048('0x16')],'VoiceExtensionId':_0x3c1642[_0xecb80d][0x0]['VoiceExtensionId']});_0x37d61c[_0x2048('0x18')](_0x3c1642[_0xecb80d][0x0][_0x2048('0x17')]);_0x5e78b6=_['concat'](_0x5e78b6,_0x25b14b['extensions']);}}return _0x3d3f2e['transaction'](function(_0x389e91){return _0x3d3f2e[_0x2048('0x2')]['VoiceExtension'][_0x2048('0x43')]({'where':{'VoiceExtensionId':{'$in':_0x37d61c}},'transaction':_0x389e91})[_0x2048('0x5')](function(_0x9ff0fc){return _0x3d3f2e[_0x2048('0x2')][_0x2048('0x8')][_0x2048('0x44')](_[_0x2048('0x45')](_0x5e78b6,_0x2048('0x16')),{'transaction':_0x389e91});});});})[_0x2048('0x46')](function(_0x1824e7){console[_0x2048('0x47')](_0x1824e7);});}exports[_0x2048('0x48')]=rewrite;