Built motion from commit (unavailable).|2.5.31
[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 _0x2a85=['models','Interval','findAll','then','VoiceExtension','map','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','playback','hasOwnProperty','extensions','find','push','type','Set','format','CDR(type)=%s','context','priority','VoiceExtensionId','outbound','extension','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','CDR(routeid)=','ExecIf','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','updatedAt','*,*,*,*','IntervalId','tag','CDR(tag)=','length','callerID','answer','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1',',${EXTEN},','last','concat','destroy','bulkCreate','sortBy','error','rewrite','lodash','util'];(function(_0x41d432,_0x20e878){var _0x1650f9=function(_0x27f177){while(--_0x27f177){_0x41d432['push'](_0x41d432['shift']());}};_0x1650f9(++_0x20e878);}(_0x2a85,0x1be));var _0x52a8=function(_0x4ca15e,_0x4a2091){_0x4ca15e=_0x4ca15e-0x0;var _0x3d7c69=_0x2a85[_0x4ca15e];return _0x3d7c69;};'use strict';var _=require(_0x52a8('0x0'));var util=require(_0x52a8('0x1'));function rewrite(_0x2c6b01,_0x202cb6){var _0x4dd2a4=this;return _0x2c6b01[_0x52a8('0x2')][_0x52a8('0x3')][_0x52a8('0x4')]({'raw':!![]})[_0x52a8('0x5')](function(_0x36b1b6){_0x4dd2a4['intervals']=_0x36b1b6;return _0x2c6b01[_0x52a8('0x2')][_0x52a8('0x6')]['findAll']({'where':{'IntervalId':_0x202cb6['IntervalId']},'raw':!![]});})[_0x52a8('0x5')](function(_0x28bfc8){return _0x2c6b01[_0x52a8('0x2')][_0x52a8('0x6')]['findAll']({'where':{'exten':{'$in':_['uniq'](_[_0x52a8('0x7')](_0x28bfc8,'exten'))}},'order':[{'raw':_0x52a8('0x8')}],'raw':!![]});})[_0x52a8('0x5')](function(_0x55cd3b){var _0x52b1f1=_[_0x52a8('0x9')](_0x55cd3b,{'priority':'1'});var _0x5e1603=_[_0x52a8('0x9')](_0x55cd3b,{'isApp':0x1});var _0x4cc588=_[_0x52a8('0xa')](_0x5e1603,_0x52a8('0xb'));var _0x34ceee=[_0x52a8('0xc'),_0x52a8('0xd')];var _0x5c65c7=[];var _0x50e01d=[];for(var _0x2645d6 in _0x4cc588){if(_0x4cc588[_0x52a8('0xe')](_0x2645d6)){_0x4dd2a4['priority']=0x2;_0x4dd2a4[_0x52a8('0xf')]=[];_0x4dd2a4['extension']=_[_0x52a8('0x10')](_0x52b1f1,{'exten':_0x4cc588[_0x2645d6][0x0]['exten']});_0x4dd2a4[_0x52a8('0xf')][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':util[_0x52a8('0x14')](_0x52a8('0x15'),_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')]),'context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x4dd2a4[_0x52a8('0x17')]++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});if(_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')]===_0x52a8('0x19')){if(_0x4dd2a4[_0x52a8('0x1a')]){_0x4dd2a4['extensions'][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':_0x52a8('0x1b')+(_0x4dd2a4['extension'][_0x52a8('0x1c')]?_0x52a8('0x1d')+_0x4dd2a4[_0x52a8('0x1a')]['cutdigits']+'}':_0x52a8('0x1e')),'context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x4dd2a4['priority']++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});}_0x4dd2a4[_0x52a8('0xf')][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':'Set','appdata':_0x52a8('0x1f')+_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')],'context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x4dd2a4[_0x52a8('0x17')]++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});var _0x598175=_0x4dd2a4['priority']++;_0x4dd2a4[_0x52a8('0xf')]['push']({'type':_0x4cc588[_0x2645d6][0x0]['type'],'app':_0x52a8('0x20'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x598175+0x2)+'):Goto('+(_0x598175+0x1)+')','context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x598175,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});if(_0x4dd2a4[_0x52a8('0x1a')]){_0x4dd2a4[_0x52a8('0xf')]['push']({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':_0x4dd2a4[_0x52a8('0x1a')][_0x52a8('0x1c')]?_0x52a8('0x21')+_0x4dd2a4[_0x52a8('0x1a')][_0x52a8('0x1c')]+'}':'CDR(prefix)=noprefix','context':_0x4cc588[_0x2645d6][0x0]['context'],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x4dd2a4[_0x52a8('0x17')]++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0]['VoiceExtensionId']});}_0x4dd2a4[_0x52a8('0xf')][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':_0x52a8('0x22')+_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')],'context':_0x4cc588[_0x2645d6][0x0]['context'],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x4dd2a4[_0x52a8('0x17')]++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0]['VoiceExtensionId']});if(_0x4dd2a4[_0x52a8('0x1a')]&&_0x4dd2a4['extension']['hasOwnProperty'](_0x52a8('0x23'))&&_0x4dd2a4[_0x52a8('0x1a')]['recordingFormat']!==_0x52a8('0x24')){_0x4dd2a4[_0x52a8('0xf')][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0]['type'],'app':'Set','appdata':_0x52a8('0x25'),'context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x4dd2a4['priority']++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});_0x4dd2a4[_0x52a8('0xf')][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':_0x52a8('0x26')+_0x4dd2a4[_0x52a8('0x1a')][_0x52a8('0x23')]||_0x52a8('0x27'),'context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'exten':_0x4cc588[_0x2645d6][0x0]['exten'],'priority':_0x4dd2a4[_0x52a8('0x17')]++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});}}_0x4dd2a4['extensions'][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x4cc588[_0x2645d6][0x0]['context'],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x4dd2a4['priority']++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0]['VoiceExtensionId']});_0x4dd2a4['extensions'][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':_0x52a8('0x28'),'context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'priority':_0x4dd2a4[_0x52a8('0x17')]++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});_0x4dd2a4[_0x52a8('0xf')][_0x52a8('0x11')]({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':_0x52a8('0x29'),'context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'exten':_0x4cc588[_0x2645d6][0x0]['exten'],'priority':_0x4dd2a4[_0x52a8('0x17')]++,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});for(var _0x1d7402=0x0,_0x1243fd=0x0;_0x1d7402<_0x4cc588[_0x2645d6]['length'];_0x1d7402+=0x1,_0x1243fd=0x0){var _0x3c8441=_0x4cc588[_0x2645d6][_0x1d7402];if(_0x3c8441[_0x52a8('0x12')]){_0x3c8441['type']=_0x3c8441[_0x52a8('0x12')][_0x52a8('0x2a')]();}var _0x234a7d=[];var _0x1a7218=[];delete _0x3c8441['id'];delete _0x3c8441['createdAt'];delete _0x3c8441[_0x52a8('0x2b')];var _0x4d31e2=_0x3c8441['interval']!==_0x52a8('0x2c')?[_0x3c8441['interval']]:_0x3c8441[_0x52a8('0x2d')]?_[_0x52a8('0x7')](_['filter'](_0x4dd2a4['intervals'],{'IntervalId':_0x3c8441[_0x52a8('0x2d')]}),'interval'):[];if(_0x3c8441[_0x52a8('0xe')]('tag')){if(_0x3c8441[_0x52a8('0x2e')]&&_0x3c8441[_0x52a8('0x2e')]!=='--'){_0x234a7d[_0x52a8('0x11')]({'type':_0x3c8441[_0x52a8('0x12')],'app':'Set','appdata':_0x52a8('0x2f')+_0x3c8441['tag'],'context':_0x3c8441['context'],'exten':_0x3c8441[_0x52a8('0xb')],'priority':_0x4d31e2[_0x52a8('0x30')]+_0x4dd2a4[_0x52a8('0x17')]+_0x1243fd++,'VoiceExtensionId':_0x3c8441[_0x52a8('0x18')]});}}if(_0x3c8441[_0x52a8('0x12')]===_0x52a8('0x19')&&_0x3c8441['hasOwnProperty'](_0x52a8('0x31'))){if(_0x3c8441[_0x52a8('0x31')]){_0x234a7d[_0x52a8('0x11')]({'type':_0x3c8441['type'],'app':_0x52a8('0x20'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x3c8441[_0x52a8('0x31')]+')','context':_0x3c8441[_0x52a8('0x16')],'exten':_0x3c8441[_0x52a8('0xb')],'priority':_0x4d31e2['length']+_0x4dd2a4[_0x52a8('0x17')]+_0x1243fd++,'VoiceExtensionId':_0x3c8441[_0x52a8('0x18')]});}else{_0x234a7d[_0x52a8('0x11')]({'type':_0x3c8441[_0x52a8('0x12')],'app':_0x52a8('0x20'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x3c8441[_0x52a8('0x16')],'exten':_0x3c8441[_0x52a8('0xb')],'priority':_0x4d31e2[_0x52a8('0x30')]+_0x4dd2a4[_0x52a8('0x17')]+_0x1243fd++,'VoiceExtensionId':_0x3c8441[_0x52a8('0x18')]});}}if(_0x3c8441['hasOwnProperty'](_0x52a8('0x32'))){if(_0x34ceee['indexOf'](_0x3c8441['app'][_0x52a8('0x2a')]())>=0x0&&_0x3c8441[_0x52a8('0x33')]!==_0x52a8('0x34')){if(_0x3c8441[_0x52a8('0x32')]){_0x234a7d['push']({'type':_0x3c8441[_0x52a8('0x12')],'app':'ExecIf','appdata':_0x52a8('0x35'),'context':_0x3c8441[_0x52a8('0x16')],'exten':_0x3c8441['exten'],'priority':_0x4d31e2['length']+_0x4dd2a4[_0x52a8('0x17')]+_0x1243fd++,'VoiceExtensionId':_0x3c8441[_0x52a8('0x18')]});_0x234a7d[_0x52a8('0x11')]({'type':_0x3c8441[_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':_0x52a8('0x36'),'context':_0x3c8441['context'],'exten':_0x3c8441[_0x52a8('0xb')],'priority':_0x4d31e2[_0x52a8('0x30')]+_0x4dd2a4[_0x52a8('0x17')]+_0x1243fd++,'VoiceExtensionId':_0x3c8441['VoiceExtensionId']});}else{_0x234a7d[_0x52a8('0x11')]({'type':_0x3c8441['type'],'app':'ExecIf','appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x3c8441[_0x52a8('0x16')],'exten':_0x3c8441[_0x52a8('0xb')],'priority':_0x4d31e2[_0x52a8('0x30')]+_0x4dd2a4[_0x52a8('0x17')]+_0x1243fd++,'VoiceExtensionId':_0x3c8441[_0x52a8('0x18')]});_0x234a7d['push']({'type':_0x3c8441[_0x52a8('0x12')],'app':_0x52a8('0x13'),'appdata':_0x52a8('0x37'),'context':_0x3c8441['context'],'exten':_0x3c8441['exten'],'priority':_0x4d31e2['length']+_0x4dd2a4[_0x52a8('0x17')]+_0x1243fd++,'VoiceExtensionId':_0x3c8441[_0x52a8('0x18')]});}}}for(var _0x134857=0x0;_0x134857<_0x4d31e2['length'];_0x134857+=0x1){var _0x397273=_0x4dd2a4[_0x52a8('0x17')]+_0x4d31e2['length'];var _0x38dd87=_0x134857===_0x4d31e2[_0x52a8('0x30')]-0x1?_0x4dd2a4[_0x52a8('0x17')]+_0x234a7d[_0x52a8('0x30')]+_0x1a7218[_0x52a8('0x30')]+0x2:_0x4dd2a4['priority']+_0x134857+0x1;_0x234a7d['splice'](_0x134857,0x0,{'type':_0x3c8441[_0x52a8('0x12')],'app':'GotoIfTime','appdata':_0x4d31e2[_0x134857]+'?'+_0x3c8441[_0x52a8('0x16')]+_0x52a8('0x38')+_0x397273+':'+_0x3c8441[_0x52a8('0x16')]+_0x52a8('0x38')+_0x38dd87,'exten':_0x3c8441[_0x52a8('0xb')],'context':_0x3c8441[_0x52a8('0x16')],'priority':_0x4dd2a4[_0x52a8('0x17')]+_0x134857,'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});}_0x3c8441['priority']=_0x234a7d[_0x52a8('0x30')]?_['last'](_0x234a7d)['priority']+0x1:_0x4dd2a4[_0x52a8('0x17')];_0x4dd2a4['priority']=(_0x1a7218[_0x52a8('0x30')]?_[_0x52a8('0x39')](_0x1a7218)['priority']:_0x3c8441[_0x52a8('0x17')])+0x1;_0x4dd2a4['extensions']=_[_0x52a8('0x3a')](_0x4dd2a4['extensions'],_0x234a7d,[_0x3c8441],_0x1a7218);}_0x4dd2a4[_0x52a8('0xf')]['push']({'type':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x12')],'app':'Hangup','exten':_0x4cc588[_0x2645d6][0x0][_0x52a8('0xb')],'context':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x16')],'priority':_0x4dd2a4[_0x52a8('0x17')],'VoiceExtensionId':_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]});_0x5c65c7[_0x52a8('0x11')](_0x4cc588[_0x2645d6][0x0][_0x52a8('0x18')]);_0x50e01d=_[_0x52a8('0x3a')](_0x50e01d,_0x4dd2a4['extensions']);}}return _0x2c6b01['transaction'](function(_0x3cdb0c){return _0x2c6b01['models'][_0x52a8('0x6')][_0x52a8('0x3b')]({'where':{'VoiceExtensionId':{'$in':_0x5c65c7}},'transaction':_0x3cdb0c})[_0x52a8('0x5')](function(_0x29e0fa){return _0x2c6b01[_0x52a8('0x2')]['VoiceExtension'][_0x52a8('0x3c')](_[_0x52a8('0x3d')](_0x50e01d,_0x52a8('0x17')),{'transaction':_0x3cdb0c});});});})['catch'](function(_0x1b23ee){console[_0x52a8('0x3e')](_0x1b23ee);});}exports[_0x52a8('0x3f')]=rewrite;