34cda15d19e0d166ed58254022672e3c0a1fcdca
[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 _0x574d=['destroy','sortBy','catch','error','rewrite','models','Interval','then','intervals','VoiceExtension','findAll','IntervalId','uniq','exten','filter','groupBy','queue','playback','hasOwnProperty','priority','extension','find','extensions','push','type','Set','context','outbound','cutdigits','${EXTEN:','VoiceExtensionId','CDR(routeid)=','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','toLowerCase','createdAt','interval','*,*,*,*','map','tag','CDR(tag)=','length','callerID','ExecIf','$[${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',',${EXTEN},','last','concat','Hangup','transaction'];(function(_0x6bc5a4,_0x569afa){var _0x4af1c1=function(_0x2da28b){while(--_0x2da28b){_0x6bc5a4['push'](_0x6bc5a4['shift']());}};_0x4af1c1(++_0x569afa);}(_0x574d,0x85));var _0xd574=function(_0x2d2c16,_0x4e88b6){_0x2d2c16=_0x2d2c16-0x0;var _0x53f2fb=_0x574d[_0x2d2c16];return _0x53f2fb;};'use strict';var _=require('lodash');var util=require('util');function rewrite(_0x303705,_0x4dc7f9){var _0x1a92f8=this;return _0x303705[_0xd574('0x0')][_0xd574('0x1')]['findAll']({'raw':!![]})[_0xd574('0x2')](function(_0x421c40){_0x1a92f8[_0xd574('0x3')]=_0x421c40;return _0x303705[_0xd574('0x0')][_0xd574('0x4')][_0xd574('0x5')]({'where':{'IntervalId':_0x4dc7f9[_0xd574('0x6')]},'raw':!![]});})[_0xd574('0x2')](function(_0x3bab7f){return _0x303705[_0xd574('0x0')]['VoiceExtension']['findAll']({'where':{'exten':{'$in':_[_0xd574('0x7')](_['map'](_0x3bab7f,_0xd574('0x8')))}},'order':[{'raw':'CAST(priority\x20AS\x20UNSIGNED)'}],'raw':!![]});})[_0xd574('0x2')](function(_0x116f8a){var _0x8f22f4=_[_0xd574('0x9')](_0x116f8a,{'priority':'1'});var _0x57bf01=_[_0xd574('0x9')](_0x116f8a,{'isApp':0x1});var _0x7e494c=_[_0xd574('0xa')](_0x57bf01,_0xd574('0x8'));var _0x5c33e7=[_0xd574('0xb'),_0xd574('0xc')];var _0x665482=[];var _0xf9c74d=[];for(var _0x49b626 in _0x7e494c){if(_0x7e494c[_0xd574('0xd')](_0x49b626)){_0x1a92f8[_0xd574('0xe')]=0x2;_0x1a92f8['extensions']=[];_0x1a92f8[_0xd574('0xf')]=_[_0xd574('0x10')](_0x8f22f4,{'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')]});_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':util['format']('CDR(type)=%s',_0x7e494c[_0x49b626][0x0]['type']),'context':_0x7e494c[_0x49b626][0x0][_0xd574('0x15')],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8[_0xd574('0xe')]++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0]['VoiceExtensionId']});if(_0x7e494c[_0x49b626][0x0][_0xd574('0x13')]===_0xd574('0x16')){if(_0x1a92f8['extension']){_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':'CDR(destination)='+(_0x1a92f8[_0xd574('0xf')][_0xd574('0x17')]?_0xd574('0x18')+_0x1a92f8[_0xd574('0xf')][_0xd574('0x17')]+'}':'${EXTEN}'),'context':_0x7e494c[_0x49b626][0x0]['context'],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8[_0xd574('0xe')]++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});}_0x1a92f8[_0xd574('0x11')]['push']({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':_0xd574('0x1a')+_0x7e494c[_0x49b626][0x0][_0xd574('0x19')],'context':_0x7e494c[_0x49b626][0x0][_0xd574('0x15')],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8[_0xd574('0xe')]++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});var _0x4c7f78=_0x1a92f8[_0xd574('0xe')]++;_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':'ExecIf','appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x4c7f78+0x2)+'):Goto('+(_0x4c7f78+0x1)+')','context':_0x7e494c[_0x49b626][0x0]['context'],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x4c7f78,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});if(_0x1a92f8[_0xd574('0xf')]){_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':_0x1a92f8[_0xd574('0xf')][_0xd574('0x17')]?'CDR(prefix)=${EXTEN:0:'+_0x1a92f8[_0xd574('0xf')][_0xd574('0x17')]+'}':_0xd574('0x1b'),'context':_0x7e494c[_0x49b626][0x0][_0xd574('0x15')],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8[_0xd574('0xe')]++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});}_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0]['type'],'app':'Set','appdata':_0xd574('0x1c')+_0x7e494c[_0x49b626][0x0][_0xd574('0x19')],'context':_0x7e494c[_0x49b626][0x0][_0xd574('0x15')],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8[_0xd574('0xe')]++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});if(_0x1a92f8[_0xd574('0xf')]&&_0x1a92f8[_0xd574('0xf')][_0xd574('0xd')](_0xd574('0x1d'))&&_0x1a92f8[_0xd574('0xf')]['recordingFormat']!==_0xd574('0x1e')){_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':_0xd574('0x1f'),'context':_0x7e494c[_0x49b626][0x0][_0xd574('0x15')],'exten':_0x7e494c[_0x49b626][0x0]['exten'],'priority':_0x1a92f8[_0xd574('0xe')]++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});_0x1a92f8['extensions'][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':_0xd574('0x20')+_0x1a92f8[_0xd574('0xf')][_0xd574('0x1d')]||_0xd574('0x21'),'context':_0x7e494c[_0x49b626][0x0][_0xd574('0x15')],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8['priority']++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0]['VoiceExtensionId']});}}_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':_0xd574('0x22'),'context':_0x7e494c[_0x49b626][0x0]['context'],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8[_0xd574('0xe')]++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':_0xd574('0x23'),'context':_0x7e494c[_0x49b626][0x0][_0xd574('0x15')],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8['priority']++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});_0x1a92f8[_0xd574('0x11')][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':'Set','appdata':'MONITOR_OPTIONS=ab','context':_0x7e494c[_0x49b626][0x0]['context'],'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'priority':_0x1a92f8[_0xd574('0xe')]++,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});for(var _0x43acb0=0x0,_0x3b8170=0x0;_0x43acb0<_0x7e494c[_0x49b626]['length'];_0x43acb0+=0x1,_0x3b8170=0x0){var _0x1516b7=_0x7e494c[_0x49b626][_0x43acb0];if(_0x1516b7[_0xd574('0x13')]){_0x1516b7[_0xd574('0x13')]=_0x1516b7['type'][_0xd574('0x24')]();}var _0x444d9e=[];var _0x15b603=[];delete _0x1516b7['id'];delete _0x1516b7[_0xd574('0x25')];delete _0x1516b7['updatedAt'];var _0x40d150=_0x1516b7[_0xd574('0x26')]!==_0xd574('0x27')?[_0x1516b7[_0xd574('0x26')]]:_0x1516b7[_0xd574('0x6')]?_[_0xd574('0x28')](_[_0xd574('0x9')](_0x1a92f8[_0xd574('0x3')],{'IntervalId':_0x1516b7[_0xd574('0x6')]}),_0xd574('0x26')):[];if(_0x1516b7[_0xd574('0xd')](_0xd574('0x29'))){if(_0x1516b7[_0xd574('0x29')]&&_0x1516b7[_0xd574('0x29')]!=='--'){_0x444d9e[_0xd574('0x12')]({'type':_0x1516b7[_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':_0xd574('0x2a')+_0x1516b7[_0xd574('0x29')],'context':_0x1516b7[_0xd574('0x15')],'exten':_0x1516b7[_0xd574('0x8')],'priority':_0x40d150[_0xd574('0x2b')]+_0x1a92f8['priority']+_0x3b8170++,'VoiceExtensionId':_0x1516b7[_0xd574('0x19')]});}}if(_0x1516b7[_0xd574('0x13')]==='outbound'&&_0x1516b7[_0xd574('0xd')](_0xd574('0x2c'))){if(_0x1516b7[_0xd574('0x2c')]){_0x444d9e[_0xd574('0x12')]({'type':_0x1516b7[_0xd574('0x13')],'app':'ExecIf','appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x1516b7[_0xd574('0x2c')]+')','context':_0x1516b7[_0xd574('0x15')],'exten':_0x1516b7[_0xd574('0x8')],'priority':_0x40d150['length']+_0x1a92f8['priority']+_0x3b8170++,'VoiceExtensionId':_0x1516b7['VoiceExtensionId']});}else{_0x444d9e[_0xd574('0x12')]({'type':_0x1516b7[_0xd574('0x13')],'app':_0xd574('0x2d'),'appdata':_0xd574('0x2e'),'context':_0x1516b7[_0xd574('0x15')],'exten':_0x1516b7[_0xd574('0x8')],'priority':_0x40d150[_0xd574('0x2b')]+_0x1a92f8['priority']+_0x3b8170++,'VoiceExtensionId':_0x1516b7['VoiceExtensionId']});}}if(_0x1516b7[_0xd574('0xd')](_0xd574('0x2f'))){if(_0x5c33e7[_0xd574('0x30')](_0x1516b7[_0xd574('0x31')][_0xd574('0x24')]())>=0x0&&_0x1516b7[_0xd574('0x32')]!==_0xd574('0x33')){if(_0x1516b7['answer']){_0x444d9e[_0xd574('0x12')]({'type':_0x1516b7[_0xd574('0x13')],'app':'ExecIf','appdata':_0xd574('0x34'),'context':_0x1516b7[_0xd574('0x15')],'exten':_0x1516b7['exten'],'priority':_0x40d150['length']+_0x1a92f8[_0xd574('0xe')]+_0x3b8170++,'VoiceExtensionId':_0x1516b7[_0xd574('0x19')]});_0x444d9e[_0xd574('0x12')]({'type':_0x1516b7[_0xd574('0x13')],'app':_0xd574('0x14'),'appdata':_0xd574('0x35'),'context':_0x1516b7[_0xd574('0x15')],'exten':_0x1516b7[_0xd574('0x8')],'priority':_0x40d150[_0xd574('0x2b')]+_0x1a92f8[_0xd574('0xe')]+_0x3b8170++,'VoiceExtensionId':_0x1516b7[_0xd574('0x19')]});}else{_0x444d9e[_0xd574('0x12')]({'type':_0x1516b7[_0xd574('0x13')],'app':_0xd574('0x2d'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x1516b7[_0xd574('0x15')],'exten':_0x1516b7['exten'],'priority':_0x40d150[_0xd574('0x2b')]+_0x1a92f8[_0xd574('0xe')]+_0x3b8170++,'VoiceExtensionId':_0x1516b7[_0xd574('0x19')]});_0x444d9e[_0xd574('0x12')]({'type':_0x1516b7['type'],'app':_0xd574('0x14'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x1516b7['context'],'exten':_0x1516b7[_0xd574('0x8')],'priority':_0x40d150['length']+_0x1a92f8[_0xd574('0xe')]+_0x3b8170++,'VoiceExtensionId':_0x1516b7[_0xd574('0x19')]});}}}for(var _0x43c7aa=0x0;_0x43c7aa<_0x40d150[_0xd574('0x2b')];_0x43c7aa+=0x1){var _0x508109=_0x1a92f8['priority']+_0x40d150['length'];var _0x2d464a=_0x43c7aa===_0x40d150[_0xd574('0x2b')]-0x1?_0x1a92f8[_0xd574('0xe')]+_0x444d9e[_0xd574('0x2b')]+_0x15b603['length']+0x2:_0x1a92f8[_0xd574('0xe')]+_0x43c7aa+0x1;_0x444d9e['splice'](_0x43c7aa,0x0,{'type':_0x1516b7[_0xd574('0x13')],'app':'GotoIfTime','appdata':_0x40d150[_0x43c7aa]+'?'+_0x1516b7['context']+_0xd574('0x36')+_0x508109+':'+_0x1516b7['context']+_0xd574('0x36')+_0x2d464a,'exten':_0x1516b7['exten'],'context':_0x1516b7['context'],'priority':_0x1a92f8[_0xd574('0xe')]+_0x43c7aa,'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});}_0x1516b7[_0xd574('0xe')]=_0x444d9e[_0xd574('0x2b')]?_[_0xd574('0x37')](_0x444d9e)[_0xd574('0xe')]+0x1:_0x1a92f8[_0xd574('0xe')];_0x1a92f8[_0xd574('0xe')]=(_0x15b603[_0xd574('0x2b')]?_[_0xd574('0x37')](_0x15b603)[_0xd574('0xe')]:_0x1516b7[_0xd574('0xe')])+0x1;_0x1a92f8[_0xd574('0x11')]=_[_0xd574('0x38')](_0x1a92f8[_0xd574('0x11')],_0x444d9e,[_0x1516b7],_0x15b603);}_0x1a92f8['extensions'][_0xd574('0x12')]({'type':_0x7e494c[_0x49b626][0x0][_0xd574('0x13')],'app':_0xd574('0x39'),'exten':_0x7e494c[_0x49b626][0x0][_0xd574('0x8')],'context':_0x7e494c[_0x49b626][0x0][_0xd574('0x15')],'priority':_0x1a92f8[_0xd574('0xe')],'VoiceExtensionId':_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]});_0x665482[_0xd574('0x12')](_0x7e494c[_0x49b626][0x0][_0xd574('0x19')]);_0xf9c74d=_['concat'](_0xf9c74d,_0x1a92f8[_0xd574('0x11')]);}}return _0x303705[_0xd574('0x3a')](function(_0x51fe91){return _0x303705[_0xd574('0x0')]['VoiceExtension'][_0xd574('0x3b')]({'where':{'VoiceExtensionId':{'$in':_0x665482}},'transaction':_0x51fe91})[_0xd574('0x2')](function(_0x79b919){return _0x303705['models'][_0xd574('0x4')]['bulkCreate'](_[_0xd574('0x3c')](_0xf9c74d,_0xd574('0xe')),{'transaction':_0x51fe91});});});})[_0xd574('0x3d')](function(_0x45adfc){console[_0xd574('0x3e')](_0x45adfc);});}exports[_0xd574('0x3f')]=rewrite;