65712ad0bdd0b9c18d63c800fa8aa4556a999abc
[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 _0x6298=['$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','Hangup','transaction','then','bulkCreate','sortBy','catch','error','rewrite','lodash','util','Interval','findAll','models','VoiceExtension','IntervalId','uniq','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','hasOwnProperty','priority','find','extensions','push','type','Set','format','CDR(type)=%s','context','VoiceExtensionId','inbound','CDR(routeid)=','outbound','extension','cutdigits','${EXTEN}','ExecIf','$[${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','createdAt','updatedAt','interval','*,*,*,*','map','intervals','tag','CDR(tag)=','length','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','appType','XCALLY-MOTION-ANSWER=1'];(function(_0x1f471a,_0x41183a){var _0x5eb4e7=function(_0x578480){while(--_0x578480){_0x1f471a['push'](_0x1f471a['shift']());}};_0x5eb4e7(++_0x41183a);}(_0x6298,0xe9));var _0x8629=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x6298[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x8629('0x0'));var util=require(_0x8629('0x1'));function rewrite(_0x17607e,_0x1560bf){var _0x74535f=this;return _0x17607e['models'][_0x8629('0x2')][_0x8629('0x3')]({'raw':!![]})['then'](function(_0x5eb6c5){_0x74535f['intervals']=_0x5eb6c5;return _0x17607e[_0x8629('0x4')][_0x8629('0x5')][_0x8629('0x3')]({'where':{'IntervalId':_0x1560bf[_0x8629('0x6')]},'raw':!![]});})['then'](function(_0x1667f8){return _0x17607e[_0x8629('0x4')]['VoiceExtension'][_0x8629('0x3')]({'where':{'exten':{'$in':_[_0x8629('0x7')](_['map'](_0x1667f8,_0x8629('0x8')))}},'order':[{'raw':_0x8629('0x9')}],'raw':!![]});})['then'](function(_0x3d4ddc){var _0x248b2e=_['filter'](_0x3d4ddc,{'priority':'1'});var _0x4c4c3d=_[_0x8629('0xa')](_0x3d4ddc,{'isApp':0x1});var _0x1410cf=_[_0x8629('0xb')](_0x4c4c3d,_0x8629('0x8'));var _0x4de90d=['queue','playback'];var _0x41c739=[];var _0x52ebad=[];for(var _0x1f2b29 in _0x1410cf){if(_0x1410cf[_0x8629('0xc')](_0x1f2b29)){_0x74535f[_0x8629('0xd')]=0x2;_0x74535f['extensions']=[];_0x74535f['extension']=_[_0x8629('0xe')](_0x248b2e,{'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')]});_0x74535f[_0x8629('0xf')][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x12'),'appdata':util[_0x8629('0x13')](_0x8629('0x14'),_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')]),'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0]['exten'],'priority':_0x74535f[_0x8629('0xd')]++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});if(_0x1410cf[_0x1f2b29][0x0]['type']===_0x8629('0x17')){_0x74535f[_0x8629('0xf')]['push']({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x12'),'appdata':_0x8629('0x18')+_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')],'context':_0x1410cf[_0x1f2b29][0x0]['context'],'exten':_0x1410cf[_0x1f2b29][0x0]['exten'],'priority':_0x74535f['priority']++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});}else if(_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')]===_0x8629('0x19')){if(_0x74535f[_0x8629('0x1a')]){_0x74535f[_0x8629('0xf')][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':'Set','appdata':'CDR(destination)='+(_0x74535f[_0x8629('0x1a')]['cutdigits']?'${EXTEN:'+_0x74535f[_0x8629('0x1a')][_0x8629('0x1b')]+'}':_0x8629('0x1c')),'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x74535f[_0x8629('0xd')]++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});}_0x74535f['extensions'][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':'Set','appdata':'CDR(routeid)='+_0x1410cf[_0x1f2b29][0x0]['VoiceExtensionId'],'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x74535f[_0x8629('0xd')]++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});var _0x2a33e5=_0x74535f['priority']++;_0x74535f[_0x8629('0xf')][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x1d'),'appdata':_0x8629('0x1e')+(_0x2a33e5+0x2)+_0x8629('0x1f')+(_0x2a33e5+0x1)+')','context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x2a33e5,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0]['VoiceExtensionId']});if(_0x74535f['extension']){_0x74535f['extensions'][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0]['type'],'app':_0x8629('0x12'),'appdata':_0x74535f[_0x8629('0x1a')][_0x8629('0x1b')]?_0x8629('0x20')+_0x74535f[_0x8629('0x1a')][_0x8629('0x1b')]+'}':_0x8629('0x21'),'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x74535f['priority']++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});}_0x74535f[_0x8629('0xf')][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':'Set','appdata':'outboundrouteid='+_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')],'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0]['exten'],'priority':_0x74535f[_0x8629('0xd')]++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0]['VoiceExtensionId']});if(_0x74535f['extension']&&_0x74535f[_0x8629('0x1a')][_0x8629('0xc')](_0x8629('0x22'))&&_0x74535f[_0x8629('0x1a')]['recordingFormat']!==_0x8629('0x23')){_0x74535f[_0x8629('0xf')]['push']({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x12'),'appdata':_0x8629('0x24'),'context':_0x1410cf[_0x1f2b29][0x0]['context'],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x74535f[_0x8629('0xd')]++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});_0x74535f['extensions'][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x12'),'appdata':_0x8629('0x25')+_0x74535f[_0x8629('0x1a')][_0x8629('0x22')]||_0x8629('0x26'),'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x74535f['priority']++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});}}_0x74535f['extensions'][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x12'),'appdata':_0x8629('0x27'),'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x74535f[_0x8629('0xd')]++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});_0x74535f[_0x8629('0xf')][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x12'),'appdata':_0x8629('0x28'),'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x74535f[_0x8629('0xd')]++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});_0x74535f['extensions'][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x12'),'appdata':'MONITOR_OPTIONS=ab','context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'priority':_0x74535f[_0x8629('0xd')]++,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});for(var _0x1eaa98=0x0,_0x4618b4=0x0;_0x1eaa98<_0x1410cf[_0x1f2b29]['length'];_0x1eaa98+=0x1,_0x4618b4=0x0){var _0x53ed59=_0x1410cf[_0x1f2b29][_0x1eaa98];if(_0x53ed59['type']){_0x53ed59['type']=_0x53ed59[_0x8629('0x11')]['toLowerCase']();}var _0x3a3292=[];var _0x5c7b67=[];delete _0x53ed59['id'];delete _0x53ed59[_0x8629('0x29')];delete _0x53ed59[_0x8629('0x2a')];var _0xa1db99=_0x53ed59[_0x8629('0x2b')]!==_0x8629('0x2c')?[_0x53ed59[_0x8629('0x2b')]]:_0x53ed59[_0x8629('0x6')]?_[_0x8629('0x2d')](_['filter'](_0x74535f[_0x8629('0x2e')],{'IntervalId':_0x53ed59[_0x8629('0x6')]}),_0x8629('0x2b')):[];if(_0x53ed59[_0x8629('0xc')]('tag')){if(_0x53ed59[_0x8629('0x2f')]&&_0x53ed59[_0x8629('0x2f')]!=='--'){_0x3a3292[_0x8629('0x10')]({'type':_0x53ed59[_0x8629('0x11')],'app':_0x8629('0x12'),'appdata':_0x8629('0x30')+_0x53ed59[_0x8629('0x2f')],'context':_0x53ed59[_0x8629('0x15')],'exten':_0x53ed59['exten'],'priority':_0xa1db99[_0x8629('0x31')]+_0x74535f[_0x8629('0xd')]+_0x4618b4++,'VoiceExtensionId':_0x53ed59[_0x8629('0x16')]});}}if(_0x53ed59[_0x8629('0x11')]===_0x8629('0x19')&&_0x53ed59[_0x8629('0xc')](_0x8629('0x32'))){if(_0x53ed59[_0x8629('0x32')]){_0x3a3292[_0x8629('0x10')]({'type':_0x53ed59[_0x8629('0x11')],'app':_0x8629('0x1d'),'appdata':_0x8629('0x33')+_0x53ed59['callerID']+')','context':_0x53ed59['context'],'exten':_0x53ed59[_0x8629('0x8')],'priority':_0xa1db99[_0x8629('0x31')]+_0x74535f[_0x8629('0xd')]+_0x4618b4++,'VoiceExtensionId':_0x53ed59[_0x8629('0x16')]});}else{_0x3a3292['push']({'type':_0x53ed59['type'],'app':_0x8629('0x1d'),'appdata':_0x8629('0x34'),'context':_0x53ed59['context'],'exten':_0x53ed59[_0x8629('0x8')],'priority':_0xa1db99[_0x8629('0x31')]+_0x74535f[_0x8629('0xd')]+_0x4618b4++,'VoiceExtensionId':_0x53ed59[_0x8629('0x16')]});}}if(_0x53ed59['hasOwnProperty'](_0x8629('0x35'))){if(_0x4de90d[_0x8629('0x36')](_0x53ed59[_0x8629('0x37')][_0x8629('0x38')]())>=0x0&&_0x53ed59[_0x8629('0x39')]!=='custom'){if(_0x53ed59[_0x8629('0x35')]){_0x3a3292[_0x8629('0x10')]({'type':_0x53ed59[_0x8629('0x11')],'app':_0x8629('0x1d'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x53ed59[_0x8629('0x15')],'exten':_0x53ed59[_0x8629('0x8')],'priority':_0xa1db99[_0x8629('0x31')]+_0x74535f[_0x8629('0xd')]+_0x4618b4++,'VoiceExtensionId':_0x53ed59[_0x8629('0x16')]});_0x3a3292[_0x8629('0x10')]({'type':_0x53ed59['type'],'app':_0x8629('0x12'),'appdata':_0x8629('0x3a'),'context':_0x53ed59[_0x8629('0x15')],'exten':_0x53ed59[_0x8629('0x8')],'priority':_0xa1db99[_0x8629('0x31')]+_0x74535f[_0x8629('0xd')]+_0x4618b4++,'VoiceExtensionId':_0x53ed59['VoiceExtensionId']});}else{_0x3a3292['push']({'type':_0x53ed59['type'],'app':_0x8629('0x1d'),'appdata':_0x8629('0x3b'),'context':_0x53ed59[_0x8629('0x15')],'exten':_0x53ed59[_0x8629('0x8')],'priority':_0xa1db99['length']+_0x74535f['priority']+_0x4618b4++,'VoiceExtensionId':_0x53ed59[_0x8629('0x16')]});_0x3a3292['push']({'type':_0x53ed59['type'],'app':_0x8629('0x12'),'appdata':_0x8629('0x3c'),'context':_0x53ed59[_0x8629('0x15')],'exten':_0x53ed59[_0x8629('0x8')],'priority':_0xa1db99[_0x8629('0x31')]+_0x74535f[_0x8629('0xd')]+_0x4618b4++,'VoiceExtensionId':_0x53ed59['VoiceExtensionId']});}}}for(var _0xc4b43d=0x0;_0xc4b43d<_0xa1db99[_0x8629('0x31')];_0xc4b43d+=0x1){var _0xd8a000=_0x74535f[_0x8629('0xd')]+_0xa1db99['length'];var _0xd62ba1=_0xc4b43d===_0xa1db99['length']-0x1?_0x74535f['priority']+_0x3a3292[_0x8629('0x31')]+_0x5c7b67['length']+0x2:_0x74535f[_0x8629('0xd')]+_0xc4b43d+0x1;_0x3a3292[_0x8629('0x3d')](_0xc4b43d,0x0,{'type':_0x53ed59['type'],'app':_0x8629('0x3e'),'appdata':_0xa1db99[_0xc4b43d]+'?'+_0x53ed59[_0x8629('0x15')]+_0x8629('0x3f')+_0xd8a000+':'+_0x53ed59['context']+',${EXTEN},'+_0xd62ba1,'exten':_0x53ed59[_0x8629('0x8')],'context':_0x53ed59[_0x8629('0x15')],'priority':_0x74535f[_0x8629('0xd')]+_0xc4b43d,'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});}_0x53ed59[_0x8629('0xd')]=_0x3a3292['length']?_[_0x8629('0x40')](_0x3a3292)[_0x8629('0xd')]+0x1:_0x74535f[_0x8629('0xd')];_0x74535f['priority']=(_0x5c7b67[_0x8629('0x31')]?_[_0x8629('0x40')](_0x5c7b67)['priority']:_0x53ed59[_0x8629('0xd')])+0x1;_0x74535f['extensions']=_['concat'](_0x74535f[_0x8629('0xf')],_0x3a3292,[_0x53ed59],_0x5c7b67);}_0x74535f[_0x8629('0xf')][_0x8629('0x10')]({'type':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x11')],'app':_0x8629('0x41'),'exten':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x8')],'context':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x15')],'priority':_0x74535f['priority'],'VoiceExtensionId':_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]});_0x41c739[_0x8629('0x10')](_0x1410cf[_0x1f2b29][0x0][_0x8629('0x16')]);_0x52ebad=_['concat'](_0x52ebad,_0x74535f[_0x8629('0xf')]);}}return _0x17607e[_0x8629('0x42')](function(_0x39052b){return _0x17607e['models'][_0x8629('0x5')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x41c739}},'transaction':_0x39052b})[_0x8629('0x43')](function(_0xd6b6e5){return _0x17607e[_0x8629('0x4')][_0x8629('0x5')][_0x8629('0x44')](_[_0x8629('0x45')](_0x52ebad,_0x8629('0xd')),{'transaction':_0x39052b});});});})[_0x8629('0x46')](function(_0x29b85f){console[_0x8629('0x47')](_0x29b85f);});}exports[_0x8629('0x48')]=rewrite;