609043b2fcf69eda7238db7e89ee2b61d4e6e936
[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 _0x5c0d=['Set','format','VoiceExtensionId','inbound','push','CDR(routeid)=','context','outbound','CDR(destination)=','cutdigits','ExecIf','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_FORMAT=','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','intervals','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','$[${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','splice',',${EXTEN},','last','concat','transaction','destroy','bulkCreate','sortBy','catch','lodash','util','models','Interval','findAll','then','VoiceExtension','IntervalId','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','priority','extension','find','extensions','type'];(function(_0x23b411,_0x8a755e){var _0x4d8915=function(_0x32047d){while(--_0x32047d){_0x23b411['push'](_0x23b411['shift']());}};_0x4d8915(++_0x8a755e);}(_0x5c0d,0xbb));var _0xd5c0=function(_0x26b8b5,_0xf5c2c1){_0x26b8b5=_0x26b8b5-0x0;var _0x2150a9=_0x5c0d[_0x26b8b5];return _0x2150a9;};'use strict';var _=require(_0xd5c0('0x0'));var util=require(_0xd5c0('0x1'));function rewrite(_0x25d413,_0xf70ada){var _0x357ff0=this;return _0x25d413[_0xd5c0('0x2')][_0xd5c0('0x3')][_0xd5c0('0x4')]({'raw':!![]})[_0xd5c0('0x5')](function(_0x26b768){_0x357ff0['intervals']=_0x26b768;return _0x25d413[_0xd5c0('0x2')][_0xd5c0('0x6')][_0xd5c0('0x4')]({'where':{'IntervalId':_0xf70ada[_0xd5c0('0x7')]},'raw':!![]});})['then'](function(_0x589d35){return _0x25d413['models'][_0xd5c0('0x6')][_0xd5c0('0x4')]({'where':{'exten':{'$in':_['uniq'](_['map'](_0x589d35,_0xd5c0('0x8')))}},'order':[{'raw':_0xd5c0('0x9')}],'raw':!![]});})[_0xd5c0('0x5')](function(_0x1cfe52){var _0x41d3cc=_[_0xd5c0('0xa')](_0x1cfe52,{'priority':'1'});var _0x5db4aa=_[_0xd5c0('0xa')](_0x1cfe52,{'isApp':0x1});var _0x2e170c=_[_0xd5c0('0xb')](_0x5db4aa,'exten');var _0x4aee64=[_0xd5c0('0xc'),_0xd5c0('0xd')];var _0xec8765=[];var _0x24972d=[];for(var _0x3c8912 in _0x2e170c){if(_0x2e170c[_0xd5c0('0xe')](_0x3c8912)){_0x357ff0[_0xd5c0('0xf')]=0x2;_0x357ff0['extensions']=[];_0x357ff0[_0xd5c0('0x10')]=_[_0xd5c0('0x11')](_0x41d3cc,{'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')]});_0x357ff0[_0xd5c0('0x12')]['push']({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':util[_0xd5c0('0x15')]('CDR(type)=%s',_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')]),'context':_0x2e170c[_0x3c8912][0x0]['context'],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});if(_0x2e170c[_0x3c8912][0x0]['type']===_0xd5c0('0x17')){_0x357ff0['extensions'][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0]['type'],'app':_0xd5c0('0x14'),'appdata':_0xd5c0('0x19')+_0x2e170c[_0x3c8912][0x0]['VoiceExtensionId'],'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x357ff0['priority']++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});}else if(_0x2e170c[_0x3c8912][0x0]['type']===_0xd5c0('0x1b')){if(_0x357ff0[_0xd5c0('0x10')]){_0x357ff0[_0xd5c0('0x12')][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':_0xd5c0('0x1c')+(_0x357ff0[_0xd5c0('0x10')]['cutdigits']?'${EXTEN:'+_0x357ff0[_0xd5c0('0x10')][_0xd5c0('0x1d')]+'}':'${EXTEN}'),'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0]['exten'],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});}_0x357ff0[_0xd5c0('0x12')][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':'Set','appdata':_0xd5c0('0x19')+_0x2e170c[_0x3c8912][0x0]['VoiceExtensionId'],'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0]['exten'],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});var _0x361efe=_0x357ff0['priority']++;_0x357ff0['extensions'][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':_0xd5c0('0x1e'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x361efe+0x2)+_0xd5c0('0x1f')+(_0x361efe+0x1)+')','context':_0x2e170c[_0x3c8912][0x0]['context'],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x361efe,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});if(_0x357ff0[_0xd5c0('0x10')]){_0x357ff0[_0xd5c0('0x12')]['push']({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':_0x357ff0[_0xd5c0('0x10')][_0xd5c0('0x1d')]?_0xd5c0('0x20')+_0x357ff0[_0xd5c0('0x10')]['cutdigits']+'}':_0xd5c0('0x21'),'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});}_0x357ff0[_0xd5c0('0x12')]['push']({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':_0xd5c0('0x22')+_0x2e170c[_0x3c8912][0x0]['VoiceExtensionId'],'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0]['exten'],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0]['VoiceExtensionId']});if(_0x357ff0['extension']&&_0x357ff0['extension'][_0xd5c0('0xe')](_0xd5c0('0x23'))&&_0x357ff0[_0xd5c0('0x10')][_0xd5c0('0x23')]!=='none'){_0x357ff0[_0xd5c0('0x12')][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});_0x357ff0[_0xd5c0('0x12')][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':'Set','appdata':_0xd5c0('0x24')+_0x357ff0[_0xd5c0('0x10')][_0xd5c0('0x23')]||'wav','context':_0x2e170c[_0x3c8912][0x0]['context'],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});}}_0x357ff0['extensions']['push']({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':'Set','appdata':_0xd5c0('0x25'),'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});_0x357ff0[_0xd5c0('0x12')][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':_0xd5c0('0x26'),'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x357ff0[_0xd5c0('0xf')]++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});_0x357ff0[_0xd5c0('0x12')][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':_0xd5c0('0x27'),'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'priority':_0x357ff0['priority']++,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]});for(var _0x3ceabd=0x0,_0x3f918d=0x0;_0x3ceabd<_0x2e170c[_0x3c8912][_0xd5c0('0x28')];_0x3ceabd+=0x1,_0x3f918d=0x0){var _0x28c72c=_0x2e170c[_0x3c8912][_0x3ceabd];if(_0x28c72c['type']){_0x28c72c[_0xd5c0('0x13')]=_0x28c72c[_0xd5c0('0x13')][_0xd5c0('0x29')]();}var _0x5b20ed=[];var _0x15f404=[];delete _0x28c72c['id'];delete _0x28c72c[_0xd5c0('0x2a')];delete _0x28c72c[_0xd5c0('0x2b')];var _0x4396e9=_0x28c72c[_0xd5c0('0x2c')]!==_0xd5c0('0x2d')?[_0x28c72c[_0xd5c0('0x2c')]]:_0x28c72c['IntervalId']?_['map'](_[_0xd5c0('0xa')](_0x357ff0[_0xd5c0('0x2e')],{'IntervalId':_0x28c72c[_0xd5c0('0x7')]}),'interval'):[];if(_0x28c72c[_0xd5c0('0xe')](_0xd5c0('0x2f'))){if(_0x28c72c[_0xd5c0('0x2f')]&&_0x28c72c[_0xd5c0('0x2f')]!=='--'){_0x5b20ed[_0xd5c0('0x18')]({'type':_0x28c72c[_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':_0xd5c0('0x30')+_0x28c72c['tag'],'context':_0x28c72c[_0xd5c0('0x1a')],'exten':_0x28c72c[_0xd5c0('0x8')],'priority':_0x4396e9[_0xd5c0('0x28')]+_0x357ff0[_0xd5c0('0xf')]+_0x3f918d++,'VoiceExtensionId':_0x28c72c[_0xd5c0('0x16')]});}}if(_0x28c72c[_0xd5c0('0x13')]===_0xd5c0('0x1b')&&_0x28c72c['hasOwnProperty'](_0xd5c0('0x31'))){if(_0x28c72c[_0xd5c0('0x31')]){_0x5b20ed[_0xd5c0('0x18')]({'type':_0x28c72c[_0xd5c0('0x13')],'app':_0xd5c0('0x1e'),'appdata':_0xd5c0('0x32')+_0x28c72c['callerID']+')','context':_0x28c72c[_0xd5c0('0x1a')],'exten':_0x28c72c['exten'],'priority':_0x4396e9[_0xd5c0('0x28')]+_0x357ff0[_0xd5c0('0xf')]+_0x3f918d++,'VoiceExtensionId':_0x28c72c[_0xd5c0('0x16')]});}else{_0x5b20ed[_0xd5c0('0x18')]({'type':_0x28c72c[_0xd5c0('0x13')],'app':_0xd5c0('0x1e'),'appdata':_0xd5c0('0x33'),'context':_0x28c72c['context'],'exten':_0x28c72c['exten'],'priority':_0x4396e9[_0xd5c0('0x28')]+_0x357ff0[_0xd5c0('0xf')]+_0x3f918d++,'VoiceExtensionId':_0x28c72c[_0xd5c0('0x16')]});}}if(_0x28c72c['hasOwnProperty'](_0xd5c0('0x34'))){if(_0x4aee64[_0xd5c0('0x35')](_0x28c72c[_0xd5c0('0x36')][_0xd5c0('0x29')]())>=0x0&&_0x28c72c[_0xd5c0('0x37')]!==_0xd5c0('0x38')){if(_0x28c72c['answer']){_0x5b20ed[_0xd5c0('0x18')]({'type':_0x28c72c[_0xd5c0('0x13')],'app':_0xd5c0('0x1e'),'appdata':_0xd5c0('0x39'),'context':_0x28c72c[_0xd5c0('0x1a')],'exten':_0x28c72c['exten'],'priority':_0x4396e9['length']+_0x357ff0['priority']+_0x3f918d++,'VoiceExtensionId':_0x28c72c['VoiceExtensionId']});_0x5b20ed['push']({'type':_0x28c72c[_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':_0xd5c0('0x3a'),'context':_0x28c72c[_0xd5c0('0x1a')],'exten':_0x28c72c[_0xd5c0('0x8')],'priority':_0x4396e9[_0xd5c0('0x28')]+_0x357ff0[_0xd5c0('0xf')]+_0x3f918d++,'VoiceExtensionId':_0x28c72c[_0xd5c0('0x16')]});}else{_0x5b20ed['push']({'type':_0x28c72c[_0xd5c0('0x13')],'app':'ExecIf','appdata':_0xd5c0('0x3b'),'context':_0x28c72c['context'],'exten':_0x28c72c[_0xd5c0('0x8')],'priority':_0x4396e9['length']+_0x357ff0[_0xd5c0('0xf')]+_0x3f918d++,'VoiceExtensionId':_0x28c72c['VoiceExtensionId']});_0x5b20ed[_0xd5c0('0x18')]({'type':_0x28c72c[_0xd5c0('0x13')],'app':_0xd5c0('0x14'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x28c72c[_0xd5c0('0x1a')],'exten':_0x28c72c[_0xd5c0('0x8')],'priority':_0x4396e9[_0xd5c0('0x28')]+_0x357ff0[_0xd5c0('0xf')]+_0x3f918d++,'VoiceExtensionId':_0x28c72c[_0xd5c0('0x16')]});}}}for(var _0xef8ebf=0x0;_0xef8ebf<_0x4396e9['length'];_0xef8ebf+=0x1){var _0x544f36=_0x357ff0[_0xd5c0('0xf')]+_0x4396e9[_0xd5c0('0x28')];var _0x483269=_0xef8ebf===_0x4396e9[_0xd5c0('0x28')]-0x1?_0x357ff0[_0xd5c0('0xf')]+_0x5b20ed[_0xd5c0('0x28')]+_0x15f404[_0xd5c0('0x28')]+0x2:_0x357ff0['priority']+_0xef8ebf+0x1;_0x5b20ed[_0xd5c0('0x3c')](_0xef8ebf,0x0,{'type':_0x28c72c[_0xd5c0('0x13')],'app':'GotoIfTime','appdata':_0x4396e9[_0xef8ebf]+'?'+_0x28c72c['context']+_0xd5c0('0x3d')+_0x544f36+':'+_0x28c72c['context']+_0xd5c0('0x3d')+_0x483269,'exten':_0x28c72c[_0xd5c0('0x8')],'context':_0x28c72c[_0xd5c0('0x1a')],'priority':_0x357ff0['priority']+_0xef8ebf,'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0]['VoiceExtensionId']});}_0x28c72c[_0xd5c0('0xf')]=_0x5b20ed[_0xd5c0('0x28')]?_[_0xd5c0('0x3e')](_0x5b20ed)[_0xd5c0('0xf')]+0x1:_0x357ff0[_0xd5c0('0xf')];_0x357ff0[_0xd5c0('0xf')]=(_0x15f404[_0xd5c0('0x28')]?_['last'](_0x15f404)[_0xd5c0('0xf')]:_0x28c72c[_0xd5c0('0xf')])+0x1;_0x357ff0[_0xd5c0('0x12')]=_[_0xd5c0('0x3f')](_0x357ff0[_0xd5c0('0x12')],_0x5b20ed,[_0x28c72c],_0x15f404);}_0x357ff0[_0xd5c0('0x12')][_0xd5c0('0x18')]({'type':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x13')],'app':'Hangup','exten':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x8')],'context':_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x1a')],'priority':_0x357ff0[_0xd5c0('0xf')],'VoiceExtensionId':_0x2e170c[_0x3c8912][0x0]['VoiceExtensionId']});_0xec8765[_0xd5c0('0x18')](_0x2e170c[_0x3c8912][0x0][_0xd5c0('0x16')]);_0x24972d=_[_0xd5c0('0x3f')](_0x24972d,_0x357ff0[_0xd5c0('0x12')]);}}return _0x25d413[_0xd5c0('0x40')](function(_0x16a3c4){return _0x25d413[_0xd5c0('0x2')][_0xd5c0('0x6')][_0xd5c0('0x41')]({'where':{'VoiceExtensionId':{'$in':_0xec8765}},'transaction':_0x16a3c4})[_0xd5c0('0x5')](function(_0x216383){return _0x25d413['models'][_0xd5c0('0x6')][_0xd5c0('0x42')](_[_0xd5c0('0x43')](_0x24972d,_0xd5c0('0xf')),{'transaction':_0x16a3c4});});});})[_0xd5c0('0x44')](function(_0x23583a){console['error'](_0x23583a);});}exports['rewrite']=rewrite;