d18537140c80c25b8339ac67809ccdb42c5b3498
[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 _0xfa20=['${EXTEN}','CDR(routeid)=','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','length','toLowerCase','createdAt','updatedAt','interval','IntervalId','hasOwnProperty','tag','CDR(tag)=','callerID','ExecIf','$[${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)','indexOf','appType','custom','answer','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','bulkCreate','sortBy','error','rewrite','lodash','util','models','Interval','findAll','then','intervals','VoiceExtension','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','playback','extensions','extension','find','push','type','Set','CDR(type)=%s','context','priority','VoiceExtensionId','outbound','CDR(destination)=','cutdigits','${EXTEN:'];(function(_0x4243a3,_0x447337){var _0x1b2a33=function(_0x6a8200){while(--_0x6a8200){_0x4243a3['push'](_0x4243a3['shift']());}};_0x1b2a33(++_0x447337);}(_0xfa20,0x141));var _0x0fa2=function(_0x515cc0,_0x248d5c){_0x515cc0=_0x515cc0-0x0;var _0x59e40e=_0xfa20[_0x515cc0];return _0x59e40e;};'use strict';var _=require(_0x0fa2('0x0'));var util=require(_0x0fa2('0x1'));function rewrite(_0xe7fb6a,_0x105015){var _0x22096a=this;return _0xe7fb6a[_0x0fa2('0x2')][_0x0fa2('0x3')][_0x0fa2('0x4')]({'raw':!![]})[_0x0fa2('0x5')](function(_0x30f4e1){_0x22096a[_0x0fa2('0x6')]=_0x30f4e1;return _0xe7fb6a['models'][_0x0fa2('0x7')][_0x0fa2('0x4')]({'where':{'IntervalId':_0x105015['IntervalId']},'raw':!![]});})[_0x0fa2('0x5')](function(_0x3fde44){return _0xe7fb6a[_0x0fa2('0x2')][_0x0fa2('0x7')][_0x0fa2('0x4')]({'where':{'exten':{'$in':_[_0x0fa2('0x8')](_[_0x0fa2('0x9')](_0x3fde44,_0x0fa2('0xa')))}},'order':[{'raw':_0x0fa2('0xb')}],'raw':!![]});})[_0x0fa2('0x5')](function(_0x5c59dc){var _0xd34dd5=_[_0x0fa2('0xc')](_0x5c59dc,{'priority':'1'});var _0x4469e0=_[_0x0fa2('0xc')](_0x5c59dc,{'isApp':0x1});var _0x46c980=_[_0x0fa2('0xd')](_0x4469e0,_0x0fa2('0xa'));var _0x15a25c=['queue',_0x0fa2('0xe')];var _0x5bdd10=[];var _0x1a4ff1=[];for(var _0x51b0c8 in _0x46c980){if(_0x46c980['hasOwnProperty'](_0x51b0c8)){_0x22096a['priority']=0x2;_0x22096a[_0x0fa2('0xf')]=[];_0x22096a[_0x0fa2('0x10')]=_[_0x0fa2('0x11')](_0xd34dd5,{'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')]});_0x22096a[_0x0fa2('0xf')][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')],'app':_0x0fa2('0x14'),'appdata':util['format'](_0x0fa2('0x15'),_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')]),'context':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x16')],'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'priority':_0x22096a[_0x0fa2('0x17')]++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x18')]});if(_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')]===_0x0fa2('0x19')){if(_0x22096a[_0x0fa2('0x10')]){_0x22096a[_0x0fa2('0xf')]['push']({'type':_0x46c980[_0x51b0c8][0x0]['type'],'app':_0x0fa2('0x14'),'appdata':_0x0fa2('0x1a')+(_0x22096a['extension'][_0x0fa2('0x1b')]?_0x0fa2('0x1c')+_0x22096a[_0x0fa2('0x10')]['cutdigits']+'}':_0x0fa2('0x1d')),'context':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x16')],'exten':_0x46c980[_0x51b0c8][0x0]['exten'],'priority':_0x22096a[_0x0fa2('0x17')]++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0]['VoiceExtensionId']});}_0x22096a[_0x0fa2('0xf')][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')],'app':_0x0fa2('0x14'),'appdata':_0x0fa2('0x1e')+_0x46c980[_0x51b0c8][0x0]['VoiceExtensionId'],'context':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x16')],'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'priority':_0x22096a[_0x0fa2('0x17')]++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x18')]});var _0x16b313=_0x22096a[_0x0fa2('0x17')]++;_0x22096a[_0x0fa2('0xf')]['push']({'type':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')],'app':'ExecIf','appdata':_0x0fa2('0x1f')+(_0x16b313+0x2)+'):Goto('+(_0x16b313+0x1)+')','context':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x16')],'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'priority':_0x16b313,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x18')]});if(_0x22096a[_0x0fa2('0x10')]){_0x22096a[_0x0fa2('0xf')][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0]['type'],'app':_0x0fa2('0x14'),'appdata':_0x22096a['extension']['cutdigits']?_0x0fa2('0x20')+_0x22096a[_0x0fa2('0x10')][_0x0fa2('0x1b')]+'}':'CDR(prefix)=noprefix','context':_0x46c980[_0x51b0c8][0x0]['context'],'exten':_0x46c980[_0x51b0c8][0x0]['exten'],'priority':_0x22096a['priority']++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0]['VoiceExtensionId']});}_0x22096a[_0x0fa2('0xf')][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')],'app':_0x0fa2('0x14'),'appdata':'outboundrouteid='+_0x46c980[_0x51b0c8][0x0]['VoiceExtensionId'],'context':_0x46c980[_0x51b0c8][0x0]['context'],'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'priority':_0x22096a['priority']++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x18')]});if(_0x22096a[_0x0fa2('0x10')]&&_0x22096a[_0x0fa2('0x10')]['hasOwnProperty']('recordingFormat')&&_0x22096a[_0x0fa2('0x10')][_0x0fa2('0x21')]!==_0x0fa2('0x22')){_0x22096a[_0x0fa2('0xf')][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')],'app':_0x0fa2('0x14'),'appdata':_0x0fa2('0x23'),'context':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x16')],'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'priority':_0x22096a[_0x0fa2('0x17')]++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x18')]});_0x22096a[_0x0fa2('0xf')][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')],'app':_0x0fa2('0x14'),'appdata':_0x0fa2('0x24')+_0x22096a[_0x0fa2('0x10')]['recordingFormat']||'wav','context':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x16')],'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'priority':_0x22096a[_0x0fa2('0x17')]++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x18')]});}}_0x22096a[_0x0fa2('0xf')][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0]['type'],'app':_0x0fa2('0x14'),'appdata':_0x0fa2('0x25'),'context':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x16')],'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'priority':_0x22096a[_0x0fa2('0x17')]++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0]['VoiceExtensionId']});_0x22096a[_0x0fa2('0xf')][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0]['type'],'app':_0x0fa2('0x14'),'appdata':_0x0fa2('0x26'),'context':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x16')],'exten':_0x46c980[_0x51b0c8][0x0]['exten'],'priority':_0x22096a['priority']++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0]['VoiceExtensionId']});_0x22096a['extensions'][_0x0fa2('0x12')]({'type':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')],'app':_0x0fa2('0x14'),'appdata':'MONITOR_OPTIONS=ab','context':_0x46c980[_0x51b0c8][0x0]['context'],'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'priority':_0x22096a[_0x0fa2('0x17')]++,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x18')]});for(var _0x54a946=0x0,_0x233700=0x0;_0x54a946<_0x46c980[_0x51b0c8][_0x0fa2('0x27')];_0x54a946+=0x1,_0x233700=0x0){var _0x16210b=_0x46c980[_0x51b0c8][_0x54a946];if(_0x16210b['type']){_0x16210b[_0x0fa2('0x13')]=_0x16210b['type'][_0x0fa2('0x28')]();}var _0x5c4324=[];var _0x580878=[];delete _0x16210b['id'];delete _0x16210b[_0x0fa2('0x29')];delete _0x16210b[_0x0fa2('0x2a')];var _0x16815c=_0x16210b[_0x0fa2('0x2b')]!=='*,*,*,*'?[_0x16210b['interval']]:_0x16210b[_0x0fa2('0x2c')]?_['map'](_[_0x0fa2('0xc')](_0x22096a[_0x0fa2('0x6')],{'IntervalId':_0x16210b['IntervalId']}),_0x0fa2('0x2b')):[];if(_0x16210b[_0x0fa2('0x2d')](_0x0fa2('0x2e'))){if(_0x16210b[_0x0fa2('0x2e')]&&_0x16210b['tag']!=='--'){_0x5c4324['push']({'type':_0x16210b[_0x0fa2('0x13')],'app':'Set','appdata':_0x0fa2('0x2f')+_0x16210b[_0x0fa2('0x2e')],'context':_0x16210b[_0x0fa2('0x16')],'exten':_0x16210b['exten'],'priority':_0x16815c[_0x0fa2('0x27')]+_0x22096a[_0x0fa2('0x17')]+_0x233700++,'VoiceExtensionId':_0x16210b[_0x0fa2('0x18')]});}}if(_0x16210b[_0x0fa2('0x13')]===_0x0fa2('0x19')&&_0x16210b[_0x0fa2('0x2d')](_0x0fa2('0x30'))){if(_0x16210b[_0x0fa2('0x30')]){_0x5c4324[_0x0fa2('0x12')]({'type':_0x16210b['type'],'app':_0x0fa2('0x31'),'appdata':_0x0fa2('0x32')+_0x16210b[_0x0fa2('0x30')]+')','context':_0x16210b['context'],'exten':_0x16210b[_0x0fa2('0xa')],'priority':_0x16815c[_0x0fa2('0x27')]+_0x22096a['priority']+_0x233700++,'VoiceExtensionId':_0x16210b[_0x0fa2('0x18')]});}else{_0x5c4324['push']({'type':_0x16210b[_0x0fa2('0x13')],'app':_0x0fa2('0x31'),'appdata':_0x0fa2('0x33'),'context':_0x16210b[_0x0fa2('0x16')],'exten':_0x16210b[_0x0fa2('0xa')],'priority':_0x16815c[_0x0fa2('0x27')]+_0x22096a[_0x0fa2('0x17')]+_0x233700++,'VoiceExtensionId':_0x16210b[_0x0fa2('0x18')]});}}if(_0x16210b[_0x0fa2('0x2d')]('answer')){if(_0x15a25c[_0x0fa2('0x34')](_0x16210b['app'][_0x0fa2('0x28')]())>=0x0&&_0x16210b[_0x0fa2('0x35')]!==_0x0fa2('0x36')){if(_0x16210b[_0x0fa2('0x37')]){_0x5c4324[_0x0fa2('0x12')]({'type':_0x16210b['type'],'app':'ExecIf','appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x16210b[_0x0fa2('0x16')],'exten':_0x16210b[_0x0fa2('0xa')],'priority':_0x16815c['length']+_0x22096a['priority']+_0x233700++,'VoiceExtensionId':_0x16210b[_0x0fa2('0x18')]});_0x5c4324['push']({'type':_0x16210b[_0x0fa2('0x13')],'app':_0x0fa2('0x14'),'appdata':'XCALLY-MOTION-ANSWER=1','context':_0x16210b[_0x0fa2('0x16')],'exten':_0x16210b[_0x0fa2('0xa')],'priority':_0x16815c[_0x0fa2('0x27')]+_0x22096a[_0x0fa2('0x17')]+_0x233700++,'VoiceExtensionId':_0x16210b[_0x0fa2('0x18')]});}else{_0x5c4324[_0x0fa2('0x12')]({'type':_0x16210b[_0x0fa2('0x13')],'app':_0x0fa2('0x31'),'appdata':_0x0fa2('0x38'),'context':_0x16210b[_0x0fa2('0x16')],'exten':_0x16210b['exten'],'priority':_0x16815c[_0x0fa2('0x27')]+_0x22096a[_0x0fa2('0x17')]+_0x233700++,'VoiceExtensionId':_0x16210b[_0x0fa2('0x18')]});_0x5c4324[_0x0fa2('0x12')]({'type':_0x16210b[_0x0fa2('0x13')],'app':_0x0fa2('0x14'),'appdata':_0x0fa2('0x39'),'context':_0x16210b[_0x0fa2('0x16')],'exten':_0x16210b['exten'],'priority':_0x16815c[_0x0fa2('0x27')]+_0x22096a['priority']+_0x233700++,'VoiceExtensionId':_0x16210b[_0x0fa2('0x18')]});}}}for(var _0x33fe17=0x0;_0x33fe17<_0x16815c[_0x0fa2('0x27')];_0x33fe17+=0x1){var _0xd2c3ed=_0x22096a[_0x0fa2('0x17')]+_0x16815c['length'];var _0x2483cc=_0x33fe17===_0x16815c['length']-0x1?_0x22096a[_0x0fa2('0x17')]+_0x5c4324[_0x0fa2('0x27')]+_0x580878[_0x0fa2('0x27')]+0x2:_0x22096a[_0x0fa2('0x17')]+_0x33fe17+0x1;_0x5c4324[_0x0fa2('0x3a')](_0x33fe17,0x0,{'type':_0x16210b['type'],'app':_0x0fa2('0x3b'),'appdata':_0x16815c[_0x33fe17]+'?'+_0x16210b[_0x0fa2('0x16')]+_0x0fa2('0x3c')+_0xd2c3ed+':'+_0x16210b[_0x0fa2('0x16')]+_0x0fa2('0x3c')+_0x2483cc,'exten':_0x16210b[_0x0fa2('0xa')],'context':_0x16210b['context'],'priority':_0x22096a[_0x0fa2('0x17')]+_0x33fe17,'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x18')]});}_0x16210b[_0x0fa2('0x17')]=_0x5c4324[_0x0fa2('0x27')]?_[_0x0fa2('0x3d')](_0x5c4324)[_0x0fa2('0x17')]+0x1:_0x22096a[_0x0fa2('0x17')];_0x22096a[_0x0fa2('0x17')]=(_0x580878[_0x0fa2('0x27')]?_[_0x0fa2('0x3d')](_0x580878)[_0x0fa2('0x17')]:_0x16210b['priority'])+0x1;_0x22096a['extensions']=_[_0x0fa2('0x3e')](_0x22096a[_0x0fa2('0xf')],_0x5c4324,[_0x16210b],_0x580878);}_0x22096a[_0x0fa2('0xf')]['push']({'type':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0x13')],'app':_0x0fa2('0x3f'),'exten':_0x46c980[_0x51b0c8][0x0][_0x0fa2('0xa')],'context':_0x46c980[_0x51b0c8][0x0]['context'],'priority':_0x22096a[_0x0fa2('0x17')],'VoiceExtensionId':_0x46c980[_0x51b0c8][0x0]['VoiceExtensionId']});_0x5bdd10['push'](_0x46c980[_0x51b0c8][0x0]['VoiceExtensionId']);_0x1a4ff1=_[_0x0fa2('0x3e')](_0x1a4ff1,_0x22096a[_0x0fa2('0xf')]);}}return _0xe7fb6a[_0x0fa2('0x40')](function(_0x47687d){return _0xe7fb6a['models'][_0x0fa2('0x7')][_0x0fa2('0x41')]({'where':{'VoiceExtensionId':{'$in':_0x5bdd10}},'transaction':_0x47687d})[_0x0fa2('0x5')](function(_0xcb45ee){return _0xe7fb6a['models'][_0x0fa2('0x7')][_0x0fa2('0x42')](_[_0x0fa2('0x43')](_0x1a4ff1,_0x0fa2('0x17')),{'transaction':_0x47687d});});});})['catch'](function(_0x274d85){console[_0x0fa2('0x44')](_0x274d85);});}exports[_0x0fa2('0x45')]=rewrite;