59c07f37f0fb731a493563eb2290de01c15cb9ec
[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 _0x5725=['destroy','bulkCreate','sortBy','error','rewrite','lodash','util','models','findAll','then','VoiceExtension','IntervalId','uniq','filter','groupBy','hasOwnProperty','extensions','find','push','Set','format','CDR(type)=%s','type','context','VoiceExtensionId','inbound','CDR(routeid)=','exten','priority','extension','CDR(destination)=','cutdigits','${EXTEN}','$[${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','length','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','map','intervals','tag','CDR(tag)=','outbound','callerID','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','app','appType','custom','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','transaction'];(function(_0x159492,_0x1bcb9b){var _0x4c63b6=function(_0x3e8f8d){while(--_0x3e8f8d){_0x159492['push'](_0x159492['shift']());}};_0x4c63b6(++_0x1bcb9b);}(_0x5725,0x95));var _0x5572=function(_0x2be8c2,_0x14a4b5){_0x2be8c2=_0x2be8c2-0x0;var _0x97f531=_0x5725[_0x2be8c2];return _0x97f531;};'use strict';var _=require(_0x5572('0x0'));var util=require(_0x5572('0x1'));function rewrite(_0x3407d6,_0x247189){var _0x1c8e33=this;return _0x3407d6[_0x5572('0x2')]['Interval'][_0x5572('0x3')]({'raw':!![]})[_0x5572('0x4')](function(_0x2b396f){_0x1c8e33['intervals']=_0x2b396f;return _0x3407d6['models'][_0x5572('0x5')][_0x5572('0x3')]({'where':{'IntervalId':_0x247189[_0x5572('0x6')]},'raw':!![]});})[_0x5572('0x4')](function(_0xfd4a73){return _0x3407d6['models'][_0x5572('0x5')][_0x5572('0x3')]({'where':{'exten':{'$in':_[_0x5572('0x7')](_['map'](_0xfd4a73,'exten'))}},'order':[{'raw':'CAST(priority\x20AS\x20UNSIGNED)'}],'raw':!![]});})[_0x5572('0x4')](function(_0x1aeb23){var _0x4d8a21=_[_0x5572('0x8')](_0x1aeb23,{'priority':'1'});var _0x28bb10=_[_0x5572('0x8')](_0x1aeb23,{'isApp':0x1});var _0x15d4b7=_[_0x5572('0x9')](_0x28bb10,'exten');var _0x489af7=['queue','playback'];var _0x5a1fba=[];var _0x3fc69a=[];for(var _0x4dea96 in _0x15d4b7){if(_0x15d4b7[_0x5572('0xa')](_0x4dea96)){_0x1c8e33['priority']=0x2;_0x1c8e33[_0x5572('0xb')]=[];_0x1c8e33['extension']=_[_0x5572('0xc')](_0x4d8a21,{'exten':_0x15d4b7[_0x4dea96][0x0]['exten']});_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0]['type'],'app':_0x5572('0xe'),'appdata':util[_0x5572('0xf')](_0x5572('0x10'),_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')]),'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0]['exten'],'priority':_0x1c8e33['priority']++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});if(_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')]===_0x5572('0x14')){_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':_0x5572('0xe'),'appdata':_0x5572('0x15')+_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')],'context':_0x15d4b7[_0x4dea96][0x0]['context'],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});}else if(_0x15d4b7[_0x4dea96][0x0]['type']==='outbound'){if(_0x1c8e33[_0x5572('0x18')]){_0x1c8e33['extensions'][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0]['type'],'app':_0x5572('0xe'),'appdata':_0x5572('0x19')+(_0x1c8e33[_0x5572('0x18')]['cutdigits']?'${EXTEN:'+_0x1c8e33[_0x5572('0x18')][_0x5572('0x1a')]+'}':_0x5572('0x1b')),'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0]['VoiceExtensionId']});}_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':'Set','appdata':_0x5572('0x15')+_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')],'context':_0x15d4b7[_0x4dea96][0x0]['context'],'exten':_0x15d4b7[_0x4dea96][0x0]['exten'],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});var _0x17f5b0=_0x1c8e33[_0x5572('0x17')]++;_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':'ExecIf','appdata':_0x5572('0x1c')+(_0x17f5b0+0x2)+_0x5572('0x1d')+(_0x17f5b0+0x1)+')','context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x17f5b0,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});if(_0x1c8e33[_0x5572('0x18')]){_0x1c8e33['extensions'][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0]['type'],'app':_0x5572('0xe'),'appdata':_0x1c8e33[_0x5572('0x18')]['cutdigits']?_0x5572('0x1e')+_0x1c8e33[_0x5572('0x18')][_0x5572('0x1a')]+'}':_0x5572('0x1f'),'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});}_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':_0x5572('0xe'),'appdata':_0x5572('0x20')+_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')],'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0]['VoiceExtensionId']});if(_0x1c8e33[_0x5572('0x18')]&&_0x1c8e33[_0x5572('0x18')][_0x5572('0xa')](_0x5572('0x21'))&&_0x1c8e33[_0x5572('0x18')][_0x5572('0x21')]!==_0x5572('0x22')){_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':'Set','appdata':_0x5572('0x23'),'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x1c8e33['priority']++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':'Set','appdata':_0x5572('0x24')+_0x1c8e33[_0x5572('0x18')][_0x5572('0x21')]||_0x5572('0x25'),'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});}}_0x1c8e33['extensions'][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':'Set','appdata':_0x5572('0x26'),'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0]['VoiceExtensionId']});_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':_0x5572('0xe'),'appdata':_0x5572('0x27'),'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'exten':_0x15d4b7[_0x4dea96][0x0]['exten'],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0]['VoiceExtensionId']});_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0]['type'],'app':_0x5572('0xe'),'appdata':'MONITOR_OPTIONS=ab','context':_0x15d4b7[_0x4dea96][0x0]['context'],'exten':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x16')],'priority':_0x1c8e33[_0x5572('0x17')]++,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});for(var _0x64dfd9=0x0,_0x591a4e=0x0;_0x64dfd9<_0x15d4b7[_0x4dea96][_0x5572('0x28')];_0x64dfd9+=0x1,_0x591a4e=0x0){var _0x2fb7d1=_0x15d4b7[_0x4dea96][_0x64dfd9];if(_0x2fb7d1[_0x5572('0x11')]){_0x2fb7d1[_0x5572('0x11')]=_0x2fb7d1[_0x5572('0x11')][_0x5572('0x29')]();}var _0x12e8e3=[];var _0x33d2d0=[];delete _0x2fb7d1['id'];delete _0x2fb7d1[_0x5572('0x2a')];delete _0x2fb7d1[_0x5572('0x2b')];var _0x4c30f6=_0x2fb7d1[_0x5572('0x2c')]!==_0x5572('0x2d')?[_0x2fb7d1[_0x5572('0x2c')]]:_0x2fb7d1[_0x5572('0x6')]?_[_0x5572('0x2e')](_['filter'](_0x1c8e33[_0x5572('0x2f')],{'IntervalId':_0x2fb7d1[_0x5572('0x6')]}),'interval'):[];if(_0x2fb7d1[_0x5572('0xa')](_0x5572('0x30'))){if(_0x2fb7d1[_0x5572('0x30')]&&_0x2fb7d1[_0x5572('0x30')]!=='--'){_0x12e8e3[_0x5572('0xd')]({'type':_0x2fb7d1[_0x5572('0x11')],'app':_0x5572('0xe'),'appdata':_0x5572('0x31')+_0x2fb7d1['tag'],'context':_0x2fb7d1[_0x5572('0x12')],'exten':_0x2fb7d1[_0x5572('0x16')],'priority':_0x4c30f6[_0x5572('0x28')]+_0x1c8e33['priority']+_0x591a4e++,'VoiceExtensionId':_0x2fb7d1[_0x5572('0x13')]});}}if(_0x2fb7d1[_0x5572('0x11')]===_0x5572('0x32')&&_0x2fb7d1[_0x5572('0xa')](_0x5572('0x33'))){if(_0x2fb7d1[_0x5572('0x33')]){_0x12e8e3[_0x5572('0xd')]({'type':_0x2fb7d1[_0x5572('0x11')],'app':_0x5572('0x34'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x2fb7d1['callerID']+')','context':_0x2fb7d1[_0x5572('0x12')],'exten':_0x2fb7d1[_0x5572('0x16')],'priority':_0x4c30f6[_0x5572('0x28')]+_0x1c8e33[_0x5572('0x17')]+_0x591a4e++,'VoiceExtensionId':_0x2fb7d1['VoiceExtensionId']});}else{_0x12e8e3['push']({'type':_0x2fb7d1['type'],'app':'ExecIf','appdata':_0x5572('0x35'),'context':_0x2fb7d1['context'],'exten':_0x2fb7d1[_0x5572('0x16')],'priority':_0x4c30f6[_0x5572('0x28')]+_0x1c8e33[_0x5572('0x17')]+_0x591a4e++,'VoiceExtensionId':_0x2fb7d1[_0x5572('0x13')]});}}if(_0x2fb7d1[_0x5572('0xa')](_0x5572('0x36'))){if(_0x489af7[_0x5572('0x37')](_0x2fb7d1[_0x5572('0x38')][_0x5572('0x29')]())>=0x0&&_0x2fb7d1[_0x5572('0x39')]!==_0x5572('0x3a')){if(_0x2fb7d1[_0x5572('0x36')]){_0x12e8e3[_0x5572('0xd')]({'type':_0x2fb7d1[_0x5572('0x11')],'app':_0x5572('0x34'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x2fb7d1[_0x5572('0x12')],'exten':_0x2fb7d1['exten'],'priority':_0x4c30f6[_0x5572('0x28')]+_0x1c8e33[_0x5572('0x17')]+_0x591a4e++,'VoiceExtensionId':_0x2fb7d1['VoiceExtensionId']});_0x12e8e3[_0x5572('0xd')]({'type':_0x2fb7d1[_0x5572('0x11')],'app':_0x5572('0xe'),'appdata':_0x5572('0x3b'),'context':_0x2fb7d1[_0x5572('0x12')],'exten':_0x2fb7d1[_0x5572('0x16')],'priority':_0x4c30f6['length']+_0x1c8e33[_0x5572('0x17')]+_0x591a4e++,'VoiceExtensionId':_0x2fb7d1[_0x5572('0x13')]});}else{_0x12e8e3[_0x5572('0xd')]({'type':_0x2fb7d1[_0x5572('0x11')],'app':_0x5572('0x34'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x2fb7d1[_0x5572('0x12')],'exten':_0x2fb7d1['exten'],'priority':_0x4c30f6[_0x5572('0x28')]+_0x1c8e33[_0x5572('0x17')]+_0x591a4e++,'VoiceExtensionId':_0x2fb7d1[_0x5572('0x13')]});_0x12e8e3[_0x5572('0xd')]({'type':_0x2fb7d1['type'],'app':_0x5572('0xe'),'appdata':_0x5572('0x3c'),'context':_0x2fb7d1['context'],'exten':_0x2fb7d1[_0x5572('0x16')],'priority':_0x4c30f6[_0x5572('0x28')]+_0x1c8e33[_0x5572('0x17')]+_0x591a4e++,'VoiceExtensionId':_0x2fb7d1[_0x5572('0x13')]});}}}for(var _0x20ef7f=0x0;_0x20ef7f<_0x4c30f6[_0x5572('0x28')];_0x20ef7f+=0x1){var _0x133c74=_0x1c8e33[_0x5572('0x17')]+_0x4c30f6[_0x5572('0x28')];var _0xc9ad53=_0x20ef7f===_0x4c30f6[_0x5572('0x28')]-0x1?_0x1c8e33['priority']+_0x12e8e3[_0x5572('0x28')]+_0x33d2d0['length']+0x2:_0x1c8e33[_0x5572('0x17')]+_0x20ef7f+0x1;_0x12e8e3[_0x5572('0x3d')](_0x20ef7f,0x0,{'type':_0x2fb7d1[_0x5572('0x11')],'app':_0x5572('0x3e'),'appdata':_0x4c30f6[_0x20ef7f]+'?'+_0x2fb7d1['context']+_0x5572('0x3f')+_0x133c74+':'+_0x2fb7d1[_0x5572('0x12')]+_0x5572('0x3f')+_0xc9ad53,'exten':_0x2fb7d1[_0x5572('0x16')],'context':_0x2fb7d1[_0x5572('0x12')],'priority':_0x1c8e33[_0x5572('0x17')]+_0x20ef7f,'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]});}_0x2fb7d1[_0x5572('0x17')]=_0x12e8e3[_0x5572('0x28')]?_[_0x5572('0x40')](_0x12e8e3)['priority']+0x1:_0x1c8e33[_0x5572('0x17')];_0x1c8e33[_0x5572('0x17')]=(_0x33d2d0['length']?_['last'](_0x33d2d0)[_0x5572('0x17')]:_0x2fb7d1[_0x5572('0x17')])+0x1;_0x1c8e33[_0x5572('0xb')]=_[_0x5572('0x41')](_0x1c8e33[_0x5572('0xb')],_0x12e8e3,[_0x2fb7d1],_0x33d2d0);}_0x1c8e33[_0x5572('0xb')][_0x5572('0xd')]({'type':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x11')],'app':'Hangup','exten':_0x15d4b7[_0x4dea96][0x0]['exten'],'context':_0x15d4b7[_0x4dea96][0x0][_0x5572('0x12')],'priority':_0x1c8e33[_0x5572('0x17')],'VoiceExtensionId':_0x15d4b7[_0x4dea96][0x0]['VoiceExtensionId']});_0x5a1fba[_0x5572('0xd')](_0x15d4b7[_0x4dea96][0x0][_0x5572('0x13')]);_0x3fc69a=_[_0x5572('0x41')](_0x3fc69a,_0x1c8e33['extensions']);}}return _0x3407d6[_0x5572('0x42')](function(_0x208b7f){return _0x3407d6[_0x5572('0x2')]['VoiceExtension'][_0x5572('0x43')]({'where':{'VoiceExtensionId':{'$in':_0x5a1fba}},'transaction':_0x208b7f})['then'](function(_0x2ba381){return _0x3407d6[_0x5572('0x2')][_0x5572('0x5')][_0x5572('0x44')](_[_0x5572('0x45')](_0x3fc69a,'priority'),{'transaction':_0x208b7f});});});})['catch'](function(_0x2525d2){console[_0x5572('0x46')](_0x2525d2);});}exports[_0x5572('0x47')]=rewrite;