Built motion from commit (unavailable).|2.5.30
[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 _0x4157=['*,*,*,*','tag','CDR(tag)=','outbound','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','indexOf','app','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','bulkCreate','sortBy','catch','error','rewrite','lodash','util','Interval','findAll','then','intervals','models','VoiceExtension','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','priority','extensions','extension','find','push','Set','format','CDR(type)=%s','type','CDR(destination)=','cutdigits','${EXTEN:','VoiceExtensionId','context','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','length','createdAt','interval'];(function(_0x3b83ff,_0x4b8ef4){var _0xb66d32=function(_0x19366a){while(--_0x19366a){_0x3b83ff['push'](_0x3b83ff['shift']());}};_0xb66d32(++_0x4b8ef4);}(_0x4157,0xf3));var _0x7415=function(_0x29809a,_0x12aba2){_0x29809a=_0x29809a-0x0;var _0x15e3f7=_0x4157[_0x29809a];return _0x15e3f7;};'use strict';var _=require(_0x7415('0x0'));var util=require(_0x7415('0x1'));function rewrite(_0x325318,_0x7adb82){var _0x4509ca=this;return _0x325318['models'][_0x7415('0x2')][_0x7415('0x3')]({'raw':!![]})[_0x7415('0x4')](function(_0x341b12){_0x4509ca[_0x7415('0x5')]=_0x341b12;return _0x325318[_0x7415('0x6')][_0x7415('0x7')][_0x7415('0x3')]({'where':{'IntervalId':_0x7adb82[_0x7415('0x8')]},'raw':!![]});})['then'](function(_0x26fe93){return _0x325318['models'][_0x7415('0x7')]['findAll']({'where':{'exten':{'$in':_[_0x7415('0x9')](_[_0x7415('0xa')](_0x26fe93,_0x7415('0xb')))}},'order':[{'raw':_0x7415('0xc')}],'raw':!![]});})[_0x7415('0x4')](function(_0x1dc06d){var _0x283f22=_['filter'](_0x1dc06d,{'priority':'1'});var _0x1cd0e4=_[_0x7415('0xd')](_0x1dc06d,{'isApp':0x1});var _0x2bad6a=_[_0x7415('0xe')](_0x1cd0e4,_0x7415('0xb'));var _0x4e2173=[_0x7415('0xf'),_0x7415('0x10')];var _0x473645=[];var _0x404ee3=[];for(var _0x1b2e61 in _0x2bad6a){if(_0x2bad6a[_0x7415('0x11')](_0x1b2e61)){_0x4509ca[_0x7415('0x12')]=0x2;_0x4509ca[_0x7415('0x13')]=[];_0x4509ca[_0x7415('0x14')]=_[_0x7415('0x15')](_0x283f22,{'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')]});_0x4509ca[_0x7415('0x13')][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0]['type'],'app':_0x7415('0x17'),'appdata':util[_0x7415('0x18')](_0x7415('0x19'),_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')]),'context':_0x2bad6a[_0x1b2e61][0x0]['context'],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca[_0x7415('0x12')]++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0]['VoiceExtensionId']});if(_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')]==='outbound'){if(_0x4509ca[_0x7415('0x14')]){_0x4509ca[_0x7415('0x13')][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':_0x7415('0x1b')+(_0x4509ca[_0x7415('0x14')][_0x7415('0x1c')]?_0x7415('0x1d')+_0x4509ca[_0x7415('0x14')][_0x7415('0x1c')]+'}':'${EXTEN}'),'context':_0x2bad6a[_0x1b2e61][0x0]['context'],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca[_0x7415('0x12')]++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});}_0x4509ca[_0x7415('0x13')]['push']({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':'Set','appdata':'CDR(routeid)='+_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')],'context':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1f')],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca[_0x7415('0x12')]++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});var _0x24a554=_0x4509ca[_0x7415('0x12')]++;_0x4509ca[_0x7415('0x13')][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':'ExecIf','appdata':_0x7415('0x20')+(_0x24a554+0x2)+_0x7415('0x21')+(_0x24a554+0x1)+')','context':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1f')],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x24a554,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});if(_0x4509ca['extension']){_0x4509ca[_0x7415('0x13')]['push']({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':_0x4509ca[_0x7415('0x14')][_0x7415('0x1c')]?'CDR(prefix)=${EXTEN:0:'+_0x4509ca[_0x7415('0x14')]['cutdigits']+'}':'CDR(prefix)=noprefix','context':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1f')],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca[_0x7415('0x12')]++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});}_0x4509ca['extensions'][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':_0x7415('0x22')+_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')],'context':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1f')],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca[_0x7415('0x12')]++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});if(_0x4509ca[_0x7415('0x14')]&&_0x4509ca[_0x7415('0x14')]['hasOwnProperty'](_0x7415('0x23'))&&_0x4509ca[_0x7415('0x14')]['recordingFormat']!==_0x7415('0x24')){_0x4509ca[_0x7415('0x13')][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':_0x7415('0x25'),'context':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1f')],'exten':_0x2bad6a[_0x1b2e61][0x0]['exten'],'priority':_0x4509ca[_0x7415('0x12')]++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});_0x4509ca[_0x7415('0x13')][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':_0x7415('0x26')+_0x4509ca['extension']['recordingFormat']||_0x7415('0x27'),'context':_0x2bad6a[_0x1b2e61][0x0]['context'],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca[_0x7415('0x12')]++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0]['VoiceExtensionId']});}}_0x4509ca['extensions']['push']({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':'Set','appdata':_0x7415('0x28'),'context':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1f')],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca['priority']++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});_0x4509ca[_0x7415('0x13')][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':_0x7415('0x29'),'context':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1f')],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca[_0x7415('0x12')]++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});_0x4509ca[_0x7415('0x13')][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':'MONITOR_OPTIONS=ab','context':_0x2bad6a[_0x1b2e61][0x0]['context'],'exten':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0xb')],'priority':_0x4509ca['priority']++,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0]['VoiceExtensionId']});for(var _0x8566e9=0x0,_0x664650=0x0;_0x8566e9<_0x2bad6a[_0x1b2e61][_0x7415('0x2a')];_0x8566e9+=0x1,_0x664650=0x0){var _0x21339c=_0x2bad6a[_0x1b2e61][_0x8566e9];if(_0x21339c['type']){_0x21339c[_0x7415('0x1a')]=_0x21339c[_0x7415('0x1a')]['toLowerCase']();}var _0x464733=[];var _0xd0770d=[];delete _0x21339c['id'];delete _0x21339c[_0x7415('0x2b')];delete _0x21339c['updatedAt'];var _0x197273=_0x21339c[_0x7415('0x2c')]!==_0x7415('0x2d')?[_0x21339c[_0x7415('0x2c')]]:_0x21339c['IntervalId']?_[_0x7415('0xa')](_[_0x7415('0xd')](_0x4509ca[_0x7415('0x5')],{'IntervalId':_0x21339c[_0x7415('0x8')]}),'interval'):[];if(_0x21339c[_0x7415('0x11')](_0x7415('0x2e'))){if(_0x21339c[_0x7415('0x2e')]&&_0x21339c['tag']!=='--'){_0x464733[_0x7415('0x16')]({'type':_0x21339c[_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':_0x7415('0x2f')+_0x21339c['tag'],'context':_0x21339c[_0x7415('0x1f')],'exten':_0x21339c[_0x7415('0xb')],'priority':_0x197273[_0x7415('0x2a')]+_0x4509ca[_0x7415('0x12')]+_0x664650++,'VoiceExtensionId':_0x21339c[_0x7415('0x1e')]});}}if(_0x21339c[_0x7415('0x1a')]===_0x7415('0x30')&&_0x21339c[_0x7415('0x11')](_0x7415('0x31'))){if(_0x21339c[_0x7415('0x31')]){_0x464733[_0x7415('0x16')]({'type':_0x21339c[_0x7415('0x1a')],'app':_0x7415('0x32'),'appdata':_0x7415('0x33')+_0x21339c['callerID']+')','context':_0x21339c[_0x7415('0x1f')],'exten':_0x21339c[_0x7415('0xb')],'priority':_0x197273[_0x7415('0x2a')]+_0x4509ca[_0x7415('0x12')]+_0x664650++,'VoiceExtensionId':_0x21339c['VoiceExtensionId']});}else{_0x464733[_0x7415('0x16')]({'type':_0x21339c[_0x7415('0x1a')],'app':_0x7415('0x32'),'appdata':_0x7415('0x34'),'context':_0x21339c[_0x7415('0x1f')],'exten':_0x21339c['exten'],'priority':_0x197273[_0x7415('0x2a')]+_0x4509ca[_0x7415('0x12')]+_0x664650++,'VoiceExtensionId':_0x21339c[_0x7415('0x1e')]});}}if(_0x21339c[_0x7415('0x11')](_0x7415('0x35'))){if(_0x4e2173[_0x7415('0x36')](_0x21339c[_0x7415('0x37')]['toLowerCase']())>=0x0&&_0x21339c['appType']!==_0x7415('0x38')){if(_0x21339c[_0x7415('0x35')]){_0x464733[_0x7415('0x16')]({'type':_0x21339c['type'],'app':'ExecIf','appdata':_0x7415('0x39'),'context':_0x21339c['context'],'exten':_0x21339c['exten'],'priority':_0x197273[_0x7415('0x2a')]+_0x4509ca['priority']+_0x664650++,'VoiceExtensionId':_0x21339c[_0x7415('0x1e')]});_0x464733[_0x7415('0x16')]({'type':_0x21339c[_0x7415('0x1a')],'app':_0x7415('0x17'),'appdata':_0x7415('0x3a'),'context':_0x21339c[_0x7415('0x1f')],'exten':_0x21339c['exten'],'priority':_0x197273[_0x7415('0x2a')]+_0x4509ca[_0x7415('0x12')]+_0x664650++,'VoiceExtensionId':_0x21339c['VoiceExtensionId']});}else{_0x464733[_0x7415('0x16')]({'type':_0x21339c[_0x7415('0x1a')],'app':_0x7415('0x32'),'appdata':_0x7415('0x3b'),'context':_0x21339c[_0x7415('0x1f')],'exten':_0x21339c[_0x7415('0xb')],'priority':_0x197273['length']+_0x4509ca[_0x7415('0x12')]+_0x664650++,'VoiceExtensionId':_0x21339c[_0x7415('0x1e')]});_0x464733['push']({'type':_0x21339c[_0x7415('0x1a')],'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x21339c[_0x7415('0x1f')],'exten':_0x21339c[_0x7415('0xb')],'priority':_0x197273[_0x7415('0x2a')]+_0x4509ca[_0x7415('0x12')]+_0x664650++,'VoiceExtensionId':_0x21339c[_0x7415('0x1e')]});}}}for(var _0x8aa2ec=0x0;_0x8aa2ec<_0x197273['length'];_0x8aa2ec+=0x1){var _0x1eca33=_0x4509ca['priority']+_0x197273[_0x7415('0x2a')];var _0x1ed007=_0x8aa2ec===_0x197273[_0x7415('0x2a')]-0x1?_0x4509ca[_0x7415('0x12')]+_0x464733[_0x7415('0x2a')]+_0xd0770d[_0x7415('0x2a')]+0x2:_0x4509ca[_0x7415('0x12')]+_0x8aa2ec+0x1;_0x464733[_0x7415('0x3c')](_0x8aa2ec,0x0,{'type':_0x21339c[_0x7415('0x1a')],'app':_0x7415('0x3d'),'appdata':_0x197273[_0x8aa2ec]+'?'+_0x21339c[_0x7415('0x1f')]+_0x7415('0x3e')+_0x1eca33+':'+_0x21339c['context']+',${EXTEN},'+_0x1ed007,'exten':_0x21339c['exten'],'context':_0x21339c[_0x7415('0x1f')],'priority':_0x4509ca[_0x7415('0x12')]+_0x8aa2ec,'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});}_0x21339c[_0x7415('0x12')]=_0x464733[_0x7415('0x2a')]?_[_0x7415('0x3f')](_0x464733)['priority']+0x1:_0x4509ca[_0x7415('0x12')];_0x4509ca[_0x7415('0x12')]=(_0xd0770d['length']?_['last'](_0xd0770d)[_0x7415('0x12')]:_0x21339c[_0x7415('0x12')])+0x1;_0x4509ca['extensions']=_[_0x7415('0x40')](_0x4509ca[_0x7415('0x13')],_0x464733,[_0x21339c],_0xd0770d);}_0x4509ca['extensions'][_0x7415('0x16')]({'type':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1a')],'app':_0x7415('0x41'),'exten':_0x2bad6a[_0x1b2e61][0x0]['exten'],'context':_0x2bad6a[_0x1b2e61][0x0]['context'],'priority':_0x4509ca[_0x7415('0x12')],'VoiceExtensionId':_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]});_0x473645[_0x7415('0x16')](_0x2bad6a[_0x1b2e61][0x0][_0x7415('0x1e')]);_0x404ee3=_['concat'](_0x404ee3,_0x4509ca['extensions']);}}return _0x325318[_0x7415('0x42')](function(_0x2a425b){return _0x325318[_0x7415('0x6')][_0x7415('0x7')]['destroy']({'where':{'VoiceExtensionId':{'$in':_0x473645}},'transaction':_0x2a425b})[_0x7415('0x4')](function(_0x1dc4fa){return _0x325318[_0x7415('0x6')][_0x7415('0x7')][_0x7415('0x43')](_[_0x7415('0x44')](_0x404ee3,'priority'),{'transaction':_0x2a425b});});});})[_0x7415('0x45')](function(_0x19d12e){console[_0x7415('0x46')](_0x19d12e);});}exports[_0x7415('0x47')]=rewrite;