3ee108a1b267b0fdd4d3084939757ea1bdcd2cf1
[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 _0xcaa7=['findAll','then','intervals','uniq','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','playback','priority','extensions','extension','find','push','type','Set','format','CDR(type)=%s','context','VoiceExtensionId','CDR(routeid)=','outbound','CDR(destination)=','cutdigits','${EXTEN}','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','hasOwnProperty','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','IntervalId','tag','CDR(tag)=','length','callerID','ExecIf','$[${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','splice',',${EXTEN},','last','concat','transaction','VoiceExtension','destroy','bulkCreate','sortBy','error','rewrite','lodash','util','models','Interval'];(function(_0x3fe042,_0x1106f7){var _0x7d4a1f=function(_0x2df987){while(--_0x2df987){_0x3fe042['push'](_0x3fe042['shift']());}};_0x7d4a1f(++_0x1106f7);}(_0xcaa7,0x1a6));var _0x7caa=function(_0x596fdc,_0x4207d1){_0x596fdc=_0x596fdc-0x0;var _0x2f28db=_0xcaa7[_0x596fdc];return _0x2f28db;};'use strict';var _=require(_0x7caa('0x0'));var util=require(_0x7caa('0x1'));function rewrite(_0x1ed20c,_0x195663){var _0x32899a=this;return _0x1ed20c[_0x7caa('0x2')][_0x7caa('0x3')][_0x7caa('0x4')]({'raw':!![]})[_0x7caa('0x5')](function(_0xb6591c){_0x32899a[_0x7caa('0x6')]=_0xb6591c;return _0x1ed20c[_0x7caa('0x2')]['VoiceExtension'][_0x7caa('0x4')]({'where':{'IntervalId':_0x195663['IntervalId']},'raw':!![]});})[_0x7caa('0x5')](function(_0x29be3e){return _0x1ed20c[_0x7caa('0x2')]['VoiceExtension']['findAll']({'where':{'exten':{'$in':_[_0x7caa('0x7')](_['map'](_0x29be3e,'exten'))}},'order':[{'raw':_0x7caa('0x8')}],'raw':!![]});})['then'](function(_0x278158){var _0x3b5c1d=_[_0x7caa('0x9')](_0x278158,{'priority':'1'});var _0xb817eb=_[_0x7caa('0x9')](_0x278158,{'isApp':0x1});var _0x4b9e26=_[_0x7caa('0xa')](_0xb817eb,_0x7caa('0xb'));var _0x449652=[_0x7caa('0xc'),_0x7caa('0xd')];var _0x570e62=[];var _0x28f210=[];for(var _0x22b1aa in _0x4b9e26){if(_0x4b9e26['hasOwnProperty'](_0x22b1aa)){_0x32899a[_0x7caa('0xe')]=0x2;_0x32899a[_0x7caa('0xf')]=[];_0x32899a[_0x7caa('0x10')]=_[_0x7caa('0x11')](_0x3b5c1d,{'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')]});_0x32899a['extensions'][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':_0x7caa('0x14'),'appdata':util[_0x7caa('0x15')](_0x7caa('0x16'),_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')]),'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});if(_0x4b9e26[_0x22b1aa][0x0]['type']==='inbound'){_0x32899a[_0x7caa('0xf')]['push']({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':_0x7caa('0x14'),'appdata':_0x7caa('0x19')+_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')],'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});}else if(_0x4b9e26[_0x22b1aa][0x0]['type']===_0x7caa('0x1a')){if(_0x32899a['extension']){_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':'Set','appdata':_0x7caa('0x1b')+(_0x32899a[_0x7caa('0x10')]['cutdigits']?'${EXTEN:'+_0x32899a[_0x7caa('0x10')][_0x7caa('0x1c')]+'}':_0x7caa('0x1d')),'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'priority':_0x32899a['priority']++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0]['VoiceExtensionId']});}_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':'Set','appdata':_0x7caa('0x19')+_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')],'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});var _0x1d8bd3=_0x32899a[_0x7caa('0xe')]++;_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0]['type'],'app':'ExecIf','appdata':_0x7caa('0x1e')+(_0x1d8bd3+0x2)+_0x7caa('0x1f')+(_0x1d8bd3+0x1)+')','context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'priority':_0x1d8bd3,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});if(_0x32899a[_0x7caa('0x10')]){_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':'Set','appdata':_0x32899a[_0x7caa('0x10')][_0x7caa('0x1c')]?_0x7caa('0x20')+_0x32899a['extension'][_0x7caa('0x1c')]+'}':'CDR(prefix)=noprefix','context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0]['exten'],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});}_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':_0x7caa('0x14'),'appdata':'outboundrouteid='+_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')],'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0]['exten'],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0]['VoiceExtensionId']});if(_0x32899a[_0x7caa('0x10')]&&_0x32899a['extension'][_0x7caa('0x21')](_0x7caa('0x22'))&&_0x32899a[_0x7caa('0x10')][_0x7caa('0x22')]!==_0x7caa('0x23')){_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0]['type'],'app':_0x7caa('0x14'),'appdata':_0x7caa('0x24'),'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0]['VoiceExtensionId']});_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':_0x7caa('0x14'),'appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x32899a['extension'][_0x7caa('0x22')]||_0x7caa('0x25'),'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0]['exten'],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0]['VoiceExtensionId']});}}_0x32899a['extensions'][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':_0x7caa('0x14'),'appdata':_0x7caa('0x26'),'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0]['type'],'app':_0x7caa('0x14'),'appdata':_0x7caa('0x27'),'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'exten':_0x4b9e26[_0x22b1aa][0x0]['exten'],'priority':_0x32899a[_0x7caa('0xe')]++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});_0x32899a[_0x7caa('0xf')]['push']({'type':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x13')],'app':'Set','appdata':_0x7caa('0x28'),'context':_0x4b9e26[_0x22b1aa][0x0]['context'],'exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'priority':_0x32899a['priority']++,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});for(var _0x573f9c=0x0,_0x4d1743=0x0;_0x573f9c<_0x4b9e26[_0x22b1aa]['length'];_0x573f9c+=0x1,_0x4d1743=0x0){var _0x4a9660=_0x4b9e26[_0x22b1aa][_0x573f9c];if(_0x4a9660[_0x7caa('0x13')]){_0x4a9660[_0x7caa('0x13')]=_0x4a9660[_0x7caa('0x13')][_0x7caa('0x29')]();}var _0x31046e=[];var _0x4e2897=[];delete _0x4a9660['id'];delete _0x4a9660[_0x7caa('0x2a')];delete _0x4a9660[_0x7caa('0x2b')];var _0x142e87=_0x4a9660[_0x7caa('0x2c')]!==_0x7caa('0x2d')?[_0x4a9660[_0x7caa('0x2c')]]:_0x4a9660[_0x7caa('0x2e')]?_['map'](_[_0x7caa('0x9')](_0x32899a['intervals'],{'IntervalId':_0x4a9660[_0x7caa('0x2e')]}),'interval'):[];if(_0x4a9660['hasOwnProperty'](_0x7caa('0x2f'))){if(_0x4a9660[_0x7caa('0x2f')]&&_0x4a9660['tag']!=='--'){_0x31046e['push']({'type':_0x4a9660[_0x7caa('0x13')],'app':_0x7caa('0x14'),'appdata':_0x7caa('0x30')+_0x4a9660[_0x7caa('0x2f')],'context':_0x4a9660[_0x7caa('0x17')],'exten':_0x4a9660[_0x7caa('0xb')],'priority':_0x142e87[_0x7caa('0x31')]+_0x32899a[_0x7caa('0xe')]+_0x4d1743++,'VoiceExtensionId':_0x4a9660[_0x7caa('0x18')]});}}if(_0x4a9660[_0x7caa('0x13')]===_0x7caa('0x1a')&&_0x4a9660[_0x7caa('0x21')](_0x7caa('0x32'))){if(_0x4a9660[_0x7caa('0x32')]){_0x31046e['push']({'type':_0x4a9660[_0x7caa('0x13')],'app':_0x7caa('0x33'),'appdata':_0x7caa('0x34')+_0x4a9660[_0x7caa('0x32')]+')','context':_0x4a9660[_0x7caa('0x17')],'exten':_0x4a9660[_0x7caa('0xb')],'priority':_0x142e87['length']+_0x32899a[_0x7caa('0xe')]+_0x4d1743++,'VoiceExtensionId':_0x4a9660[_0x7caa('0x18')]});}else{_0x31046e[_0x7caa('0x12')]({'type':_0x4a9660[_0x7caa('0x13')],'app':_0x7caa('0x33'),'appdata':_0x7caa('0x35'),'context':_0x4a9660['context'],'exten':_0x4a9660[_0x7caa('0xb')],'priority':_0x142e87['length']+_0x32899a['priority']+_0x4d1743++,'VoiceExtensionId':_0x4a9660['VoiceExtensionId']});}}if(_0x4a9660[_0x7caa('0x21')](_0x7caa('0x36'))){if(_0x449652['indexOf'](_0x4a9660[_0x7caa('0x37')][_0x7caa('0x29')]())>=0x0&&_0x4a9660[_0x7caa('0x38')]!==_0x7caa('0x39')){if(_0x4a9660[_0x7caa('0x36')]){_0x31046e['push']({'type':_0x4a9660[_0x7caa('0x13')],'app':'ExecIf','appdata':_0x7caa('0x3a'),'context':_0x4a9660[_0x7caa('0x17')],'exten':_0x4a9660[_0x7caa('0xb')],'priority':_0x142e87['length']+_0x32899a[_0x7caa('0xe')]+_0x4d1743++,'VoiceExtensionId':_0x4a9660[_0x7caa('0x18')]});_0x31046e['push']({'type':_0x4a9660[_0x7caa('0x13')],'app':_0x7caa('0x14'),'appdata':_0x7caa('0x3b'),'context':_0x4a9660[_0x7caa('0x17')],'exten':_0x4a9660[_0x7caa('0xb')],'priority':_0x142e87[_0x7caa('0x31')]+_0x32899a[_0x7caa('0xe')]+_0x4d1743++,'VoiceExtensionId':_0x4a9660[_0x7caa('0x18')]});}else{_0x31046e[_0x7caa('0x12')]({'type':_0x4a9660[_0x7caa('0x13')],'app':_0x7caa('0x33'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x4a9660[_0x7caa('0x17')],'exten':_0x4a9660[_0x7caa('0xb')],'priority':_0x142e87[_0x7caa('0x31')]+_0x32899a['priority']+_0x4d1743++,'VoiceExtensionId':_0x4a9660[_0x7caa('0x18')]});_0x31046e[_0x7caa('0x12')]({'type':_0x4a9660[_0x7caa('0x13')],'app':_0x7caa('0x14'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x4a9660['context'],'exten':_0x4a9660['exten'],'priority':_0x142e87[_0x7caa('0x31')]+_0x32899a[_0x7caa('0xe')]+_0x4d1743++,'VoiceExtensionId':_0x4a9660[_0x7caa('0x18')]});}}}for(var _0x4449dc=0x0;_0x4449dc<_0x142e87[_0x7caa('0x31')];_0x4449dc+=0x1){var _0x4cf029=_0x32899a['priority']+_0x142e87[_0x7caa('0x31')];var _0x4bf091=_0x4449dc===_0x142e87[_0x7caa('0x31')]-0x1?_0x32899a['priority']+_0x31046e[_0x7caa('0x31')]+_0x4e2897[_0x7caa('0x31')]+0x2:_0x32899a[_0x7caa('0xe')]+_0x4449dc+0x1;_0x31046e[_0x7caa('0x3c')](_0x4449dc,0x0,{'type':_0x4a9660[_0x7caa('0x13')],'app':'GotoIfTime','appdata':_0x142e87[_0x4449dc]+'?'+_0x4a9660[_0x7caa('0x17')]+',${EXTEN},'+_0x4cf029+':'+_0x4a9660[_0x7caa('0x17')]+_0x7caa('0x3d')+_0x4bf091,'exten':_0x4a9660[_0x7caa('0xb')],'context':_0x4a9660[_0x7caa('0x17')],'priority':_0x32899a[_0x7caa('0xe')]+_0x4449dc,'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});}_0x4a9660[_0x7caa('0xe')]=_0x31046e[_0x7caa('0x31')]?_[_0x7caa('0x3e')](_0x31046e)[_0x7caa('0xe')]+0x1:_0x32899a[_0x7caa('0xe')];_0x32899a[_0x7caa('0xe')]=(_0x4e2897[_0x7caa('0x31')]?_[_0x7caa('0x3e')](_0x4e2897)['priority']:_0x4a9660[_0x7caa('0xe')])+0x1;_0x32899a['extensions']=_[_0x7caa('0x3f')](_0x32899a[_0x7caa('0xf')],_0x31046e,[_0x4a9660],_0x4e2897);}_0x32899a[_0x7caa('0xf')][_0x7caa('0x12')]({'type':_0x4b9e26[_0x22b1aa][0x0]['type'],'app':'Hangup','exten':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0xb')],'context':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x17')],'priority':_0x32899a['priority'],'VoiceExtensionId':_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]});_0x570e62[_0x7caa('0x12')](_0x4b9e26[_0x22b1aa][0x0][_0x7caa('0x18')]);_0x28f210=_[_0x7caa('0x3f')](_0x28f210,_0x32899a[_0x7caa('0xf')]);}}return _0x1ed20c[_0x7caa('0x40')](function(_0x510baa){return _0x1ed20c[_0x7caa('0x2')][_0x7caa('0x41')][_0x7caa('0x42')]({'where':{'VoiceExtensionId':{'$in':_0x570e62}},'transaction':_0x510baa})[_0x7caa('0x5')](function(_0x392939){return _0x1ed20c[_0x7caa('0x2')][_0x7caa('0x41')][_0x7caa('0x43')](_[_0x7caa('0x44')](_0x28f210,_0x7caa('0xe')),{'transaction':_0x510baa});});});})['catch'](function(_0x2bdcae){console[_0x7caa('0x45')](_0x2bdcae);});}exports[_0x7caa('0x46')]=rewrite;