7c0c68f554dd16b0f8f41b46c4b6fc7de8c91fa6
[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 _0x3a39=['util','findAll','then','intervals','models','VoiceExtension','IntervalId','uniq','map','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','playback','hasOwnProperty','priority','extensions','extension','push','type','Set','format','CDR(type)=%s','VoiceExtensionId','inbound','context','outbound','CDR(destination)=','cutdigits','${EXTEN}','CDR(routeid)=','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','createdAt','updatedAt','interval','*,*,*,*','tag','CDR(tag)=','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','app','toLowerCase','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','GotoIfTime',',${EXTEN},','last','concat','transaction','destroy','error','rewrite','lodash'];(function(_0x476b00,_0x250877){var _0x44ec8e=function(_0xec6b23){while(--_0xec6b23){_0x476b00['push'](_0x476b00['shift']());}};_0x44ec8e(++_0x250877);}(_0x3a39,0x1af));var _0x93a3=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x3a39[_0x2641f9];return _0x585741;};'use strict';var _=require(_0x93a3('0x0'));var util=require(_0x93a3('0x1'));function rewrite(_0x31884a,_0x516a80){var _0x260d93=this;return _0x31884a['models']['Interval'][_0x93a3('0x2')]({'raw':!![]})[_0x93a3('0x3')](function(_0xdfd7db){_0x260d93[_0x93a3('0x4')]=_0xdfd7db;return _0x31884a[_0x93a3('0x5')][_0x93a3('0x6')][_0x93a3('0x2')]({'where':{'IntervalId':_0x516a80[_0x93a3('0x7')]},'raw':!![]});})[_0x93a3('0x3')](function(_0x5b93b1){return _0x31884a[_0x93a3('0x5')][_0x93a3('0x6')][_0x93a3('0x2')]({'where':{'exten':{'$in':_[_0x93a3('0x8')](_[_0x93a3('0x9')](_0x5b93b1,'exten'))}},'order':[{'raw':_0x93a3('0xa')}],'raw':!![]});})[_0x93a3('0x3')](function(_0x102d6d){var _0x5e0d11=_['filter'](_0x102d6d,{'priority':'1'});var _0x1cda88=_[_0x93a3('0xb')](_0x102d6d,{'isApp':0x1});var _0x49e96e=_[_0x93a3('0xc')](_0x1cda88,_0x93a3('0xd'));var _0x42079b=[_0x93a3('0xe'),_0x93a3('0xf')];var _0x1a5d28=[];var _0x24eab1=[];for(var _0x18b367 in _0x49e96e){if(_0x49e96e[_0x93a3('0x10')](_0x18b367)){_0x260d93[_0x93a3('0x11')]=0x2;_0x260d93[_0x93a3('0x12')]=[];_0x260d93[_0x93a3('0x13')]=_['find'](_0x5e0d11,{'exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')]});_0x260d93['extensions'][_0x93a3('0x14')]({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':_0x93a3('0x16'),'appdata':util[_0x93a3('0x17')](_0x93a3('0x18'),_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')]),'context':_0x49e96e[_0x18b367][0x0]['context'],'exten':_0x49e96e[_0x18b367][0x0]['exten'],'priority':_0x260d93[_0x93a3('0x11')]++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});if(_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')]===_0x93a3('0x1a')){_0x260d93['extensions']['push']({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':'Set','appdata':'CDR(routeid)='+_0x49e96e[_0x18b367][0x0]['VoiceExtensionId'],'context':_0x49e96e[_0x18b367][0x0][_0x93a3('0x1b')],'exten':_0x49e96e[_0x18b367][0x0]['exten'],'priority':_0x260d93[_0x93a3('0x11')]++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0]['VoiceExtensionId']});}else if(_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')]===_0x93a3('0x1c')){if(_0x260d93[_0x93a3('0x13')]){_0x260d93[_0x93a3('0x12')][_0x93a3('0x14')]({'type':_0x49e96e[_0x18b367][0x0]['type'],'app':_0x93a3('0x16'),'appdata':_0x93a3('0x1d')+(_0x260d93[_0x93a3('0x13')][_0x93a3('0x1e')]?'${EXTEN:'+_0x260d93[_0x93a3('0x13')]['cutdigits']+'}':_0x93a3('0x1f')),'context':_0x49e96e[_0x18b367][0x0]['context'],'exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')],'priority':_0x260d93[_0x93a3('0x11')]++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});}_0x260d93[_0x93a3('0x12')][_0x93a3('0x14')]({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':_0x93a3('0x16'),'appdata':_0x93a3('0x20')+_0x49e96e[_0x18b367][0x0]['VoiceExtensionId'],'context':_0x49e96e[_0x18b367][0x0][_0x93a3('0x1b')],'exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')],'priority':_0x260d93['priority']++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});var _0x5bd10b=_0x260d93[_0x93a3('0x11')]++;_0x260d93['extensions'][_0x93a3('0x14')]({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':'ExecIf','appdata':_0x93a3('0x21')+(_0x5bd10b+0x2)+_0x93a3('0x22')+(_0x5bd10b+0x1)+')','context':_0x49e96e[_0x18b367][0x0][_0x93a3('0x1b')],'exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')],'priority':_0x5bd10b,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});if(_0x260d93[_0x93a3('0x13')]){_0x260d93[_0x93a3('0x12')]['push']({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':_0x93a3('0x16'),'appdata':_0x260d93[_0x93a3('0x13')][_0x93a3('0x1e')]?_0x93a3('0x23')+_0x260d93['extension'][_0x93a3('0x1e')]+'}':_0x93a3('0x24'),'context':_0x49e96e[_0x18b367][0x0][_0x93a3('0x1b')],'exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')],'priority':_0x260d93['priority']++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});}_0x260d93[_0x93a3('0x12')]['push']({'type':_0x49e96e[_0x18b367][0x0]['type'],'app':_0x93a3('0x16'),'appdata':_0x93a3('0x25')+_0x49e96e[_0x18b367][0x0]['VoiceExtensionId'],'context':_0x49e96e[_0x18b367][0x0]['context'],'exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')],'priority':_0x260d93[_0x93a3('0x11')]++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});if(_0x260d93['extension']&&_0x260d93[_0x93a3('0x13')][_0x93a3('0x10')](_0x93a3('0x26'))&&_0x260d93[_0x93a3('0x13')]['recordingFormat']!==_0x93a3('0x27')){_0x260d93['extensions'][_0x93a3('0x14')]({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':'Set','appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x49e96e[_0x18b367][0x0]['context'],'exten':_0x49e96e[_0x18b367][0x0]['exten'],'priority':_0x260d93[_0x93a3('0x11')]++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0]['VoiceExtensionId']});_0x260d93[_0x93a3('0x12')][_0x93a3('0x14')]({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':'Set','appdata':_0x93a3('0x28')+_0x260d93[_0x93a3('0x13')][_0x93a3('0x26')]||_0x93a3('0x29'),'context':_0x49e96e[_0x18b367][0x0]['context'],'exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')],'priority':_0x260d93['priority']++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});}}_0x260d93[_0x93a3('0x12')][_0x93a3('0x14')]({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':_0x93a3('0x16'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x49e96e[_0x18b367][0x0][_0x93a3('0x1b')],'exten':_0x49e96e[_0x18b367][0x0]['exten'],'priority':_0x260d93[_0x93a3('0x11')]++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});_0x260d93[_0x93a3('0x12')]['push']({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':_0x93a3('0x16'),'appdata':_0x93a3('0x2a'),'context':_0x49e96e[_0x18b367][0x0][_0x93a3('0x1b')],'exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')],'priority':_0x260d93['priority']++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});_0x260d93['extensions'][_0x93a3('0x14')]({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':_0x93a3('0x16'),'appdata':_0x93a3('0x2b'),'context':_0x49e96e[_0x18b367][0x0][_0x93a3('0x1b')],'exten':_0x49e96e[_0x18b367][0x0]['exten'],'priority':_0x260d93['priority']++,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});for(var _0x3a50b1=0x0,_0x56602a=0x0;_0x3a50b1<_0x49e96e[_0x18b367][_0x93a3('0x2c')];_0x3a50b1+=0x1,_0x56602a=0x0){var _0x1250ad=_0x49e96e[_0x18b367][_0x3a50b1];if(_0x1250ad[_0x93a3('0x15')]){_0x1250ad[_0x93a3('0x15')]=_0x1250ad[_0x93a3('0x15')]['toLowerCase']();}var _0x45a882=[];var _0x5cf3a7=[];delete _0x1250ad['id'];delete _0x1250ad[_0x93a3('0x2d')];delete _0x1250ad[_0x93a3('0x2e')];var _0x175a73=_0x1250ad[_0x93a3('0x2f')]!==_0x93a3('0x30')?[_0x1250ad['interval']]:_0x1250ad['IntervalId']?_[_0x93a3('0x9')](_['filter'](_0x260d93[_0x93a3('0x4')],{'IntervalId':_0x1250ad[_0x93a3('0x7')]}),_0x93a3('0x2f')):[];if(_0x1250ad[_0x93a3('0x10')]('tag')){if(_0x1250ad['tag']&&_0x1250ad[_0x93a3('0x31')]!=='--'){_0x45a882[_0x93a3('0x14')]({'type':_0x1250ad[_0x93a3('0x15')],'app':_0x93a3('0x16'),'appdata':_0x93a3('0x32')+_0x1250ad[_0x93a3('0x31')],'context':_0x1250ad[_0x93a3('0x1b')],'exten':_0x1250ad['exten'],'priority':_0x175a73[_0x93a3('0x2c')]+_0x260d93[_0x93a3('0x11')]+_0x56602a++,'VoiceExtensionId':_0x1250ad[_0x93a3('0x19')]});}}if(_0x1250ad[_0x93a3('0x15')]===_0x93a3('0x1c')&&_0x1250ad['hasOwnProperty']('callerID')){if(_0x1250ad[_0x93a3('0x33')]){_0x45a882[_0x93a3('0x14')]({'type':_0x1250ad[_0x93a3('0x15')],'app':_0x93a3('0x34'),'appdata':_0x93a3('0x35')+_0x1250ad[_0x93a3('0x33')]+')','context':_0x1250ad['context'],'exten':_0x1250ad[_0x93a3('0xd')],'priority':_0x175a73[_0x93a3('0x2c')]+_0x260d93['priority']+_0x56602a++,'VoiceExtensionId':_0x1250ad[_0x93a3('0x19')]});}else{_0x45a882[_0x93a3('0x14')]({'type':_0x1250ad['type'],'app':_0x93a3('0x34'),'appdata':_0x93a3('0x36'),'context':_0x1250ad[_0x93a3('0x1b')],'exten':_0x1250ad[_0x93a3('0xd')],'priority':_0x175a73[_0x93a3('0x2c')]+_0x260d93[_0x93a3('0x11')]+_0x56602a++,'VoiceExtensionId':_0x1250ad[_0x93a3('0x19')]});}}if(_0x1250ad[_0x93a3('0x10')](_0x93a3('0x37'))){if(_0x42079b['indexOf'](_0x1250ad[_0x93a3('0x38')][_0x93a3('0x39')]())>=0x0&&_0x1250ad[_0x93a3('0x3a')]!==_0x93a3('0x3b')){if(_0x1250ad[_0x93a3('0x37')]){_0x45a882[_0x93a3('0x14')]({'type':_0x1250ad['type'],'app':_0x93a3('0x34'),'appdata':_0x93a3('0x3c'),'context':_0x1250ad[_0x93a3('0x1b')],'exten':_0x1250ad['exten'],'priority':_0x175a73[_0x93a3('0x2c')]+_0x260d93[_0x93a3('0x11')]+_0x56602a++,'VoiceExtensionId':_0x1250ad[_0x93a3('0x19')]});_0x45a882[_0x93a3('0x14')]({'type':_0x1250ad['type'],'app':_0x93a3('0x16'),'appdata':_0x93a3('0x3d'),'context':_0x1250ad[_0x93a3('0x1b')],'exten':_0x1250ad[_0x93a3('0xd')],'priority':_0x175a73['length']+_0x260d93[_0x93a3('0x11')]+_0x56602a++,'VoiceExtensionId':_0x1250ad[_0x93a3('0x19')]});}else{_0x45a882[_0x93a3('0x14')]({'type':_0x1250ad[_0x93a3('0x15')],'app':_0x93a3('0x34'),'appdata':_0x93a3('0x3e'),'context':_0x1250ad['context'],'exten':_0x1250ad[_0x93a3('0xd')],'priority':_0x175a73[_0x93a3('0x2c')]+_0x260d93[_0x93a3('0x11')]+_0x56602a++,'VoiceExtensionId':_0x1250ad['VoiceExtensionId']});_0x45a882['push']({'type':_0x1250ad['type'],'app':'Set','appdata':_0x93a3('0x3f'),'context':_0x1250ad[_0x93a3('0x1b')],'exten':_0x1250ad[_0x93a3('0xd')],'priority':_0x175a73[_0x93a3('0x2c')]+_0x260d93[_0x93a3('0x11')]+_0x56602a++,'VoiceExtensionId':_0x1250ad[_0x93a3('0x19')]});}}}for(var _0x187c80=0x0;_0x187c80<_0x175a73[_0x93a3('0x2c')];_0x187c80+=0x1){var _0x2f57a3=_0x260d93[_0x93a3('0x11')]+_0x175a73[_0x93a3('0x2c')];var _0x378f96=_0x187c80===_0x175a73[_0x93a3('0x2c')]-0x1?_0x260d93['priority']+_0x45a882['length']+_0x5cf3a7['length']+0x2:_0x260d93[_0x93a3('0x11')]+_0x187c80+0x1;_0x45a882['splice'](_0x187c80,0x0,{'type':_0x1250ad['type'],'app':_0x93a3('0x40'),'appdata':_0x175a73[_0x187c80]+'?'+_0x1250ad[_0x93a3('0x1b')]+',${EXTEN},'+_0x2f57a3+':'+_0x1250ad[_0x93a3('0x1b')]+_0x93a3('0x41')+_0x378f96,'exten':_0x1250ad[_0x93a3('0xd')],'context':_0x1250ad[_0x93a3('0x1b')],'priority':_0x260d93['priority']+_0x187c80,'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});}_0x1250ad[_0x93a3('0x11')]=_0x45a882[_0x93a3('0x2c')]?_[_0x93a3('0x42')](_0x45a882)[_0x93a3('0x11')]+0x1:_0x260d93[_0x93a3('0x11')];_0x260d93[_0x93a3('0x11')]=(_0x5cf3a7[_0x93a3('0x2c')]?_[_0x93a3('0x42')](_0x5cf3a7)[_0x93a3('0x11')]:_0x1250ad[_0x93a3('0x11')])+0x1;_0x260d93[_0x93a3('0x12')]=_[_0x93a3('0x43')](_0x260d93[_0x93a3('0x12')],_0x45a882,[_0x1250ad],_0x5cf3a7);}_0x260d93[_0x93a3('0x12')]['push']({'type':_0x49e96e[_0x18b367][0x0][_0x93a3('0x15')],'app':'Hangup','exten':_0x49e96e[_0x18b367][0x0][_0x93a3('0xd')],'context':_0x49e96e[_0x18b367][0x0][_0x93a3('0x1b')],'priority':_0x260d93[_0x93a3('0x11')],'VoiceExtensionId':_0x49e96e[_0x18b367][0x0][_0x93a3('0x19')]});_0x1a5d28[_0x93a3('0x14')](_0x49e96e[_0x18b367][0x0]['VoiceExtensionId']);_0x24eab1=_['concat'](_0x24eab1,_0x260d93[_0x93a3('0x12')]);}}return _0x31884a[_0x93a3('0x44')](function(_0x3016e4){return _0x31884a[_0x93a3('0x5')][_0x93a3('0x6')][_0x93a3('0x45')]({'where':{'VoiceExtensionId':{'$in':_0x1a5d28}},'transaction':_0x3016e4})[_0x93a3('0x3')](function(_0x554340){return _0x31884a[_0x93a3('0x5')][_0x93a3('0x6')]['bulkCreate'](_['sortBy'](_0x24eab1,_0x93a3('0x11')),{'transaction':_0x3016e4});});});})['catch'](function(_0x4267ad){console[_0x93a3('0x46')](_0x4267ad);});}exports[_0x93a3('0x47')]=rewrite;