Built motion from commit cb845558.|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 _0x3e3e=['answer','app','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','catch','error','lodash','util','Interval','findAll','then','intervals','VoiceExtension','IntervalId','models','uniq','filter','groupBy','exten','playback','hasOwnProperty','priority','find','extensions','push','format','CDR(type)=%s','type','VoiceExtensionId','inbound','Set','CDR(routeid)=','context','CDR(destination)=','extension','cutdigits','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','createdAt','updatedAt','interval','*,*,*,*','map','tag','CDR(tag)=','outbound','callerID','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='];(function(_0x5c3c90,_0x5ba31e){var _0x1dff8b=function(_0x591fd1){while(--_0x591fd1){_0x5c3c90['push'](_0x5c3c90['shift']());}};_0x1dff8b(++_0x5ba31e);}(_0x3e3e,0x1c1));var _0xe3e3=function(_0x55c370,_0x589b90){_0x55c370=_0x55c370-0x0;var _0x4e59e8=_0x3e3e[_0x55c370];return _0x4e59e8;};'use strict';var _=require(_0xe3e3('0x0'));var util=require(_0xe3e3('0x1'));function rewrite(_0x3a2a93,_0x4d564c){var _0x30e788=this;return _0x3a2a93['models'][_0xe3e3('0x2')][_0xe3e3('0x3')]({'raw':!![]})[_0xe3e3('0x4')](function(_0x1f1896){_0x30e788[_0xe3e3('0x5')]=_0x1f1896;return _0x3a2a93['models'][_0xe3e3('0x6')][_0xe3e3('0x3')]({'where':{'IntervalId':_0x4d564c[_0xe3e3('0x7')]},'raw':!![]});})[_0xe3e3('0x4')](function(_0x2a6539){return _0x3a2a93[_0xe3e3('0x8')]['VoiceExtension'][_0xe3e3('0x3')]({'where':{'exten':{'$in':_[_0xe3e3('0x9')](_['map'](_0x2a6539,'exten'))}},'order':[{'raw':'CAST(priority\x20AS\x20UNSIGNED)'}],'raw':!![]});})[_0xe3e3('0x4')](function(_0x422109){var _0x4d40d0=_[_0xe3e3('0xa')](_0x422109,{'priority':'1'});var _0x1b7f68=_[_0xe3e3('0xa')](_0x422109,{'isApp':0x1});var _0x3260b4=_[_0xe3e3('0xb')](_0x1b7f68,_0xe3e3('0xc'));var _0x47a6d8=['queue',_0xe3e3('0xd')];var _0x5eb8c4=[];var _0x570019=[];for(var _0x4a9be0 in _0x3260b4){if(_0x3260b4[_0xe3e3('0xe')](_0x4a9be0)){_0x30e788[_0xe3e3('0xf')]=0x2;_0x30e788['extensions']=[];_0x30e788['extension']=_[_0xe3e3('0x10')](_0x4d40d0,{'exten':_0x3260b4[_0x4a9be0][0x0]['exten']});_0x30e788[_0xe3e3('0x11')][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0]['type'],'app':'Set','appdata':util[_0xe3e3('0x13')](_0xe3e3('0x14'),_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')]),'context':_0x3260b4[_0x4a9be0][0x0]['context'],'exten':_0x3260b4[_0x4a9be0][0x0]['exten'],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});if(_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')]===_0xe3e3('0x17')){_0x30e788[_0xe3e3('0x11')][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':_0xe3e3('0x18'),'appdata':_0xe3e3('0x19')+_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')],'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'exten':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0xc')],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});}else if(_0x3260b4[_0x4a9be0][0x0]['type']==='outbound'){if(_0x30e788['extension']){_0x30e788[_0xe3e3('0x11')][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':_0xe3e3('0x18'),'appdata':_0xe3e3('0x1b')+(_0x30e788[_0xe3e3('0x1c')][_0xe3e3('0x1d')]?'${EXTEN:'+_0x30e788['extension'][_0xe3e3('0x1d')]+'}':'${EXTEN}'),'context':_0x3260b4[_0x4a9be0][0x0]['context'],'exten':_0x3260b4[_0x4a9be0][0x0]['exten'],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});}_0x30e788['extensions'][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0]['type'],'app':_0xe3e3('0x18'),'appdata':'CDR(routeid)='+_0x3260b4[_0x4a9be0][0x0]['VoiceExtensionId'],'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'exten':_0x3260b4[_0x4a9be0][0x0]['exten'],'priority':_0x30e788['priority']++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0]['VoiceExtensionId']});var _0x39a56b=_0x30e788[_0xe3e3('0xf')]++;_0x30e788[_0xe3e3('0x11')][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':'ExecIf','appdata':_0xe3e3('0x1e')+(_0x39a56b+0x2)+_0xe3e3('0x1f')+(_0x39a56b+0x1)+')','context':_0x3260b4[_0x4a9be0][0x0]['context'],'exten':_0x3260b4[_0x4a9be0][0x0]['exten'],'priority':_0x39a56b,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});if(_0x30e788[_0xe3e3('0x1c')]){_0x30e788[_0xe3e3('0x11')]['push']({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':'Set','appdata':_0x30e788['extension'][_0xe3e3('0x1d')]?'CDR(prefix)=${EXTEN:0:'+_0x30e788[_0xe3e3('0x1c')][_0xe3e3('0x1d')]+'}':_0xe3e3('0x20'),'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'exten':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0xc')],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0]['VoiceExtensionId']});}_0x30e788[_0xe3e3('0x11')][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':_0xe3e3('0x18'),'appdata':_0xe3e3('0x21')+_0x3260b4[_0x4a9be0][0x0]['VoiceExtensionId'],'context':_0x3260b4[_0x4a9be0][0x0]['context'],'exten':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0xc')],'priority':_0x30e788['priority']++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});if(_0x30e788['extension']&&_0x30e788[_0xe3e3('0x1c')][_0xe3e3('0xe')](_0xe3e3('0x22'))&&_0x30e788[_0xe3e3('0x1c')]['recordingFormat']!==_0xe3e3('0x23')){_0x30e788[_0xe3e3('0x11')][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':'Set','appdata':_0xe3e3('0x24'),'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'exten':_0x3260b4[_0x4a9be0][0x0]['exten'],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});_0x30e788['extensions'][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0]['type'],'app':_0xe3e3('0x18'),'appdata':_0xe3e3('0x25')+_0x30e788[_0xe3e3('0x1c')]['recordingFormat']||_0xe3e3('0x26'),'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'exten':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0xc')],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});}}_0x30e788[_0xe3e3('0x11')][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0]['type'],'app':_0xe3e3('0x18'),'appdata':_0xe3e3('0x27'),'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'exten':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0xc')],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0]['VoiceExtensionId']});_0x30e788['extensions'][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':'Set','appdata':_0xe3e3('0x28'),'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'exten':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0xc')],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});_0x30e788['extensions'][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':'Set','appdata':_0xe3e3('0x29'),'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'exten':_0x3260b4[_0x4a9be0][0x0]['exten'],'priority':_0x30e788[_0xe3e3('0xf')]++,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0]['VoiceExtensionId']});for(var _0x134c44=0x0,_0x25c0a2=0x0;_0x134c44<_0x3260b4[_0x4a9be0][_0xe3e3('0x2a')];_0x134c44+=0x1,_0x25c0a2=0x0){var _0xdf2988=_0x3260b4[_0x4a9be0][_0x134c44];if(_0xdf2988[_0xe3e3('0x15')]){_0xdf2988[_0xe3e3('0x15')]=_0xdf2988['type'][_0xe3e3('0x2b')]();}var _0x5bfe81=[];var _0x3f47f7=[];delete _0xdf2988['id'];delete _0xdf2988[_0xe3e3('0x2c')];delete _0xdf2988[_0xe3e3('0x2d')];var _0x384560=_0xdf2988[_0xe3e3('0x2e')]!==_0xe3e3('0x2f')?[_0xdf2988[_0xe3e3('0x2e')]]:_0xdf2988['IntervalId']?_[_0xe3e3('0x30')](_[_0xe3e3('0xa')](_0x30e788[_0xe3e3('0x5')],{'IntervalId':_0xdf2988['IntervalId']}),_0xe3e3('0x2e')):[];if(_0xdf2988[_0xe3e3('0xe')](_0xe3e3('0x31'))){if(_0xdf2988[_0xe3e3('0x31')]&&_0xdf2988[_0xe3e3('0x31')]!=='--'){_0x5bfe81['push']({'type':_0xdf2988[_0xe3e3('0x15')],'app':_0xe3e3('0x18'),'appdata':_0xe3e3('0x32')+_0xdf2988[_0xe3e3('0x31')],'context':_0xdf2988[_0xe3e3('0x1a')],'exten':_0xdf2988[_0xe3e3('0xc')],'priority':_0x384560['length']+_0x30e788[_0xe3e3('0xf')]+_0x25c0a2++,'VoiceExtensionId':_0xdf2988[_0xe3e3('0x16')]});}}if(_0xdf2988[_0xe3e3('0x15')]===_0xe3e3('0x33')&&_0xdf2988[_0xe3e3('0xe')](_0xe3e3('0x34'))){if(_0xdf2988[_0xe3e3('0x34')]){_0x5bfe81[_0xe3e3('0x12')]({'type':_0xdf2988[_0xe3e3('0x15')],'app':_0xe3e3('0x35'),'appdata':_0xe3e3('0x36')+_0xdf2988['callerID']+')','context':_0xdf2988[_0xe3e3('0x1a')],'exten':_0xdf2988[_0xe3e3('0xc')],'priority':_0x384560[_0xe3e3('0x2a')]+_0x30e788[_0xe3e3('0xf')]+_0x25c0a2++,'VoiceExtensionId':_0xdf2988['VoiceExtensionId']});}else{_0x5bfe81[_0xe3e3('0x12')]({'type':_0xdf2988[_0xe3e3('0x15')],'app':_0xe3e3('0x35'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0xdf2988[_0xe3e3('0x1a')],'exten':_0xdf2988[_0xe3e3('0xc')],'priority':_0x384560[_0xe3e3('0x2a')]+_0x30e788[_0xe3e3('0xf')]+_0x25c0a2++,'VoiceExtensionId':_0xdf2988[_0xe3e3('0x16')]});}}if(_0xdf2988['hasOwnProperty'](_0xe3e3('0x37'))){if(_0x47a6d8['indexOf'](_0xdf2988[_0xe3e3('0x38')]['toLowerCase']())>=0x0&&_0xdf2988['appType']!==_0xe3e3('0x39')){if(_0xdf2988['answer']){_0x5bfe81[_0xe3e3('0x12')]({'type':_0xdf2988['type'],'app':_0xe3e3('0x35'),'appdata':_0xe3e3('0x3a'),'context':_0xdf2988[_0xe3e3('0x1a')],'exten':_0xdf2988['exten'],'priority':_0x384560[_0xe3e3('0x2a')]+_0x30e788['priority']+_0x25c0a2++,'VoiceExtensionId':_0xdf2988['VoiceExtensionId']});_0x5bfe81[_0xe3e3('0x12')]({'type':_0xdf2988['type'],'app':_0xe3e3('0x18'),'appdata':_0xe3e3('0x3b'),'context':_0xdf2988[_0xe3e3('0x1a')],'exten':_0xdf2988['exten'],'priority':_0x384560['length']+_0x30e788['priority']+_0x25c0a2++,'VoiceExtensionId':_0xdf2988[_0xe3e3('0x16')]});}else{_0x5bfe81[_0xe3e3('0x12')]({'type':_0xdf2988[_0xe3e3('0x15')],'app':_0xe3e3('0x35'),'appdata':_0xe3e3('0x3c'),'context':_0xdf2988[_0xe3e3('0x1a')],'exten':_0xdf2988[_0xe3e3('0xc')],'priority':_0x384560['length']+_0x30e788['priority']+_0x25c0a2++,'VoiceExtensionId':_0xdf2988[_0xe3e3('0x16')]});_0x5bfe81['push']({'type':_0xdf2988[_0xe3e3('0x15')],'app':'Set','appdata':_0xe3e3('0x3d'),'context':_0xdf2988[_0xe3e3('0x1a')],'exten':_0xdf2988['exten'],'priority':_0x384560['length']+_0x30e788[_0xe3e3('0xf')]+_0x25c0a2++,'VoiceExtensionId':_0xdf2988[_0xe3e3('0x16')]});}}}for(var _0x2d578a=0x0;_0x2d578a<_0x384560[_0xe3e3('0x2a')];_0x2d578a+=0x1){var _0x331454=_0x30e788[_0xe3e3('0xf')]+_0x384560[_0xe3e3('0x2a')];var _0x5272ce=_0x2d578a===_0x384560[_0xe3e3('0x2a')]-0x1?_0x30e788[_0xe3e3('0xf')]+_0x5bfe81[_0xe3e3('0x2a')]+_0x3f47f7[_0xe3e3('0x2a')]+0x2:_0x30e788[_0xe3e3('0xf')]+_0x2d578a+0x1;_0x5bfe81[_0xe3e3('0x3e')](_0x2d578a,0x0,{'type':_0xdf2988[_0xe3e3('0x15')],'app':_0xe3e3('0x3f'),'appdata':_0x384560[_0x2d578a]+'?'+_0xdf2988['context']+_0xe3e3('0x40')+_0x331454+':'+_0xdf2988['context']+_0xe3e3('0x40')+_0x5272ce,'exten':_0xdf2988[_0xe3e3('0xc')],'context':_0xdf2988[_0xe3e3('0x1a')],'priority':_0x30e788[_0xe3e3('0xf')]+_0x2d578a,'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});}_0xdf2988[_0xe3e3('0xf')]=_0x5bfe81[_0xe3e3('0x2a')]?_['last'](_0x5bfe81)[_0xe3e3('0xf')]+0x1:_0x30e788[_0xe3e3('0xf')];_0x30e788[_0xe3e3('0xf')]=(_0x3f47f7['length']?_[_0xe3e3('0x41')](_0x3f47f7)[_0xe3e3('0xf')]:_0xdf2988[_0xe3e3('0xf')])+0x1;_0x30e788[_0xe3e3('0x11')]=_[_0xe3e3('0x42')](_0x30e788[_0xe3e3('0x11')],_0x5bfe81,[_0xdf2988],_0x3f47f7);}_0x30e788[_0xe3e3('0x11')][_0xe3e3('0x12')]({'type':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x15')],'app':_0xe3e3('0x43'),'exten':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0xc')],'context':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x1a')],'priority':_0x30e788[_0xe3e3('0xf')],'VoiceExtensionId':_0x3260b4[_0x4a9be0][0x0][_0xe3e3('0x16')]});_0x5eb8c4[_0xe3e3('0x12')](_0x3260b4[_0x4a9be0][0x0]['VoiceExtensionId']);_0x570019=_['concat'](_0x570019,_0x30e788[_0xe3e3('0x11')]);}}return _0x3a2a93[_0xe3e3('0x44')](function(_0x43902c){return _0x3a2a93[_0xe3e3('0x8')][_0xe3e3('0x6')][_0xe3e3('0x45')]({'where':{'VoiceExtensionId':{'$in':_0x5eb8c4}},'transaction':_0x43902c})[_0xe3e3('0x4')](function(_0x4a2845){return _0x3a2a93['models'][_0xe3e3('0x6')]['bulkCreate'](_['sortBy'](_0x570019,_0xe3e3('0xf')),{'transaction':_0x43902c});});});})[_0xe3e3('0x46')](function(_0x2daf5a){console[_0xe3e3('0x47')](_0x2daf5a);});}exports['rewrite']=rewrite;