Built motion from commit ddca4d0d.|2.5.47
[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 _0xde50=['hasOwnProperty','priority','extensions','extension','find','push','type','Set','format','VoiceExtensionId','CDR(routeid)=','context','outbound','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','createdAt','updatedAt','*,*,*,*','map','interval','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','toLowerCase','XCALLY-MOTION-ANSWER=1','ExecIf','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice',',${EXTEN},','last','concat','Hangup','transaction','destroy','VoiceExtension','sortBy','catch','error','rewrite','lodash','util','models','then','intervals','findAll','IntervalId','uniq','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','queue','playback'];(function(_0x4c12ec,_0x2e9103){var _0x3ae42c=function(_0x5a728f){while(--_0x5a728f){_0x4c12ec['push'](_0x4c12ec['shift']());}};_0x3ae42c(++_0x2e9103);}(_0xde50,0x1f2));var _0x0de5=function(_0x1588e4,_0x560437){_0x1588e4=_0x1588e4-0x0;var _0xdbd854=_0xde50[_0x1588e4];return _0xdbd854;};'use strict';var _=require(_0x0de5('0x0'));var util=require(_0x0de5('0x1'));function rewrite(_0x80e765,_0x53bd62){var _0x2b35b6=this;return _0x80e765[_0x0de5('0x2')]['Interval']['findAll']({'raw':!![]})[_0x0de5('0x3')](function(_0x131912){_0x2b35b6[_0x0de5('0x4')]=_0x131912;return _0x80e765[_0x0de5('0x2')]['VoiceExtension'][_0x0de5('0x5')]({'where':{'IntervalId':_0x53bd62[_0x0de5('0x6')]},'raw':!![]});})[_0x0de5('0x3')](function(_0x2c02d8){return _0x80e765[_0x0de5('0x2')]['VoiceExtension']['findAll']({'where':{'exten':{'$in':_[_0x0de5('0x7')](_['map'](_0x2c02d8,_0x0de5('0x8')))}},'order':[{'raw':_0x0de5('0x9')}],'raw':!![]});})[_0x0de5('0x3')](function(_0x532ba4){var _0x2849c6=_[_0x0de5('0xa')](_0x532ba4,{'priority':'1'});var _0x4fcfb2=_[_0x0de5('0xa')](_0x532ba4,{'isApp':0x1});var _0x3dbd76=_['groupBy'](_0x4fcfb2,_0x0de5('0x8'));var _0x302bf6=[_0x0de5('0xb'),_0x0de5('0xc')];var _0xcf1f7f=[];var _0x5e939f=[];for(var _0x3ebfff in _0x3dbd76){if(_0x3dbd76[_0x0de5('0xd')](_0x3ebfff)){_0x2b35b6[_0x0de5('0xe')]=0x2;_0x2b35b6[_0x0de5('0xf')]=[];_0x2b35b6[_0x0de5('0x10')]=_[_0x0de5('0x11')](_0x2849c6,{'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')]});_0x2b35b6[_0x0de5('0xf')][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')],'app':_0x0de5('0x14'),'appdata':util[_0x0de5('0x15')]('CDR(type)=%s',_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')]),'context':_0x3dbd76[_0x3ebfff][0x0]['context'],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});if(_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')]==='inbound'){_0x2b35b6['extensions'][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0]['type'],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x17')+_0x3dbd76[_0x3ebfff][0x0]['VoiceExtensionId'],'context':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x18')],'exten':_0x3dbd76[_0x3ebfff][0x0]['exten'],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});}else if(_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')]===_0x0de5('0x19')){if(_0x2b35b6['extension']){_0x2b35b6['extensions'][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0]['type'],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x1a')+(_0x2b35b6[_0x0de5('0x10')][_0x0de5('0x1b')]?_0x0de5('0x1c')+_0x2b35b6['extension'][_0x0de5('0x1b')]+'}':_0x0de5('0x1d')),'context':_0x3dbd76[_0x3ebfff][0x0]['context'],'exten':_0x3dbd76[_0x3ebfff][0x0]['exten'],'priority':_0x2b35b6['priority']++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});}_0x2b35b6[_0x0de5('0xf')][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')],'app':_0x0de5('0x14'),'appdata':'CDR(routeid)='+_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')],'context':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x18')],'exten':_0x3dbd76[_0x3ebfff][0x0]['exten'],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0]['VoiceExtensionId']});var _0x7893cc=_0x2b35b6[_0x0de5('0xe')]++;_0x2b35b6[_0x0de5('0xf')][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')],'app':'ExecIf','appdata':_0x0de5('0x1e')+(_0x7893cc+0x2)+_0x0de5('0x1f')+(_0x7893cc+0x1)+')','context':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x18')],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x7893cc,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});if(_0x2b35b6[_0x0de5('0x10')]){_0x2b35b6[_0x0de5('0xf')][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0]['type'],'app':_0x0de5('0x14'),'appdata':_0x2b35b6['extension']['cutdigits']?_0x0de5('0x20')+_0x2b35b6['extension'][_0x0de5('0x1b')]+'}':_0x0de5('0x21'),'context':_0x3dbd76[_0x3ebfff][0x0]['context'],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});}_0x2b35b6[_0x0de5('0xf')][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')],'app':'Set','appdata':'outboundrouteid='+_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')],'context':_0x3dbd76[_0x3ebfff][0x0]['context'],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0]['VoiceExtensionId']});if(_0x2b35b6[_0x0de5('0x10')]&&_0x2b35b6[_0x0de5('0x10')][_0x0de5('0xd')](_0x0de5('0x22'))&&_0x2b35b6['extension'][_0x0de5('0x22')]!==_0x0de5('0x23')){_0x2b35b6[_0x0de5('0xf')][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x24'),'context':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x18')],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});_0x2b35b6[_0x0de5('0xf')]['push']({'type':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x25')+_0x2b35b6[_0x0de5('0x10')]['recordingFormat']||_0x0de5('0x26'),'context':_0x3dbd76[_0x3ebfff][0x0]['context'],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0]['VoiceExtensionId']});}}_0x2b35b6['extensions'][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0]['type'],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x27'),'context':_0x3dbd76[_0x3ebfff][0x0]['context'],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x2b35b6['priority']++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});_0x2b35b6['extensions'][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0]['type'],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x28'),'context':_0x3dbd76[_0x3ebfff][0x0]['context'],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});_0x2b35b6['extensions'][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0]['type'],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x29'),'context':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x18')],'exten':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x8')],'priority':_0x2b35b6[_0x0de5('0xe')]++,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});for(var _0xb5de28=0x0,_0x1d87fb=0x0;_0xb5de28<_0x3dbd76[_0x3ebfff][_0x0de5('0x2a')];_0xb5de28+=0x1,_0x1d87fb=0x0){var _0x262f45=_0x3dbd76[_0x3ebfff][_0xb5de28];if(_0x262f45[_0x0de5('0x13')]){_0x262f45[_0x0de5('0x13')]=_0x262f45[_0x0de5('0x13')]['toLowerCase']();}var _0x524f98=[];var _0x11c9dd=[];delete _0x262f45['id'];delete _0x262f45[_0x0de5('0x2b')];delete _0x262f45[_0x0de5('0x2c')];var _0x305e1b=_0x262f45['interval']!==_0x0de5('0x2d')?[_0x262f45['interval']]:_0x262f45[_0x0de5('0x6')]?_[_0x0de5('0x2e')](_[_0x0de5('0xa')](_0x2b35b6[_0x0de5('0x4')],{'IntervalId':_0x262f45[_0x0de5('0x6')]}),_0x0de5('0x2f')):[];if(_0x262f45['hasOwnProperty'](_0x0de5('0x30'))){if(_0x262f45[_0x0de5('0x30')]&&_0x262f45[_0x0de5('0x30')]!=='--'){_0x524f98['push']({'type':_0x262f45[_0x0de5('0x13')],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x31')+_0x262f45[_0x0de5('0x30')],'context':_0x262f45['context'],'exten':_0x262f45[_0x0de5('0x8')],'priority':_0x305e1b[_0x0de5('0x2a')]+_0x2b35b6['priority']+_0x1d87fb++,'VoiceExtensionId':_0x262f45[_0x0de5('0x16')]});}}if(_0x262f45[_0x0de5('0x13')]===_0x0de5('0x19')&&_0x262f45[_0x0de5('0xd')](_0x0de5('0x32'))){if(_0x262f45[_0x0de5('0x32')]){_0x524f98['push']({'type':_0x262f45[_0x0de5('0x13')],'app':'ExecIf','appdata':_0x0de5('0x33')+_0x262f45[_0x0de5('0x32')]+')','context':_0x262f45[_0x0de5('0x18')],'exten':_0x262f45[_0x0de5('0x8')],'priority':_0x305e1b[_0x0de5('0x2a')]+_0x2b35b6[_0x0de5('0xe')]+_0x1d87fb++,'VoiceExtensionId':_0x262f45[_0x0de5('0x16')]});}else{_0x524f98[_0x0de5('0x12')]({'type':_0x262f45['type'],'app':'ExecIf','appdata':_0x0de5('0x34'),'context':_0x262f45['context'],'exten':_0x262f45['exten'],'priority':_0x305e1b['length']+_0x2b35b6[_0x0de5('0xe')]+_0x1d87fb++,'VoiceExtensionId':_0x262f45['VoiceExtensionId']});}}if(_0x262f45['hasOwnProperty'](_0x0de5('0x35'))){if(_0x302bf6[_0x0de5('0x36')](_0x262f45[_0x0de5('0x37')][_0x0de5('0x38')]())>=0x0&&_0x262f45['appType']!=='custom'){if(_0x262f45[_0x0de5('0x35')]){_0x524f98['push']({'type':_0x262f45[_0x0de5('0x13')],'app':'ExecIf','appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x262f45[_0x0de5('0x18')],'exten':_0x262f45[_0x0de5('0x8')],'priority':_0x305e1b[_0x0de5('0x2a')]+_0x2b35b6[_0x0de5('0xe')]+_0x1d87fb++,'VoiceExtensionId':_0x262f45['VoiceExtensionId']});_0x524f98[_0x0de5('0x12')]({'type':_0x262f45[_0x0de5('0x13')],'app':_0x0de5('0x14'),'appdata':_0x0de5('0x39'),'context':_0x262f45[_0x0de5('0x18')],'exten':_0x262f45[_0x0de5('0x8')],'priority':_0x305e1b[_0x0de5('0x2a')]+_0x2b35b6['priority']+_0x1d87fb++,'VoiceExtensionId':_0x262f45[_0x0de5('0x16')]});}else{_0x524f98[_0x0de5('0x12')]({'type':_0x262f45['type'],'app':_0x0de5('0x3a'),'appdata':_0x0de5('0x3b'),'context':_0x262f45[_0x0de5('0x18')],'exten':_0x262f45[_0x0de5('0x8')],'priority':_0x305e1b[_0x0de5('0x2a')]+_0x2b35b6[_0x0de5('0xe')]+_0x1d87fb++,'VoiceExtensionId':_0x262f45['VoiceExtensionId']});_0x524f98[_0x0de5('0x12')]({'type':_0x262f45[_0x0de5('0x13')],'app':'Set','appdata':_0x0de5('0x3c'),'context':_0x262f45[_0x0de5('0x18')],'exten':_0x262f45[_0x0de5('0x8')],'priority':_0x305e1b['length']+_0x2b35b6[_0x0de5('0xe')]+_0x1d87fb++,'VoiceExtensionId':_0x262f45[_0x0de5('0x16')]});}}}for(var _0x455ba7=0x0;_0x455ba7<_0x305e1b[_0x0de5('0x2a')];_0x455ba7+=0x1){var _0x4acf22=_0x2b35b6[_0x0de5('0xe')]+_0x305e1b[_0x0de5('0x2a')];var _0x1c8273=_0x455ba7===_0x305e1b[_0x0de5('0x2a')]-0x1?_0x2b35b6[_0x0de5('0xe')]+_0x524f98[_0x0de5('0x2a')]+_0x11c9dd['length']+0x2:_0x2b35b6['priority']+_0x455ba7+0x1;_0x524f98[_0x0de5('0x3d')](_0x455ba7,0x0,{'type':_0x262f45['type'],'app':'GotoIfTime','appdata':_0x305e1b[_0x455ba7]+'?'+_0x262f45['context']+_0x0de5('0x3e')+_0x4acf22+':'+_0x262f45['context']+_0x0de5('0x3e')+_0x1c8273,'exten':_0x262f45[_0x0de5('0x8')],'context':_0x262f45['context'],'priority':_0x2b35b6[_0x0de5('0xe')]+_0x455ba7,'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0]['VoiceExtensionId']});}_0x262f45[_0x0de5('0xe')]=_0x524f98[_0x0de5('0x2a')]?_['last'](_0x524f98)['priority']+0x1:_0x2b35b6[_0x0de5('0xe')];_0x2b35b6[_0x0de5('0xe')]=(_0x11c9dd[_0x0de5('0x2a')]?_[_0x0de5('0x3f')](_0x11c9dd)['priority']:_0x262f45[_0x0de5('0xe')])+0x1;_0x2b35b6[_0x0de5('0xf')]=_[_0x0de5('0x40')](_0x2b35b6[_0x0de5('0xf')],_0x524f98,[_0x262f45],_0x11c9dd);}_0x2b35b6[_0x0de5('0xf')][_0x0de5('0x12')]({'type':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x13')],'app':_0x0de5('0x41'),'exten':_0x3dbd76[_0x3ebfff][0x0]['exten'],'context':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x18')],'priority':_0x2b35b6[_0x0de5('0xe')],'VoiceExtensionId':_0x3dbd76[_0x3ebfff][0x0][_0x0de5('0x16')]});_0xcf1f7f[_0x0de5('0x12')](_0x3dbd76[_0x3ebfff][0x0]['VoiceExtensionId']);_0x5e939f=_[_0x0de5('0x40')](_0x5e939f,_0x2b35b6[_0x0de5('0xf')]);}}return _0x80e765[_0x0de5('0x42')](function(_0x5cc6e3){return _0x80e765[_0x0de5('0x2')]['VoiceExtension'][_0x0de5('0x43')]({'where':{'VoiceExtensionId':{'$in':_0xcf1f7f}},'transaction':_0x5cc6e3})[_0x0de5('0x3')](function(_0xfb37be){return _0x80e765[_0x0de5('0x2')][_0x0de5('0x44')]['bulkCreate'](_[_0x0de5('0x45')](_0x5e939f,'priority'),{'transaction':_0x5cc6e3});});});})[_0x0de5('0x46')](function(_0x231759){console[_0x0de5('0x47')](_0x231759);});}exports[_0x0de5('0x48')]=rewrite;