Built motion from commit (unavailable).|2.5.17
[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 _0x870d=['answer','indexOf','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice','last','concat','Hangup','transaction','destroy','bulkCreate','sortBy','error','lodash','util','models','then','intervals','findAll','IntervalId','VoiceExtension','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','extensions','extension','find','push','type','CDR(type)=%s','priority','VoiceExtensionId','outbound','Set','CDR(destination)=','cutdigits','${EXTEN}','context','CDR(routeid)=','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','MONITOR_OPTIONS=ab','length','createdAt','updatedAt','interval','*,*,*,*','hasOwnProperty','tag','CDR(tag)=','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)'];(function(_0x1b6311,_0x42ec20){var _0x25aab6=function(_0x139a77){while(--_0x139a77){_0x1b6311['push'](_0x1b6311['shift']());}};_0x25aab6(++_0x42ec20);}(_0x870d,0x124));var _0xd870=function(_0x2c02c7,_0xfe467f){_0x2c02c7=_0x2c02c7-0x0;var _0x9c83fe=_0x870d[_0x2c02c7];return _0x9c83fe;};'use strict';var _=require(_0xd870('0x0'));var util=require(_0xd870('0x1'));function rewrite(_0x3c93ae,_0x2a2c85){var _0x4909d1=this;return _0x3c93ae[_0xd870('0x2')]['Interval']['findAll']({'raw':!![]})[_0xd870('0x3')](function(_0x53bdf0){_0x4909d1[_0xd870('0x4')]=_0x53bdf0;return _0x3c93ae[_0xd870('0x2')]['VoiceExtension'][_0xd870('0x5')]({'where':{'IntervalId':_0x2a2c85[_0xd870('0x6')]},'raw':!![]});})['then'](function(_0x5a0345){return _0x3c93ae[_0xd870('0x2')][_0xd870('0x7')][_0xd870('0x5')]({'where':{'exten':{'$in':_[_0xd870('0x8')](_[_0xd870('0x9')](_0x5a0345,_0xd870('0xa')))}},'order':[{'raw':_0xd870('0xb')}],'raw':!![]});})['then'](function(_0x3c6957){var _0x191139=_[_0xd870('0xc')](_0x3c6957,{'priority':'1'});var _0x43da2c=_[_0xd870('0xc')](_0x3c6957,{'isApp':0x1});var _0x396b51=_[_0xd870('0xd')](_0x43da2c,_0xd870('0xa'));var _0x13573a=[_0xd870('0xe'),_0xd870('0xf')];var _0x4bfb23=[];var _0x49e121=[];for(var _0x24ad43 in _0x396b51){if(_0x396b51['hasOwnProperty'](_0x24ad43)){_0x4909d1['priority']=0x2;_0x4909d1[_0xd870('0x10')]=[];_0x4909d1[_0xd870('0x11')]=_[_0xd870('0x12')](_0x191139,{'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')]});_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':'Set','appdata':util['format'](_0xd870('0x15'),_0x396b51[_0x24ad43][0x0][_0xd870('0x14')]),'context':_0x396b51[_0x24ad43][0x0]['context'],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1[_0xd870('0x16')]++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});if(_0x396b51[_0x24ad43][0x0][_0xd870('0x14')]===_0xd870('0x18')){if(_0x4909d1[_0xd870('0x11')]){_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':_0xd870('0x1a')+(_0x4909d1[_0xd870('0x11')][_0xd870('0x1b')]?'${EXTEN:'+_0x4909d1[_0xd870('0x11')]['cutdigits']+'}':_0xd870('0x1c')),'context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1[_0xd870('0x16')]++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});}_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0]['type'],'app':_0xd870('0x19'),'appdata':_0xd870('0x1e')+_0x396b51[_0x24ad43][0x0]['VoiceExtensionId'],'context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1[_0xd870('0x16')]++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});var _0x5e0348=_0x4909d1['priority']++;_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':'ExecIf','appdata':_0xd870('0x1f')+(_0x5e0348+0x2)+'):Goto('+(_0x5e0348+0x1)+')','context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x5e0348,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});if(_0x4909d1[_0xd870('0x11')]){_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':_0x4909d1[_0xd870('0x11')][_0xd870('0x1b')]?_0xd870('0x20')+_0x4909d1[_0xd870('0x11')][_0xd870('0x1b')]+'}':_0xd870('0x21'),'context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1['priority']++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});}_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':_0xd870('0x22')+_0x396b51[_0x24ad43][0x0][_0xd870('0x17')],'context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1[_0xd870('0x16')]++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});if(_0x4909d1[_0xd870('0x11')]&&_0x4909d1[_0xd870('0x11')]['hasOwnProperty']('recordingFormat')&&_0x4909d1['extension'][_0xd870('0x23')]!=='none'){_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':_0xd870('0x24'),'context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1[_0xd870('0x16')]++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});_0x4909d1[_0xd870('0x10')]['push']({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':_0xd870('0x25')+_0x4909d1[_0xd870('0x11')][_0xd870('0x23')]||_0xd870('0x26'),'context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1[_0xd870('0x16')]++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});}}_0x4909d1['extensions'][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':'Set','appdata':_0xd870('0x27'),'context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0]['exten'],'priority':_0x4909d1[_0xd870('0x16')]++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});_0x4909d1[_0xd870('0x10')]['push']({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x396b51[_0x24ad43][0x0][_0xd870('0x1d')],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1['priority']++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':_0xd870('0x28'),'context':_0x396b51[_0x24ad43][0x0]['context'],'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'priority':_0x4909d1['priority']++,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});for(var _0x5132ad=0x0,_0x2032ec=0x0;_0x5132ad<_0x396b51[_0x24ad43][_0xd870('0x29')];_0x5132ad+=0x1,_0x2032ec=0x0){var _0x118286=_0x396b51[_0x24ad43][_0x5132ad];if(_0x118286[_0xd870('0x14')]){_0x118286['type']=_0x118286[_0xd870('0x14')]['toLowerCase']();}var _0xb2430f=[];var _0x171209=[];delete _0x118286['id'];delete _0x118286[_0xd870('0x2a')];delete _0x118286[_0xd870('0x2b')];var _0xb8b731=_0x118286[_0xd870('0x2c')]!==_0xd870('0x2d')?[_0x118286[_0xd870('0x2c')]]:_0x118286['IntervalId']?_[_0xd870('0x9')](_[_0xd870('0xc')](_0x4909d1[_0xd870('0x4')],{'IntervalId':_0x118286[_0xd870('0x6')]}),_0xd870('0x2c')):[];if(_0x118286[_0xd870('0x2e')](_0xd870('0x2f'))){if(_0x118286[_0xd870('0x2f')]&&_0x118286[_0xd870('0x2f')]!=='--'){_0xb2430f[_0xd870('0x13')]({'type':_0x118286[_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':_0xd870('0x30')+_0x118286[_0xd870('0x2f')],'context':_0x118286[_0xd870('0x1d')],'exten':_0x118286[_0xd870('0xa')],'priority':_0xb8b731['length']+_0x4909d1['priority']+_0x2032ec++,'VoiceExtensionId':_0x118286[_0xd870('0x17')]});}}if(_0x118286[_0xd870('0x14')]==='outbound'&&_0x118286['hasOwnProperty']('callerID')){if(_0x118286['callerID']){_0xb2430f[_0xd870('0x13')]({'type':_0x118286[_0xd870('0x14')],'app':_0xd870('0x31'),'appdata':_0xd870('0x32')+_0x118286[_0xd870('0x33')]+')','context':_0x118286['context'],'exten':_0x118286[_0xd870('0xa')],'priority':_0xb8b731[_0xd870('0x29')]+_0x4909d1[_0xd870('0x16')]+_0x2032ec++,'VoiceExtensionId':_0x118286[_0xd870('0x17')]});}else{_0xb2430f[_0xd870('0x13')]({'type':_0x118286[_0xd870('0x14')],'app':'ExecIf','appdata':_0xd870('0x34'),'context':_0x118286[_0xd870('0x1d')],'exten':_0x118286[_0xd870('0xa')],'priority':_0xb8b731[_0xd870('0x29')]+_0x4909d1[_0xd870('0x16')]+_0x2032ec++,'VoiceExtensionId':_0x118286[_0xd870('0x17')]});}}if(_0x118286[_0xd870('0x2e')](_0xd870('0x35'))){if(_0x13573a[_0xd870('0x36')](_0x118286['app']['toLowerCase']())>=0x0&&_0x118286[_0xd870('0x37')]!==_0xd870('0x38')){if(_0x118286[_0xd870('0x35')]){_0xb2430f[_0xd870('0x13')]({'type':_0x118286[_0xd870('0x14')],'app':'ExecIf','appdata':_0xd870('0x39'),'context':_0x118286[_0xd870('0x1d')],'exten':_0x118286[_0xd870('0xa')],'priority':_0xb8b731[_0xd870('0x29')]+_0x4909d1[_0xd870('0x16')]+_0x2032ec++,'VoiceExtensionId':_0x118286[_0xd870('0x17')]});_0xb2430f[_0xd870('0x13')]({'type':_0x118286[_0xd870('0x14')],'app':_0xd870('0x19'),'appdata':_0xd870('0x3a'),'context':_0x118286[_0xd870('0x1d')],'exten':_0x118286[_0xd870('0xa')],'priority':_0xb8b731['length']+_0x4909d1['priority']+_0x2032ec++,'VoiceExtensionId':_0x118286[_0xd870('0x17')]});}else{_0xb2430f[_0xd870('0x13')]({'type':_0x118286[_0xd870('0x14')],'app':'ExecIf','appdata':_0xd870('0x3b'),'context':_0x118286['context'],'exten':_0x118286[_0xd870('0xa')],'priority':_0xb8b731[_0xd870('0x29')]+_0x4909d1[_0xd870('0x16')]+_0x2032ec++,'VoiceExtensionId':_0x118286['VoiceExtensionId']});_0xb2430f[_0xd870('0x13')]({'type':_0x118286[_0xd870('0x14')],'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x118286[_0xd870('0x1d')],'exten':_0x118286['exten'],'priority':_0xb8b731[_0xd870('0x29')]+_0x4909d1['priority']+_0x2032ec++,'VoiceExtensionId':_0x118286[_0xd870('0x17')]});}}}for(var _0x27b161=0x0;_0x27b161<_0xb8b731['length'];_0x27b161+=0x1){var _0x5d7c52=_0x4909d1[_0xd870('0x16')]+_0xb8b731[_0xd870('0x29')];var _0x53fe59=_0x27b161===_0xb8b731[_0xd870('0x29')]-0x1?_0x4909d1[_0xd870('0x16')]+_0xb2430f['length']+_0x171209['length']+0x2:_0x4909d1[_0xd870('0x16')]+_0x27b161+0x1;_0xb2430f[_0xd870('0x3c')](_0x27b161,0x0,{'type':_0x118286[_0xd870('0x14')],'app':'GotoIfTime','appdata':_0xb8b731[_0x27b161]+'?'+_0x118286[_0xd870('0x1d')]+',${EXTEN},'+_0x5d7c52+':'+_0x118286[_0xd870('0x1d')]+',${EXTEN},'+_0x53fe59,'exten':_0x118286[_0xd870('0xa')],'context':_0x118286[_0xd870('0x1d')],'priority':_0x4909d1[_0xd870('0x16')]+_0x27b161,'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});}_0x118286[_0xd870('0x16')]=_0xb2430f[_0xd870('0x29')]?_[_0xd870('0x3d')](_0xb2430f)[_0xd870('0x16')]+0x1:_0x4909d1[_0xd870('0x16')];_0x4909d1['priority']=(_0x171209[_0xd870('0x29')]?_[_0xd870('0x3d')](_0x171209)[_0xd870('0x16')]:_0x118286[_0xd870('0x16')])+0x1;_0x4909d1[_0xd870('0x10')]=_[_0xd870('0x3e')](_0x4909d1['extensions'],_0xb2430f,[_0x118286],_0x171209);}_0x4909d1[_0xd870('0x10')][_0xd870('0x13')]({'type':_0x396b51[_0x24ad43][0x0][_0xd870('0x14')],'app':_0xd870('0x3f'),'exten':_0x396b51[_0x24ad43][0x0][_0xd870('0xa')],'context':_0x396b51[_0x24ad43][0x0]['context'],'priority':_0x4909d1[_0xd870('0x16')],'VoiceExtensionId':_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]});_0x4bfb23['push'](_0x396b51[_0x24ad43][0x0][_0xd870('0x17')]);_0x49e121=_[_0xd870('0x3e')](_0x49e121,_0x4909d1[_0xd870('0x10')]);}}return _0x3c93ae[_0xd870('0x40')](function(_0x39df32){return _0x3c93ae['models'][_0xd870('0x7')][_0xd870('0x41')]({'where':{'VoiceExtensionId':{'$in':_0x4bfb23}},'transaction':_0x39df32})[_0xd870('0x3')](function(_0x1632b7){return _0x3c93ae['models'][_0xd870('0x7')][_0xd870('0x42')](_[_0xd870('0x43')](_0x49e121,'priority'),{'transaction':_0x39df32});});});})['catch'](function(_0x107943){console[_0xd870('0x44')](_0x107943);});}exports['rewrite']=rewrite;