Built motion from commit (unavailable).|2.5.21
[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 _0x32ee=['VoiceExtension','uniq','map','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','exten','queue','priority','extensions','find','push','type','Set','format','CDR(type)=%s','context','VoiceExtensionId','outbound','CDR(destination)=','extension','cutdigits','${EXTEN:','${EXTEN}','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','MONITOR_OPTIONS=ab','toLowerCase','createdAt','updatedAt','interval','IntervalId','hasOwnProperty','tag','CDR(tag)=','length','callerID','$[${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','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','GotoIfTime',',${EXTEN},','last','concat','transaction','destroy','bulkCreate','catch','error','rewrite','util','models','Interval','findAll','then','intervals'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x32ee,0x10e));var _0xe32e=function(_0x868c5,_0xc4c42a){_0x868c5=_0x868c5-0x0;var _0x211536=_0x32ee[_0x868c5];return _0x211536;};'use strict';var _=require('lodash');var util=require(_0xe32e('0x0'));function rewrite(_0x1768dc,_0x5da788){var _0x12d045=this;return _0x1768dc[_0xe32e('0x1')][_0xe32e('0x2')][_0xe32e('0x3')]({'raw':!![]})[_0xe32e('0x4')](function(_0x2665c3){_0x12d045[_0xe32e('0x5')]=_0x2665c3;return _0x1768dc[_0xe32e('0x1')][_0xe32e('0x6')][_0xe32e('0x3')]({'where':{'IntervalId':_0x5da788['IntervalId']},'raw':!![]});})[_0xe32e('0x4')](function(_0x5d610d){return _0x1768dc['models'][_0xe32e('0x6')][_0xe32e('0x3')]({'where':{'exten':{'$in':_[_0xe32e('0x7')](_[_0xe32e('0x8')](_0x5d610d,'exten'))}},'order':[{'raw':_0xe32e('0x9')}],'raw':!![]});})['then'](function(_0x4e62d1){var _0x10a830=_[_0xe32e('0xa')](_0x4e62d1,{'priority':'1'});var _0x1f44b5=_[_0xe32e('0xa')](_0x4e62d1,{'isApp':0x1});var _0x596633=_[_0xe32e('0xb')](_0x1f44b5,_0xe32e('0xc'));var _0x24f014=[_0xe32e('0xd'),'playback'];var _0x17e9b5=[];var _0x56c62b=[];for(var _0x21f8ef in _0x596633){if(_0x596633['hasOwnProperty'](_0x21f8ef)){_0x12d045[_0xe32e('0xe')]=0x2;_0x12d045[_0xe32e('0xf')]=[];_0x12d045['extension']=_[_0xe32e('0x10')](_0x10a830,{'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')]});_0x12d045[_0xe32e('0xf')][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':_0xe32e('0x13'),'appdata':util[_0xe32e('0x14')](_0xe32e('0x15'),_0x596633[_0x21f8ef][0x0]['type']),'context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045[_0xe32e('0xe')]++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});if(_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')]===_0xe32e('0x18')){if(_0x12d045['extension']){_0x12d045[_0xe32e('0xf')][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0]['type'],'app':_0xe32e('0x13'),'appdata':_0xe32e('0x19')+(_0x12d045[_0xe32e('0x1a')][_0xe32e('0x1b')]?_0xe32e('0x1c')+_0x12d045[_0xe32e('0x1a')][_0xe32e('0x1b')]+'}':_0xe32e('0x1d')),'context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045[_0xe32e('0xe')]++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0]['VoiceExtensionId']});}_0x12d045['extensions']['push']({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':_0xe32e('0x13'),'appdata':'CDR(routeid)='+_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')],'context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045['priority']++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});var _0x434f8d=_0x12d045[_0xe32e('0xe')]++;_0x12d045[_0xe32e('0xf')][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':_0xe32e('0x1e'),'appdata':_0xe32e('0x1f')+(_0x434f8d+0x2)+_0xe32e('0x20')+(_0x434f8d+0x1)+')','context':_0x596633[_0x21f8ef][0x0]['context'],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x434f8d,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0]['VoiceExtensionId']});if(_0x12d045['extension']){_0x12d045[_0xe32e('0xf')][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0]['type'],'app':_0xe32e('0x13'),'appdata':_0x12d045[_0xe32e('0x1a')][_0xe32e('0x1b')]?_0xe32e('0x21')+_0x12d045[_0xe32e('0x1a')]['cutdigits']+'}':'CDR(prefix)=noprefix','context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045[_0xe32e('0xe')]++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});}_0x12d045['extensions'][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':'Set','appdata':'outboundrouteid='+_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')],'context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045[_0xe32e('0xe')]++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});if(_0x12d045['extension']&&_0x12d045[_0xe32e('0x1a')]['hasOwnProperty']('recordingFormat')&&_0x12d045['extension'][_0xe32e('0x22')]!==_0xe32e('0x23')){_0x12d045[_0xe32e('0xf')][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':_0xe32e('0x13'),'appdata':_0xe32e('0x24'),'context':_0x596633[_0x21f8ef][0x0]['context'],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045[_0xe32e('0xe')]++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0]['VoiceExtensionId']});_0x12d045[_0xe32e('0xf')][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':_0xe32e('0x13'),'appdata':_0xe32e('0x25')+_0x12d045['extension'][_0xe32e('0x22')]||_0xe32e('0x26'),'context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045[_0xe32e('0xe')]++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});}}_0x12d045[_0xe32e('0xf')][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':_0xe32e('0x13'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x596633[_0x21f8ef][0x0]['context'],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045['priority']++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});_0x12d045[_0xe32e('0xf')][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':_0xe32e('0x13'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'priority':_0x12d045[_0xe32e('0xe')]++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0]['VoiceExtensionId']});_0x12d045[_0xe32e('0xf')]['push']({'type':_0x596633[_0x21f8ef][0x0]['type'],'app':_0xe32e('0x13'),'appdata':_0xe32e('0x27'),'context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'exten':_0x596633[_0x21f8ef][0x0]['exten'],'priority':_0x12d045['priority']++,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});for(var _0x4f5c52=0x0,_0x388a85=0x0;_0x4f5c52<_0x596633[_0x21f8ef]['length'];_0x4f5c52+=0x1,_0x388a85=0x0){var _0x3bd967=_0x596633[_0x21f8ef][_0x4f5c52];if(_0x3bd967[_0xe32e('0x12')]){_0x3bd967[_0xe32e('0x12')]=_0x3bd967[_0xe32e('0x12')][_0xe32e('0x28')]();}var _0x53d48b=[];var _0x88b80=[];delete _0x3bd967['id'];delete _0x3bd967[_0xe32e('0x29')];delete _0x3bd967[_0xe32e('0x2a')];var _0x9eacae=_0x3bd967[_0xe32e('0x2b')]!=='*,*,*,*'?[_0x3bd967['interval']]:_0x3bd967[_0xe32e('0x2c')]?_[_0xe32e('0x8')](_[_0xe32e('0xa')](_0x12d045[_0xe32e('0x5')],{'IntervalId':_0x3bd967[_0xe32e('0x2c')]}),_0xe32e('0x2b')):[];if(_0x3bd967[_0xe32e('0x2d')](_0xe32e('0x2e'))){if(_0x3bd967['tag']&&_0x3bd967[_0xe32e('0x2e')]!=='--'){_0x53d48b[_0xe32e('0x11')]({'type':_0x3bd967[_0xe32e('0x12')],'app':_0xe32e('0x13'),'appdata':_0xe32e('0x2f')+_0x3bd967[_0xe32e('0x2e')],'context':_0x3bd967[_0xe32e('0x16')],'exten':_0x3bd967[_0xe32e('0xc')],'priority':_0x9eacae[_0xe32e('0x30')]+_0x12d045[_0xe32e('0xe')]+_0x388a85++,'VoiceExtensionId':_0x3bd967['VoiceExtensionId']});}}if(_0x3bd967['type']==='outbound'&&_0x3bd967[_0xe32e('0x2d')]('callerID')){if(_0x3bd967[_0xe32e('0x31')]){_0x53d48b[_0xe32e('0x11')]({'type':_0x3bd967['type'],'app':_0xe32e('0x1e'),'appdata':_0xe32e('0x32')+_0x3bd967['callerID']+')','context':_0x3bd967[_0xe32e('0x16')],'exten':_0x3bd967[_0xe32e('0xc')],'priority':_0x9eacae[_0xe32e('0x30')]+_0x12d045[_0xe32e('0xe')]+_0x388a85++,'VoiceExtensionId':_0x3bd967[_0xe32e('0x17')]});}else{_0x53d48b[_0xe32e('0x11')]({'type':_0x3bd967[_0xe32e('0x12')],'app':_0xe32e('0x1e'),'appdata':_0xe32e('0x33'),'context':_0x3bd967[_0xe32e('0x16')],'exten':_0x3bd967[_0xe32e('0xc')],'priority':_0x9eacae[_0xe32e('0x30')]+_0x12d045['priority']+_0x388a85++,'VoiceExtensionId':_0x3bd967['VoiceExtensionId']});}}if(_0x3bd967['hasOwnProperty'](_0xe32e('0x34'))){if(_0x24f014[_0xe32e('0x35')](_0x3bd967['app'][_0xe32e('0x28')]())>=0x0&&_0x3bd967[_0xe32e('0x36')]!==_0xe32e('0x37')){if(_0x3bd967[_0xe32e('0x34')]){_0x53d48b['push']({'type':_0x3bd967[_0xe32e('0x12')],'app':_0xe32e('0x1e'),'appdata':_0xe32e('0x38'),'context':_0x3bd967['context'],'exten':_0x3bd967[_0xe32e('0xc')],'priority':_0x9eacae[_0xe32e('0x30')]+_0x12d045['priority']+_0x388a85++,'VoiceExtensionId':_0x3bd967[_0xe32e('0x17')]});_0x53d48b[_0xe32e('0x11')]({'type':_0x3bd967[_0xe32e('0x12')],'app':_0xe32e('0x13'),'appdata':_0xe32e('0x39'),'context':_0x3bd967[_0xe32e('0x16')],'exten':_0x3bd967['exten'],'priority':_0x9eacae[_0xe32e('0x30')]+_0x12d045[_0xe32e('0xe')]+_0x388a85++,'VoiceExtensionId':_0x3bd967['VoiceExtensionId']});}else{_0x53d48b['push']({'type':_0x3bd967[_0xe32e('0x12')],'app':_0xe32e('0x1e'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x3bd967[_0xe32e('0x16')],'exten':_0x3bd967[_0xe32e('0xc')],'priority':_0x9eacae[_0xe32e('0x30')]+_0x12d045['priority']+_0x388a85++,'VoiceExtensionId':_0x3bd967['VoiceExtensionId']});_0x53d48b[_0xe32e('0x11')]({'type':_0x3bd967[_0xe32e('0x12')],'app':'Set','appdata':_0xe32e('0x3a'),'context':_0x3bd967['context'],'exten':_0x3bd967[_0xe32e('0xc')],'priority':_0x9eacae[_0xe32e('0x30')]+_0x12d045[_0xe32e('0xe')]+_0x388a85++,'VoiceExtensionId':_0x3bd967['VoiceExtensionId']});}}}for(var _0x1eff83=0x0;_0x1eff83<_0x9eacae[_0xe32e('0x30')];_0x1eff83+=0x1){var _0x3a2d7a=_0x12d045[_0xe32e('0xe')]+_0x9eacae[_0xe32e('0x30')];var _0xd88da=_0x1eff83===_0x9eacae[_0xe32e('0x30')]-0x1?_0x12d045[_0xe32e('0xe')]+_0x53d48b[_0xe32e('0x30')]+_0x88b80[_0xe32e('0x30')]+0x2:_0x12d045[_0xe32e('0xe')]+_0x1eff83+0x1;_0x53d48b['splice'](_0x1eff83,0x0,{'type':_0x3bd967['type'],'app':_0xe32e('0x3b'),'appdata':_0x9eacae[_0x1eff83]+'?'+_0x3bd967['context']+_0xe32e('0x3c')+_0x3a2d7a+':'+_0x3bd967['context']+_0xe32e('0x3c')+_0xd88da,'exten':_0x3bd967['exten'],'context':_0x3bd967[_0xe32e('0x16')],'priority':_0x12d045['priority']+_0x1eff83,'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});}_0x3bd967[_0xe32e('0xe')]=_0x53d48b[_0xe32e('0x30')]?_['last'](_0x53d48b)[_0xe32e('0xe')]+0x1:_0x12d045['priority'];_0x12d045[_0xe32e('0xe')]=(_0x88b80[_0xe32e('0x30')]?_[_0xe32e('0x3d')](_0x88b80)['priority']:_0x3bd967['priority'])+0x1;_0x12d045['extensions']=_[_0xe32e('0x3e')](_0x12d045[_0xe32e('0xf')],_0x53d48b,[_0x3bd967],_0x88b80);}_0x12d045['extensions'][_0xe32e('0x11')]({'type':_0x596633[_0x21f8ef][0x0][_0xe32e('0x12')],'app':'Hangup','exten':_0x596633[_0x21f8ef][0x0][_0xe32e('0xc')],'context':_0x596633[_0x21f8ef][0x0][_0xe32e('0x16')],'priority':_0x12d045['priority'],'VoiceExtensionId':_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]});_0x17e9b5[_0xe32e('0x11')](_0x596633[_0x21f8ef][0x0][_0xe32e('0x17')]);_0x56c62b=_[_0xe32e('0x3e')](_0x56c62b,_0x12d045[_0xe32e('0xf')]);}}return _0x1768dc[_0xe32e('0x3f')](function(_0x50a23e){return _0x1768dc['models'][_0xe32e('0x6')][_0xe32e('0x40')]({'where':{'VoiceExtensionId':{'$in':_0x17e9b5}},'transaction':_0x50a23e})['then'](function(_0x4d52a9){return _0x1768dc['models'][_0xe32e('0x6')][_0xe32e('0x41')](_['sortBy'](_0x56c62b,_0xe32e('0xe')),{'transaction':_0x50a23e});});});})[_0xe32e('0x42')](function(_0x2ebea4){console[_0xe32e('0x43')](_0x2ebea4);});}exports[_0xe32e('0x44')]=rewrite;