Built motion from commit (unavailable).|2.5.11
[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 _0xdb1a=['splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','sortBy','catch','error','rewrite','util','models','findAll','then','intervals','VoiceExtension','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','priority','extensions','extension','push','Set','CDR(type)=%s','context','VoiceExtensionId','type','outbound','CDR(destination)=','${EXTEN:','${EXTEN}','CDR(routeid)=','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','cutdigits','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','updatedAt','interval','tag','CDR(tag)=','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)','indexOf','app','appType','custom','answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1'];(function(_0x4574b0,_0x3bd754){var _0x3d720c=function(_0x18a7da){while(--_0x18a7da){_0x4574b0['push'](_0x4574b0['shift']());}};_0x3d720c(++_0x3bd754);}(_0xdb1a,0x1bc));var _0xadb1=function(_0x54d84c,_0x484686){_0x54d84c=_0x54d84c-0x0;var _0x2f9c92=_0xdb1a[_0x54d84c];return _0x2f9c92;};'use strict';var _=require('lodash');var util=require(_0xadb1('0x0'));function rewrite(_0x2cca3d,_0x882891){var _0x47a6ad=this;return _0x2cca3d[_0xadb1('0x1')]['Interval'][_0xadb1('0x2')]({'raw':!![]})[_0xadb1('0x3')](function(_0x28fa91){_0x47a6ad[_0xadb1('0x4')]=_0x28fa91;return _0x2cca3d[_0xadb1('0x1')][_0xadb1('0x5')][_0xadb1('0x2')]({'where':{'IntervalId':_0x882891[_0xadb1('0x6')]},'raw':!![]});})['then'](function(_0x61f591){return _0x2cca3d[_0xadb1('0x1')]['VoiceExtension'][_0xadb1('0x2')]({'where':{'exten':{'$in':_[_0xadb1('0x7')](_[_0xadb1('0x8')](_0x61f591,_0xadb1('0x9')))}},'order':[{'raw':_0xadb1('0xa')}],'raw':!![]});})[_0xadb1('0x3')](function(_0xd2a333){var _0x32329e=_[_0xadb1('0xb')](_0xd2a333,{'priority':'1'});var _0x53e914=_[_0xadb1('0xb')](_0xd2a333,{'isApp':0x1});var _0x52ddeb=_[_0xadb1('0xc')](_0x53e914,'exten');var _0x9645d3=[_0xadb1('0xd'),_0xadb1('0xe')];var _0x36b63e=[];var _0x353fd3=[];for(var _0x5efc60 in _0x52ddeb){if(_0x52ddeb[_0xadb1('0xf')](_0x5efc60)){_0x47a6ad[_0xadb1('0x10')]=0x2;_0x47a6ad[_0xadb1('0x11')]=[];_0x47a6ad[_0xadb1('0x12')]=_['find'](_0x32329e,{'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')]});_0x47a6ad[_0xadb1('0x11')][_0xadb1('0x13')]({'type':_0x52ddeb[_0x5efc60][0x0]['type'],'app':_0xadb1('0x14'),'appdata':util['format'](_0xadb1('0x15'),_0x52ddeb[_0x5efc60][0x0]['type']),'context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'priority':_0x47a6ad[_0xadb1('0x10')]++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});if(_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')]===_0xadb1('0x19')){if(_0x47a6ad[_0xadb1('0x12')]){_0x47a6ad[_0xadb1('0x11')]['push']({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0xadb1('0x1a')+(_0x47a6ad[_0xadb1('0x12')]['cutdigits']?_0xadb1('0x1b')+_0x47a6ad[_0xadb1('0x12')]['cutdigits']+'}':_0xadb1('0x1c')),'context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'priority':_0x47a6ad['priority']++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});}_0x47a6ad[_0xadb1('0x11')][_0xadb1('0x13')]({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0xadb1('0x1d')+_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')],'context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'priority':_0x47a6ad['priority']++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});var _0x5b4175=_0x47a6ad['priority']++;_0x47a6ad[_0xadb1('0x11')][_0xadb1('0x13')]({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':_0xadb1('0x1e'),'appdata':_0xadb1('0x1f')+(_0x5b4175+0x2)+_0xadb1('0x20')+(_0x5b4175+0x1)+')','context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'priority':_0x5b4175,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0]['VoiceExtensionId']});if(_0x47a6ad['extension']){_0x47a6ad[_0xadb1('0x11')][_0xadb1('0x13')]({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0x47a6ad[_0xadb1('0x12')]['cutdigits']?_0xadb1('0x21')+_0x47a6ad[_0xadb1('0x12')][_0xadb1('0x22')]+'}':_0xadb1('0x23'),'context':_0x52ddeb[_0x5efc60][0x0]['context'],'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'priority':_0x47a6ad[_0xadb1('0x10')]++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});}_0x47a6ad['extensions']['push']({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0xadb1('0x24')+_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')],'context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'priority':_0x47a6ad[_0xadb1('0x10')]++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});if(_0x47a6ad[_0xadb1('0x12')]&&_0x47a6ad[_0xadb1('0x12')][_0xadb1('0xf')](_0xadb1('0x25'))&&_0x47a6ad[_0xadb1('0x12')][_0xadb1('0x25')]!==_0xadb1('0x26')){_0x47a6ad['extensions'][_0xadb1('0x13')]({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':'Set','appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'priority':_0x47a6ad[_0xadb1('0x10')]++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0]['VoiceExtensionId']});_0x47a6ad[_0xadb1('0x11')][_0xadb1('0x13')]({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0xadb1('0x27')+_0x47a6ad[_0xadb1('0x12')]['recordingFormat']||_0xadb1('0x28'),'context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'exten':_0x52ddeb[_0x5efc60][0x0]['exten'],'priority':_0x47a6ad[_0xadb1('0x10')]++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});}}_0x47a6ad[_0xadb1('0x11')][_0xadb1('0x13')]({'type':_0x52ddeb[_0x5efc60][0x0]['type'],'app':'Set','appdata':'XCALLY-MOTION-ANSWER=0','context':_0x52ddeb[_0x5efc60][0x0]['context'],'exten':_0x52ddeb[_0x5efc60][0x0]['exten'],'priority':_0x47a6ad[_0xadb1('0x10')]++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});_0x47a6ad[_0xadb1('0x11')]['push']({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0xadb1('0x29'),'context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'exten':_0x52ddeb[_0x5efc60][0x0]['exten'],'priority':_0x47a6ad['priority']++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});_0x47a6ad[_0xadb1('0x11')][_0xadb1('0x13')]({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':'Set','appdata':_0xadb1('0x2a'),'context':_0x52ddeb[_0x5efc60][0x0]['context'],'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'priority':_0x47a6ad[_0xadb1('0x10')]++,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});for(var _0x4c99bf=0x0,_0x40c666=0x0;_0x4c99bf<_0x52ddeb[_0x5efc60][_0xadb1('0x2b')];_0x4c99bf+=0x1,_0x40c666=0x0){var _0x22ad94=_0x52ddeb[_0x5efc60][_0x4c99bf];if(_0x22ad94[_0xadb1('0x18')]){_0x22ad94['type']=_0x22ad94[_0xadb1('0x18')][_0xadb1('0x2c')]();}var _0x395b0e=[];var _0x50c34c=[];delete _0x22ad94['id'];delete _0x22ad94['createdAt'];delete _0x22ad94[_0xadb1('0x2d')];var _0x4bcd4a=_0x22ad94[_0xadb1('0x2e')]!=='*,*,*,*'?[_0x22ad94[_0xadb1('0x2e')]]:_0x22ad94['IntervalId']?_[_0xadb1('0x8')](_[_0xadb1('0xb')](_0x47a6ad['intervals'],{'IntervalId':_0x22ad94['IntervalId']}),_0xadb1('0x2e')):[];if(_0x22ad94[_0xadb1('0xf')](_0xadb1('0x2f'))){if(_0x22ad94['tag']&&_0x22ad94[_0xadb1('0x2f')]!=='--'){_0x395b0e[_0xadb1('0x13')]({'type':_0x22ad94[_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0xadb1('0x30')+_0x22ad94[_0xadb1('0x2f')],'context':_0x22ad94[_0xadb1('0x16')],'exten':_0x22ad94[_0xadb1('0x9')],'priority':_0x4bcd4a['length']+_0x47a6ad['priority']+_0x40c666++,'VoiceExtensionId':_0x22ad94[_0xadb1('0x17')]});}}if(_0x22ad94[_0xadb1('0x18')]===_0xadb1('0x19')&&_0x22ad94[_0xadb1('0xf')]('callerID')){if(_0x22ad94[_0xadb1('0x31')]){_0x395b0e['push']({'type':_0x22ad94[_0xadb1('0x18')],'app':_0xadb1('0x1e'),'appdata':_0xadb1('0x32')+_0x22ad94[_0xadb1('0x31')]+')','context':_0x22ad94[_0xadb1('0x16')],'exten':_0x22ad94[_0xadb1('0x9')],'priority':_0x4bcd4a['length']+_0x47a6ad['priority']+_0x40c666++,'VoiceExtensionId':_0x22ad94[_0xadb1('0x17')]});}else{_0x395b0e['push']({'type':_0x22ad94['type'],'app':_0xadb1('0x1e'),'appdata':_0xadb1('0x33'),'context':_0x22ad94[_0xadb1('0x16')],'exten':_0x22ad94[_0xadb1('0x9')],'priority':_0x4bcd4a[_0xadb1('0x2b')]+_0x47a6ad[_0xadb1('0x10')]+_0x40c666++,'VoiceExtensionId':_0x22ad94[_0xadb1('0x17')]});}}if(_0x22ad94[_0xadb1('0xf')]('answer')){if(_0x9645d3[_0xadb1('0x34')](_0x22ad94[_0xadb1('0x35')][_0xadb1('0x2c')]())>=0x0&&_0x22ad94[_0xadb1('0x36')]!==_0xadb1('0x37')){if(_0x22ad94[_0xadb1('0x38')]){_0x395b0e[_0xadb1('0x13')]({'type':_0x22ad94[_0xadb1('0x18')],'app':_0xadb1('0x1e'),'appdata':'$[${XCALLY-MOTION-ANSWER}=0]?Answer','context':_0x22ad94['context'],'exten':_0x22ad94[_0xadb1('0x9')],'priority':_0x4bcd4a[_0xadb1('0x2b')]+_0x47a6ad['priority']+_0x40c666++,'VoiceExtensionId':_0x22ad94[_0xadb1('0x17')]});_0x395b0e[_0xadb1('0x13')]({'type':_0x22ad94[_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0xadb1('0x39'),'context':_0x22ad94[_0xadb1('0x16')],'exten':_0x22ad94[_0xadb1('0x9')],'priority':_0x4bcd4a[_0xadb1('0x2b')]+_0x47a6ad[_0xadb1('0x10')]+_0x40c666++,'VoiceExtensionId':_0x22ad94[_0xadb1('0x17')]});}else{_0x395b0e[_0xadb1('0x13')]({'type':_0x22ad94[_0xadb1('0x18')],'app':_0xadb1('0x1e'),'appdata':_0xadb1('0x3a'),'context':_0x22ad94['context'],'exten':_0x22ad94[_0xadb1('0x9')],'priority':_0x4bcd4a[_0xadb1('0x2b')]+_0x47a6ad[_0xadb1('0x10')]+_0x40c666++,'VoiceExtensionId':_0x22ad94[_0xadb1('0x17')]});_0x395b0e[_0xadb1('0x13')]({'type':_0x22ad94[_0xadb1('0x18')],'app':_0xadb1('0x14'),'appdata':_0xadb1('0x3b'),'context':_0x22ad94[_0xadb1('0x16')],'exten':_0x22ad94[_0xadb1('0x9')],'priority':_0x4bcd4a[_0xadb1('0x2b')]+_0x47a6ad['priority']+_0x40c666++,'VoiceExtensionId':_0x22ad94[_0xadb1('0x17')]});}}}for(var _0x5ef8d5=0x0;_0x5ef8d5<_0x4bcd4a[_0xadb1('0x2b')];_0x5ef8d5+=0x1){var _0x433ffa=_0x47a6ad[_0xadb1('0x10')]+_0x4bcd4a[_0xadb1('0x2b')];var _0x3bbc19=_0x5ef8d5===_0x4bcd4a[_0xadb1('0x2b')]-0x1?_0x47a6ad[_0xadb1('0x10')]+_0x395b0e[_0xadb1('0x2b')]+_0x50c34c[_0xadb1('0x2b')]+0x2:_0x47a6ad[_0xadb1('0x10')]+_0x5ef8d5+0x1;_0x395b0e[_0xadb1('0x3c')](_0x5ef8d5,0x0,{'type':_0x22ad94['type'],'app':_0xadb1('0x3d'),'appdata':_0x4bcd4a[_0x5ef8d5]+'?'+_0x22ad94['context']+_0xadb1('0x3e')+_0x433ffa+':'+_0x22ad94[_0xadb1('0x16')]+_0xadb1('0x3e')+_0x3bbc19,'exten':_0x22ad94[_0xadb1('0x9')],'context':_0x22ad94[_0xadb1('0x16')],'priority':_0x47a6ad[_0xadb1('0x10')]+_0x5ef8d5,'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0]['VoiceExtensionId']});}_0x22ad94['priority']=_0x395b0e[_0xadb1('0x2b')]?_[_0xadb1('0x3f')](_0x395b0e)['priority']+0x1:_0x47a6ad[_0xadb1('0x10')];_0x47a6ad['priority']=(_0x50c34c['length']?_[_0xadb1('0x3f')](_0x50c34c)[_0xadb1('0x10')]:_0x22ad94[_0xadb1('0x10')])+0x1;_0x47a6ad[_0xadb1('0x11')]=_[_0xadb1('0x40')](_0x47a6ad[_0xadb1('0x11')],_0x395b0e,[_0x22ad94],_0x50c34c);}_0x47a6ad[_0xadb1('0x11')]['push']({'type':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x18')],'app':_0xadb1('0x41'),'exten':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x9')],'context':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x16')],'priority':_0x47a6ad['priority'],'VoiceExtensionId':_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]});_0x36b63e[_0xadb1('0x13')](_0x52ddeb[_0x5efc60][0x0][_0xadb1('0x17')]);_0x353fd3=_['concat'](_0x353fd3,_0x47a6ad[_0xadb1('0x11')]);}}return _0x2cca3d[_0xadb1('0x42')](function(_0xda21e){return _0x2cca3d['models'][_0xadb1('0x5')][_0xadb1('0x43')]({'where':{'VoiceExtensionId':{'$in':_0x36b63e}},'transaction':_0xda21e})['then'](function(_0x501d81){return _0x2cca3d[_0xadb1('0x1')][_0xadb1('0x5')]['bulkCreate'](_[_0xadb1('0x44')](_0x353fd3,_0xadb1('0x10')),{'transaction':_0xda21e});});});})[_0xadb1('0x45')](function(_0x50d40e){console[_0xadb1('0x46')](_0x50d40e);});}exports[_0xadb1('0x47')]=rewrite;