2ae893f557ed21840b2eb81c31cba25d513667d2
[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 _0xf9b2=['*,*,*,*','map','tag','CDR(tag)=','length','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','app','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','splice',',${EXTEN},','last','concat','Hangup','destroy','bulkCreate','sortBy','catch','error','lodash','util','models','findAll','intervals','VoiceExtension','IntervalId','then','uniq','exten','filter','groupBy','queue','hasOwnProperty','priority','find','extensions','push','type','CDR(type)=%s','VoiceExtensionId','extension','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','Set','CDR(routeid)=','context','ExecIf','):Goto(','CDR(prefix)=noprefix','recordingFormat','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','createdAt','updatedAt','interval'];(function(_0x3a2147,_0x38bb13){var _0x49036b=function(_0x1cc4d2){while(--_0x1cc4d2){_0x3a2147['push'](_0x3a2147['shift']());}};_0x49036b(++_0x38bb13);}(_0xf9b2,0x9a));var _0x2f9b=function(_0x557eab,_0x5a7381){_0x557eab=_0x557eab-0x0;var _0x29ef81=_0xf9b2[_0x557eab];return _0x29ef81;};'use strict';var _=require(_0x2f9b('0x0'));var util=require(_0x2f9b('0x1'));function rewrite(_0x268782,_0xc36301){var _0x5c4234=this;return _0x268782[_0x2f9b('0x2')]['Interval'][_0x2f9b('0x3')]({'raw':!![]})['then'](function(_0x59c731){_0x5c4234[_0x2f9b('0x4')]=_0x59c731;return _0x268782[_0x2f9b('0x2')][_0x2f9b('0x5')][_0x2f9b('0x3')]({'where':{'IntervalId':_0xc36301[_0x2f9b('0x6')]},'raw':!![]});})[_0x2f9b('0x7')](function(_0xcf6aea){return _0x268782['models'][_0x2f9b('0x5')][_0x2f9b('0x3')]({'where':{'exten':{'$in':_[_0x2f9b('0x8')](_['map'](_0xcf6aea,_0x2f9b('0x9')))}},'order':[{'raw':'CAST(priority\x20AS\x20UNSIGNED)'}],'raw':!![]});})[_0x2f9b('0x7')](function(_0x453a55){var _0x2063f5=_[_0x2f9b('0xa')](_0x453a55,{'priority':'1'});var _0x1d2e47=_[_0x2f9b('0xa')](_0x453a55,{'isApp':0x1});var _0x5c7983=_[_0x2f9b('0xb')](_0x1d2e47,_0x2f9b('0x9'));var _0x3f1f5e=[_0x2f9b('0xc'),'playback'];var _0x5873ad=[];var _0x23cf2b=[];for(var _0x47a95c in _0x5c7983){if(_0x5c7983[_0x2f9b('0xd')](_0x47a95c)){_0x5c4234[_0x2f9b('0xe')]=0x2;_0x5c4234['extensions']=[];_0x5c4234['extension']=_[_0x2f9b('0xf')](_0x2063f5,{'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')]});_0x5c4234[_0x2f9b('0x10')][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')],'app':'Set','appdata':util['format'](_0x2f9b('0x13'),_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')]),'context':_0x5c7983[_0x47a95c][0x0]['context'],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234['priority']++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});if(_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')]==='outbound'){if(_0x5c4234[_0x2f9b('0x15')]){_0x5c4234[_0x2f9b('0x10')][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')],'app':'Set','appdata':_0x2f9b('0x16')+(_0x5c4234[_0x2f9b('0x15')][_0x2f9b('0x17')]?_0x2f9b('0x18')+_0x5c4234['extension'][_0x2f9b('0x17')]+'}':_0x2f9b('0x19')),'context':_0x5c7983[_0x47a95c][0x0]['context'],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234[_0x2f9b('0xe')]++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});}_0x5c4234[_0x2f9b('0x10')]['push']({'type':_0x5c7983[_0x47a95c][0x0]['type'],'app':_0x2f9b('0x1a'),'appdata':_0x2f9b('0x1b')+_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')],'context':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x1c')],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234[_0x2f9b('0xe')]++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});var _0x307de3=_0x5c4234[_0x2f9b('0xe')]++;_0x5c4234[_0x2f9b('0x10')][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0]['type'],'app':_0x2f9b('0x1d'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x307de3+0x2)+_0x2f9b('0x1e')+(_0x307de3+0x1)+')','context':_0x5c7983[_0x47a95c][0x0]['context'],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x307de3,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});if(_0x5c4234[_0x2f9b('0x15')]){_0x5c4234[_0x2f9b('0x10')][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')],'app':_0x2f9b('0x1a'),'appdata':_0x5c4234[_0x2f9b('0x15')]['cutdigits']?'CDR(prefix)=${EXTEN:0:'+_0x5c4234['extension']['cutdigits']+'}':_0x2f9b('0x1f'),'context':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x1c')],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234[_0x2f9b('0xe')]++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0]['VoiceExtensionId']});}_0x5c4234[_0x2f9b('0x10')][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')],'app':_0x2f9b('0x1a'),'appdata':'outboundrouteid='+_0x5c7983[_0x47a95c][0x0]['VoiceExtensionId'],'context':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x1c')],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234[_0x2f9b('0xe')]++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});if(_0x5c4234[_0x2f9b('0x15')]&&_0x5c4234[_0x2f9b('0x15')]['hasOwnProperty'](_0x2f9b('0x20'))&&_0x5c4234[_0x2f9b('0x15')][_0x2f9b('0x20')]!=='none'){_0x5c4234[_0x2f9b('0x10')][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')],'app':_0x2f9b('0x1a'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x1c')],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234[_0x2f9b('0xe')]++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});_0x5c4234[_0x2f9b('0x10')][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0]['type'],'app':_0x2f9b('0x1a'),'appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x5c4234[_0x2f9b('0x15')][_0x2f9b('0x20')]||_0x2f9b('0x21'),'context':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x1c')],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234[_0x2f9b('0xe')]++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});}}_0x5c4234[_0x2f9b('0x10')]['push']({'type':_0x5c7983[_0x47a95c][0x0]['type'],'app':_0x2f9b('0x1a'),'appdata':_0x2f9b('0x22'),'context':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x1c')],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234[_0x2f9b('0xe')]++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});_0x5c4234[_0x2f9b('0x10')]['push']({'type':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')],'app':_0x2f9b('0x1a'),'appdata':_0x2f9b('0x23'),'context':_0x5c7983[_0x47a95c][0x0]['context'],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234['priority']++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});_0x5c4234['extensions'][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')],'app':_0x2f9b('0x1a'),'appdata':_0x2f9b('0x24'),'context':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x1c')],'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'priority':_0x5c4234[_0x2f9b('0xe')]++,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});for(var _0x116ac2=0x0,_0x49b646=0x0;_0x116ac2<_0x5c7983[_0x47a95c]['length'];_0x116ac2+=0x1,_0x49b646=0x0){var _0x27a73e=_0x5c7983[_0x47a95c][_0x116ac2];if(_0x27a73e[_0x2f9b('0x12')]){_0x27a73e[_0x2f9b('0x12')]=_0x27a73e['type'][_0x2f9b('0x25')]();}var _0x34edac=[];var _0x2d837c=[];delete _0x27a73e['id'];delete _0x27a73e[_0x2f9b('0x26')];delete _0x27a73e[_0x2f9b('0x27')];var _0x559a73=_0x27a73e[_0x2f9b('0x28')]!==_0x2f9b('0x29')?[_0x27a73e[_0x2f9b('0x28')]]:_0x27a73e[_0x2f9b('0x6')]?_[_0x2f9b('0x2a')](_[_0x2f9b('0xa')](_0x5c4234[_0x2f9b('0x4')],{'IntervalId':_0x27a73e[_0x2f9b('0x6')]}),'interval'):[];if(_0x27a73e[_0x2f9b('0xd')]('tag')){if(_0x27a73e[_0x2f9b('0x2b')]&&_0x27a73e[_0x2f9b('0x2b')]!=='--'){_0x34edac[_0x2f9b('0x11')]({'type':_0x27a73e[_0x2f9b('0x12')],'app':_0x2f9b('0x1a'),'appdata':_0x2f9b('0x2c')+_0x27a73e[_0x2f9b('0x2b')],'context':_0x27a73e['context'],'exten':_0x27a73e['exten'],'priority':_0x559a73[_0x2f9b('0x2d')]+_0x5c4234[_0x2f9b('0xe')]+_0x49b646++,'VoiceExtensionId':_0x27a73e[_0x2f9b('0x14')]});}}if(_0x27a73e[_0x2f9b('0x12')]==='outbound'&&_0x27a73e[_0x2f9b('0xd')](_0x2f9b('0x2e'))){if(_0x27a73e['callerID']){_0x34edac[_0x2f9b('0x11')]({'type':_0x27a73e['type'],'app':_0x2f9b('0x1d'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x27a73e[_0x2f9b('0x2e')]+')','context':_0x27a73e[_0x2f9b('0x1c')],'exten':_0x27a73e[_0x2f9b('0x9')],'priority':_0x559a73[_0x2f9b('0x2d')]+_0x5c4234[_0x2f9b('0xe')]+_0x49b646++,'VoiceExtensionId':_0x27a73e[_0x2f9b('0x14')]});}else{_0x34edac['push']({'type':_0x27a73e['type'],'app':_0x2f9b('0x1d'),'appdata':_0x2f9b('0x2f'),'context':_0x27a73e[_0x2f9b('0x1c')],'exten':_0x27a73e['exten'],'priority':_0x559a73['length']+_0x5c4234[_0x2f9b('0xe')]+_0x49b646++,'VoiceExtensionId':_0x27a73e[_0x2f9b('0x14')]});}}if(_0x27a73e[_0x2f9b('0xd')](_0x2f9b('0x30'))){if(_0x3f1f5e[_0x2f9b('0x31')](_0x27a73e[_0x2f9b('0x32')]['toLowerCase']())>=0x0&&_0x27a73e[_0x2f9b('0x33')]!==_0x2f9b('0x34')){if(_0x27a73e['answer']){_0x34edac[_0x2f9b('0x11')]({'type':_0x27a73e[_0x2f9b('0x12')],'app':_0x2f9b('0x1d'),'appdata':_0x2f9b('0x35'),'context':_0x27a73e[_0x2f9b('0x1c')],'exten':_0x27a73e[_0x2f9b('0x9')],'priority':_0x559a73[_0x2f9b('0x2d')]+_0x5c4234[_0x2f9b('0xe')]+_0x49b646++,'VoiceExtensionId':_0x27a73e[_0x2f9b('0x14')]});_0x34edac[_0x2f9b('0x11')]({'type':_0x27a73e[_0x2f9b('0x12')],'app':_0x2f9b('0x1a'),'appdata':_0x2f9b('0x36'),'context':_0x27a73e[_0x2f9b('0x1c')],'exten':_0x27a73e['exten'],'priority':_0x559a73[_0x2f9b('0x2d')]+_0x5c4234['priority']+_0x49b646++,'VoiceExtensionId':_0x27a73e[_0x2f9b('0x14')]});}else{_0x34edac[_0x2f9b('0x11')]({'type':_0x27a73e['type'],'app':_0x2f9b('0x1d'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x27a73e['context'],'exten':_0x27a73e[_0x2f9b('0x9')],'priority':_0x559a73[_0x2f9b('0x2d')]+_0x5c4234[_0x2f9b('0xe')]+_0x49b646++,'VoiceExtensionId':_0x27a73e[_0x2f9b('0x14')]});_0x34edac[_0x2f9b('0x11')]({'type':_0x27a73e[_0x2f9b('0x12')],'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x27a73e[_0x2f9b('0x1c')],'exten':_0x27a73e[_0x2f9b('0x9')],'priority':_0x559a73['length']+_0x5c4234[_0x2f9b('0xe')]+_0x49b646++,'VoiceExtensionId':_0x27a73e[_0x2f9b('0x14')]});}}}for(var _0x27590c=0x0;_0x27590c<_0x559a73['length'];_0x27590c+=0x1){var _0xae61f=_0x5c4234[_0x2f9b('0xe')]+_0x559a73[_0x2f9b('0x2d')];var _0x42cb6b=_0x27590c===_0x559a73['length']-0x1?_0x5c4234[_0x2f9b('0xe')]+_0x34edac[_0x2f9b('0x2d')]+_0x2d837c[_0x2f9b('0x2d')]+0x2:_0x5c4234[_0x2f9b('0xe')]+_0x27590c+0x1;_0x34edac[_0x2f9b('0x37')](_0x27590c,0x0,{'type':_0x27a73e['type'],'app':'GotoIfTime','appdata':_0x559a73[_0x27590c]+'?'+_0x27a73e['context']+_0x2f9b('0x38')+_0xae61f+':'+_0x27a73e['context']+',${EXTEN},'+_0x42cb6b,'exten':_0x27a73e[_0x2f9b('0x9')],'context':_0x27a73e['context'],'priority':_0x5c4234['priority']+_0x27590c,'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});}_0x27a73e['priority']=_0x34edac[_0x2f9b('0x2d')]?_['last'](_0x34edac)[_0x2f9b('0xe')]+0x1:_0x5c4234[_0x2f9b('0xe')];_0x5c4234[_0x2f9b('0xe')]=(_0x2d837c[_0x2f9b('0x2d')]?_[_0x2f9b('0x39')](_0x2d837c)['priority']:_0x27a73e[_0x2f9b('0xe')])+0x1;_0x5c4234['extensions']=_[_0x2f9b('0x3a')](_0x5c4234['extensions'],_0x34edac,[_0x27a73e],_0x2d837c);}_0x5c4234[_0x2f9b('0x10')][_0x2f9b('0x11')]({'type':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x12')],'app':_0x2f9b('0x3b'),'exten':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x9')],'context':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x1c')],'priority':_0x5c4234[_0x2f9b('0xe')],'VoiceExtensionId':_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]});_0x5873ad[_0x2f9b('0x11')](_0x5c7983[_0x47a95c][0x0][_0x2f9b('0x14')]);_0x23cf2b=_[_0x2f9b('0x3a')](_0x23cf2b,_0x5c4234[_0x2f9b('0x10')]);}}return _0x268782['transaction'](function(_0x5e801b){return _0x268782[_0x2f9b('0x2')][_0x2f9b('0x5')][_0x2f9b('0x3c')]({'where':{'VoiceExtensionId':{'$in':_0x5873ad}},'transaction':_0x5e801b})[_0x2f9b('0x7')](function(_0xbbdc99){return _0x268782['models']['VoiceExtension'][_0x2f9b('0x3d')](_[_0x2f9b('0x3e')](_0x23cf2b,_0x2f9b('0xe')),{'transaction':_0x5e801b});});});})[_0x2f9b('0x3f')](function(_0x478454){console[_0x2f9b('0x40')](_0x478454);});}exports['rewrite']=rewrite;