1804de985d55d392d0f0683840827a21de7e9d5f
[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 _0x16e5=[',${EXTEN},','last','concat','Hangup','transaction','destroy','bulkCreate','sortBy','catch','error','lodash','util','models','Interval','findAll','then','intervals','IntervalId','VoiceExtension','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','playback','hasOwnProperty','priority','extensions','extension','push','Set','format','CDR(type)=%s','context','type','inbound','CDR(routeid)=','VoiceExtensionId','outbound','cutdigits','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','none','wav','MONITOR_OPTIONS=ab','length','createdAt','updatedAt','interval','*,*,*,*','tag','callerID','answer','app','toLowerCase','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','GotoIfTime'];(function(_0x403ca6,_0x24e284){var _0x4e0e05=function(_0x3a76ba){while(--_0x3a76ba){_0x403ca6['push'](_0x403ca6['shift']());}};_0x4e0e05(++_0x24e284);}(_0x16e5,0x10e));var _0x516e=function(_0x236d24,_0x29e80a){_0x236d24=_0x236d24-0x0;var _0x1574cf=_0x16e5[_0x236d24];return _0x1574cf;};'use strict';var _=require(_0x516e('0x0'));var util=require(_0x516e('0x1'));function rewrite(_0x1e269a,_0x819c89){var _0x4622bf=this;return _0x1e269a[_0x516e('0x2')][_0x516e('0x3')][_0x516e('0x4')]({'raw':!![]})[_0x516e('0x5')](function(_0x11bcc4){_0x4622bf[_0x516e('0x6')]=_0x11bcc4;return _0x1e269a[_0x516e('0x2')]['VoiceExtension']['findAll']({'where':{'IntervalId':_0x819c89[_0x516e('0x7')]},'raw':!![]});})[_0x516e('0x5')](function(_0x5b3564){return _0x1e269a['models'][_0x516e('0x8')][_0x516e('0x4')]({'where':{'exten':{'$in':_[_0x516e('0x9')](_[_0x516e('0xa')](_0x5b3564,_0x516e('0xb')))}},'order':[{'raw':_0x516e('0xc')}],'raw':!![]});})[_0x516e('0x5')](function(_0x50e08c){var _0x809f3=_[_0x516e('0xd')](_0x50e08c,{'priority':'1'});var _0x32a96e=_[_0x516e('0xd')](_0x50e08c,{'isApp':0x1});var _0x3d29af=_[_0x516e('0xe')](_0x32a96e,'exten');var _0x21dafa=['queue',_0x516e('0xf')];var _0x708e46=[];var _0x321d77=[];for(var _0xffc4df in _0x3d29af){if(_0x3d29af[_0x516e('0x10')](_0xffc4df)){_0x4622bf[_0x516e('0x11')]=0x2;_0x4622bf[_0x516e('0x12')]=[];_0x4622bf[_0x516e('0x13')]=_['find'](_0x809f3,{'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')]});_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0]['type'],'app':_0x516e('0x15'),'appdata':util[_0x516e('0x16')](_0x516e('0x17'),_0x3d29af[_0xffc4df][0x0]['type']),'context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf['priority']++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0]['VoiceExtensionId']});if(_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')]===_0x516e('0x1a')){_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':_0x516e('0x15'),'appdata':_0x516e('0x1b')+_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')],'context':_0x3d29af[_0xffc4df][0x0]['context'],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf[_0x516e('0x11')]++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});}else if(_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')]===_0x516e('0x1d')){if(_0x4622bf[_0x516e('0x13')]){_0x4622bf[_0x516e('0x12')]['push']({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':'Set','appdata':'CDR(destination)='+(_0x4622bf[_0x516e('0x13')]['cutdigits']?'${EXTEN:'+_0x4622bf['extension'][_0x516e('0x1e')]+'}':'${EXTEN}'),'context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0]['exten'],'priority':_0x4622bf[_0x516e('0x11')]++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0]['VoiceExtensionId']});}_0x4622bf[_0x516e('0x12')]['push']({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':_0x516e('0x15'),'appdata':_0x516e('0x1b')+_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')],'context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf[_0x516e('0x11')]++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});var _0xb41941=_0x4622bf[_0x516e('0x11')]++;_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':_0x516e('0x1f'),'appdata':_0x516e('0x20')+(_0xb41941+0x2)+'):Goto('+(_0xb41941+0x1)+')','context':_0x3d29af[_0xffc4df][0x0]['context'],'exten':_0x3d29af[_0xffc4df][0x0]['exten'],'priority':_0xb41941,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});if(_0x4622bf[_0x516e('0x13')]){_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':_0x516e('0x15'),'appdata':_0x4622bf[_0x516e('0x13')][_0x516e('0x1e')]?_0x516e('0x21')+_0x4622bf[_0x516e('0x13')][_0x516e('0x1e')]+'}':'CDR(prefix)=noprefix','context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf[_0x516e('0x11')]++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});}_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':'Set','appdata':_0x516e('0x22')+_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')],'context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf[_0x516e('0x11')]++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});if(_0x4622bf['extension']&&_0x4622bf[_0x516e('0x13')][_0x516e('0x10')](_0x516e('0x23'))&&_0x4622bf[_0x516e('0x13')]['recordingFormat']!==_0x516e('0x24')){_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':_0x516e('0x15'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf['priority']++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});_0x4622bf['extensions'][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0]['type'],'app':_0x516e('0x15'),'appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x4622bf[_0x516e('0x13')]['recordingFormat']||_0x516e('0x25'),'context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf['priority']++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});}}_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0]['type'],'app':_0x516e('0x15'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf[_0x516e('0x11')]++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':_0x516e('0x15'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf['priority']++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});_0x4622bf['extensions'][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':'Set','appdata':_0x516e('0x26'),'context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'exten':_0x3d29af[_0xffc4df][0x0][_0x516e('0xb')],'priority':_0x4622bf[_0x516e('0x11')]++,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});for(var _0x177c05=0x0,_0xe2fc10=0x0;_0x177c05<_0x3d29af[_0xffc4df][_0x516e('0x27')];_0x177c05+=0x1,_0xe2fc10=0x0){var _0x519114=_0x3d29af[_0xffc4df][_0x177c05];if(_0x519114[_0x516e('0x19')]){_0x519114['type']=_0x519114[_0x516e('0x19')]['toLowerCase']();}var _0x25b277=[];var _0x5c2cec=[];delete _0x519114['id'];delete _0x519114[_0x516e('0x28')];delete _0x519114[_0x516e('0x29')];var _0x3c0c08=_0x519114[_0x516e('0x2a')]!==_0x516e('0x2b')?[_0x519114[_0x516e('0x2a')]]:_0x519114[_0x516e('0x7')]?_[_0x516e('0xa')](_['filter'](_0x4622bf[_0x516e('0x6')],{'IntervalId':_0x519114[_0x516e('0x7')]}),'interval'):[];if(_0x519114[_0x516e('0x10')](_0x516e('0x2c'))){if(_0x519114[_0x516e('0x2c')]&&_0x519114[_0x516e('0x2c')]!=='--'){_0x25b277[_0x516e('0x14')]({'type':_0x519114[_0x516e('0x19')],'app':'Set','appdata':'CDR(tag)='+_0x519114[_0x516e('0x2c')],'context':_0x519114[_0x516e('0x18')],'exten':_0x519114[_0x516e('0xb')],'priority':_0x3c0c08[_0x516e('0x27')]+_0x4622bf['priority']+_0xe2fc10++,'VoiceExtensionId':_0x519114[_0x516e('0x1c')]});}}if(_0x519114[_0x516e('0x19')]===_0x516e('0x1d')&&_0x519114[_0x516e('0x10')](_0x516e('0x2d'))){if(_0x519114[_0x516e('0x2d')]){_0x25b277['push']({'type':_0x519114[_0x516e('0x19')],'app':_0x516e('0x1f'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x519114[_0x516e('0x2d')]+')','context':_0x519114[_0x516e('0x18')],'exten':_0x519114[_0x516e('0xb')],'priority':_0x3c0c08['length']+_0x4622bf[_0x516e('0x11')]+_0xe2fc10++,'VoiceExtensionId':_0x519114[_0x516e('0x1c')]});}else{_0x25b277['push']({'type':_0x519114[_0x516e('0x19')],'app':'ExecIf','appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0x519114['context'],'exten':_0x519114[_0x516e('0xb')],'priority':_0x3c0c08[_0x516e('0x27')]+_0x4622bf['priority']+_0xe2fc10++,'VoiceExtensionId':_0x519114[_0x516e('0x1c')]});}}if(_0x519114[_0x516e('0x10')](_0x516e('0x2e'))){if(_0x21dafa['indexOf'](_0x519114[_0x516e('0x2f')][_0x516e('0x30')]())>=0x0&&_0x519114[_0x516e('0x31')]!==_0x516e('0x32')){if(_0x519114[_0x516e('0x2e')]){_0x25b277[_0x516e('0x14')]({'type':_0x519114[_0x516e('0x19')],'app':'ExecIf','appdata':_0x516e('0x33'),'context':_0x519114[_0x516e('0x18')],'exten':_0x519114[_0x516e('0xb')],'priority':_0x3c0c08[_0x516e('0x27')]+_0x4622bf[_0x516e('0x11')]+_0xe2fc10++,'VoiceExtensionId':_0x519114[_0x516e('0x1c')]});_0x25b277[_0x516e('0x14')]({'type':_0x519114[_0x516e('0x19')],'app':_0x516e('0x15'),'appdata':_0x516e('0x34'),'context':_0x519114['context'],'exten':_0x519114['exten'],'priority':_0x3c0c08[_0x516e('0x27')]+_0x4622bf[_0x516e('0x11')]+_0xe2fc10++,'VoiceExtensionId':_0x519114['VoiceExtensionId']});}else{_0x25b277[_0x516e('0x14')]({'type':_0x519114[_0x516e('0x19')],'app':_0x516e('0x1f'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x519114[_0x516e('0x18')],'exten':_0x519114[_0x516e('0xb')],'priority':_0x3c0c08[_0x516e('0x27')]+_0x4622bf[_0x516e('0x11')]+_0xe2fc10++,'VoiceExtensionId':_0x519114[_0x516e('0x1c')]});_0x25b277[_0x516e('0x14')]({'type':_0x519114[_0x516e('0x19')],'app':'Set','appdata':_0x516e('0x35'),'context':_0x519114[_0x516e('0x18')],'exten':_0x519114[_0x516e('0xb')],'priority':_0x3c0c08[_0x516e('0x27')]+_0x4622bf[_0x516e('0x11')]+_0xe2fc10++,'VoiceExtensionId':_0x519114[_0x516e('0x1c')]});}}}for(var _0x3dbbd8=0x0;_0x3dbbd8<_0x3c0c08[_0x516e('0x27')];_0x3dbbd8+=0x1){var _0x2ae2b5=_0x4622bf[_0x516e('0x11')]+_0x3c0c08[_0x516e('0x27')];var _0x3177e2=_0x3dbbd8===_0x3c0c08[_0x516e('0x27')]-0x1?_0x4622bf[_0x516e('0x11')]+_0x25b277['length']+_0x5c2cec[_0x516e('0x27')]+0x2:_0x4622bf['priority']+_0x3dbbd8+0x1;_0x25b277['splice'](_0x3dbbd8,0x0,{'type':_0x519114[_0x516e('0x19')],'app':_0x516e('0x36'),'appdata':_0x3c0c08[_0x3dbbd8]+'?'+_0x519114['context']+',${EXTEN},'+_0x2ae2b5+':'+_0x519114['context']+_0x516e('0x37')+_0x3177e2,'exten':_0x519114['exten'],'context':_0x519114[_0x516e('0x18')],'priority':_0x4622bf['priority']+_0x3dbbd8,'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});}_0x519114[_0x516e('0x11')]=_0x25b277['length']?_['last'](_0x25b277)[_0x516e('0x11')]+0x1:_0x4622bf['priority'];_0x4622bf[_0x516e('0x11')]=(_0x5c2cec[_0x516e('0x27')]?_[_0x516e('0x38')](_0x5c2cec)[_0x516e('0x11')]:_0x519114['priority'])+0x1;_0x4622bf[_0x516e('0x12')]=_[_0x516e('0x39')](_0x4622bf[_0x516e('0x12')],_0x25b277,[_0x519114],_0x5c2cec);}_0x4622bf[_0x516e('0x12')][_0x516e('0x14')]({'type':_0x3d29af[_0xffc4df][0x0][_0x516e('0x19')],'app':_0x516e('0x3a'),'exten':_0x3d29af[_0xffc4df][0x0]['exten'],'context':_0x3d29af[_0xffc4df][0x0][_0x516e('0x18')],'priority':_0x4622bf[_0x516e('0x11')],'VoiceExtensionId':_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]});_0x708e46[_0x516e('0x14')](_0x3d29af[_0xffc4df][0x0][_0x516e('0x1c')]);_0x321d77=_[_0x516e('0x39')](_0x321d77,_0x4622bf[_0x516e('0x12')]);}}return _0x1e269a[_0x516e('0x3b')](function(_0x1112af){return _0x1e269a[_0x516e('0x2')][_0x516e('0x8')][_0x516e('0x3c')]({'where':{'VoiceExtensionId':{'$in':_0x708e46}},'transaction':_0x1112af})[_0x516e('0x5')](function(_0x44cb7a){return _0x1e269a['models'][_0x516e('0x8')][_0x516e('0x3d')](_[_0x516e('0x3e')](_0x321d77,_0x516e('0x11')),{'transaction':_0x1112af});});});})[_0x516e('0x3f')](function(_0x22ca02){console[_0x516e('0x40')](_0x22ca02);});}exports['rewrite']=rewrite;