Built motion from commit 3c2ce842.|2.6.31
[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 _0xe117=['_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','wav','timeout','options','url','split','length','name','trunk','param','phone','prefix','${EXTEN}','SIP','none','indexOf','U(xcally-mixmonitor-context)','replace','join','Interval','findAll','interval','IntervalId','then','*,*,*,*','intervals','map','filter','toLowerCase','hasOwnProperty','tag','CDR(tag)=','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):','callerID','NoOp(No\x20number\x20available)','queue','playback','app','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','splice',',${EXTEN},','appType','appdata','agi','XMCS-UNIQUEID=${CHANNEL(LINKEDID)}','priority','last','concat','VoiceExtension','voice_extensions','get','Hangup','lodash','./voiceExtension.attributes','CDR(type)=','type','context','exten','inbound','push','Set','CDR(routeid)=','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','outbound','CDR(type)=outbound','CDR(destination)=','cutdigits','${EXTEN:','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat'];(function(_0x3292ad,_0x193d81){var _0x28baa4=function(_0x2dd974){while(--_0x2dd974){_0x3292ad['push'](_0x3292ad['shift']());}};_0x28baa4(++_0x193d81);}(_0xe117,0x172));var _0x7e11=function(_0x4a5b98,_0x18ae0b){_0x4a5b98=_0x4a5b98-0x0;var _0x35d4e8=_0xe117[_0x4a5b98];return _0x35d4e8;};'use strict';var _=require(_0x7e11('0x0'));var attributes=require(_0x7e11('0x1'));module['exports']=function(_0xe33eeb){var _0x45ae1c=_0xe33eeb['models'];function _0x163fea(_0x132ea3){var _0x26593e=0x2;var _0x544be6=[{'type':_0x132ea3['type'],'app':'Set','appdata':_0x7e11('0x2')+_0x132ea3[_0x7e11('0x3')],'context':_0x132ea3[_0x7e11('0x4')],'exten':_0x132ea3[_0x7e11('0x5')],'priority':_0x26593e++,'VoiceExtensionId':_0x132ea3['id']}];if(_0x132ea3[_0x7e11('0x3')]===_0x7e11('0x6')){_0x544be6[_0x7e11('0x7')]({'type':_0x7e11('0x6'),'app':_0x7e11('0x8'),'appdata':_0x7e11('0x9')+_0x132ea3['id'],'context':_0x132ea3['context'],'exten':_0x132ea3[_0x7e11('0x5')],'priority':_0x26593e++,'VoiceExtensionId':_0x132ea3['id']});}_0x544be6['push']({'type':_0x132ea3['type'],'app':'Set','appdata':_0x7e11('0xa'),'context':_0x132ea3['context'],'exten':_0x132ea3[_0x7e11('0x5')],'priority':_0x26593e++,'VoiceExtensionId':_0x132ea3['id']},{'type':_0x132ea3['type'],'app':'Set','appdata':_0x7e11('0xb'),'context':_0x132ea3[_0x7e11('0x4')],'exten':_0x132ea3['exten'],'priority':_0x26593e++,'VoiceExtensionId':_0x132ea3['id']},{'type':_0x132ea3[_0x7e11('0x3')],'app':_0x7e11('0x8'),'appdata':_0x7e11('0xc'),'context':_0x132ea3[_0x7e11('0x4')],'exten':_0x132ea3[_0x7e11('0x5')],'priority':_0x26593e++,'VoiceExtensionId':_0x132ea3['id']});return _0x544be6;}function _0x50ae56(_0x1d0731){var _0x4ca4c3=0x2;var _0x4c015f=[{'type':_0x7e11('0xd'),'app':_0x7e11('0x8'),'appdata':_0x7e11('0xe'),'context':_0x1d0731[_0x7e11('0x4')],'exten':_0x1d0731[_0x7e11('0x5')],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':_0x7e11('0xd'),'app':_0x7e11('0x8'),'appdata':_0x7e11('0xf')+(_0x1d0731[_0x7e11('0x10')]?_0x7e11('0x11')+_0x1d0731[_0x7e11('0x10')]+'}':'${EXTEN}'),'context':_0x1d0731['context'],'exten':_0x1d0731[_0x7e11('0x5')],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':_0x7e11('0xd'),'app':_0x7e11('0x8'),'appdata':_0x7e11('0x9')+_0x1d0731['id'],'context':_0x1d0731[_0x7e11('0x4')],'exten':_0x1d0731['exten'],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':_0x7e11('0xd'),'app':_0x7e11('0x12'),'appdata':_0x7e11('0x13')+(_0x4ca4c3+0x2)+_0x7e11('0x14')+(_0x4ca4c3+0x1)+')','context':_0x1d0731[_0x7e11('0x4')],'exten':_0x1d0731['exten'],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':_0x7e11('0xd'),'app':_0x7e11('0x8'),'appdata':_0x1d0731[_0x7e11('0x10')]?_0x7e11('0x15')+_0x1d0731['cutdigits']+'}':_0x7e11('0x16'),'context':_0x1d0731['context'],'exten':_0x1d0731[_0x7e11('0x5')],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':'outbound','app':_0x7e11('0x8'),'appdata':_0x7e11('0xa'),'context':_0x1d0731[_0x7e11('0x4')],'exten':_0x1d0731[_0x7e11('0x5')],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':_0x7e11('0xd'),'app':'Set','appdata':_0x7e11('0xb'),'context':_0x1d0731[_0x7e11('0x4')],'exten':_0x1d0731[_0x7e11('0x5')],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':'outbound','app':_0x7e11('0x8'),'appdata':_0x7e11('0xc'),'context':_0x1d0731[_0x7e11('0x4')],'exten':_0x1d0731['exten'],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':_0x7e11('0xd'),'app':_0x7e11('0x8'),'appdata':_0x7e11('0x17')+_0x1d0731['id'],'context':_0x1d0731['context'],'exten':_0x1d0731[_0x7e11('0x5')],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']}];if(_0x1d0731['hasOwnProperty'](_0x7e11('0x18'))&&_0x1d0731['recordingFormat']!=='none'){_0x4c015f[_0x7e11('0x7')]({'type':_0x7e11('0xd'),'app':_0x7e11('0x8'),'appdata':_0x7e11('0x19'),'context':_0x1d0731['context'],'exten':_0x1d0731[_0x7e11('0x5')],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']},{'type':'outbound','app':'Set','appdata':'_XCALLY_MIXMONITOR_FORMAT='+_0x1d0731[_0x7e11('0x18')]||_0x7e11('0x1a'),'context':_0x1d0731[_0x7e11('0x4')],'exten':_0x1d0731[_0x7e11('0x5')],'priority':_0x4ca4c3++,'VoiceExtensionId':_0x1d0731['id']});}return _0x4c015f;}function _0x3354b0(_0x2abb4d,_0x5b6405){var _0x285c32=[{'name':'trunk','param':0x0},{'name':_0x7e11('0x1b'),'param':0x1},{'name':_0x7e11('0x1c'),'param':0x2},{'name':_0x7e11('0x1d'),'param':0x3}];var _0x20db03={};var _0x5c4488=_0x5b6405[_0x7e11('0x1e')](',');var _0x1de69f=[];for(var _0x468958=0x0;_0x468958<_0x285c32[_0x7e11('0x1f')];_0x468958++){switch(_0x285c32[_0x468958][_0x7e11('0x20')]){case _0x7e11('0x21'):_0x20db03[_0x7e11('0x21')]=_0x5c4488[_0x285c32[_0x468958][_0x7e11('0x22')]][_0x7e11('0x1e')]('/')[0x1];_0x20db03[_0x7e11('0x23')]=_0x5c4488[_0x285c32[_0x468958]['param']][_0x7e11('0x1e')]('/')[0x2];_0x20db03[_0x7e11('0x24')]=_0x20db03[_0x7e11('0x23')]?_0x20db03[_0x7e11('0x23')][_0x7e11('0x1e')]('$')[0x0]:undefined;_0x20db03[_0x7e11('0x23')]=_0x2abb4d['cutdigits']?(_0x20db03[_0x7e11('0x24')]||'')+_0x7e11('0x11')+_0x2abb4d[_0x7e11('0x10')]+'}':(_0x20db03[_0x7e11('0x24')]||'')+_0x7e11('0x25');_0x1de69f[_0x285c32[_0x468958][_0x7e11('0x22')]]=[_0x7e11('0x26'),_0x20db03[_0x7e11('0x21')],_0x20db03['phone']]['join']('/');break;case'options':_0x20db03[_0x7e11('0x1c')]=_0x5c4488[_0x285c32[_0x468958][_0x7e11('0x22')]];if(_0x2abb4d['recordingFormat']!==_0x7e11('0x27')){if(_0x20db03[_0x7e11('0x1c')][_0x7e11('0x28')](_0x7e11('0x29'))<0x0){_0x20db03[_0x7e11('0x1c')]+=_0x7e11('0x29');}}else{_0x20db03['options']=_0x20db03[_0x7e11('0x1c')][_0x7e11('0x2a')](_0x7e11('0x29'),'');}_0x1de69f[_0x285c32[_0x468958][_0x7e11('0x22')]]=_0x20db03['options'];break;default:_0x1de69f[_0x285c32[_0x468958]['param']]=_0x5c4488[_0x285c32[_0x468958][_0x7e11('0x22')]];}}return _0x1de69f[_0x7e11('0x2b')](',');}function _0x2406fa(_0xa8ea8,_0x7b2904,_0x4000b8){return new Promise(function(_0x5952e2,_0xee3c8b){var _0x5999f1=[];if(_['isEmpty'](_0x7b2904))return _0x5952e2(_0x5999f1);_0x45ae1c[_0x7e11('0x2c')][_0x7e11('0x2d')]({'attributes':['id',_0x7e11('0x2e'),_0x7e11('0x2f')],'raw':!![]})[_0x7e11('0x30')](function(_0x401617){for(var _0x364438=0x0,_0x422e03=0x0;_0x364438<_0x7b2904['length'];_0x364438++,_0x422e03=0x0){var _0xa9b717=_0x7b2904[_0x364438];var _0x52e95a=[];var _0x2bc1b8=[];delete _0xa9b717['id'];if(_0xa9b717['interval']!==_0x7e11('0x31')){_0xa9b717[_0x7e11('0x32')]=[_0xa9b717['interval']];}else{_0xa9b717[_0x7e11('0x32')]=_0xa9b717[_0x7e11('0x2f')]?_[_0x7e11('0x33')](_[_0x7e11('0x34')](_0x401617,{'IntervalId':_0xa9b717['IntervalId']}),'interval'):[];}_0xa9b717[_0x7e11('0x4')]=_0xa8ea8[_0x7e11('0x4')];_0xa9b717[_0x7e11('0x5')]=_0xa8ea8['exten'];if(_0xa9b717[_0x7e11('0x3')])_0xa9b717[_0x7e11('0x3')]=_0xa9b717[_0x7e11('0x3')][_0x7e11('0x35')]();if(_0xa8ea8[_0x7e11('0x3')]==='outbound'){if(_0xa9b717[_0x7e11('0x36')](_0x7e11('0x37'))&&_0xa9b717[_0x7e11('0x37')]&&_0xa9b717[_0x7e11('0x37')]!=='--'){_0x52e95a[_0x7e11('0x7')]({'type':_0xa9b717[_0x7e11('0x3')][_0x7e11('0x35')](),'app':'Set','appdata':_0x7e11('0x38')+_0xa9b717[_0x7e11('0x37')],'context':_0xa8ea8['context'],'exten':_0xa8ea8[_0x7e11('0x5')],'priority':_0xa9b717[_0x7e11('0x32')]['length']+_0x4000b8+_0x422e03++,'VoiceExtensionId':_0xa8ea8['id']});}_0x52e95a[_0x7e11('0x7')]({'type':_0xa9b717[_0x7e11('0x3')][_0x7e11('0x35')](),'app':'ExecIf','appdata':_0x7e11('0x39')+(_0xa9b717['callerID']?'Set(CALLERID(all)='+_0xa9b717[_0x7e11('0x3a')]+')':_0x7e11('0x3b')),'context':_0xa8ea8['context'],'exten':_0xa8ea8[_0x7e11('0x5')],'priority':_0xa9b717['intervals'][_0x7e11('0x1f')]+_0x4000b8+_0x422e03++,'VoiceExtensionId':_0xa8ea8['id']});}else{if(_0xa9b717['hasOwnProperty']('answer')){if([_0x7e11('0x3c'),_0x7e11('0x3d')]['includes'](_0xa9b717[_0x7e11('0x3e')][_0x7e11('0x35')]())&&_0xa9b717['appType']!=='custom'){if(_0xa9b717['answer']){_0x52e95a['push']({'type':_0xa9b717['type']['toLowerCase'](),'app':_0x7e11('0x12'),'appdata':_0x7e11('0x3f'),'context':_0xa8ea8[_0x7e11('0x4')],'exten':_0xa8ea8['exten'],'priority':_0xa9b717[_0x7e11('0x32')][_0x7e11('0x1f')]+_0x4000b8+_0x422e03++,'VoiceExtensionId':_0xa8ea8['id']});_0x52e95a[_0x7e11('0x7')]({'type':_0xa9b717[_0x7e11('0x3')][_0x7e11('0x35')](),'app':_0x7e11('0x8'),'appdata':_0x7e11('0x40'),'context':_0xa8ea8[_0x7e11('0x4')],'exten':_0xa8ea8[_0x7e11('0x5')],'priority':_0xa9b717['intervals']['length']+_0x4000b8+_0x422e03++,'VoiceExtensionId':_0xa8ea8['id']});}else{_0x52e95a[_0x7e11('0x7')]({'type':_0xa9b717[_0x7e11('0x3')][_0x7e11('0x35')](),'app':_0x7e11('0x12'),'appdata':_0x7e11('0x41'),'context':_0xa8ea8[_0x7e11('0x4')],'exten':_0xa8ea8[_0x7e11('0x5')],'priority':_0xa9b717[_0x7e11('0x32')]['length']+_0x4000b8+_0x422e03++,'VoiceExtensionId':_0xa8ea8['id']});_0x52e95a[_0x7e11('0x7')]({'type':_0xa9b717['type']['toLowerCase'](),'app':_0x7e11('0x8'),'appdata':'XCALLY-MOTION-PROGRESS=1','context':_0xa8ea8[_0x7e11('0x4')],'exten':_0xa8ea8['exten'],'priority':_0xa9b717[_0x7e11('0x32')][_0x7e11('0x1f')]+_0x4000b8+_0x422e03++,'VoiceExtensionId':_0xa8ea8['id']});}}}}for(var _0x261e38=0x0;_0x261e38<_0xa9b717['intervals'][_0x7e11('0x1f')];_0x261e38++){var _0x36ee18=_0x4000b8+_0xa9b717[_0x7e11('0x32')][_0x7e11('0x1f')];var _0x4f242f=_0x261e38===_0xa9b717[_0x7e11('0x32')][_0x7e11('0x1f')]-0x1?_0x4000b8+_0x52e95a[_0x7e11('0x1f')]+_0x2bc1b8[_0x7e11('0x1f')]+0x2:_0x4000b8+_0x261e38+0x1;_0x52e95a[_0x7e11('0x42')](_0x261e38,0x0,{'type':_0xa8ea8[_0x7e11('0x3')],'app':'GotoIfTime','appdata':_0xa9b717['intervals'][_0x261e38]+'?'+_0xa8ea8[_0x7e11('0x4')]+',${EXTEN},'+_0x36ee18+':'+_0xa8ea8['context']+_0x7e11('0x43')+_0x4f242f,'exten':_0xa8ea8[_0x7e11('0x5')],'context':_0xa8ea8[_0x7e11('0x4')],'priority':_0x4000b8+_0x261e38,'VoiceExtensionId':_0xa8ea8['id']});}if(_0xa9b717[_0x7e11('0x44')]==='outboundDial'){_0xa9b717['appdata']=_0x3354b0(_0xa8ea8,_0xa9b717[_0x7e11('0x45')]);}if(_0xa9b717[_0x7e11('0x44')]===_0x7e11('0x46')){_0x52e95a[_0x7e11('0x7')]({'type':_0xa9b717[_0x7e11('0x3')][_0x7e11('0x35')](),'app':_0x7e11('0x8'),'appdata':_0x7e11('0x47'),'context':_0xa8ea8[_0x7e11('0x4')],'exten':_0xa8ea8[_0x7e11('0x5')],'priority':_0xa9b717[_0x7e11('0x32')]['length']+_0x4000b8+_0x422e03++,'VoiceExtensionId':_0xa8ea8['id']});}_0xa9b717[_0x7e11('0x48')]=_0x52e95a['length']?_[_0x7e11('0x49')](_0x52e95a)['priority']+0x1:_0x4000b8;_0x5999f1=_[_0x7e11('0x4a')](_0x5999f1,_0x52e95a,[_0xa9b717],_0x2bc1b8);_0x4000b8=_[_0x7e11('0x49')](_0x5999f1)['priority']+0x1;}return _0x5952e2(_0x5999f1);})['catch'](function(_0x12c667){_0xee3c8b(_0x12c667);});});}return _0xe33eeb['define'](_0x7e11('0x4b'),attributes,{'tableName':_0x7e11('0x4c'),'paranoid':![],'indexes':[],'timestamps':!![],'instanceMethods':{'createRouting':function(_0x212fa3){var _0x29558f=this[_0x7e11('0x4d')]({'plain':!![]});var _0x26bf3a=_0x29558f['type']===_0x7e11('0xd')?_0x50ae56(_0x29558f):_0x163fea(_0x29558f);return _0x2406fa(_0x29558f,_0x212fa3,_['last'](_0x26bf3a)['priority']+0x1)[_0x7e11('0x30')](function(_0x2943c8){var _0x5a4d3c=_[_0x7e11('0x4a')](_0x26bf3a,_0x2943c8);_0x5a4d3c[_0x7e11('0x7')]({'type':_0x29558f[_0x7e11('0x3')],'app':_0x7e11('0x4e'),'exten':_0x29558f[_0x7e11('0x5')],'context':_0x29558f[_0x7e11('0x4')],'priority':_[_0x7e11('0x49')](_0x5a4d3c)[_0x7e11('0x48')]+0x1,'VoiceExtensionId':_0x29558f['id']});return _0x5a4d3c;});}}});};