Built motion from commit (unavailable).|2.4.4
[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 _0xdc3c=['outbound','extension','CDR(destination)=','${EXTEN:','cutdigits','${EXTEN}','context','push','ExecIf','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','createdAt','updatedAt','interval','intervals','tag','CDR(tag)=','callerID','length','indexOf','app','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime','last','concat','Hangup','transaction','destroy','sortBy','error','rewrite','models','findAll','VoiceExtension','IntervalId','then','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','playback','hasOwnProperty','find','extensions','type','Set','format','priority','VoiceExtensionId'];(function(_0x77773a,_0x5a7026){var _0x1091a2=function(_0x276af5){while(--_0x276af5){_0x77773a['push'](_0x77773a['shift']());}};_0x1091a2(++_0x5a7026);}(_0xdc3c,0x1bb));var _0xcdc3=function(_0xf4e57,_0x5a1d8d){_0xf4e57=_0xf4e57-0x0;var _0x249b84=_0xdc3c[_0xf4e57];return _0x249b84;};'use strict';var _=require('lodash');var util=require('util');function rewrite(_0x5f42ae,_0xdcd91){var _0x1045e8=this;return _0x5f42ae[_0xcdc3('0x0')]['Interval'][_0xcdc3('0x1')]({'raw':!![]})['then'](function(_0x1141fa){_0x1045e8['intervals']=_0x1141fa;return _0x5f42ae[_0xcdc3('0x0')][_0xcdc3('0x2')][_0xcdc3('0x1')]({'where':{'IntervalId':_0xdcd91[_0xcdc3('0x3')]},'raw':!![]});})[_0xcdc3('0x4')](function(_0x4444ab){return _0x5f42ae[_0xcdc3('0x0')][_0xcdc3('0x2')][_0xcdc3('0x1')]({'where':{'exten':{'$in':_['uniq'](_[_0xcdc3('0x5')](_0x4444ab,_0xcdc3('0x6')))}},'order':[{'raw':_0xcdc3('0x7')}],'raw':!![]});})[_0xcdc3('0x4')](function(_0x393165){var _0x433b9c=_[_0xcdc3('0x8')](_0x393165,{'priority':'1'});var _0x1a0465=_[_0xcdc3('0x8')](_0x393165,{'isApp':0x1});var _0x43cb33=_[_0xcdc3('0x9')](_0x1a0465,_0xcdc3('0x6'));var _0x197cca=['queue',_0xcdc3('0xa')];var _0x17086d=[];var _0x1bdf8c=[];for(var _0xe3e42c in _0x43cb33){if(_0x43cb33[_0xcdc3('0xb')](_0xe3e42c)){_0x1045e8['priority']=0x2;_0x1045e8['extensions']=[];_0x1045e8['extension']=_[_0xcdc3('0xc')](_0x433b9c,{'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')]});_0x1045e8[_0xcdc3('0xd')]['push']({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':util[_0xcdc3('0x10')]('CDR(type)=%s',_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')]),'context':_0x43cb33[_0xe3e42c][0x0]['context'],'exten':_0x43cb33[_0xe3e42c][0x0]['exten'],'priority':_0x1045e8[_0xcdc3('0x11')]++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});if(_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')]===_0xcdc3('0x13')){if(_0x1045e8[_0xcdc3('0x14')]){_0x1045e8['extensions']['push']({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':_0xcdc3('0x15')+(_0x1045e8['extension']['cutdigits']?_0xcdc3('0x16')+_0x1045e8[_0xcdc3('0x14')][_0xcdc3('0x17')]+'}':_0xcdc3('0x18')),'context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8[_0xcdc3('0x11')]++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});}_0x1045e8['extensions'][_0xcdc3('0x1a')]({'type':_0x43cb33[_0xe3e42c][0x0]['type'],'app':_0xcdc3('0xf'),'appdata':'CDR(routeid)='+_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')],'context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8['priority']++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});var _0x2f9143=_0x1045e8['priority']++;_0x1045e8[_0xcdc3('0xd')]['push']({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':_0xcdc3('0x1b'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x2f9143+0x2)+_0xcdc3('0x1c')+(_0x2f9143+0x1)+')','context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x2f9143,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});if(_0x1045e8[_0xcdc3('0x14')]){_0x1045e8[_0xcdc3('0xd')]['push']({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':_0x1045e8[_0xcdc3('0x14')]['cutdigits']?_0xcdc3('0x1d')+_0x1045e8[_0xcdc3('0x14')][_0xcdc3('0x17')]+'}':_0xcdc3('0x1e'),'context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8[_0xcdc3('0x11')]++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});}_0x1045e8[_0xcdc3('0xd')][_0xcdc3('0x1a')]({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':_0xcdc3('0x1f')+_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')],'context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8['priority']++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});if(_0x1045e8[_0xcdc3('0x14')]&&_0x1045e8[_0xcdc3('0x14')][_0xcdc3('0xb')](_0xcdc3('0x20'))&&_0x1045e8[_0xcdc3('0x14')][_0xcdc3('0x20')]!==_0xcdc3('0x21')){_0x1045e8[_0xcdc3('0xd')]['push']({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':_0xcdc3('0x22'),'context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8[_0xcdc3('0x11')]++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});_0x1045e8[_0xcdc3('0xd')][_0xcdc3('0x1a')]({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':_0xcdc3('0x23')+_0x1045e8['extension'][_0xcdc3('0x20')]||_0xcdc3('0x24'),'context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8[_0xcdc3('0x11')]++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});}}_0x1045e8[_0xcdc3('0xd')][_0xcdc3('0x1a')]({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':'Set','appdata':'XCALLY-MOTION-ANSWER=0','context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8[_0xcdc3('0x11')]++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});_0x1045e8[_0xcdc3('0xd')][_0xcdc3('0x1a')]({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':'Set','appdata':_0xcdc3('0x25'),'context':_0x43cb33[_0xe3e42c][0x0]['context'],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8[_0xcdc3('0x11')]++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});_0x1045e8['extensions']['push']({'type':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':_0xcdc3('0x26'),'context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'exten':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x6')],'priority':_0x1045e8[_0xcdc3('0x11')]++,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0]['VoiceExtensionId']});for(var _0xaad5c4=0x0,_0x2fbc1b=0x0;_0xaad5c4<_0x43cb33[_0xe3e42c]['length'];_0xaad5c4+=0x1,_0x2fbc1b=0x0){var _0x28470d=_0x43cb33[_0xe3e42c][_0xaad5c4];if(_0x28470d[_0xcdc3('0xe')]){_0x28470d[_0xcdc3('0xe')]=_0x28470d[_0xcdc3('0xe')][_0xcdc3('0x27')]();}var _0x52f2f2=[];var _0x47a811=[];delete _0x28470d['id'];delete _0x28470d[_0xcdc3('0x28')];delete _0x28470d[_0xcdc3('0x29')];var _0x4abb7f=_0x28470d[_0xcdc3('0x2a')]!=='*,*,*,*'?[_0x28470d[_0xcdc3('0x2a')]]:_0x28470d[_0xcdc3('0x3')]?_[_0xcdc3('0x5')](_[_0xcdc3('0x8')](_0x1045e8[_0xcdc3('0x2b')],{'IntervalId':_0x28470d[_0xcdc3('0x3')]}),_0xcdc3('0x2a')):[];if(_0x28470d[_0xcdc3('0xb')](_0xcdc3('0x2c'))){if(_0x28470d[_0xcdc3('0x2c')]&&_0x28470d[_0xcdc3('0x2c')]!=='--'){_0x52f2f2[_0xcdc3('0x1a')]({'type':_0x28470d['type'],'app':_0xcdc3('0xf'),'appdata':_0xcdc3('0x2d')+_0x28470d[_0xcdc3('0x2c')],'context':_0x28470d[_0xcdc3('0x19')],'exten':_0x28470d[_0xcdc3('0x6')],'priority':_0x4abb7f['length']+_0x1045e8['priority']+_0x2fbc1b++,'VoiceExtensionId':_0x28470d[_0xcdc3('0x12')]});}}if(_0x28470d[_0xcdc3('0xe')]===_0xcdc3('0x13')&&_0x28470d[_0xcdc3('0xb')](_0xcdc3('0x2e'))){if(_0x28470d[_0xcdc3('0x2e')]){_0x52f2f2['push']({'type':_0x28470d[_0xcdc3('0xe')],'app':_0xcdc3('0x1b'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x28470d[_0xcdc3('0x2e')]+')','context':_0x28470d[_0xcdc3('0x19')],'exten':_0x28470d['exten'],'priority':_0x4abb7f[_0xcdc3('0x2f')]+_0x1045e8['priority']+_0x2fbc1b++,'VoiceExtensionId':_0x28470d['VoiceExtensionId']});}else{_0x52f2f2[_0xcdc3('0x1a')]({'type':_0x28470d[_0xcdc3('0xe')],'app':_0xcdc3('0x1b'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x28470d[_0xcdc3('0x19')],'exten':_0x28470d[_0xcdc3('0x6')],'priority':_0x4abb7f[_0xcdc3('0x2f')]+_0x1045e8[_0xcdc3('0x11')]+_0x2fbc1b++,'VoiceExtensionId':_0x28470d[_0xcdc3('0x12')]});}}if(_0x28470d[_0xcdc3('0xb')]('answer')){if(_0x197cca[_0xcdc3('0x30')](_0x28470d[_0xcdc3('0x31')]['toLowerCase']())>=0x0&&_0x28470d[_0xcdc3('0x32')]!==_0xcdc3('0x33')){if(_0x28470d['answer']){_0x52f2f2[_0xcdc3('0x1a')]({'type':_0x28470d[_0xcdc3('0xe')],'app':_0xcdc3('0x1b'),'appdata':_0xcdc3('0x34'),'context':_0x28470d[_0xcdc3('0x19')],'exten':_0x28470d[_0xcdc3('0x6')],'priority':_0x4abb7f[_0xcdc3('0x2f')]+_0x1045e8[_0xcdc3('0x11')]+_0x2fbc1b++,'VoiceExtensionId':_0x28470d[_0xcdc3('0x12')]});_0x52f2f2['push']({'type':_0x28470d[_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':_0xcdc3('0x35'),'context':_0x28470d[_0xcdc3('0x19')],'exten':_0x28470d[_0xcdc3('0x6')],'priority':_0x4abb7f['length']+_0x1045e8['priority']+_0x2fbc1b++,'VoiceExtensionId':_0x28470d[_0xcdc3('0x12')]});}else{_0x52f2f2[_0xcdc3('0x1a')]({'type':_0x28470d['type'],'app':_0xcdc3('0x1b'),'appdata':_0xcdc3('0x36'),'context':_0x28470d[_0xcdc3('0x19')],'exten':_0x28470d[_0xcdc3('0x6')],'priority':_0x4abb7f[_0xcdc3('0x2f')]+_0x1045e8[_0xcdc3('0x11')]+_0x2fbc1b++,'VoiceExtensionId':_0x28470d[_0xcdc3('0x12')]});_0x52f2f2[_0xcdc3('0x1a')]({'type':_0x28470d[_0xcdc3('0xe')],'app':_0xcdc3('0xf'),'appdata':_0xcdc3('0x37'),'context':_0x28470d[_0xcdc3('0x19')],'exten':_0x28470d[_0xcdc3('0x6')],'priority':_0x4abb7f[_0xcdc3('0x2f')]+_0x1045e8[_0xcdc3('0x11')]+_0x2fbc1b++,'VoiceExtensionId':_0x28470d[_0xcdc3('0x12')]});}}}for(var _0x23169d=0x0;_0x23169d<_0x4abb7f[_0xcdc3('0x2f')];_0x23169d+=0x1){var _0x3d5097=_0x1045e8[_0xcdc3('0x11')]+_0x4abb7f['length'];var _0x2efdff=_0x23169d===_0x4abb7f[_0xcdc3('0x2f')]-0x1?_0x1045e8['priority']+_0x52f2f2[_0xcdc3('0x2f')]+_0x47a811['length']+0x2:_0x1045e8[_0xcdc3('0x11')]+_0x23169d+0x1;_0x52f2f2[_0xcdc3('0x38')](_0x23169d,0x0,{'type':_0x28470d['type'],'app':_0xcdc3('0x39'),'appdata':_0x4abb7f[_0x23169d]+'?'+_0x28470d[_0xcdc3('0x19')]+',${EXTEN},'+_0x3d5097+':'+_0x28470d[_0xcdc3('0x19')]+',${EXTEN},'+_0x2efdff,'exten':_0x28470d[_0xcdc3('0x6')],'context':_0x28470d[_0xcdc3('0x19')],'priority':_0x1045e8[_0xcdc3('0x11')]+_0x23169d,'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});}_0x28470d[_0xcdc3('0x11')]=_0x52f2f2[_0xcdc3('0x2f')]?_[_0xcdc3('0x3a')](_0x52f2f2)[_0xcdc3('0x11')]+0x1:_0x1045e8[_0xcdc3('0x11')];_0x1045e8[_0xcdc3('0x11')]=(_0x47a811[_0xcdc3('0x2f')]?_[_0xcdc3('0x3a')](_0x47a811)[_0xcdc3('0x11')]:_0x28470d[_0xcdc3('0x11')])+0x1;_0x1045e8[_0xcdc3('0xd')]=_[_0xcdc3('0x3b')](_0x1045e8[_0xcdc3('0xd')],_0x52f2f2,[_0x28470d],_0x47a811);}_0x1045e8[_0xcdc3('0xd')][_0xcdc3('0x1a')]({'type':_0x43cb33[_0xe3e42c][0x0]['type'],'app':_0xcdc3('0x3c'),'exten':_0x43cb33[_0xe3e42c][0x0]['exten'],'context':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x19')],'priority':_0x1045e8[_0xcdc3('0x11')],'VoiceExtensionId':_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]});_0x17086d[_0xcdc3('0x1a')](_0x43cb33[_0xe3e42c][0x0][_0xcdc3('0x12')]);_0x1bdf8c=_[_0xcdc3('0x3b')](_0x1bdf8c,_0x1045e8['extensions']);}}return _0x5f42ae[_0xcdc3('0x3d')](function(_0x1c138f){return _0x5f42ae[_0xcdc3('0x0')][_0xcdc3('0x2')][_0xcdc3('0x3e')]({'where':{'VoiceExtensionId':{'$in':_0x17086d}},'transaction':_0x1c138f})[_0xcdc3('0x4')](function(_0x395200){return _0x5f42ae[_0xcdc3('0x0')][_0xcdc3('0x2')]['bulkCreate'](_[_0xcdc3('0x3f')](_0x1bdf8c,_0xcdc3('0x11')),{'transaction':_0x1c138f});});});})['catch'](function(_0x3a713f){console[_0xcdc3('0x40')](_0x3a713f);});}exports[_0xcdc3('0x41')]=rewrite;