Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / api / voiceExtension / voiceExtension.model.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 _0xfdf1=['join','options','indexOf','U(xcally-mixmonitor-context)','replace','isEmpty','Interval','findAll','interval','then','*,*,*,*','intervals','IntervalId','filter','toLowerCase','tag','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):','Set(CALLERID(all)=','callerID','NoOp(No\x20number\x20available)','answer','queue','playback','includes','app','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','appType','outboundDial','appdata','agi','XMCS-UNIQUEID=${CHANNEL(LINKEDID)}','priority','concat','catch','define','VoiceExtension','last','Hangup','exports','Set','type','context','exten','push','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','outbound','CDR(type)=outbound','CDR(destination)=','${EXTEN:','cutdigits','${EXTEN}','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','MONITOR_OPTIONS=ab','outboundrouteid=','hasOwnProperty','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','recordingFormat','wav','trunk','url','split','length','name','param','phone','prefix','SIP'];(function(_0x574b7f,_0x5a758e){var _0x3da1af=function(_0x4b382e){while(--_0x4b382e){_0x574b7f['push'](_0x574b7f['shift']());}};_0x3da1af(++_0x5a758e);}(_0xfdf1,0x7c));var _0x1fdf=function(_0x5a62fc,_0x466c1b){_0x5a62fc=_0x5a62fc-0x0;var _0x218101=_0xfdf1[_0x5a62fc];return _0x218101;};'use strict';var _=require('lodash');var attributes=require('./voiceExtension.attributes');module[_0x1fdf('0x0')]=function(_0x2b054c){var _0x43205b=_0x2b054c['models'];function _0xde3946(_0x5f3c60){var _0x323556=0x2;var _0x54ca6d=[{'type':_0x5f3c60['type'],'app':_0x1fdf('0x1'),'appdata':'CDR(type)='+_0x5f3c60[_0x1fdf('0x2')],'context':_0x5f3c60[_0x1fdf('0x3')],'exten':_0x5f3c60[_0x1fdf('0x4')],'priority':_0x323556++,'VoiceExtensionId':_0x5f3c60['id']}];if(_0x5f3c60[_0x1fdf('0x2')]==='inbound'){_0x54ca6d['push']({'type':'inbound','app':_0x1fdf('0x1'),'appdata':'CDR(routeid)='+_0x5f3c60['id'],'context':_0x5f3c60[_0x1fdf('0x3')],'exten':_0x5f3c60[_0x1fdf('0x4')],'priority':_0x323556++,'VoiceExtensionId':_0x5f3c60['id']});}_0x54ca6d[_0x1fdf('0x5')]({'type':_0x5f3c60['type'],'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0x6'),'context':_0x5f3c60[_0x1fdf('0x3')],'exten':_0x5f3c60[_0x1fdf('0x4')],'priority':_0x323556++,'VoiceExtensionId':_0x5f3c60['id']},{'type':_0x5f3c60[_0x1fdf('0x2')],'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0x7'),'context':_0x5f3c60[_0x1fdf('0x3')],'exten':_0x5f3c60[_0x1fdf('0x4')],'priority':_0x323556++,'VoiceExtensionId':_0x5f3c60['id']},{'type':_0x5f3c60[_0x1fdf('0x2')],'app':_0x1fdf('0x1'),'appdata':'MONITOR_OPTIONS=ab','context':_0x5f3c60[_0x1fdf('0x3')],'exten':_0x5f3c60[_0x1fdf('0x4')],'priority':_0x323556++,'VoiceExtensionId':_0x5f3c60['id']});return _0x54ca6d;}function _0x142699(_0x5ee877){var _0x291a5b=0x2;var _0x44bb36=[{'type':_0x1fdf('0x8'),'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0x9'),'context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0xa')+(_0x5ee877['cutdigits']?_0x1fdf('0xb')+_0x5ee877[_0x1fdf('0xc')]+'}':_0x1fdf('0xd')),'context':_0x5ee877['context'],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':_0x1fdf('0x1'),'appdata':'CDR(routeid)='+_0x5ee877['id'],'context':_0x5ee877['context'],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':_0x1fdf('0xe'),'appdata':_0x1fdf('0xf')+(_0x291a5b+0x2)+_0x1fdf('0x10')+(_0x291a5b+0x1)+')','context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':_0x1fdf('0x1'),'appdata':_0x5ee877[_0x1fdf('0xc')]?_0x1fdf('0x11')+_0x5ee877[_0x1fdf('0xc')]+'}':_0x1fdf('0x12'),'context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':_0x1fdf('0x1'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877['exten'],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0x13'),'context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877['exten'],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0x14')+_0x5ee877['id'],'context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']}];if(_0x5ee877[_0x1fdf('0x15')]('recordingFormat')&&_0x5ee877['recordingFormat']!==_0x1fdf('0x16')){_0x44bb36[_0x1fdf('0x5')]({'type':_0x1fdf('0x8'),'app':'Set','appdata':_0x1fdf('0x17'),'context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']},{'type':_0x1fdf('0x8'),'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0x18')+_0x5ee877[_0x1fdf('0x19')]||_0x1fdf('0x1a'),'context':_0x5ee877[_0x1fdf('0x3')],'exten':_0x5ee877[_0x1fdf('0x4')],'priority':_0x291a5b++,'VoiceExtensionId':_0x5ee877['id']});}return _0x44bb36;}function _0x385590(_0x5ca5df,_0x4820cf){var _0x2b04f=[{'name':_0x1fdf('0x1b'),'param':0x0},{'name':'timeout','param':0x1},{'name':'options','param':0x2},{'name':_0x1fdf('0x1c'),'param':0x3}];var _0x302c95={};var _0x5c579c=_0x4820cf[_0x1fdf('0x1d')](',');var _0x26683a=[];for(var _0x1a9151=0x0;_0x1a9151<_0x2b04f[_0x1fdf('0x1e')];_0x1a9151++){switch(_0x2b04f[_0x1a9151][_0x1fdf('0x1f')]){case'trunk':_0x302c95[_0x1fdf('0x1b')]=_0x5c579c[_0x2b04f[_0x1a9151][_0x1fdf('0x20')]][_0x1fdf('0x1d')]('/')[0x1];_0x302c95[_0x1fdf('0x21')]=_0x5c579c[_0x2b04f[_0x1a9151][_0x1fdf('0x20')]]['split']('/')[0x2];_0x302c95[_0x1fdf('0x22')]=_0x302c95['phone']?_0x302c95['phone'][_0x1fdf('0x1d')]('$')[0x0]:undefined;_0x302c95[_0x1fdf('0x21')]=_0x5ca5df['cutdigits']?(_0x302c95[_0x1fdf('0x22')]||'')+_0x1fdf('0xb')+_0x5ca5df[_0x1fdf('0xc')]+'}':(_0x302c95['prefix']||'')+'${EXTEN}';_0x26683a[_0x2b04f[_0x1a9151]['param']]=[_0x1fdf('0x23'),_0x302c95[_0x1fdf('0x1b')],_0x302c95[_0x1fdf('0x21')]][_0x1fdf('0x24')]('/');break;case _0x1fdf('0x25'):_0x302c95[_0x1fdf('0x25')]=_0x5c579c[_0x2b04f[_0x1a9151][_0x1fdf('0x20')]];if(_0x5ca5df[_0x1fdf('0x19')]!==_0x1fdf('0x16')){if(_0x302c95[_0x1fdf('0x25')][_0x1fdf('0x26')](_0x1fdf('0x27'))<0x0){_0x302c95['options']+='U(xcally-mixmonitor-context)';}}else{_0x302c95['options']=_0x302c95[_0x1fdf('0x25')][_0x1fdf('0x28')](_0x1fdf('0x27'),'');}_0x26683a[_0x2b04f[_0x1a9151]['param']]=_0x302c95[_0x1fdf('0x25')];break;default:_0x26683a[_0x2b04f[_0x1a9151][_0x1fdf('0x20')]]=_0x5c579c[_0x2b04f[_0x1a9151][_0x1fdf('0x20')]];}}return _0x26683a[_0x1fdf('0x24')](',');}function _0x33d06(_0x3a2f8c,_0x263ba9,_0x4d40e5){return new Promise(function(_0x3f1044,_0x3b4a29){var _0x3eea8a=[];if(_[_0x1fdf('0x29')](_0x263ba9))return _0x3f1044(_0x3eea8a);_0x43205b[_0x1fdf('0x2a')][_0x1fdf('0x2b')]({'attributes':['id',_0x1fdf('0x2c'),'IntervalId'],'raw':!![]})[_0x1fdf('0x2d')](function(_0x439da3){for(var _0x48b6b7=0x0,_0x3a32c0=0x0;_0x48b6b7<_0x263ba9[_0x1fdf('0x1e')];_0x48b6b7++,_0x3a32c0=0x0){var _0x1e12de=_0x263ba9[_0x48b6b7];var _0x4f99cf=[];var _0x1039e1=[];delete _0x1e12de['id'];if(_0x1e12de['interval']!==_0x1fdf('0x2e')){_0x1e12de[_0x1fdf('0x2f')]=[_0x1e12de[_0x1fdf('0x2c')]];}else{_0x1e12de[_0x1fdf('0x2f')]=_0x1e12de[_0x1fdf('0x30')]?_['map'](_[_0x1fdf('0x31')](_0x439da3,{'IntervalId':_0x1e12de[_0x1fdf('0x30')]}),_0x1fdf('0x2c')):[];}_0x1e12de['context']=_0x3a2f8c[_0x1fdf('0x3')];_0x1e12de['exten']=_0x3a2f8c[_0x1fdf('0x4')];if(_0x1e12de[_0x1fdf('0x2')])_0x1e12de['type']=_0x1e12de['type'][_0x1fdf('0x32')]();if(_0x3a2f8c['type']==='outbound'){if(_0x1e12de[_0x1fdf('0x15')](_0x1fdf('0x33'))&&_0x1e12de[_0x1fdf('0x33')]&&_0x1e12de['tag']!=='--'){_0x4f99cf['push']({'type':_0x1e12de[_0x1fdf('0x2')][_0x1fdf('0x32')](),'app':'Set','appdata':'CDR(tag)='+_0x1e12de[_0x1fdf('0x33')],'context':_0x3a2f8c[_0x1fdf('0x3')],'exten':_0x3a2f8c[_0x1fdf('0x4')],'priority':_0x1e12de['intervals'][_0x1fdf('0x1e')]+_0x4d40e5+_0x3a32c0++,'VoiceExtensionId':_0x3a2f8c['id']});}_0x4f99cf[_0x1fdf('0x5')]({'type':_0x1e12de[_0x1fdf('0x2')][_0x1fdf('0x32')](),'app':_0x1fdf('0xe'),'appdata':_0x1fdf('0x34')+(_0x1e12de['callerID']?_0x1fdf('0x35')+_0x1e12de[_0x1fdf('0x36')]+')':_0x1fdf('0x37')),'context':_0x3a2f8c[_0x1fdf('0x3')],'exten':_0x3a2f8c[_0x1fdf('0x4')],'priority':_0x1e12de[_0x1fdf('0x2f')][_0x1fdf('0x1e')]+_0x4d40e5+_0x3a32c0++,'VoiceExtensionId':_0x3a2f8c['id']});}else{if(_0x1e12de[_0x1fdf('0x15')](_0x1fdf('0x38'))){if([_0x1fdf('0x39'),_0x1fdf('0x3a')][_0x1fdf('0x3b')](_0x1e12de[_0x1fdf('0x3c')][_0x1fdf('0x32')]())&&_0x1e12de['appType']!==_0x1fdf('0x3d')){if(_0x1e12de[_0x1fdf('0x38')]){_0x4f99cf[_0x1fdf('0x5')]({'type':_0x1e12de[_0x1fdf('0x2')][_0x1fdf('0x32')](),'app':_0x1fdf('0xe'),'appdata':_0x1fdf('0x3e'),'context':_0x3a2f8c[_0x1fdf('0x3')],'exten':_0x3a2f8c[_0x1fdf('0x4')],'priority':_0x1e12de[_0x1fdf('0x2f')][_0x1fdf('0x1e')]+_0x4d40e5+_0x3a32c0++,'VoiceExtensionId':_0x3a2f8c['id']});_0x4f99cf[_0x1fdf('0x5')]({'type':_0x1e12de[_0x1fdf('0x2')][_0x1fdf('0x32')](),'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0x3f'),'context':_0x3a2f8c[_0x1fdf('0x3')],'exten':_0x3a2f8c[_0x1fdf('0x4')],'priority':_0x1e12de[_0x1fdf('0x2f')]['length']+_0x4d40e5+_0x3a32c0++,'VoiceExtensionId':_0x3a2f8c['id']});}else{_0x4f99cf[_0x1fdf('0x5')]({'type':_0x1e12de[_0x1fdf('0x2')][_0x1fdf('0x32')](),'app':_0x1fdf('0xe'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x3a2f8c[_0x1fdf('0x3')],'exten':_0x3a2f8c[_0x1fdf('0x4')],'priority':_0x1e12de['intervals'][_0x1fdf('0x1e')]+_0x4d40e5+_0x3a32c0++,'VoiceExtensionId':_0x3a2f8c['id']});_0x4f99cf[_0x1fdf('0x5')]({'type':_0x1e12de[_0x1fdf('0x2')][_0x1fdf('0x32')](),'app':'Set','appdata':_0x1fdf('0x40'),'context':_0x3a2f8c[_0x1fdf('0x3')],'exten':_0x3a2f8c['exten'],'priority':_0x1e12de[_0x1fdf('0x2f')]['length']+_0x4d40e5+_0x3a32c0++,'VoiceExtensionId':_0x3a2f8c['id']});}}}}for(var _0x409ad9=0x0;_0x409ad9<_0x1e12de[_0x1fdf('0x2f')]['length'];_0x409ad9++){var _0x11ba80=_0x4d40e5+_0x1e12de[_0x1fdf('0x2f')][_0x1fdf('0x1e')];var _0x76ea9e=_0x409ad9===_0x1e12de[_0x1fdf('0x2f')][_0x1fdf('0x1e')]-0x1?_0x4d40e5+_0x4f99cf[_0x1fdf('0x1e')]+_0x1039e1[_0x1fdf('0x1e')]+0x2:_0x4d40e5+_0x409ad9+0x1;_0x4f99cf[_0x1fdf('0x41')](_0x409ad9,0x0,{'type':_0x3a2f8c[_0x1fdf('0x2')],'app':_0x1fdf('0x42'),'appdata':_0x1e12de['intervals'][_0x409ad9]+'?'+_0x3a2f8c[_0x1fdf('0x3')]+',${EXTEN},'+_0x11ba80+':'+_0x3a2f8c[_0x1fdf('0x3')]+_0x1fdf('0x43')+_0x76ea9e,'exten':_0x3a2f8c[_0x1fdf('0x4')],'context':_0x3a2f8c[_0x1fdf('0x3')],'priority':_0x4d40e5+_0x409ad9,'VoiceExtensionId':_0x3a2f8c['id']});}if(_0x1e12de[_0x1fdf('0x44')]===_0x1fdf('0x45')){_0x1e12de[_0x1fdf('0x46')]=_0x385590(_0x3a2f8c,_0x1e12de['appdata']);}if(_0x1e12de[_0x1fdf('0x44')]===_0x1fdf('0x47')){_0x4f99cf['push']({'type':_0x1e12de[_0x1fdf('0x2')][_0x1fdf('0x32')](),'app':_0x1fdf('0x1'),'appdata':_0x1fdf('0x48'),'context':_0x3a2f8c['context'],'exten':_0x3a2f8c[_0x1fdf('0x4')],'priority':_0x1e12de[_0x1fdf('0x2f')]['length']+_0x4d40e5+_0x3a32c0++,'VoiceExtensionId':_0x3a2f8c['id']});}_0x1e12de[_0x1fdf('0x49')]=_0x4f99cf[_0x1fdf('0x1e')]?_['last'](_0x4f99cf)[_0x1fdf('0x49')]+0x1:_0x4d40e5;_0x3eea8a=_[_0x1fdf('0x4a')](_0x3eea8a,_0x4f99cf,[_0x1e12de],_0x1039e1);_0x4d40e5=_['last'](_0x3eea8a)['priority']+0x1;}return _0x3f1044(_0x3eea8a);})[_0x1fdf('0x4b')](function(_0x5cde4d){_0x3b4a29(_0x5cde4d);});});}return _0x2b054c[_0x1fdf('0x4c')](_0x1fdf('0x4d'),attributes,{'tableName':'voice_extensions','paranoid':![],'indexes':[],'timestamps':!![],'instanceMethods':{'createRouting':function(_0x4f3fb8){var _0x577a17=this['get']({'plain':!![]});var _0x72b75d=_0x577a17[_0x1fdf('0x2')]===_0x1fdf('0x8')?_0x142699(_0x577a17):_0xde3946(_0x577a17);return _0x33d06(_0x577a17,_0x4f3fb8,_[_0x1fdf('0x4e')](_0x72b75d)[_0x1fdf('0x49')]+0x1)['then'](function(_0x588d8c){var _0x44d964=_[_0x1fdf('0x4a')](_0x72b75d,_0x588d8c);_0x44d964[_0x1fdf('0x5')]({'type':_0x577a17['type'],'app':_0x1fdf('0x4f'),'exten':_0x577a17['exten'],'context':_0x577a17[_0x1fdf('0x3')],'priority':_['last'](_0x44d964)[_0x1fdf('0x49')]+0x1,'VoiceExtensionId':_0x577a17['id']});return _0x44d964;});}}});};