08a3339e0ef7bb58ad99173cf73e5a9af4f3ae25
[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 _0x253c=['XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','interval','IntervalId','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','app','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','sortBy','catch','error','lodash','util','models','Interval','findAll','then','intervals','VoiceExtension','uniq','map','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','playback','priority','extensions','extension','push','type','Set','context','VoiceExtensionId','outbound','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','hasOwnProperty','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav'];(function(_0xa7b4b2,_0x1b8c54){var _0x3ca5e3=function(_0x24bd6e){while(--_0x24bd6e){_0xa7b4b2['push'](_0xa7b4b2['shift']());}};_0x3ca5e3(++_0x1b8c54);}(_0x253c,0x13f));var _0xc253=function(_0x3221cd,_0x4a4a4a){_0x3221cd=_0x3221cd-0x0;var _0x21a689=_0x253c[_0x3221cd];return _0x21a689;};'use strict';var _=require(_0xc253('0x0'));var util=require(_0xc253('0x1'));function rewrite(_0x2ceffa,_0x32b795){var _0x145a1e=this;return _0x2ceffa[_0xc253('0x2')][_0xc253('0x3')][_0xc253('0x4')]({'raw':!![]})[_0xc253('0x5')](function(_0x2b6f68){_0x145a1e[_0xc253('0x6')]=_0x2b6f68;return _0x2ceffa['models'][_0xc253('0x7')][_0xc253('0x4')]({'where':{'IntervalId':_0x32b795['IntervalId']},'raw':!![]});})[_0xc253('0x5')](function(_0x3c60c8){return _0x2ceffa['models'][_0xc253('0x7')][_0xc253('0x4')]({'where':{'exten':{'$in':_[_0xc253('0x8')](_[_0xc253('0x9')](_0x3c60c8,'exten'))}},'order':[{'raw':_0xc253('0xa')}],'raw':!![]});})['then'](function(_0x1b03c7){var _0x554399=_[_0xc253('0xb')](_0x1b03c7,{'priority':'1'});var _0x15bf28=_['filter'](_0x1b03c7,{'isApp':0x1});var _0x3aacd6=_[_0xc253('0xc')](_0x15bf28,_0xc253('0xd'));var _0x446967=[_0xc253('0xe'),_0xc253('0xf')];var _0x313142=[];var _0x415c48=[];for(var _0x46d753 in _0x3aacd6){if(_0x3aacd6['hasOwnProperty'](_0x46d753)){_0x145a1e[_0xc253('0x10')]=0x2;_0x145a1e[_0xc253('0x11')]=[];_0x145a1e[_0xc253('0x12')]=_['find'](_0x554399,{'exten':_0x3aacd6[_0x46d753][0x0]['exten']});_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':util['format']('CDR(type)=%s',_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')]),'context':_0x3aacd6[_0x46d753][0x0][_0xc253('0x16')],'exten':_0x3aacd6[_0x46d753][0x0]['exten'],'priority':_0x145a1e['priority']++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});if(_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')]===_0xc253('0x18')){if(_0x145a1e[_0xc253('0x12')]){_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':_0xc253('0x19')+(_0x145a1e[_0xc253('0x12')][_0xc253('0x1a')]?_0xc253('0x1b')+_0x145a1e[_0xc253('0x12')][_0xc253('0x1a')]+'}':_0xc253('0x1c')),'context':_0x3aacd6[_0x46d753][0x0]['context'],'exten':_0x3aacd6[_0x46d753][0x0]['exten'],'priority':_0x145a1e[_0xc253('0x10')]++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});}_0x145a1e[_0xc253('0x11')]['push']({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':'CDR(routeid)='+_0x3aacd6[_0x46d753][0x0]['VoiceExtensionId'],'context':_0x3aacd6[_0x46d753][0x0]['context'],'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'priority':_0x145a1e['priority']++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});var _0x5d14a6=_0x145a1e[_0xc253('0x10')]++;_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x1d'),'appdata':_0xc253('0x1e')+(_0x5d14a6+0x2)+_0xc253('0x1f')+(_0x5d14a6+0x1)+')','context':_0x3aacd6[_0x46d753][0x0]['context'],'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'priority':_0x5d14a6,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});if(_0x145a1e['extension']){_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0]['type'],'app':_0xc253('0x15'),'appdata':_0x145a1e[_0xc253('0x12')][_0xc253('0x1a')]?_0xc253('0x20')+_0x145a1e['extension'][_0xc253('0x1a')]+'}':_0xc253('0x21'),'context':_0x3aacd6[_0x46d753][0x0][_0xc253('0x16')],'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'priority':_0x145a1e[_0xc253('0x10')]++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});}_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':_0xc253('0x22')+_0x3aacd6[_0x46d753][0x0]['VoiceExtensionId'],'context':_0x3aacd6[_0x46d753][0x0][_0xc253('0x16')],'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'priority':_0x145a1e[_0xc253('0x10')]++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0]['VoiceExtensionId']});if(_0x145a1e[_0xc253('0x12')]&&_0x145a1e['extension'][_0xc253('0x23')](_0xc253('0x24'))&&_0x145a1e['extension'][_0xc253('0x24')]!==_0xc253('0x25')){_0x145a1e[_0xc253('0x11')]['push']({'type':_0x3aacd6[_0x46d753][0x0]['type'],'app':_0xc253('0x15'),'appdata':_0xc253('0x26'),'context':_0x3aacd6[_0x46d753][0x0]['context'],'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'priority':_0x145a1e[_0xc253('0x10')]++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':_0xc253('0x27')+_0x145a1e[_0xc253('0x12')]['recordingFormat']||_0xc253('0x28'),'context':_0x3aacd6[_0x46d753][0x0][_0xc253('0x16')],'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'priority':_0x145a1e[_0xc253('0x10')]++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});}}_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0]['type'],'app':_0xc253('0x15'),'appdata':_0xc253('0x29'),'context':_0x3aacd6[_0x46d753][0x0]['context'],'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'priority':_0x145a1e[_0xc253('0x10')]++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0]['VoiceExtensionId']});_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':_0xc253('0x2a'),'context':_0x3aacd6[_0x46d753][0x0][_0xc253('0x16')],'exten':_0x3aacd6[_0x46d753][0x0]['exten'],'priority':_0x145a1e['priority']++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0]['VoiceExtensionId']});_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':_0xc253('0x2b'),'context':_0x3aacd6[_0x46d753][0x0][_0xc253('0x16')],'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'priority':_0x145a1e[_0xc253('0x10')]++,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});for(var _0x5e9b19=0x0,_0x9d6957=0x0;_0x5e9b19<_0x3aacd6[_0x46d753][_0xc253('0x2c')];_0x5e9b19+=0x1,_0x9d6957=0x0){var _0x6bdbf7=_0x3aacd6[_0x46d753][_0x5e9b19];if(_0x6bdbf7[_0xc253('0x14')]){_0x6bdbf7[_0xc253('0x14')]=_0x6bdbf7[_0xc253('0x14')][_0xc253('0x2d')]();}var _0x9f7d4f=[];var _0x387687=[];delete _0x6bdbf7['id'];delete _0x6bdbf7[_0xc253('0x2e')];delete _0x6bdbf7['updatedAt'];var _0x340e2b=_0x6bdbf7[_0xc253('0x2f')]!=='*,*,*,*'?[_0x6bdbf7['interval']]:_0x6bdbf7[_0xc253('0x30')]?_['map'](_[_0xc253('0xb')](_0x145a1e['intervals'],{'IntervalId':_0x6bdbf7[_0xc253('0x30')]}),'interval'):[];if(_0x6bdbf7['hasOwnProperty'](_0xc253('0x31'))){if(_0x6bdbf7[_0xc253('0x31')]&&_0x6bdbf7[_0xc253('0x31')]!=='--'){_0x9f7d4f[_0xc253('0x13')]({'type':_0x6bdbf7[_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':_0xc253('0x32')+_0x6bdbf7[_0xc253('0x31')],'context':_0x6bdbf7[_0xc253('0x16')],'exten':_0x6bdbf7[_0xc253('0xd')],'priority':_0x340e2b[_0xc253('0x2c')]+_0x145a1e['priority']+_0x9d6957++,'VoiceExtensionId':_0x6bdbf7[_0xc253('0x17')]});}}if(_0x6bdbf7[_0xc253('0x14')]===_0xc253('0x18')&&_0x6bdbf7[_0xc253('0x23')](_0xc253('0x33'))){if(_0x6bdbf7['callerID']){_0x9f7d4f[_0xc253('0x13')]({'type':_0x6bdbf7[_0xc253('0x14')],'app':_0xc253('0x1d'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x6bdbf7['callerID']+')','context':_0x6bdbf7[_0xc253('0x16')],'exten':_0x6bdbf7['exten'],'priority':_0x340e2b[_0xc253('0x2c')]+_0x145a1e[_0xc253('0x10')]+_0x9d6957++,'VoiceExtensionId':_0x6bdbf7[_0xc253('0x17')]});}else{_0x9f7d4f[_0xc253('0x13')]({'type':_0x6bdbf7['type'],'app':_0xc253('0x1d'),'appdata':_0xc253('0x34'),'context':_0x6bdbf7[_0xc253('0x16')],'exten':_0x6bdbf7[_0xc253('0xd')],'priority':_0x340e2b['length']+_0x145a1e[_0xc253('0x10')]+_0x9d6957++,'VoiceExtensionId':_0x6bdbf7['VoiceExtensionId']});}}if(_0x6bdbf7[_0xc253('0x23')](_0xc253('0x35'))){if(_0x446967['indexOf'](_0x6bdbf7[_0xc253('0x36')]['toLowerCase']())>=0x0&&_0x6bdbf7[_0xc253('0x37')]!==_0xc253('0x38')){if(_0x6bdbf7['answer']){_0x9f7d4f['push']({'type':_0x6bdbf7[_0xc253('0x14')],'app':_0xc253('0x1d'),'appdata':_0xc253('0x39'),'context':_0x6bdbf7['context'],'exten':_0x6bdbf7[_0xc253('0xd')],'priority':_0x340e2b[_0xc253('0x2c')]+_0x145a1e['priority']+_0x9d6957++,'VoiceExtensionId':_0x6bdbf7[_0xc253('0x17')]});_0x9f7d4f[_0xc253('0x13')]({'type':_0x6bdbf7[_0xc253('0x14')],'app':'Set','appdata':_0xc253('0x3a'),'context':_0x6bdbf7[_0xc253('0x16')],'exten':_0x6bdbf7[_0xc253('0xd')],'priority':_0x340e2b[_0xc253('0x2c')]+_0x145a1e[_0xc253('0x10')]+_0x9d6957++,'VoiceExtensionId':_0x6bdbf7[_0xc253('0x17')]});}else{_0x9f7d4f[_0xc253('0x13')]({'type':_0x6bdbf7[_0xc253('0x14')],'app':_0xc253('0x1d'),'appdata':_0xc253('0x3b'),'context':_0x6bdbf7['context'],'exten':_0x6bdbf7[_0xc253('0xd')],'priority':_0x340e2b[_0xc253('0x2c')]+_0x145a1e[_0xc253('0x10')]+_0x9d6957++,'VoiceExtensionId':_0x6bdbf7[_0xc253('0x17')]});_0x9f7d4f[_0xc253('0x13')]({'type':_0x6bdbf7[_0xc253('0x14')],'app':_0xc253('0x15'),'appdata':_0xc253('0x3c'),'context':_0x6bdbf7[_0xc253('0x16')],'exten':_0x6bdbf7[_0xc253('0xd')],'priority':_0x340e2b[_0xc253('0x2c')]+_0x145a1e[_0xc253('0x10')]+_0x9d6957++,'VoiceExtensionId':_0x6bdbf7['VoiceExtensionId']});}}}for(var _0x1e11e1=0x0;_0x1e11e1<_0x340e2b[_0xc253('0x2c')];_0x1e11e1+=0x1){var _0xe6bb04=_0x145a1e['priority']+_0x340e2b[_0xc253('0x2c')];var _0x12b027=_0x1e11e1===_0x340e2b[_0xc253('0x2c')]-0x1?_0x145a1e[_0xc253('0x10')]+_0x9f7d4f['length']+_0x387687[_0xc253('0x2c')]+0x2:_0x145a1e[_0xc253('0x10')]+_0x1e11e1+0x1;_0x9f7d4f[_0xc253('0x3d')](_0x1e11e1,0x0,{'type':_0x6bdbf7['type'],'app':_0xc253('0x3e'),'appdata':_0x340e2b[_0x1e11e1]+'?'+_0x6bdbf7[_0xc253('0x16')]+_0xc253('0x3f')+_0xe6bb04+':'+_0x6bdbf7[_0xc253('0x16')]+_0xc253('0x3f')+_0x12b027,'exten':_0x6bdbf7[_0xc253('0xd')],'context':_0x6bdbf7[_0xc253('0x16')],'priority':_0x145a1e['priority']+_0x1e11e1,'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]});}_0x6bdbf7['priority']=_0x9f7d4f[_0xc253('0x2c')]?_[_0xc253('0x40')](_0x9f7d4f)[_0xc253('0x10')]+0x1:_0x145a1e[_0xc253('0x10')];_0x145a1e[_0xc253('0x10')]=(_0x387687[_0xc253('0x2c')]?_['last'](_0x387687)[_0xc253('0x10')]:_0x6bdbf7[_0xc253('0x10')])+0x1;_0x145a1e['extensions']=_[_0xc253('0x41')](_0x145a1e[_0xc253('0x11')],_0x9f7d4f,[_0x6bdbf7],_0x387687);}_0x145a1e[_0xc253('0x11')][_0xc253('0x13')]({'type':_0x3aacd6[_0x46d753][0x0][_0xc253('0x14')],'app':_0xc253('0x42'),'exten':_0x3aacd6[_0x46d753][0x0][_0xc253('0xd')],'context':_0x3aacd6[_0x46d753][0x0][_0xc253('0x16')],'priority':_0x145a1e[_0xc253('0x10')],'VoiceExtensionId':_0x3aacd6[_0x46d753][0x0]['VoiceExtensionId']});_0x313142[_0xc253('0x13')](_0x3aacd6[_0x46d753][0x0][_0xc253('0x17')]);_0x415c48=_['concat'](_0x415c48,_0x145a1e['extensions']);}}return _0x2ceffa[_0xc253('0x43')](function(_0x4d987f){return _0x2ceffa[_0xc253('0x2')]['VoiceExtension'][_0xc253('0x44')]({'where':{'VoiceExtensionId':{'$in':_0x313142}},'transaction':_0x4d987f})[_0xc253('0x5')](function(_0x5b5531){return _0x2ceffa[_0xc253('0x2')][_0xc253('0x7')]['bulkCreate'](_[_0xc253('0x45')](_0x415c48,_0xc253('0x10')),{'transaction':_0x4d987f});});});})[_0xc253('0x46')](function(_0x457c58){console[_0xc253('0x47')](_0x457c58);});}exports['rewrite']=rewrite;