Built motion from commit 1ea47bf4.|2.6.34
[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 _0x26cd=['toLowerCase','tag','CDR(tag)=','ExecIf','callerID','NoOp(No\x20number\x20available)','answer','playback','includes','app','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice','GotoIfTime',',${EXTEN},','outboundDial','appdata','agi','XMCS-UNIQUEID=${CHANNEL(LINKEDID)}','last','concat','catch','define','VoiceExtension','priority','Hangup','lodash','./voiceExtension.attributes','type','Set','CDR(type)=','context','exten','inbound','push','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','outbound','CDR(type)=outbound','cutdigits','${EXTEN:','CDR(routeid)=','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=noprefix','XCALLY-MOTION-ANSWER=0','outboundrouteid=','hasOwnProperty','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','wav','trunk','timeout','options','url','split','length','param','phone','prefix','SIP','none','indexOf','U(xcally-mixmonitor-context)','replace','isEmpty','interval','then','*,*,*,*','intervals','IntervalId','map','filter'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x26cd,0x14d));var _0xd26c=function(_0x1ae441,_0x5160e2){_0x1ae441=_0x1ae441-0x0;var _0x47b62c=_0x26cd[_0x1ae441];return _0x47b62c;};'use strict';var _=require(_0xd26c('0x0'));var attributes=require(_0xd26c('0x1'));module['exports']=function(_0x45f7cb){var _0x519085=_0x45f7cb['models'];function _0x508185(_0x316695){var _0xae8917=0x2;var _0x5445d5=[{'type':_0x316695[_0xd26c('0x2')],'app':_0xd26c('0x3'),'appdata':_0xd26c('0x4')+_0x316695[_0xd26c('0x2')],'context':_0x316695[_0xd26c('0x5')],'exten':_0x316695[_0xd26c('0x6')],'priority':_0xae8917++,'VoiceExtensionId':_0x316695['id']}];if(_0x316695[_0xd26c('0x2')]===_0xd26c('0x7')){_0x5445d5[_0xd26c('0x8')]({'type':'inbound','app':_0xd26c('0x3'),'appdata':'CDR(routeid)='+_0x316695['id'],'context':_0x316695[_0xd26c('0x5')],'exten':_0x316695[_0xd26c('0x6')],'priority':_0xae8917++,'VoiceExtensionId':_0x316695['id']});}_0x5445d5[_0xd26c('0x8')]({'type':_0x316695['type'],'app':_0xd26c('0x3'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0x316695[_0xd26c('0x5')],'exten':_0x316695['exten'],'priority':_0xae8917++,'VoiceExtensionId':_0x316695['id']},{'type':_0x316695['type'],'app':'Set','appdata':_0xd26c('0x9'),'context':_0x316695['context'],'exten':_0x316695[_0xd26c('0x6')],'priority':_0xae8917++,'VoiceExtensionId':_0x316695['id']},{'type':_0x316695[_0xd26c('0x2')],'app':_0xd26c('0x3'),'appdata':_0xd26c('0xa'),'context':_0x316695['context'],'exten':_0x316695[_0xd26c('0x6')],'priority':_0xae8917++,'VoiceExtensionId':_0x316695['id']});return _0x5445d5;}function _0x42aaa5(_0x39dcf8){var _0x516612=0x2;var _0x547b00=[{'type':_0xd26c('0xb'),'app':_0xd26c('0x3'),'appdata':_0xd26c('0xc'),'context':_0x39dcf8['context'],'exten':_0x39dcf8[_0xd26c('0x6')],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':_0xd26c('0xb'),'app':_0xd26c('0x3'),'appdata':'CDR(destination)='+(_0x39dcf8[_0xd26c('0xd')]?_0xd26c('0xe')+_0x39dcf8[_0xd26c('0xd')]+'}':'${EXTEN}'),'context':_0x39dcf8['context'],'exten':_0x39dcf8[_0xd26c('0x6')],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':'outbound','app':_0xd26c('0x3'),'appdata':_0xd26c('0xf')+_0x39dcf8['id'],'context':_0x39dcf8['context'],'exten':_0x39dcf8['exten'],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':_0xd26c('0xb'),'app':'ExecIf','appdata':_0xd26c('0x10')+(_0x516612+0x2)+_0xd26c('0x11')+(_0x516612+0x1)+')','context':_0x39dcf8[_0xd26c('0x5')],'exten':_0x39dcf8[_0xd26c('0x6')],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':_0xd26c('0xb'),'app':'Set','appdata':_0x39dcf8[_0xd26c('0xd')]?'CDR(prefix)=${EXTEN:0:'+_0x39dcf8[_0xd26c('0xd')]+'}':_0xd26c('0x12'),'context':_0x39dcf8['context'],'exten':_0x39dcf8[_0xd26c('0x6')],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':_0xd26c('0xb'),'app':_0xd26c('0x3'),'appdata':_0xd26c('0x13'),'context':_0x39dcf8[_0xd26c('0x5')],'exten':_0x39dcf8['exten'],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':'outbound','app':'Set','appdata':_0xd26c('0x9'),'context':_0x39dcf8[_0xd26c('0x5')],'exten':_0x39dcf8[_0xd26c('0x6')],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':_0xd26c('0xb'),'app':_0xd26c('0x3'),'appdata':_0xd26c('0xa'),'context':_0x39dcf8[_0xd26c('0x5')],'exten':_0x39dcf8['exten'],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':_0xd26c('0xb'),'app':_0xd26c('0x3'),'appdata':_0xd26c('0x14')+_0x39dcf8['id'],'context':_0x39dcf8[_0xd26c('0x5')],'exten':_0x39dcf8[_0xd26c('0x6')],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']}];if(_0x39dcf8[_0xd26c('0x15')]('recordingFormat')&&_0x39dcf8[_0xd26c('0x16')]!=='none'){_0x547b00[_0xd26c('0x8')]({'type':_0xd26c('0xb'),'app':_0xd26c('0x3'),'appdata':_0xd26c('0x17'),'context':_0x39dcf8[_0xd26c('0x5')],'exten':_0x39dcf8[_0xd26c('0x6')],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']},{'type':_0xd26c('0xb'),'app':_0xd26c('0x3'),'appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x39dcf8[_0xd26c('0x16')]||_0xd26c('0x18'),'context':_0x39dcf8[_0xd26c('0x5')],'exten':_0x39dcf8[_0xd26c('0x6')],'priority':_0x516612++,'VoiceExtensionId':_0x39dcf8['id']});}return _0x547b00;}function _0x8c74f6(_0x23073d,_0x257243){var _0x4b61e0=[{'name':_0xd26c('0x19'),'param':0x0},{'name':_0xd26c('0x1a'),'param':0x1},{'name':_0xd26c('0x1b'),'param':0x2},{'name':_0xd26c('0x1c'),'param':0x3}];var _0x343722={};var _0x2e7ea2=_0x257243[_0xd26c('0x1d')](',');var _0x55287f=[];for(var _0x2b6361=0x0;_0x2b6361<_0x4b61e0[_0xd26c('0x1e')];_0x2b6361++){switch(_0x4b61e0[_0x2b6361]['name']){case _0xd26c('0x19'):_0x343722[_0xd26c('0x19')]=_0x2e7ea2[_0x4b61e0[_0x2b6361][_0xd26c('0x1f')]][_0xd26c('0x1d')]('/')[0x1];_0x343722[_0xd26c('0x20')]=_0x2e7ea2[_0x4b61e0[_0x2b6361][_0xd26c('0x1f')]][_0xd26c('0x1d')]('/')[0x2];_0x343722[_0xd26c('0x21')]=_0x343722['phone']?_0x343722[_0xd26c('0x20')][_0xd26c('0x1d')]('$')[0x0]:undefined;_0x343722[_0xd26c('0x20')]=_0x23073d[_0xd26c('0xd')]?(_0x343722[_0xd26c('0x21')]||'')+'${EXTEN:'+_0x23073d[_0xd26c('0xd')]+'}':(_0x343722['prefix']||'')+'${EXTEN}';_0x55287f[_0x4b61e0[_0x2b6361]['param']]=[_0xd26c('0x22'),_0x343722[_0xd26c('0x19')],_0x343722[_0xd26c('0x20')]]['join']('/');break;case _0xd26c('0x1b'):_0x343722[_0xd26c('0x1b')]=_0x2e7ea2[_0x4b61e0[_0x2b6361][_0xd26c('0x1f')]];if(_0x23073d[_0xd26c('0x16')]!==_0xd26c('0x23')){if(_0x343722['options'][_0xd26c('0x24')](_0xd26c('0x25'))<0x0){_0x343722[_0xd26c('0x1b')]+='U(xcally-mixmonitor-context)';}}else{_0x343722[_0xd26c('0x1b')]=_0x343722[_0xd26c('0x1b')][_0xd26c('0x26')](_0xd26c('0x25'),'');}_0x55287f[_0x4b61e0[_0x2b6361][_0xd26c('0x1f')]]=_0x343722[_0xd26c('0x1b')];break;default:_0x55287f[_0x4b61e0[_0x2b6361]['param']]=_0x2e7ea2[_0x4b61e0[_0x2b6361][_0xd26c('0x1f')]];}}return _0x55287f['join'](',');}function _0x1012b8(_0x43d314,_0x26d3b5,_0x440077){return new Promise(function(_0x434cfa,_0x12452b){var _0x9a7d77=[];if(_[_0xd26c('0x27')](_0x26d3b5))return _0x434cfa(_0x9a7d77);_0x519085['Interval']['findAll']({'attributes':['id',_0xd26c('0x28'),'IntervalId'],'raw':!![]})[_0xd26c('0x29')](function(_0x552ed4){for(var _0x48e5e3=0x0,_0x3290b5=0x0;_0x48e5e3<_0x26d3b5[_0xd26c('0x1e')];_0x48e5e3++,_0x3290b5=0x0){var _0x42ad62=_0x26d3b5[_0x48e5e3];var _0x24191b=[];var _0x15a1d8=[];delete _0x42ad62['id'];if(_0x42ad62['interval']!==_0xd26c('0x2a')){_0x42ad62[_0xd26c('0x2b')]=[_0x42ad62[_0xd26c('0x28')]];}else{_0x42ad62[_0xd26c('0x2b')]=_0x42ad62[_0xd26c('0x2c')]?_[_0xd26c('0x2d')](_[_0xd26c('0x2e')](_0x552ed4,{'IntervalId':_0x42ad62[_0xd26c('0x2c')]}),_0xd26c('0x28')):[];}_0x42ad62['context']=_0x43d314[_0xd26c('0x5')];_0x42ad62[_0xd26c('0x6')]=_0x43d314['exten'];if(_0x42ad62[_0xd26c('0x2')])_0x42ad62['type']=_0x42ad62[_0xd26c('0x2')][_0xd26c('0x2f')]();if(_0x43d314['type']===_0xd26c('0xb')){if(_0x42ad62[_0xd26c('0x15')](_0xd26c('0x30'))&&_0x42ad62['tag']&&_0x42ad62[_0xd26c('0x30')]!=='--'){_0x24191b['push']({'type':_0x42ad62[_0xd26c('0x2')][_0xd26c('0x2f')](),'app':_0xd26c('0x3'),'appdata':_0xd26c('0x31')+_0x42ad62[_0xd26c('0x30')],'context':_0x43d314['context'],'exten':_0x43d314[_0xd26c('0x6')],'priority':_0x42ad62[_0xd26c('0x2b')][_0xd26c('0x1e')]+_0x440077+_0x3290b5++,'VoiceExtensionId':_0x43d314['id']});}_0x24191b['push']({'type':_0x42ad62[_0xd26c('0x2')][_0xd26c('0x2f')](),'app':_0xd26c('0x32'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):'+(_0x42ad62[_0xd26c('0x33')]?'Set(CALLERID(all)='+_0x42ad62[_0xd26c('0x33')]+')':_0xd26c('0x34')),'context':_0x43d314[_0xd26c('0x5')],'exten':_0x43d314[_0xd26c('0x6')],'priority':_0x42ad62[_0xd26c('0x2b')][_0xd26c('0x1e')]+_0x440077+_0x3290b5++,'VoiceExtensionId':_0x43d314['id']});}else{if(_0x42ad62[_0xd26c('0x15')](_0xd26c('0x35'))){if(['queue',_0xd26c('0x36')][_0xd26c('0x37')](_0x42ad62[_0xd26c('0x38')][_0xd26c('0x2f')]())&&_0x42ad62[_0xd26c('0x39')]!==_0xd26c('0x3a')){if(_0x42ad62['answer']){_0x24191b[_0xd26c('0x8')]({'type':_0x42ad62['type'][_0xd26c('0x2f')](),'app':'ExecIf','appdata':_0xd26c('0x3b'),'context':_0x43d314[_0xd26c('0x5')],'exten':_0x43d314[_0xd26c('0x6')],'priority':_0x42ad62['intervals'][_0xd26c('0x1e')]+_0x440077+_0x3290b5++,'VoiceExtensionId':_0x43d314['id']});_0x24191b[_0xd26c('0x8')]({'type':_0x42ad62[_0xd26c('0x2')][_0xd26c('0x2f')](),'app':'Set','appdata':_0xd26c('0x3c'),'context':_0x43d314[_0xd26c('0x5')],'exten':_0x43d314[_0xd26c('0x6')],'priority':_0x42ad62['intervals'][_0xd26c('0x1e')]+_0x440077+_0x3290b5++,'VoiceExtensionId':_0x43d314['id']});}else{_0x24191b['push']({'type':_0x42ad62[_0xd26c('0x2')][_0xd26c('0x2f')](),'app':_0xd26c('0x32'),'appdata':_0xd26c('0x3d'),'context':_0x43d314['context'],'exten':_0x43d314[_0xd26c('0x6')],'priority':_0x42ad62[_0xd26c('0x2b')][_0xd26c('0x1e')]+_0x440077+_0x3290b5++,'VoiceExtensionId':_0x43d314['id']});_0x24191b[_0xd26c('0x8')]({'type':_0x42ad62[_0xd26c('0x2')][_0xd26c('0x2f')](),'app':_0xd26c('0x3'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0x43d314[_0xd26c('0x5')],'exten':_0x43d314['exten'],'priority':_0x42ad62[_0xd26c('0x2b')][_0xd26c('0x1e')]+_0x440077+_0x3290b5++,'VoiceExtensionId':_0x43d314['id']});}}}}for(var _0x5cffbe=0x0;_0x5cffbe<_0x42ad62[_0xd26c('0x2b')][_0xd26c('0x1e')];_0x5cffbe++){var _0x3f6cf6=_0x440077+_0x42ad62[_0xd26c('0x2b')][_0xd26c('0x1e')];var _0x4bd784=_0x5cffbe===_0x42ad62[_0xd26c('0x2b')][_0xd26c('0x1e')]-0x1?_0x440077+_0x24191b[_0xd26c('0x1e')]+_0x15a1d8[_0xd26c('0x1e')]+0x2:_0x440077+_0x5cffbe+0x1;_0x24191b[_0xd26c('0x3e')](_0x5cffbe,0x0,{'type':_0x43d314[_0xd26c('0x2')],'app':_0xd26c('0x3f'),'appdata':_0x42ad62[_0xd26c('0x2b')][_0x5cffbe]+'?'+_0x43d314[_0xd26c('0x5')]+_0xd26c('0x40')+_0x3f6cf6+':'+_0x43d314[_0xd26c('0x5')]+_0xd26c('0x40')+_0x4bd784,'exten':_0x43d314['exten'],'context':_0x43d314[_0xd26c('0x5')],'priority':_0x440077+_0x5cffbe,'VoiceExtensionId':_0x43d314['id']});}if(_0x42ad62[_0xd26c('0x39')]===_0xd26c('0x41')){_0x42ad62[_0xd26c('0x42')]=_0x8c74f6(_0x43d314,_0x42ad62[_0xd26c('0x42')]);}if(_0x42ad62[_0xd26c('0x39')]===_0xd26c('0x43')){_0x24191b[_0xd26c('0x8')]({'type':_0x42ad62[_0xd26c('0x2')][_0xd26c('0x2f')](),'app':'Set','appdata':_0xd26c('0x44'),'context':_0x43d314['context'],'exten':_0x43d314[_0xd26c('0x6')],'priority':_0x42ad62[_0xd26c('0x2b')]['length']+_0x440077+_0x3290b5++,'VoiceExtensionId':_0x43d314['id']});}_0x42ad62['priority']=_0x24191b['length']?_[_0xd26c('0x45')](_0x24191b)['priority']+0x1:_0x440077;_0x9a7d77=_[_0xd26c('0x46')](_0x9a7d77,_0x24191b,[_0x42ad62],_0x15a1d8);_0x440077=_[_0xd26c('0x45')](_0x9a7d77)['priority']+0x1;}return _0x434cfa(_0x9a7d77);})[_0xd26c('0x47')](function(_0x56de14){_0x12452b(_0x56de14);});});}return _0x45f7cb[_0xd26c('0x48')](_0xd26c('0x49'),attributes,{'tableName':'voice_extensions','paranoid':![],'indexes':[],'timestamps':!![],'instanceMethods':{'createRouting':function(_0x38aecf){var _0x3ca7bc=this['get']({'plain':!![]});var _0x591c80=_0x3ca7bc[_0xd26c('0x2')]===_0xd26c('0xb')?_0x42aaa5(_0x3ca7bc):_0x508185(_0x3ca7bc);return _0x1012b8(_0x3ca7bc,_0x38aecf,_[_0xd26c('0x45')](_0x591c80)[_0xd26c('0x4a')]+0x1)['then'](function(_0x5d07ac){var _0x553a5e=_[_0xd26c('0x46')](_0x591c80,_0x5d07ac);_0x553a5e['push']({'type':_0x3ca7bc['type'],'app':_0xd26c('0x4b'),'exten':_0x3ca7bc['exten'],'context':_0x3ca7bc[_0xd26c('0x5')],'priority':_['last'](_0x553a5e)[_0xd26c('0x4a')]+0x1,'VoiceExtensionId':_0x3ca7bc['id']});return _0x553a5e;});}}});};