aa07e2ce7f17831002bbe895fb88e435e5ca1119
[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 _0x5b38=['outbound','CDR(destination)=','cutdigits','${EXTEN}','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-PROGRESS=0','length','createdAt','updatedAt','interval','intervals','tag','CDR(tag)=','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','app','toLowerCase','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','GotoIfTime',',${EXTEN},','last','Hangup','concat','transaction','destroy','bulkCreate','sortBy','catch','rewrite','lodash','util','models','Interval','findAll','then','VoiceExtension','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','queue','hasOwnProperty','priority','extensions','extension','find','push','type','Set','format','context','inbound','CDR(routeid)=','VoiceExtensionId'];(function(_0x3ea913,_0x255df2){var _0x2b4f28=function(_0x48bb25){while(--_0x48bb25){_0x3ea913['push'](_0x3ea913['shift']());}};_0x2b4f28(++_0x255df2);}(_0x5b38,0x106));var _0x85b3=function(_0x3635ce,_0x33a6f9){_0x3635ce=_0x3635ce-0x0;var _0x97ecd0=_0x5b38[_0x3635ce];return _0x97ecd0;};'use strict';var _=require(_0x85b3('0x0'));var util=require(_0x85b3('0x1'));function rewrite(_0x136fec,_0x56d224){var _0x355f4b=this;return _0x136fec[_0x85b3('0x2')][_0x85b3('0x3')][_0x85b3('0x4')]({'raw':!![]})[_0x85b3('0x5')](function(_0x4fc687){_0x355f4b['intervals']=_0x4fc687;return _0x136fec[_0x85b3('0x2')][_0x85b3('0x6')][_0x85b3('0x4')]({'where':{'IntervalId':_0x56d224[_0x85b3('0x7')]},'raw':!![]});})[_0x85b3('0x5')](function(_0x3f923d){return _0x136fec['models']['VoiceExtension']['findAll']({'where':{'exten':{'$in':_[_0x85b3('0x8')](_[_0x85b3('0x9')](_0x3f923d,_0x85b3('0xa')))}},'order':[{'raw':_0x85b3('0xb')}],'raw':!![]});})[_0x85b3('0x5')](function(_0x1e03cb){var _0x48aeee=_['filter'](_0x1e03cb,{'priority':'1'});var _0x1f9143=_['filter'](_0x1e03cb,{'isApp':0x1});var _0x57d7d3=_['groupBy'](_0x1f9143,'exten');var _0x123d78=[_0x85b3('0xc'),'playback'];var _0x529f00=[];var _0x20d9a5=[];for(var _0x38c244 in _0x57d7d3){if(_0x57d7d3[_0x85b3('0xd')](_0x38c244)){_0x355f4b[_0x85b3('0xe')]=0x2;_0x355f4b[_0x85b3('0xf')]=[];_0x355f4b[_0x85b3('0x10')]=_[_0x85b3('0x11')](_0x48aeee,{'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')]});_0x355f4b[_0x85b3('0xf')][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')],'app':_0x85b3('0x14'),'appdata':util[_0x85b3('0x15')]('CDR(type)=%s',_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')]),'context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0]['exten'],'priority':_0x355f4b['priority']++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0]['VoiceExtensionId']});if(_0x57d7d3[_0x38c244][0x0]['type']===_0x85b3('0x17')){_0x355f4b[_0x85b3('0xf')]['push']({'type':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')],'app':'Set','appdata':_0x85b3('0x18')+_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')],'context':_0x57d7d3[_0x38c244][0x0]['context'],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x355f4b['priority']++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});}else if(_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')]===_0x85b3('0x1a')){if(_0x355f4b['extension']){_0x355f4b[_0x85b3('0xf')][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0]['type'],'app':'Set','appdata':_0x85b3('0x1b')+(_0x355f4b[_0x85b3('0x10')][_0x85b3('0x1c')]?'${EXTEN:'+_0x355f4b[_0x85b3('0x10')][_0x85b3('0x1c')]+'}':_0x85b3('0x1d')),'context':_0x57d7d3[_0x38c244][0x0]['context'],'exten':_0x57d7d3[_0x38c244][0x0]['exten'],'priority':_0x355f4b['priority']++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0]['VoiceExtensionId']});}_0x355f4b[_0x85b3('0xf')][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0]['type'],'app':_0x85b3('0x14'),'appdata':_0x85b3('0x18')+_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')],'context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0]['exten'],'priority':_0x355f4b[_0x85b3('0xe')]++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});var _0x5c4953=_0x355f4b[_0x85b3('0xe')]++;_0x355f4b['extensions'][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')],'app':_0x85b3('0x1e'),'appdata':_0x85b3('0x1f')+(_0x5c4953+0x2)+_0x85b3('0x20')+(_0x5c4953+0x1)+')','context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x5c4953,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});if(_0x355f4b[_0x85b3('0x10')]){_0x355f4b[_0x85b3('0xf')][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0]['type'],'app':_0x85b3('0x14'),'appdata':_0x355f4b[_0x85b3('0x10')][_0x85b3('0x1c')]?_0x85b3('0x21')+_0x355f4b[_0x85b3('0x10')][_0x85b3('0x1c')]+'}':_0x85b3('0x22'),'context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x355f4b[_0x85b3('0xe')]++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0]['VoiceExtensionId']});}_0x355f4b[_0x85b3('0xf')][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')],'app':_0x85b3('0x14'),'appdata':_0x85b3('0x23')+_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')],'context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x355f4b[_0x85b3('0xe')]++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});if(_0x355f4b[_0x85b3('0x10')]&&_0x355f4b[_0x85b3('0x10')][_0x85b3('0xd')](_0x85b3('0x24'))&&_0x355f4b[_0x85b3('0x10')]['recordingFormat']!=='none'){_0x355f4b[_0x85b3('0xf')][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')],'app':_0x85b3('0x14'),'appdata':_0x85b3('0x25'),'context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x355f4b[_0x85b3('0xe')]++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});_0x355f4b[_0x85b3('0xf')][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')],'app':_0x85b3('0x14'),'appdata':_0x85b3('0x26')+_0x355f4b[_0x85b3('0x10')][_0x85b3('0x24')]||_0x85b3('0x27'),'context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x355f4b['priority']++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});}}_0x355f4b['extensions'][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0]['type'],'app':'Set','appdata':'XCALLY-MOTION-ANSWER=0','context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x355f4b[_0x85b3('0xe')]++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});_0x355f4b[_0x85b3('0xf')]['push']({'type':_0x57d7d3[_0x38c244][0x0]['type'],'app':_0x85b3('0x14'),'appdata':_0x85b3('0x28'),'context':_0x57d7d3[_0x38c244][0x0]['context'],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x355f4b[_0x85b3('0xe')]++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});_0x355f4b['extensions'][_0x85b3('0x12')]({'type':_0x57d7d3[_0x38c244][0x0]['type'],'app':_0x85b3('0x14'),'appdata':'MONITOR_OPTIONS=ab','context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'priority':_0x355f4b[_0x85b3('0xe')]++,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0]['VoiceExtensionId']});for(var _0x2f5978=0x0,_0x79b693=0x0;_0x2f5978<_0x57d7d3[_0x38c244][_0x85b3('0x29')];_0x2f5978+=0x1,_0x79b693=0x0){var _0x3502e7=_0x57d7d3[_0x38c244][_0x2f5978];if(_0x3502e7[_0x85b3('0x13')]){_0x3502e7[_0x85b3('0x13')]=_0x3502e7[_0x85b3('0x13')]['toLowerCase']();}var _0x4bad5f=[];var _0x52c895=[];delete _0x3502e7['id'];delete _0x3502e7[_0x85b3('0x2a')];delete _0x3502e7[_0x85b3('0x2b')];var _0x390d2f=_0x3502e7[_0x85b3('0x2c')]!=='*,*,*,*'?[_0x3502e7[_0x85b3('0x2c')]]:_0x3502e7[_0x85b3('0x7')]?_[_0x85b3('0x9')](_['filter'](_0x355f4b[_0x85b3('0x2d')],{'IntervalId':_0x3502e7[_0x85b3('0x7')]}),'interval'):[];if(_0x3502e7['hasOwnProperty'](_0x85b3('0x2e'))){if(_0x3502e7[_0x85b3('0x2e')]&&_0x3502e7['tag']!=='--'){_0x4bad5f['push']({'type':_0x3502e7[_0x85b3('0x13')],'app':_0x85b3('0x14'),'appdata':_0x85b3('0x2f')+_0x3502e7['tag'],'context':_0x3502e7['context'],'exten':_0x3502e7[_0x85b3('0xa')],'priority':_0x390d2f['length']+_0x355f4b[_0x85b3('0xe')]+_0x79b693++,'VoiceExtensionId':_0x3502e7[_0x85b3('0x19')]});}}if(_0x3502e7[_0x85b3('0x13')]===_0x85b3('0x1a')&&_0x3502e7['hasOwnProperty']('callerID')){if(_0x3502e7['callerID']){_0x4bad5f['push']({'type':_0x3502e7[_0x85b3('0x13')],'app':_0x85b3('0x1e'),'appdata':_0x85b3('0x30')+_0x3502e7[_0x85b3('0x31')]+')','context':_0x3502e7[_0x85b3('0x16')],'exten':_0x3502e7[_0x85b3('0xa')],'priority':_0x390d2f[_0x85b3('0x29')]+_0x355f4b[_0x85b3('0xe')]+_0x79b693++,'VoiceExtensionId':_0x3502e7['VoiceExtensionId']});}else{_0x4bad5f[_0x85b3('0x12')]({'type':_0x3502e7[_0x85b3('0x13')],'app':'ExecIf','appdata':_0x85b3('0x32'),'context':_0x3502e7[_0x85b3('0x16')],'exten':_0x3502e7[_0x85b3('0xa')],'priority':_0x390d2f[_0x85b3('0x29')]+_0x355f4b[_0x85b3('0xe')]+_0x79b693++,'VoiceExtensionId':_0x3502e7['VoiceExtensionId']});}}if(_0x3502e7['hasOwnProperty'](_0x85b3('0x33'))){if(_0x123d78[_0x85b3('0x34')](_0x3502e7[_0x85b3('0x35')][_0x85b3('0x36')]())>=0x0&&_0x3502e7[_0x85b3('0x37')]!==_0x85b3('0x38')){if(_0x3502e7[_0x85b3('0x33')]){_0x4bad5f[_0x85b3('0x12')]({'type':_0x3502e7[_0x85b3('0x13')],'app':_0x85b3('0x1e'),'appdata':_0x85b3('0x39'),'context':_0x3502e7[_0x85b3('0x16')],'exten':_0x3502e7[_0x85b3('0xa')],'priority':_0x390d2f[_0x85b3('0x29')]+_0x355f4b[_0x85b3('0xe')]+_0x79b693++,'VoiceExtensionId':_0x3502e7[_0x85b3('0x19')]});_0x4bad5f[_0x85b3('0x12')]({'type':_0x3502e7[_0x85b3('0x13')],'app':_0x85b3('0x14'),'appdata':_0x85b3('0x3a'),'context':_0x3502e7['context'],'exten':_0x3502e7[_0x85b3('0xa')],'priority':_0x390d2f[_0x85b3('0x29')]+_0x355f4b['priority']+_0x79b693++,'VoiceExtensionId':_0x3502e7[_0x85b3('0x19')]});}else{_0x4bad5f[_0x85b3('0x12')]({'type':_0x3502e7[_0x85b3('0x13')],'app':_0x85b3('0x1e'),'appdata':_0x85b3('0x3b'),'context':_0x3502e7[_0x85b3('0x16')],'exten':_0x3502e7[_0x85b3('0xa')],'priority':_0x390d2f[_0x85b3('0x29')]+_0x355f4b[_0x85b3('0xe')]+_0x79b693++,'VoiceExtensionId':_0x3502e7[_0x85b3('0x19')]});_0x4bad5f[_0x85b3('0x12')]({'type':_0x3502e7['type'],'app':_0x85b3('0x14'),'appdata':_0x85b3('0x3c'),'context':_0x3502e7[_0x85b3('0x16')],'exten':_0x3502e7[_0x85b3('0xa')],'priority':_0x390d2f[_0x85b3('0x29')]+_0x355f4b[_0x85b3('0xe')]+_0x79b693++,'VoiceExtensionId':_0x3502e7[_0x85b3('0x19')]});}}}for(var _0x4ad8a0=0x0;_0x4ad8a0<_0x390d2f[_0x85b3('0x29')];_0x4ad8a0+=0x1){var _0x58b655=_0x355f4b[_0x85b3('0xe')]+_0x390d2f['length'];var _0x2f5fd9=_0x4ad8a0===_0x390d2f[_0x85b3('0x29')]-0x1?_0x355f4b[_0x85b3('0xe')]+_0x4bad5f[_0x85b3('0x29')]+_0x52c895[_0x85b3('0x29')]+0x2:_0x355f4b[_0x85b3('0xe')]+_0x4ad8a0+0x1;_0x4bad5f['splice'](_0x4ad8a0,0x0,{'type':_0x3502e7['type'],'app':_0x85b3('0x3d'),'appdata':_0x390d2f[_0x4ad8a0]+'?'+_0x3502e7['context']+_0x85b3('0x3e')+_0x58b655+':'+_0x3502e7['context']+',${EXTEN},'+_0x2f5fd9,'exten':_0x3502e7[_0x85b3('0xa')],'context':_0x3502e7[_0x85b3('0x16')],'priority':_0x355f4b['priority']+_0x4ad8a0,'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});}_0x3502e7[_0x85b3('0xe')]=_0x4bad5f[_0x85b3('0x29')]?_['last'](_0x4bad5f)[_0x85b3('0xe')]+0x1:_0x355f4b[_0x85b3('0xe')];_0x355f4b[_0x85b3('0xe')]=(_0x52c895[_0x85b3('0x29')]?_[_0x85b3('0x3f')](_0x52c895)[_0x85b3('0xe')]:_0x3502e7[_0x85b3('0xe')])+0x1;_0x355f4b[_0x85b3('0xf')]=_['concat'](_0x355f4b[_0x85b3('0xf')],_0x4bad5f,[_0x3502e7],_0x52c895);}_0x355f4b['extensions']['push']({'type':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x13')],'app':_0x85b3('0x40'),'exten':_0x57d7d3[_0x38c244][0x0][_0x85b3('0xa')],'context':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x16')],'priority':_0x355f4b[_0x85b3('0xe')],'VoiceExtensionId':_0x57d7d3[_0x38c244][0x0][_0x85b3('0x19')]});_0x529f00[_0x85b3('0x12')](_0x57d7d3[_0x38c244][0x0]['VoiceExtensionId']);_0x20d9a5=_[_0x85b3('0x41')](_0x20d9a5,_0x355f4b['extensions']);}}return _0x136fec[_0x85b3('0x42')](function(_0x3919fd){return _0x136fec[_0x85b3('0x2')][_0x85b3('0x6')][_0x85b3('0x43')]({'where':{'VoiceExtensionId':{'$in':_0x529f00}},'transaction':_0x3919fd})[_0x85b3('0x5')](function(_0x41b1b4){return _0x136fec['models']['VoiceExtension'][_0x85b3('0x44')](_[_0x85b3('0x45')](_0x20d9a5,_0x85b3('0xe')),{'transaction':_0x3919fd});});});})[_0x85b3('0x46')](function(_0x563510){console['error'](_0x563510);});}exports[_0x85b3('0x47')]=rewrite;