Built motion from commit f74363e9.|2.6.34
[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 _0x06d3=['lodash','util','models','findAll','VoiceExtension','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','then','playback','hasOwnProperty','priority','extensions','extension','find','type','Set','format','CDR(type)=%s','context','CDR(routeid)=','VoiceExtensionId','push','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','IntervalId','filter','intervals','tag','CDR(tag)=','outbound','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','app','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime','last','concat','Hangup','transaction','destroy','sortBy','catch','error','rewrite'];(function(_0x4ac8ef,_0x5c2c6e){var _0x3a9239=function(_0x3d004e){while(--_0x3d004e){_0x4ac8ef['push'](_0x4ac8ef['shift']());}};_0x3a9239(++_0x5c2c6e);}(_0x06d3,0x90));var _0x306d=function(_0x4e9cef,_0x192ebe){_0x4e9cef=_0x4e9cef-0x0;var _0x11bd98=_0x06d3[_0x4e9cef];return _0x11bd98;};'use strict';var _=require(_0x306d('0x0'));var util=require(_0x306d('0x1'));function rewrite(_0x5723ec,_0x5a72e7){var _0x57fe47=this;return _0x5723ec[_0x306d('0x2')]['Interval'][_0x306d('0x3')]({'raw':!![]})['then'](function(_0x2c285d){_0x57fe47['intervals']=_0x2c285d;return _0x5723ec[_0x306d('0x2')][_0x306d('0x4')][_0x306d('0x3')]({'where':{'IntervalId':_0x5a72e7['IntervalId']},'raw':!![]});})['then'](function(_0x17e702){return _0x5723ec[_0x306d('0x2')]['VoiceExtension']['findAll']({'where':{'exten':{'$in':_[_0x306d('0x5')](_[_0x306d('0x6')](_0x17e702,_0x306d('0x7')))}},'order':[{'raw':_0x306d('0x8')}],'raw':!![]});})[_0x306d('0x9')](function(_0x13fa40){var _0x23ae87=_['filter'](_0x13fa40,{'priority':'1'});var _0xe16754=_['filter'](_0x13fa40,{'isApp':0x1});var _0xf2b148=_['groupBy'](_0xe16754,_0x306d('0x7'));var _0x54cabe=['queue',_0x306d('0xa')];var _0x2ad01d=[];var _0x2a3a15=[];for(var _0xe3d53b in _0xf2b148){if(_0xf2b148[_0x306d('0xb')](_0xe3d53b)){_0x57fe47[_0x306d('0xc')]=0x2;_0x57fe47[_0x306d('0xd')]=[];_0x57fe47[_0x306d('0xe')]=_[_0x306d('0xf')](_0x23ae87,{'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')]});_0x57fe47[_0x306d('0xd')]['push']({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':_0x306d('0x11'),'appdata':util[_0x306d('0x12')](_0x306d('0x13'),_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')]),'context':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x14')],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0]['VoiceExtensionId']});if(_0xf2b148[_0xe3d53b][0x0]['type']==='inbound'){_0x57fe47[_0x306d('0xd')]['push']({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':_0x306d('0x11'),'appdata':_0x306d('0x15')+_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')],'context':_0xf2b148[_0xe3d53b][0x0]['context'],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')]});}else if(_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')]==='outbound'){if(_0x57fe47[_0x306d('0xe')]){_0x57fe47[_0x306d('0xd')][_0x306d('0x17')]({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':'Set','appdata':_0x306d('0x18')+(_0x57fe47[_0x306d('0xe')][_0x306d('0x19')]?_0x306d('0x1a')+_0x57fe47['extension'][_0x306d('0x19')]+'}':_0x306d('0x1b')),'context':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x14')],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0]['VoiceExtensionId']});}_0x57fe47['extensions'][_0x306d('0x17')]({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':_0x306d('0x11'),'appdata':'CDR(routeid)='+_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')],'context':_0xf2b148[_0xe3d53b][0x0]['context'],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')]});var _0x1f35dd=_0x57fe47[_0x306d('0xc')]++;_0x57fe47['extensions']['push']({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':_0x306d('0x1c'),'appdata':_0x306d('0x1d')+(_0x1f35dd+0x2)+'):Goto('+(_0x1f35dd+0x1)+')','context':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x14')],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x1f35dd,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')]});if(_0x57fe47['extension']){_0x57fe47['extensions']['push']({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':'Set','appdata':_0x57fe47[_0x306d('0xe')]['cutdigits']?_0x306d('0x1e')+_0x57fe47[_0x306d('0xe')][_0x306d('0x19')]+'}':'CDR(prefix)=noprefix','context':_0xf2b148[_0xe3d53b][0x0]['context'],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')]});}_0x57fe47[_0x306d('0xd')][_0x306d('0x17')]({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':_0x306d('0x11'),'appdata':'outboundrouteid='+_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')],'context':_0xf2b148[_0xe3d53b][0x0]['context'],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47['priority']++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')]});if(_0x57fe47[_0x306d('0xe')]&&_0x57fe47[_0x306d('0xe')]['hasOwnProperty'](_0x306d('0x1f'))&&_0x57fe47[_0x306d('0xe')][_0x306d('0x1f')]!==_0x306d('0x20')){_0x57fe47[_0x306d('0xd')][_0x306d('0x17')]({'type':_0xf2b148[_0xe3d53b][0x0]['type'],'app':_0x306d('0x11'),'appdata':_0x306d('0x21'),'context':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x14')],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0]['VoiceExtensionId']});_0x57fe47[_0x306d('0xd')][_0x306d('0x17')]({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':'Set','appdata':_0x306d('0x22')+_0x57fe47[_0x306d('0xe')][_0x306d('0x1f')]||_0x306d('0x23'),'context':_0xf2b148[_0xe3d53b][0x0]['context'],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0]['VoiceExtensionId']});}}_0x57fe47[_0x306d('0xd')]['push']({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':_0x306d('0x11'),'appdata':_0x306d('0x24'),'context':_0xf2b148[_0xe3d53b][0x0]['context'],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0]['VoiceExtensionId']});_0x57fe47[_0x306d('0xd')]['push']({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':_0x306d('0x11'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0xf2b148[_0xe3d53b][0x0]['context'],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')]});_0x57fe47['extensions'][_0x306d('0x17')]({'type':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x10')],'app':_0x306d('0x11'),'appdata':_0x306d('0x25'),'context':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x14')],'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'priority':_0x57fe47[_0x306d('0xc')]++,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0]['VoiceExtensionId']});for(var _0xc9a9bb=0x0,_0x1ffc1b=0x0;_0xc9a9bb<_0xf2b148[_0xe3d53b][_0x306d('0x26')];_0xc9a9bb+=0x1,_0x1ffc1b=0x0){var _0x102d8b=_0xf2b148[_0xe3d53b][_0xc9a9bb];if(_0x102d8b[_0x306d('0x10')]){_0x102d8b[_0x306d('0x10')]=_0x102d8b['type'][_0x306d('0x27')]();}var _0x5168c3=[];var _0x465f31=[];delete _0x102d8b['id'];delete _0x102d8b[_0x306d('0x28')];delete _0x102d8b[_0x306d('0x29')];var _0x2d8d4e=_0x102d8b[_0x306d('0x2a')]!==_0x306d('0x2b')?[_0x102d8b[_0x306d('0x2a')]]:_0x102d8b[_0x306d('0x2c')]?_['map'](_[_0x306d('0x2d')](_0x57fe47[_0x306d('0x2e')],{'IntervalId':_0x102d8b['IntervalId']}),_0x306d('0x2a')):[];if(_0x102d8b[_0x306d('0xb')](_0x306d('0x2f'))){if(_0x102d8b[_0x306d('0x2f')]&&_0x102d8b[_0x306d('0x2f')]!=='--'){_0x5168c3[_0x306d('0x17')]({'type':_0x102d8b['type'],'app':_0x306d('0x11'),'appdata':_0x306d('0x30')+_0x102d8b[_0x306d('0x2f')],'context':_0x102d8b[_0x306d('0x14')],'exten':_0x102d8b[_0x306d('0x7')],'priority':_0x2d8d4e[_0x306d('0x26')]+_0x57fe47['priority']+_0x1ffc1b++,'VoiceExtensionId':_0x102d8b[_0x306d('0x16')]});}}if(_0x102d8b['type']===_0x306d('0x31')&&_0x102d8b[_0x306d('0xb')](_0x306d('0x32'))){if(_0x102d8b[_0x306d('0x32')]){_0x5168c3[_0x306d('0x17')]({'type':_0x102d8b[_0x306d('0x10')],'app':_0x306d('0x1c'),'appdata':_0x306d('0x33')+_0x102d8b[_0x306d('0x32')]+')','context':_0x102d8b[_0x306d('0x14')],'exten':_0x102d8b[_0x306d('0x7')],'priority':_0x2d8d4e[_0x306d('0x26')]+_0x57fe47[_0x306d('0xc')]+_0x1ffc1b++,'VoiceExtensionId':_0x102d8b[_0x306d('0x16')]});}else{_0x5168c3[_0x306d('0x17')]({'type':_0x102d8b[_0x306d('0x10')],'app':_0x306d('0x1c'),'appdata':_0x306d('0x34'),'context':_0x102d8b[_0x306d('0x14')],'exten':_0x102d8b[_0x306d('0x7')],'priority':_0x2d8d4e[_0x306d('0x26')]+_0x57fe47[_0x306d('0xc')]+_0x1ffc1b++,'VoiceExtensionId':_0x102d8b[_0x306d('0x16')]});}}if(_0x102d8b[_0x306d('0xb')](_0x306d('0x35'))){if(_0x54cabe['indexOf'](_0x102d8b[_0x306d('0x36')][_0x306d('0x27')]())>=0x0&&_0x102d8b[_0x306d('0x37')]!==_0x306d('0x38')){if(_0x102d8b[_0x306d('0x35')]){_0x5168c3['push']({'type':_0x102d8b['type'],'app':_0x306d('0x1c'),'appdata':_0x306d('0x39'),'context':_0x102d8b['context'],'exten':_0x102d8b[_0x306d('0x7')],'priority':_0x2d8d4e[_0x306d('0x26')]+_0x57fe47[_0x306d('0xc')]+_0x1ffc1b++,'VoiceExtensionId':_0x102d8b[_0x306d('0x16')]});_0x5168c3[_0x306d('0x17')]({'type':_0x102d8b[_0x306d('0x10')],'app':_0x306d('0x11'),'appdata':_0x306d('0x3a'),'context':_0x102d8b[_0x306d('0x14')],'exten':_0x102d8b['exten'],'priority':_0x2d8d4e[_0x306d('0x26')]+_0x57fe47[_0x306d('0xc')]+_0x1ffc1b++,'VoiceExtensionId':_0x102d8b[_0x306d('0x16')]});}else{_0x5168c3[_0x306d('0x17')]({'type':_0x102d8b[_0x306d('0x10')],'app':_0x306d('0x1c'),'appdata':_0x306d('0x3b'),'context':_0x102d8b[_0x306d('0x14')],'exten':_0x102d8b[_0x306d('0x7')],'priority':_0x2d8d4e[_0x306d('0x26')]+_0x57fe47['priority']+_0x1ffc1b++,'VoiceExtensionId':_0x102d8b[_0x306d('0x16')]});_0x5168c3['push']({'type':_0x102d8b[_0x306d('0x10')],'app':'Set','appdata':_0x306d('0x3c'),'context':_0x102d8b[_0x306d('0x14')],'exten':_0x102d8b[_0x306d('0x7')],'priority':_0x2d8d4e[_0x306d('0x26')]+_0x57fe47['priority']+_0x1ffc1b++,'VoiceExtensionId':_0x102d8b[_0x306d('0x16')]});}}}for(var _0x45d7e6=0x0;_0x45d7e6<_0x2d8d4e['length'];_0x45d7e6+=0x1){var _0x26a7e1=_0x57fe47[_0x306d('0xc')]+_0x2d8d4e[_0x306d('0x26')];var _0x337d64=_0x45d7e6===_0x2d8d4e[_0x306d('0x26')]-0x1?_0x57fe47[_0x306d('0xc')]+_0x5168c3[_0x306d('0x26')]+_0x465f31[_0x306d('0x26')]+0x2:_0x57fe47[_0x306d('0xc')]+_0x45d7e6+0x1;_0x5168c3[_0x306d('0x3d')](_0x45d7e6,0x0,{'type':_0x102d8b[_0x306d('0x10')],'app':_0x306d('0x3e'),'appdata':_0x2d8d4e[_0x45d7e6]+'?'+_0x102d8b['context']+',${EXTEN},'+_0x26a7e1+':'+_0x102d8b['context']+',${EXTEN},'+_0x337d64,'exten':_0x102d8b[_0x306d('0x7')],'context':_0x102d8b[_0x306d('0x14')],'priority':_0x57fe47['priority']+_0x45d7e6,'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0]['VoiceExtensionId']});}_0x102d8b[_0x306d('0xc')]=_0x5168c3['length']?_[_0x306d('0x3f')](_0x5168c3)[_0x306d('0xc')]+0x1:_0x57fe47[_0x306d('0xc')];_0x57fe47[_0x306d('0xc')]=(_0x465f31[_0x306d('0x26')]?_[_0x306d('0x3f')](_0x465f31)['priority']:_0x102d8b['priority'])+0x1;_0x57fe47['extensions']=_[_0x306d('0x40')](_0x57fe47['extensions'],_0x5168c3,[_0x102d8b],_0x465f31);}_0x57fe47[_0x306d('0xd')][_0x306d('0x17')]({'type':_0xf2b148[_0xe3d53b][0x0]['type'],'app':_0x306d('0x41'),'exten':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x7')],'context':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x14')],'priority':_0x57fe47[_0x306d('0xc')],'VoiceExtensionId':_0xf2b148[_0xe3d53b][0x0][_0x306d('0x16')]});_0x2ad01d[_0x306d('0x17')](_0xf2b148[_0xe3d53b][0x0]['VoiceExtensionId']);_0x2a3a15=_[_0x306d('0x40')](_0x2a3a15,_0x57fe47[_0x306d('0xd')]);}}return _0x5723ec[_0x306d('0x42')](function(_0x3f6734){return _0x5723ec['models'][_0x306d('0x4')][_0x306d('0x43')]({'where':{'VoiceExtensionId':{'$in':_0x2ad01d}},'transaction':_0x3f6734})[_0x306d('0x9')](function(_0x431998){return _0x5723ec[_0x306d('0x2')][_0x306d('0x4')]['bulkCreate'](_[_0x306d('0x44')](_0x2a3a15,_0x306d('0xc')),{'transaction':_0x3f6734});});});})[_0x306d('0x45')](function(_0x55ab03){console[_0x306d('0x46')](_0x55ab03);});}exports[_0x306d('0x47')]=rewrite;