885cdeed5a7e64ccab4016405605668fbfb7d446
[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 _0x0aaf=['transaction','destroy','sortBy','catch','error','rewrite','lodash','util','Interval','then','intervals','VoiceExtension','findAll','models','uniq','map','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','hasOwnProperty','extensions','extension','push','type','format','CDR(type)=%s','context','VoiceExtensionId','outbound','${EXTEN:','cutdigits','${EXTEN}','Set','CDR(routeid)=','priority','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','interval','*,*,*,*','IntervalId','tag','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','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','GotoIfTime','last','concat','Hangup'];(function(_0x59616b,_0x38e534){var _0x5c4523=function(_0x166f2e){while(--_0x166f2e){_0x59616b['push'](_0x59616b['shift']());}};_0x5c4523(++_0x38e534);}(_0x0aaf,0x90));var _0xf0aa=function(_0x22205c,_0x473493){_0x22205c=_0x22205c-0x0;var _0x3f5efe=_0x0aaf[_0x22205c];return _0x3f5efe;};'use strict';var _=require(_0xf0aa('0x0'));var util=require(_0xf0aa('0x1'));function rewrite(_0x16eedc,_0x135d7c){var _0x4a5d9e=this;return _0x16eedc['models'][_0xf0aa('0x2')]['findAll']({'raw':!![]})[_0xf0aa('0x3')](function(_0x27c339){_0x4a5d9e[_0xf0aa('0x4')]=_0x27c339;return _0x16eedc['models'][_0xf0aa('0x5')][_0xf0aa('0x6')]({'where':{'IntervalId':_0x135d7c['IntervalId']},'raw':!![]});})[_0xf0aa('0x3')](function(_0x580faf){return _0x16eedc[_0xf0aa('0x7')]['VoiceExtension'][_0xf0aa('0x6')]({'where':{'exten':{'$in':_[_0xf0aa('0x8')](_[_0xf0aa('0x9')](_0x580faf,'exten'))}},'order':[{'raw':_0xf0aa('0xa')}],'raw':!![]});})['then'](function(_0x222ee7){var _0x4ecec6=_[_0xf0aa('0xb')](_0x222ee7,{'priority':'1'});var _0x1ae524=_['filter'](_0x222ee7,{'isApp':0x1});var _0x1b2abc=_[_0xf0aa('0xc')](_0x1ae524,_0xf0aa('0xd'));var _0xd41746=[_0xf0aa('0xe'),'playback'];var _0x9c6525=[];var _0x5ba5cf=[];for(var _0x47e7ce in _0x1b2abc){if(_0x1b2abc[_0xf0aa('0xf')](_0x47e7ce)){_0x4a5d9e['priority']=0x2;_0x4a5d9e[_0xf0aa('0x10')]=[];_0x4a5d9e[_0xf0aa('0x11')]=_['find'](_0x4ecec6,{'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')]});_0x4a5d9e[_0xf0aa('0x10')][_0xf0aa('0x12')]({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':'Set','appdata':util[_0xf0aa('0x14')](_0xf0aa('0x15'),_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')]),'context':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x16')],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x4a5d9e['priority']++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});if(_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')]===_0xf0aa('0x18')){if(_0x4a5d9e[_0xf0aa('0x11')]){_0x4a5d9e[_0xf0aa('0x10')]['push']({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':'Set','appdata':'CDR(destination)='+(_0x4a5d9e[_0xf0aa('0x11')]['cutdigits']?_0xf0aa('0x19')+_0x4a5d9e[_0xf0aa('0x11')][_0xf0aa('0x1a')]+'}':_0xf0aa('0x1b')),'context':_0x1b2abc[_0x47e7ce][0x0]['context'],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x4a5d9e['priority']++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});}_0x4a5d9e['extensions']['push']({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':_0xf0aa('0x1d')+_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')],'context':_0x1b2abc[_0x47e7ce][0x0]['context'],'exten':_0x1b2abc[_0x47e7ce][0x0]['exten'],'priority':_0x4a5d9e[_0xf0aa('0x1e')]++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});var _0x2a0f9c=_0x4a5d9e[_0xf0aa('0x1e')]++;_0x4a5d9e['extensions'][_0xf0aa('0x12')]({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x1f'),'appdata':_0xf0aa('0x20')+(_0x2a0f9c+0x2)+'):Goto('+(_0x2a0f9c+0x1)+')','context':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x16')],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x2a0f9c,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});if(_0x4a5d9e[_0xf0aa('0x11')]){_0x4a5d9e[_0xf0aa('0x10')]['push']({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':_0x4a5d9e[_0xf0aa('0x11')][_0xf0aa('0x1a')]?_0xf0aa('0x21')+_0x4a5d9e[_0xf0aa('0x11')][_0xf0aa('0x1a')]+'}':'CDR(prefix)=noprefix','context':_0x1b2abc[_0x47e7ce][0x0]['context'],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x4a5d9e['priority']++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});}_0x4a5d9e['extensions']['push']({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':_0xf0aa('0x22')+_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')],'context':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x16')],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x4a5d9e[_0xf0aa('0x1e')]++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});if(_0x4a5d9e['extension']&&_0x4a5d9e[_0xf0aa('0x11')][_0xf0aa('0xf')](_0xf0aa('0x23'))&&_0x4a5d9e[_0xf0aa('0x11')][_0xf0aa('0x23')]!==_0xf0aa('0x24')){_0x4a5d9e['extensions'][_0xf0aa('0x12')]({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':_0xf0aa('0x25'),'context':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x16')],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x4a5d9e[_0xf0aa('0x1e')]++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0]['VoiceExtensionId']});_0x4a5d9e[_0xf0aa('0x10')][_0xf0aa('0x12')]({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':_0xf0aa('0x26')+_0x4a5d9e[_0xf0aa('0x11')][_0xf0aa('0x23')]||_0xf0aa('0x27'),'context':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x16')],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x4a5d9e[_0xf0aa('0x1e')]++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});}}_0x4a5d9e[_0xf0aa('0x10')][_0xf0aa('0x12')]({'type':_0x1b2abc[_0x47e7ce][0x0]['type'],'app':'Set','appdata':_0xf0aa('0x28'),'context':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x16')],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x4a5d9e[_0xf0aa('0x1e')]++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0]['VoiceExtensionId']});_0x4a5d9e['extensions']['push']({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x1b2abc[_0x47e7ce][0x0]['context'],'exten':_0x1b2abc[_0x47e7ce][0x0]['exten'],'priority':_0x4a5d9e['priority']++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});_0x4a5d9e[_0xf0aa('0x10')][_0xf0aa('0x12')]({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':_0xf0aa('0x29'),'context':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x16')],'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'priority':_0x4a5d9e[_0xf0aa('0x1e')]++,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0]['VoiceExtensionId']});for(var _0x3d8a04=0x0,_0x3fa616=0x0;_0x3d8a04<_0x1b2abc[_0x47e7ce][_0xf0aa('0x2a')];_0x3d8a04+=0x1,_0x3fa616=0x0){var _0x189cc0=_0x1b2abc[_0x47e7ce][_0x3d8a04];if(_0x189cc0[_0xf0aa('0x13')]){_0x189cc0[_0xf0aa('0x13')]=_0x189cc0['type'][_0xf0aa('0x2b')]();}var _0x346268=[];var _0x2d0735=[];delete _0x189cc0['id'];delete _0x189cc0[_0xf0aa('0x2c')];delete _0x189cc0['updatedAt'];var _0xaee9e4=_0x189cc0[_0xf0aa('0x2d')]!==_0xf0aa('0x2e')?[_0x189cc0[_0xf0aa('0x2d')]]:_0x189cc0['IntervalId']?_[_0xf0aa('0x9')](_[_0xf0aa('0xb')](_0x4a5d9e[_0xf0aa('0x4')],{'IntervalId':_0x189cc0[_0xf0aa('0x2f')]}),_0xf0aa('0x2d')):[];if(_0x189cc0[_0xf0aa('0xf')]('tag')){if(_0x189cc0[_0xf0aa('0x30')]&&_0x189cc0[_0xf0aa('0x30')]!=='--'){_0x346268[_0xf0aa('0x12')]({'type':_0x189cc0[_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':'CDR(tag)='+_0x189cc0['tag'],'context':_0x189cc0[_0xf0aa('0x16')],'exten':_0x189cc0[_0xf0aa('0xd')],'priority':_0xaee9e4[_0xf0aa('0x2a')]+_0x4a5d9e['priority']+_0x3fa616++,'VoiceExtensionId':_0x189cc0[_0xf0aa('0x17')]});}}if(_0x189cc0[_0xf0aa('0x13')]===_0xf0aa('0x18')&&_0x189cc0[_0xf0aa('0xf')]('callerID')){if(_0x189cc0[_0xf0aa('0x31')]){_0x346268['push']({'type':_0x189cc0[_0xf0aa('0x13')],'app':'ExecIf','appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x189cc0[_0xf0aa('0x31')]+')','context':_0x189cc0[_0xf0aa('0x16')],'exten':_0x189cc0['exten'],'priority':_0xaee9e4[_0xf0aa('0x2a')]+_0x4a5d9e[_0xf0aa('0x1e')]+_0x3fa616++,'VoiceExtensionId':_0x189cc0[_0xf0aa('0x17')]});}else{_0x346268[_0xf0aa('0x12')]({'type':_0x189cc0[_0xf0aa('0x13')],'app':_0xf0aa('0x1f'),'appdata':_0xf0aa('0x32'),'context':_0x189cc0[_0xf0aa('0x16')],'exten':_0x189cc0[_0xf0aa('0xd')],'priority':_0xaee9e4[_0xf0aa('0x2a')]+_0x4a5d9e['priority']+_0x3fa616++,'VoiceExtensionId':_0x189cc0[_0xf0aa('0x17')]});}}if(_0x189cc0[_0xf0aa('0xf')](_0xf0aa('0x33'))){if(_0xd41746[_0xf0aa('0x34')](_0x189cc0[_0xf0aa('0x35')][_0xf0aa('0x2b')]())>=0x0&&_0x189cc0[_0xf0aa('0x36')]!==_0xf0aa('0x37')){if(_0x189cc0[_0xf0aa('0x33')]){_0x346268[_0xf0aa('0x12')]({'type':_0x189cc0[_0xf0aa('0x13')],'app':'ExecIf','appdata':_0xf0aa('0x38'),'context':_0x189cc0[_0xf0aa('0x16')],'exten':_0x189cc0[_0xf0aa('0xd')],'priority':_0xaee9e4[_0xf0aa('0x2a')]+_0x4a5d9e[_0xf0aa('0x1e')]+_0x3fa616++,'VoiceExtensionId':_0x189cc0[_0xf0aa('0x17')]});_0x346268['push']({'type':_0x189cc0[_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':_0xf0aa('0x39'),'context':_0x189cc0[_0xf0aa('0x16')],'exten':_0x189cc0[_0xf0aa('0xd')],'priority':_0xaee9e4[_0xf0aa('0x2a')]+_0x4a5d9e[_0xf0aa('0x1e')]+_0x3fa616++,'VoiceExtensionId':_0x189cc0[_0xf0aa('0x17')]});}else{_0x346268[_0xf0aa('0x12')]({'type':_0x189cc0['type'],'app':'ExecIf','appdata':_0xf0aa('0x3a'),'context':_0x189cc0[_0xf0aa('0x16')],'exten':_0x189cc0[_0xf0aa('0xd')],'priority':_0xaee9e4[_0xf0aa('0x2a')]+_0x4a5d9e['priority']+_0x3fa616++,'VoiceExtensionId':_0x189cc0[_0xf0aa('0x17')]});_0x346268[_0xf0aa('0x12')]({'type':_0x189cc0[_0xf0aa('0x13')],'app':_0xf0aa('0x1c'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x189cc0[_0xf0aa('0x16')],'exten':_0x189cc0[_0xf0aa('0xd')],'priority':_0xaee9e4[_0xf0aa('0x2a')]+_0x4a5d9e['priority']+_0x3fa616++,'VoiceExtensionId':_0x189cc0['VoiceExtensionId']});}}}for(var _0x2db81b=0x0;_0x2db81b<_0xaee9e4[_0xf0aa('0x2a')];_0x2db81b+=0x1){var _0xec3c26=_0x4a5d9e[_0xf0aa('0x1e')]+_0xaee9e4['length'];var _0x426d7b=_0x2db81b===_0xaee9e4['length']-0x1?_0x4a5d9e[_0xf0aa('0x1e')]+_0x346268['length']+_0x2d0735[_0xf0aa('0x2a')]+0x2:_0x4a5d9e[_0xf0aa('0x1e')]+_0x2db81b+0x1;_0x346268['splice'](_0x2db81b,0x0,{'type':_0x189cc0[_0xf0aa('0x13')],'app':_0xf0aa('0x3b'),'appdata':_0xaee9e4[_0x2db81b]+'?'+_0x189cc0[_0xf0aa('0x16')]+',${EXTEN},'+_0xec3c26+':'+_0x189cc0[_0xf0aa('0x16')]+',${EXTEN},'+_0x426d7b,'exten':_0x189cc0[_0xf0aa('0xd')],'context':_0x189cc0['context'],'priority':_0x4a5d9e['priority']+_0x2db81b,'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0]['VoiceExtensionId']});}_0x189cc0[_0xf0aa('0x1e')]=_0x346268[_0xf0aa('0x2a')]?_[_0xf0aa('0x3c')](_0x346268)[_0xf0aa('0x1e')]+0x1:_0x4a5d9e[_0xf0aa('0x1e')];_0x4a5d9e[_0xf0aa('0x1e')]=(_0x2d0735[_0xf0aa('0x2a')]?_['last'](_0x2d0735)[_0xf0aa('0x1e')]:_0x189cc0[_0xf0aa('0x1e')])+0x1;_0x4a5d9e[_0xf0aa('0x10')]=_[_0xf0aa('0x3d')](_0x4a5d9e[_0xf0aa('0x10')],_0x346268,[_0x189cc0],_0x2d0735);}_0x4a5d9e['extensions'][_0xf0aa('0x12')]({'type':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x13')],'app':_0xf0aa('0x3e'),'exten':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0xd')],'context':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x16')],'priority':_0x4a5d9e[_0xf0aa('0x1e')],'VoiceExtensionId':_0x1b2abc[_0x47e7ce][0x0][_0xf0aa('0x17')]});_0x9c6525[_0xf0aa('0x12')](_0x1b2abc[_0x47e7ce][0x0]['VoiceExtensionId']);_0x5ba5cf=_['concat'](_0x5ba5cf,_0x4a5d9e[_0xf0aa('0x10')]);}}return _0x16eedc[_0xf0aa('0x3f')](function(_0x4dbef8){return _0x16eedc[_0xf0aa('0x7')][_0xf0aa('0x5')][_0xf0aa('0x40')]({'where':{'VoiceExtensionId':{'$in':_0x9c6525}},'transaction':_0x4dbef8})[_0xf0aa('0x3')](function(_0x218ecb){return _0x16eedc[_0xf0aa('0x7')][_0xf0aa('0x5')]['bulkCreate'](_[_0xf0aa('0x41')](_0x5ba5cf,_0xf0aa('0x1e')),{'transaction':_0x4dbef8});});});})[_0xf0aa('0x42')](function(_0x660eca){console[_0xf0aa('0x43')](_0x660eca);});}exports[_0xf0aa('0x44')]=rewrite;