Built motion from commit (unavailable).|2.6.0
[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 _0xa1f1=['exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','priority','extensions','extension','find','push','type','Set','format','CDR(type)=%s','outbound','CDR(destination)=','cutdigits','${EXTEN:','context','VoiceExtensionId','CDR(routeid)=','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=noprefix','recordingFormat','none','_XCALLY_MIXMONITOR_FORMAT=','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','toLowerCase','updatedAt','*,*,*,*','interval','tag','CDR(tag)=','callerID','length','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','indexOf','appType','answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','sortBy','error','rewrite','util','Interval','findAll','then','intervals','models','VoiceExtension','IntervalId','map'];(function(_0x1434d1,_0x3ff205){var _0x51d5b9=function(_0x395d2c){while(--_0x395d2c){_0x1434d1['push'](_0x1434d1['shift']());}};_0x51d5b9(++_0x3ff205);}(_0xa1f1,0x7b));var _0x1a1f=function(_0x256e32,_0x4013bc){_0x256e32=_0x256e32-0x0;var _0x464070=_0xa1f1[_0x256e32];return _0x464070;};'use strict';var _=require('lodash');var util=require(_0x1a1f('0x0'));function rewrite(_0x2aac67,_0x281bc2){var _0x515938=this;return _0x2aac67['models'][_0x1a1f('0x1')][_0x1a1f('0x2')]({'raw':!![]})[_0x1a1f('0x3')](function(_0x3992dd){_0x515938[_0x1a1f('0x4')]=_0x3992dd;return _0x2aac67[_0x1a1f('0x5')][_0x1a1f('0x6')][_0x1a1f('0x2')]({'where':{'IntervalId':_0x281bc2[_0x1a1f('0x7')]},'raw':!![]});})[_0x1a1f('0x3')](function(_0x536442){return _0x2aac67[_0x1a1f('0x5')][_0x1a1f('0x6')][_0x1a1f('0x2')]({'where':{'exten':{'$in':_['uniq'](_[_0x1a1f('0x8')](_0x536442,_0x1a1f('0x9')))}},'order':[{'raw':_0x1a1f('0xa')}],'raw':!![]});})[_0x1a1f('0x3')](function(_0x4bb963){var _0x1556dd=_[_0x1a1f('0xb')](_0x4bb963,{'priority':'1'});var _0x2d5985=_[_0x1a1f('0xb')](_0x4bb963,{'isApp':0x1});var _0x380c1c=_[_0x1a1f('0xc')](_0x2d5985,_0x1a1f('0x9'));var _0x51f73b=[_0x1a1f('0xd'),_0x1a1f('0xe')];var _0x1c6785=[];var _0x38fb10=[];for(var _0x20b40d in _0x380c1c){if(_0x380c1c[_0x1a1f('0xf')](_0x20b40d)){_0x515938[_0x1a1f('0x10')]=0x2;_0x515938[_0x1a1f('0x11')]=[];_0x515938[_0x1a1f('0x12')]=_[_0x1a1f('0x13')](_0x1556dd,{'exten':_0x380c1c[_0x20b40d][0x0]['exten']});_0x515938[_0x1a1f('0x11')][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':_0x1a1f('0x16'),'appdata':util[_0x1a1f('0x17')](_0x1a1f('0x18'),_0x380c1c[_0x20b40d][0x0]['type']),'context':_0x380c1c[_0x20b40d][0x0]['context'],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId']});if(_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')]===_0x1a1f('0x19')){if(_0x515938['extension']){_0x515938['extensions'][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':_0x1a1f('0x16'),'appdata':_0x1a1f('0x1a')+(_0x515938['extension'][_0x1a1f('0x1b')]?_0x1a1f('0x1c')+_0x515938[_0x1a1f('0x12')][_0x1a1f('0x1b')]+'}':'${EXTEN}'),'context':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1d')],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938['priority']++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1e')]});}_0x515938[_0x1a1f('0x11')][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':'Set','appdata':_0x1a1f('0x1f')+_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId'],'context':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1d')],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1e')]});var _0x3d0440=_0x515938[_0x1a1f('0x10')]++;_0x515938['extensions'][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':_0x1a1f('0x20'),'appdata':_0x1a1f('0x21')+(_0x3d0440+0x2)+_0x1a1f('0x22')+(_0x3d0440+0x1)+')','context':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1d')],'exten':_0x380c1c[_0x20b40d][0x0]['exten'],'priority':_0x3d0440,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId']});if(_0x515938[_0x1a1f('0x12')]){_0x515938[_0x1a1f('0x11')][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0]['type'],'app':_0x1a1f('0x16'),'appdata':_0x515938[_0x1a1f('0x12')]['cutdigits']?'CDR(prefix)=${EXTEN:0:'+_0x515938[_0x1a1f('0x12')][_0x1a1f('0x1b')]+'}':_0x1a1f('0x23'),'context':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1d')],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId']});}_0x515938[_0x1a1f('0x11')][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':_0x1a1f('0x16'),'appdata':'outboundrouteid='+_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId'],'context':_0x380c1c[_0x20b40d][0x0]['context'],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1e')]});if(_0x515938[_0x1a1f('0x12')]&&_0x515938[_0x1a1f('0x12')][_0x1a1f('0xf')]('recordingFormat')&&_0x515938['extension'][_0x1a1f('0x24')]!==_0x1a1f('0x25')){_0x515938[_0x1a1f('0x11')]['push']({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':_0x1a1f('0x16'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x380c1c[_0x20b40d][0x0]['context'],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1e')]});_0x515938[_0x1a1f('0x11')][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0]['type'],'app':_0x1a1f('0x16'),'appdata':_0x1a1f('0x26')+_0x515938[_0x1a1f('0x12')][_0x1a1f('0x24')]||'wav','context':_0x380c1c[_0x20b40d][0x0]['context'],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId']});}}_0x515938[_0x1a1f('0x11')]['push']({'type':_0x380c1c[_0x20b40d][0x0]['type'],'app':_0x1a1f('0x16'),'appdata':_0x1a1f('0x27'),'context':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1d')],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId']});_0x515938[_0x1a1f('0x11')][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':'Set','appdata':_0x1a1f('0x28'),'context':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1d')],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1e')]});_0x515938[_0x1a1f('0x11')]['push']({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':_0x1a1f('0x16'),'appdata':_0x1a1f('0x29'),'context':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1d')],'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'priority':_0x515938[_0x1a1f('0x10')]++,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId']});for(var _0x1cfcab=0x0,_0x16a63e=0x0;_0x1cfcab<_0x380c1c[_0x20b40d]['length'];_0x1cfcab+=0x1,_0x16a63e=0x0){var _0x4516df=_0x380c1c[_0x20b40d][_0x1cfcab];if(_0x4516df[_0x1a1f('0x15')]){_0x4516df[_0x1a1f('0x15')]=_0x4516df[_0x1a1f('0x15')][_0x1a1f('0x2a')]();}var _0x1a7f05=[];var _0x573440=[];delete _0x4516df['id'];delete _0x4516df['createdAt'];delete _0x4516df[_0x1a1f('0x2b')];var _0x4eaa29=_0x4516df['interval']!==_0x1a1f('0x2c')?[_0x4516df[_0x1a1f('0x2d')]]:_0x4516df[_0x1a1f('0x7')]?_[_0x1a1f('0x8')](_[_0x1a1f('0xb')](_0x515938[_0x1a1f('0x4')],{'IntervalId':_0x4516df['IntervalId']}),_0x1a1f('0x2d')):[];if(_0x4516df[_0x1a1f('0xf')]('tag')){if(_0x4516df['tag']&&_0x4516df[_0x1a1f('0x2e')]!=='--'){_0x1a7f05[_0x1a1f('0x14')]({'type':_0x4516df[_0x1a1f('0x15')],'app':_0x1a1f('0x16'),'appdata':_0x1a1f('0x2f')+_0x4516df[_0x1a1f('0x2e')],'context':_0x4516df[_0x1a1f('0x1d')],'exten':_0x4516df['exten'],'priority':_0x4eaa29['length']+_0x515938[_0x1a1f('0x10')]+_0x16a63e++,'VoiceExtensionId':_0x4516df['VoiceExtensionId']});}}if(_0x4516df[_0x1a1f('0x15')]===_0x1a1f('0x19')&&_0x4516df[_0x1a1f('0xf')]('callerID')){if(_0x4516df[_0x1a1f('0x30')]){_0x1a7f05[_0x1a1f('0x14')]({'type':_0x4516df[_0x1a1f('0x15')],'app':_0x1a1f('0x20'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x4516df[_0x1a1f('0x30')]+')','context':_0x4516df[_0x1a1f('0x1d')],'exten':_0x4516df[_0x1a1f('0x9')],'priority':_0x4eaa29[_0x1a1f('0x31')]+_0x515938['priority']+_0x16a63e++,'VoiceExtensionId':_0x4516df[_0x1a1f('0x1e')]});}else{_0x1a7f05['push']({'type':_0x4516df[_0x1a1f('0x15')],'app':_0x1a1f('0x20'),'appdata':_0x1a1f('0x32'),'context':_0x4516df[_0x1a1f('0x1d')],'exten':_0x4516df[_0x1a1f('0x9')],'priority':_0x4eaa29['length']+_0x515938[_0x1a1f('0x10')]+_0x16a63e++,'VoiceExtensionId':_0x4516df[_0x1a1f('0x1e')]});}}if(_0x4516df['hasOwnProperty']('answer')){if(_0x51f73b[_0x1a1f('0x33')](_0x4516df['app'][_0x1a1f('0x2a')]())>=0x0&&_0x4516df[_0x1a1f('0x34')]!=='custom'){if(_0x4516df[_0x1a1f('0x35')]){_0x1a7f05[_0x1a1f('0x14')]({'type':_0x4516df[_0x1a1f('0x15')],'app':_0x1a1f('0x20'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x4516df[_0x1a1f('0x1d')],'exten':_0x4516df[_0x1a1f('0x9')],'priority':_0x4eaa29[_0x1a1f('0x31')]+_0x515938[_0x1a1f('0x10')]+_0x16a63e++,'VoiceExtensionId':_0x4516df[_0x1a1f('0x1e')]});_0x1a7f05[_0x1a1f('0x14')]({'type':_0x4516df[_0x1a1f('0x15')],'app':'Set','appdata':_0x1a1f('0x36'),'context':_0x4516df[_0x1a1f('0x1d')],'exten':_0x4516df[_0x1a1f('0x9')],'priority':_0x4eaa29[_0x1a1f('0x31')]+_0x515938[_0x1a1f('0x10')]+_0x16a63e++,'VoiceExtensionId':_0x4516df[_0x1a1f('0x1e')]});}else{_0x1a7f05[_0x1a1f('0x14')]({'type':_0x4516df[_0x1a1f('0x15')],'app':'ExecIf','appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x4516df[_0x1a1f('0x1d')],'exten':_0x4516df['exten'],'priority':_0x4eaa29[_0x1a1f('0x31')]+_0x515938[_0x1a1f('0x10')]+_0x16a63e++,'VoiceExtensionId':_0x4516df[_0x1a1f('0x1e')]});_0x1a7f05['push']({'type':_0x4516df['type'],'app':_0x1a1f('0x16'),'appdata':_0x1a1f('0x37'),'context':_0x4516df[_0x1a1f('0x1d')],'exten':_0x4516df[_0x1a1f('0x9')],'priority':_0x4eaa29['length']+_0x515938[_0x1a1f('0x10')]+_0x16a63e++,'VoiceExtensionId':_0x4516df[_0x1a1f('0x1e')]});}}}for(var _0x560bb9=0x0;_0x560bb9<_0x4eaa29[_0x1a1f('0x31')];_0x560bb9+=0x1){var _0x288a1e=_0x515938[_0x1a1f('0x10')]+_0x4eaa29[_0x1a1f('0x31')];var _0x3645ff=_0x560bb9===_0x4eaa29[_0x1a1f('0x31')]-0x1?_0x515938[_0x1a1f('0x10')]+_0x1a7f05[_0x1a1f('0x31')]+_0x573440['length']+0x2:_0x515938[_0x1a1f('0x10')]+_0x560bb9+0x1;_0x1a7f05['splice'](_0x560bb9,0x0,{'type':_0x4516df[_0x1a1f('0x15')],'app':_0x1a1f('0x38'),'appdata':_0x4eaa29[_0x560bb9]+'?'+_0x4516df[_0x1a1f('0x1d')]+',${EXTEN},'+_0x288a1e+':'+_0x4516df[_0x1a1f('0x1d')]+_0x1a1f('0x39')+_0x3645ff,'exten':_0x4516df[_0x1a1f('0x9')],'context':_0x4516df[_0x1a1f('0x1d')],'priority':_0x515938['priority']+_0x560bb9,'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1e')]});}_0x4516df['priority']=_0x1a7f05[_0x1a1f('0x31')]?_[_0x1a1f('0x3a')](_0x1a7f05)[_0x1a1f('0x10')]+0x1:_0x515938[_0x1a1f('0x10')];_0x515938[_0x1a1f('0x10')]=(_0x573440[_0x1a1f('0x31')]?_['last'](_0x573440)['priority']:_0x4516df['priority'])+0x1;_0x515938[_0x1a1f('0x11')]=_[_0x1a1f('0x3b')](_0x515938[_0x1a1f('0x11')],_0x1a7f05,[_0x4516df],_0x573440);}_0x515938[_0x1a1f('0x11')][_0x1a1f('0x14')]({'type':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x15')],'app':_0x1a1f('0x3c'),'exten':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x9')],'context':_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1d')],'priority':_0x515938['priority'],'VoiceExtensionId':_0x380c1c[_0x20b40d][0x0]['VoiceExtensionId']});_0x1c6785[_0x1a1f('0x14')](_0x380c1c[_0x20b40d][0x0][_0x1a1f('0x1e')]);_0x38fb10=_[_0x1a1f('0x3b')](_0x38fb10,_0x515938[_0x1a1f('0x11')]);}}return _0x2aac67[_0x1a1f('0x3d')](function(_0x5e85cc){return _0x2aac67['models'][_0x1a1f('0x6')][_0x1a1f('0x3e')]({'where':{'VoiceExtensionId':{'$in':_0x1c6785}},'transaction':_0x5e85cc})[_0x1a1f('0x3')](function(_0xdc6a51){return _0x2aac67[_0x1a1f('0x5')][_0x1a1f('0x6')]['bulkCreate'](_[_0x1a1f('0x3f')](_0x38fb10,'priority'),{'transaction':_0x5e85cc});});});})['catch'](function(_0x3aa117){console[_0x1a1f('0x40')](_0x3aa117);});}exports[_0x1a1f('0x41')]=rewrite;