Built motion from commit e1760111.|2.6.18
[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 _0x9cf0=['error','rewrite','lodash','util','models','Interval','findAll','then','intervals','VoiceExtension','IntervalId','map','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','playback','hasOwnProperty','priority','extensions','extension','find','push','type','Set','format','CDR(type)=%s','VoiceExtensionId','CDR(routeid)=','context','outbound','CDR(destination)=','cutdigits','${EXTEN}','):Goto(','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','wav','XCALLY-MOTION-ANSWER=0','MONITOR_OPTIONS=ab','toLowerCase','createdAt','updatedAt','interval','tag','CDR(tag)=','length','callerID','ExecIf','$[${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','indexOf','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','bulkCreate','sortBy','catch'];(function(_0x4a19e1,_0x37bd95){var _0x30ac85=function(_0x5a51a7){while(--_0x5a51a7){_0x4a19e1['push'](_0x4a19e1['shift']());}};_0x30ac85(++_0x37bd95);}(_0x9cf0,0x11e));var _0x09cf=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0x9cf0[_0x2dafbe];return _0x58a45a;};'use strict';var _=require(_0x09cf('0x0'));var util=require(_0x09cf('0x1'));function rewrite(_0x23f945,_0x2ba60b){var _0x14d0df=this;return _0x23f945[_0x09cf('0x2')][_0x09cf('0x3')][_0x09cf('0x4')]({'raw':!![]})[_0x09cf('0x5')](function(_0x21cc2e){_0x14d0df[_0x09cf('0x6')]=_0x21cc2e;return _0x23f945[_0x09cf('0x2')][_0x09cf('0x7')][_0x09cf('0x4')]({'where':{'IntervalId':_0x2ba60b[_0x09cf('0x8')]},'raw':!![]});})[_0x09cf('0x5')](function(_0x5efbfd){return _0x23f945[_0x09cf('0x2')][_0x09cf('0x7')][_0x09cf('0x4')]({'where':{'exten':{'$in':_['uniq'](_[_0x09cf('0x9')](_0x5efbfd,'exten'))}},'order':[{'raw':_0x09cf('0xa')}],'raw':!![]});})[_0x09cf('0x5')](function(_0x51321d){var _0x379fac=_[_0x09cf('0xb')](_0x51321d,{'priority':'1'});var _0x4eae0a=_['filter'](_0x51321d,{'isApp':0x1});var _0x1cc573=_[_0x09cf('0xc')](_0x4eae0a,_0x09cf('0xd'));var _0xa1936f=[_0x09cf('0xe'),_0x09cf('0xf')];var _0x3dbea1=[];var _0x3d7a2f=[];for(var _0x39357b in _0x1cc573){if(_0x1cc573[_0x09cf('0x10')](_0x39357b)){_0x14d0df[_0x09cf('0x11')]=0x2;_0x14d0df[_0x09cf('0x12')]=[];_0x14d0df[_0x09cf('0x13')]=_[_0x09cf('0x14')](_0x379fac,{'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')]});_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x17'),'appdata':util[_0x09cf('0x18')](_0x09cf('0x19'),_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')]),'context':_0x1cc573[_0x39357b][0x0]['context'],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x14d0df[_0x09cf('0x11')]++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});if(_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')]==='inbound'){_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0]['type'],'app':_0x09cf('0x17'),'appdata':_0x09cf('0x1b')+_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')],'context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x14d0df[_0x09cf('0x11')]++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});}else if(_0x1cc573[_0x39357b][0x0]['type']===_0x09cf('0x1d')){if(_0x14d0df[_0x09cf('0x13')]){_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0]['type'],'app':_0x09cf('0x17'),'appdata':_0x09cf('0x1e')+(_0x14d0df[_0x09cf('0x13')][_0x09cf('0x1f')]?'${EXTEN:'+_0x14d0df[_0x09cf('0x13')][_0x09cf('0x1f')]+'}':_0x09cf('0x20')),'context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x14d0df['priority']++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});}_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x17'),'appdata':_0x09cf('0x1b')+_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')],'context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x14d0df[_0x09cf('0x11')]++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});var _0x4c77af=_0x14d0df['priority']++;_0x14d0df[_0x09cf('0x12')]['push']({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':'ExecIf','appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x4c77af+0x2)+_0x09cf('0x21')+(_0x4c77af+0x1)+')','context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x4c77af,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});if(_0x14d0df['extension']){_0x14d0df['extensions'][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x17'),'appdata':_0x14d0df[_0x09cf('0x13')]['cutdigits']?_0x09cf('0x22')+_0x14d0df[_0x09cf('0x13')][_0x09cf('0x1f')]+'}':'CDR(prefix)=noprefix','context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x14d0df[_0x09cf('0x11')]++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0]['VoiceExtensionId']});}_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x17'),'appdata':_0x09cf('0x23')+_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')],'context':_0x1cc573[_0x39357b][0x0]['context'],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x14d0df['priority']++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});if(_0x14d0df['extension']&&_0x14d0df[_0x09cf('0x13')][_0x09cf('0x10')](_0x09cf('0x24'))&&_0x14d0df[_0x09cf('0x13')]['recordingFormat']!==_0x09cf('0x25')){_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x17'),'appdata':_0x09cf('0x26'),'context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x14d0df[_0x09cf('0x11')]++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});_0x14d0df['extensions'][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x17'),'appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x14d0df[_0x09cf('0x13')][_0x09cf('0x24')]||_0x09cf('0x27'),'context':_0x1cc573[_0x39357b][0x0]['context'],'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'priority':_0x14d0df[_0x09cf('0x11')]++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});}}_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':'Set','appdata':_0x09cf('0x28'),'context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'exten':_0x1cc573[_0x39357b][0x0]['exten'],'priority':_0x14d0df['priority']++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});_0x14d0df[_0x09cf('0x12')]['push']({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x17'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'exten':_0x1cc573[_0x39357b][0x0]['exten'],'priority':_0x14d0df[_0x09cf('0x11')]++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x17'),'appdata':_0x09cf('0x29'),'context':_0x1cc573[_0x39357b][0x0]['context'],'exten':_0x1cc573[_0x39357b][0x0]['exten'],'priority':_0x14d0df['priority']++,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0]['VoiceExtensionId']});for(var _0x3e447a=0x0,_0x52bc69=0x0;_0x3e447a<_0x1cc573[_0x39357b]['length'];_0x3e447a+=0x1,_0x52bc69=0x0){var _0x3ea0cd=_0x1cc573[_0x39357b][_0x3e447a];if(_0x3ea0cd[_0x09cf('0x16')]){_0x3ea0cd[_0x09cf('0x16')]=_0x3ea0cd[_0x09cf('0x16')][_0x09cf('0x2a')]();}var _0x4ef309=[];var _0x5df035=[];delete _0x3ea0cd['id'];delete _0x3ea0cd[_0x09cf('0x2b')];delete _0x3ea0cd[_0x09cf('0x2c')];var _0xf3b744=_0x3ea0cd[_0x09cf('0x2d')]!=='*,*,*,*'?[_0x3ea0cd['interval']]:_0x3ea0cd[_0x09cf('0x8')]?_['map'](_[_0x09cf('0xb')](_0x14d0df[_0x09cf('0x6')],{'IntervalId':_0x3ea0cd[_0x09cf('0x8')]}),_0x09cf('0x2d')):[];if(_0x3ea0cd[_0x09cf('0x10')](_0x09cf('0x2e'))){if(_0x3ea0cd[_0x09cf('0x2e')]&&_0x3ea0cd[_0x09cf('0x2e')]!=='--'){_0x4ef309[_0x09cf('0x15')]({'type':_0x3ea0cd[_0x09cf('0x16')],'app':'Set','appdata':_0x09cf('0x2f')+_0x3ea0cd[_0x09cf('0x2e')],'context':_0x3ea0cd[_0x09cf('0x1c')],'exten':_0x3ea0cd[_0x09cf('0xd')],'priority':_0xf3b744[_0x09cf('0x30')]+_0x14d0df['priority']+_0x52bc69++,'VoiceExtensionId':_0x3ea0cd[_0x09cf('0x1a')]});}}if(_0x3ea0cd[_0x09cf('0x16')]===_0x09cf('0x1d')&&_0x3ea0cd['hasOwnProperty']('callerID')){if(_0x3ea0cd[_0x09cf('0x31')]){_0x4ef309['push']({'type':_0x3ea0cd['type'],'app':_0x09cf('0x32'),'appdata':_0x09cf('0x33')+_0x3ea0cd['callerID']+')','context':_0x3ea0cd[_0x09cf('0x1c')],'exten':_0x3ea0cd[_0x09cf('0xd')],'priority':_0xf3b744['length']+_0x14d0df[_0x09cf('0x11')]+_0x52bc69++,'VoiceExtensionId':_0x3ea0cd[_0x09cf('0x1a')]});}else{_0x4ef309[_0x09cf('0x15')]({'type':_0x3ea0cd['type'],'app':_0x09cf('0x32'),'appdata':_0x09cf('0x34'),'context':_0x3ea0cd[_0x09cf('0x1c')],'exten':_0x3ea0cd[_0x09cf('0xd')],'priority':_0xf3b744['length']+_0x14d0df[_0x09cf('0x11')]+_0x52bc69++,'VoiceExtensionId':_0x3ea0cd[_0x09cf('0x1a')]});}}if(_0x3ea0cd['hasOwnProperty'](_0x09cf('0x35'))){if(_0xa1936f[_0x09cf('0x36')](_0x3ea0cd['app'][_0x09cf('0x2a')]())>=0x0&&_0x3ea0cd[_0x09cf('0x37')]!==_0x09cf('0x38')){if(_0x3ea0cd[_0x09cf('0x35')]){_0x4ef309[_0x09cf('0x15')]({'type':_0x3ea0cd[_0x09cf('0x16')],'app':_0x09cf('0x32'),'appdata':_0x09cf('0x39'),'context':_0x3ea0cd[_0x09cf('0x1c')],'exten':_0x3ea0cd[_0x09cf('0xd')],'priority':_0xf3b744[_0x09cf('0x30')]+_0x14d0df[_0x09cf('0x11')]+_0x52bc69++,'VoiceExtensionId':_0x3ea0cd['VoiceExtensionId']});_0x4ef309['push']({'type':_0x3ea0cd['type'],'app':_0x09cf('0x17'),'appdata':_0x09cf('0x3a'),'context':_0x3ea0cd['context'],'exten':_0x3ea0cd[_0x09cf('0xd')],'priority':_0xf3b744[_0x09cf('0x30')]+_0x14d0df[_0x09cf('0x11')]+_0x52bc69++,'VoiceExtensionId':_0x3ea0cd[_0x09cf('0x1a')]});}else{_0x4ef309[_0x09cf('0x15')]({'type':_0x3ea0cd[_0x09cf('0x16')],'app':_0x09cf('0x32'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x3ea0cd[_0x09cf('0x1c')],'exten':_0x3ea0cd['exten'],'priority':_0xf3b744[_0x09cf('0x30')]+_0x14d0df[_0x09cf('0x11')]+_0x52bc69++,'VoiceExtensionId':_0x3ea0cd[_0x09cf('0x1a')]});_0x4ef309['push']({'type':_0x3ea0cd[_0x09cf('0x16')],'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x3ea0cd[_0x09cf('0x1c')],'exten':_0x3ea0cd[_0x09cf('0xd')],'priority':_0xf3b744[_0x09cf('0x30')]+_0x14d0df['priority']+_0x52bc69++,'VoiceExtensionId':_0x3ea0cd['VoiceExtensionId']});}}}for(var _0x4cdd90=0x0;_0x4cdd90<_0xf3b744[_0x09cf('0x30')];_0x4cdd90+=0x1){var _0xfb0801=_0x14d0df[_0x09cf('0x11')]+_0xf3b744['length'];var _0x4b28d7=_0x4cdd90===_0xf3b744[_0x09cf('0x30')]-0x1?_0x14d0df[_0x09cf('0x11')]+_0x4ef309['length']+_0x5df035[_0x09cf('0x30')]+0x2:_0x14d0df[_0x09cf('0x11')]+_0x4cdd90+0x1;_0x4ef309['splice'](_0x4cdd90,0x0,{'type':_0x3ea0cd[_0x09cf('0x16')],'app':_0x09cf('0x3b'),'appdata':_0xf3b744[_0x4cdd90]+'?'+_0x3ea0cd[_0x09cf('0x1c')]+_0x09cf('0x3c')+_0xfb0801+':'+_0x3ea0cd[_0x09cf('0x1c')]+_0x09cf('0x3c')+_0x4b28d7,'exten':_0x3ea0cd[_0x09cf('0xd')],'context':_0x3ea0cd[_0x09cf('0x1c')],'priority':_0x14d0df[_0x09cf('0x11')]+_0x4cdd90,'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});}_0x3ea0cd[_0x09cf('0x11')]=_0x4ef309[_0x09cf('0x30')]?_[_0x09cf('0x3d')](_0x4ef309)[_0x09cf('0x11')]+0x1:_0x14d0df[_0x09cf('0x11')];_0x14d0df[_0x09cf('0x11')]=(_0x5df035[_0x09cf('0x30')]?_[_0x09cf('0x3d')](_0x5df035)[_0x09cf('0x11')]:_0x3ea0cd[_0x09cf('0x11')])+0x1;_0x14d0df[_0x09cf('0x12')]=_[_0x09cf('0x3e')](_0x14d0df[_0x09cf('0x12')],_0x4ef309,[_0x3ea0cd],_0x5df035);}_0x14d0df[_0x09cf('0x12')][_0x09cf('0x15')]({'type':_0x1cc573[_0x39357b][0x0][_0x09cf('0x16')],'app':_0x09cf('0x3f'),'exten':_0x1cc573[_0x39357b][0x0][_0x09cf('0xd')],'context':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1c')],'priority':_0x14d0df[_0x09cf('0x11')],'VoiceExtensionId':_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]});_0x3dbea1['push'](_0x1cc573[_0x39357b][0x0][_0x09cf('0x1a')]);_0x3d7a2f=_[_0x09cf('0x3e')](_0x3d7a2f,_0x14d0df[_0x09cf('0x12')]);}}return _0x23f945[_0x09cf('0x40')](function(_0x2069c7){return _0x23f945[_0x09cf('0x2')][_0x09cf('0x7')][_0x09cf('0x41')]({'where':{'VoiceExtensionId':{'$in':_0x3dbea1}},'transaction':_0x2069c7})[_0x09cf('0x5')](function(_0x2ff05b){return _0x23f945['models'][_0x09cf('0x7')][_0x09cf('0x42')](_[_0x09cf('0x43')](_0x3d7a2f,_0x09cf('0x11')),{'transaction':_0x2069c7});});});})[_0x09cf('0x44')](function(_0x373754){console[_0x09cf('0x45')](_0x373754);});}exports[_0x09cf('0x46')]=rewrite;