Built motion from commit (unavailable).|2.4.18
[motion2.git] / server / api / voiceChanSpy / voiceChanSpy.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 _0xec1d=['name','options','join','length','concat','internal','User','findAll','agent','then','catch','models','define','voice_chanspy','bulkCreate','destroy','VoiceExtension','lodash','context','%s%s','prefix','system','push','format','chanspy','record','MixMonitor','${UNIQUEID}.%s,ab','recordingFormat','Authenticate','password','merge','SIP/%s,%s'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0xec1d,0x17c));var _0xdec1=function(_0x3b0e0c,_0x5e4814){_0x3b0e0c=_0x3b0e0c-0x0;var _0x3efb86=_0xec1d[_0x3b0e0c];return _0x3efb86;};'use strict';var _=require(_0xdec1('0x0'));var util=require('util');var BPromise=require('bluebird');var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x1809e4,_0x2b343d,_0x3fde9f){var _0x243488=0x1;var _0x321371=[];var _0x30a9bb={'context':_0x2b343d[_0xdec1('0x1')]||'from-sip','exten':util['format'](_0xdec1('0x2'),_0x1809e4[_0xdec1('0x3')],_0x3fde9f),'type':_0xdec1('0x4'),'isApp':![],'ChanSpyId':_0x1809e4['id'],'UserId':_0x2b343d['id']};_0x321371[_0xdec1('0x5')](_['merge']({'app':'Set','appdata':util[_0xdec1('0x6')]('CDR(type)=%s',_0xdec1('0x7')),'priority':_0x243488++},_0x30a9bb));if(_0x1809e4[_0xdec1('0x8')]){_0x321371[_0xdec1('0x5')](_['merge']({'app':_0xdec1('0x9'),'appdata':util[_0xdec1('0x6')](_0xdec1('0xa'),_0x1809e4[_0xdec1('0xb')]),'priority':_0x243488++},_0x30a9bb));}if(_0x1809e4['auth']){_0x321371[_0xdec1('0x5')](_['merge']({'app':_0xdec1('0xc'),'appdata':_0x1809e4[_0xdec1('0xd')],'priority':_0x243488++},_0x30a9bb));}_0x321371['push'](_[_0xdec1('0xe')]({'app':'ChanSpy','appdata':util[_0xdec1('0x6')](_0xdec1('0xf'),_0x2b343d[_0xdec1('0x10')],_0x1809e4[_0xdec1('0x11')]?_0x1809e4[_0xdec1('0x11')][_0xdec1('0x12')](''):''),'priority':_0x243488++},_0x30a9bb));if(_0x1809e4['record']){_0x321371[_0xdec1('0x5')](_['merge']({'app':'StopMixMonitor','priority':_0x243488++},_0x30a9bb));}return _0x321371;};var getChanSpyApplications=function(_0x4793e1,_0x484f83){var _0x951321=[];for(var _0x167c85=0x0,_0x53587b=0x1;_0x167c85<_0x484f83[_0xdec1('0x13')];_0x167c85++,_0x53587b=0x1){_0x951321=_0x951321[_0xdec1('0x14')](getUserApplications(_0x4793e1,_0x484f83[_0x167c85],_0x484f83[_0x167c85][_0xdec1('0x15')]));if(_0x484f83[_0x167c85][_0xdec1('0x15')]!=_0x484f83[_0x167c85]['name']){_0x951321=_0x951321[_0xdec1('0x14')](getUserApplications(_0x4793e1,_0x484f83[_0x167c85],_0x484f83[_0x167c85][_0xdec1('0x10')]));}}return _0x951321;};var getChanSpyPromise=function(_0x3f10c7,_0x451b24){return new BPromise(function(_0x5e37d2,_0x22fedf){return _0x3f10c7[_0xdec1('0x16')][_0xdec1('0x17')]({'attributes':['id','name','internal'],'where':{'role':_0xdec1('0x18'),'chanspy':!![]},'raw':!![]})[_0xdec1('0x19')](function(_0x44ba78){if(_0x44ba78){return _0x5e37d2(getChanSpyApplications(_0x451b24,_0x44ba78));}return _0x5e37d2([]);})[_0xdec1('0x1a')](function(_0x4ccdc8){_0x22fedf(_0x4ccdc8);});});};module['exports']=function(_0x26a892,_0x43fe46){var _0xcaeeb9=_0x26a892[_0xdec1('0x1b')];return _0x26a892[_0xdec1('0x1c')]('VoiceChanSpy',attributes,{'tableName':_0xdec1('0x1d'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x2d8164,_0x40ddf9,_0xb00c8c){return getChanSpyPromise(_0xcaeeb9,_0x2d8164)[_0xdec1('0x19')](function(_0x4d14b7){if(_0x4d14b7&&_0x4d14b7[_0xdec1('0x13')]){return _0xcaeeb9['VoiceExtension'][_0xdec1('0x1e')](_0x4d14b7);}})['then'](function(){_0xb00c8c();})[_0xdec1('0x1a')](function(_0x450231){_0xb00c8c(_0x450231);});},'afterUpdate':function(_0x19f0a8,_0x2acf7d,_0x1ac70b){return _0xcaeeb9['VoiceExtension'][_0xdec1('0x1f')]({'where':{'ChanSpyId':_0x19f0a8['id']}})[_0xdec1('0x19')](function(){return getChanSpyPromise(_0xcaeeb9,_0x19f0a8);})[_0xdec1('0x19')](function(_0x1a1024){if(_0x1a1024&&_0x1a1024[_0xdec1('0x13')]){return _0xcaeeb9['VoiceExtension'][_0xdec1('0x1e')](_0x1a1024);}})['then'](function(){_0x1ac70b();})[_0xdec1('0x1a')](function(_0x5364d7){_0x1ac70b(_0x5364d7);});},'afterDestroy':function(_0x43b17c,_0x215399,_0x49c86c){return _0xcaeeb9[_0xdec1('0x20')][_0xdec1('0x1f')]({'where':{'ChanSpyId':_0x43b17c['id']}})[_0xdec1('0x19')](function(){_0x49c86c();})[_0xdec1('0x1a')](function(_0x5af248){_0x49c86c(_0x5af248);});}}});};