Built motion from commit (unavailable).|2.5.8
[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 _0x057f=['concat','internal','User','findAll','agent','then','catch','exports','models','define','VoiceChanSpy','voice_chanspy','length','VoiceExtension','bulkCreate','lodash','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','system','push','merge','CDR(type)=%s','chanspy','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','Authenticate','password','name','options','join','record','StopMixMonitor'];(function(_0x5f0089,_0x227e2c){var _0x193892=function(_0x24051f){while(--_0x24051f){_0x5f0089['push'](_0x5f0089['shift']());}};_0x193892(++_0x227e2c);}(_0x057f,0x1d7));var _0xf057=function(_0x2ed9f5,_0x4f6a1f){_0x2ed9f5=_0x2ed9f5-0x0;var _0x5899b8=_0x057f[_0x2ed9f5];return _0x5899b8;};'use strict';var _=require(_0xf057('0x0'));var util=require('util');var BPromise=require(_0xf057('0x1'));var attributes=require(_0xf057('0x2'));var getUserApplications=function(_0x39647e,_0x55a972,_0x9d106f){var _0x3aa9d7=0x1;var _0x23bf12=[];var _0x476ef2={'context':_0x55a972[_0xf057('0x3')]||_0xf057('0x4'),'exten':util[_0xf057('0x5')](_0xf057('0x6'),_0x39647e[_0xf057('0x7')],_0x9d106f),'type':_0xf057('0x8'),'isApp':![],'ChanSpyId':_0x39647e['id'],'UserId':_0x55a972['id']};_0x23bf12[_0xf057('0x9')](_[_0xf057('0xa')]({'app':'Set','appdata':util['format'](_0xf057('0xb'),_0xf057('0xc')),'priority':_0x3aa9d7++},_0x476ef2));if(_0x39647e['record']){_0x23bf12[_0xf057('0x9')](_['merge']({'app':_0xf057('0xd'),'appdata':util[_0xf057('0x5')](_0xf057('0xe'),_0x39647e[_0xf057('0xf')]),'priority':_0x3aa9d7++},_0x476ef2));}if(_0x39647e['auth']){_0x23bf12[_0xf057('0x9')](_[_0xf057('0xa')]({'app':_0xf057('0x10'),'appdata':_0x39647e[_0xf057('0x11')],'priority':_0x3aa9d7++},_0x476ef2));}_0x23bf12['push'](_[_0xf057('0xa')]({'app':'ChanSpy','appdata':util[_0xf057('0x5')]('SIP/%s,%s',_0x55a972[_0xf057('0x12')],_0x39647e[_0xf057('0x13')]?_0x39647e[_0xf057('0x13')][_0xf057('0x14')](''):''),'priority':_0x3aa9d7++},_0x476ef2));if(_0x39647e[_0xf057('0x15')]){_0x23bf12[_0xf057('0x9')](_[_0xf057('0xa')]({'app':_0xf057('0x16'),'priority':_0x3aa9d7++},_0x476ef2));}return _0x23bf12;};var getChanSpyApplications=function(_0x4a8580,_0x3d6c27){var _0x491828=[];for(var _0x8f7025=0x0,_0x358147=0x1;_0x8f7025<_0x3d6c27['length'];_0x8f7025++,_0x358147=0x1){_0x491828=_0x491828[_0xf057('0x17')](getUserApplications(_0x4a8580,_0x3d6c27[_0x8f7025],_0x3d6c27[_0x8f7025][_0xf057('0x18')]));if(_0x3d6c27[_0x8f7025][_0xf057('0x18')]!=_0x3d6c27[_0x8f7025][_0xf057('0x12')]){_0x491828=_0x491828[_0xf057('0x17')](getUserApplications(_0x4a8580,_0x3d6c27[_0x8f7025],_0x3d6c27[_0x8f7025][_0xf057('0x12')]));}}return _0x491828;};var getChanSpyPromise=function(_0x5b43ce,_0xab6f0e){return new BPromise(function(_0x4b740f,_0x35eeb2){return _0x5b43ce[_0xf057('0x19')][_0xf057('0x1a')]({'attributes':['id','name',_0xf057('0x18')],'where':{'role':_0xf057('0x1b'),'chanspy':!![]},'raw':!![]})[_0xf057('0x1c')](function(_0x1dc7ba){if(_0x1dc7ba){return _0x4b740f(getChanSpyApplications(_0xab6f0e,_0x1dc7ba));}return _0x4b740f([]);})[_0xf057('0x1d')](function(_0x4e9870){_0x35eeb2(_0x4e9870);});});};module[_0xf057('0x1e')]=function(_0x3f2bdb,_0x183fc2){var _0x2494b0=_0x3f2bdb[_0xf057('0x1f')];return _0x3f2bdb[_0xf057('0x20')](_0xf057('0x21'),attributes,{'tableName':_0xf057('0x22'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x31d567,_0xc17f67,_0x33eec0){return getChanSpyPromise(_0x2494b0,_0x31d567)[_0xf057('0x1c')](function(_0xaf45e4){if(_0xaf45e4&&_0xaf45e4[_0xf057('0x23')]){return _0x2494b0[_0xf057('0x24')][_0xf057('0x25')](_0xaf45e4);}})[_0xf057('0x1c')](function(){_0x33eec0();})[_0xf057('0x1d')](function(_0x275c29){_0x33eec0(_0x275c29);});},'afterUpdate':function(_0x5879bb,_0x44dc4f,_0xde1378){return _0x2494b0['VoiceExtension']['destroy']({'where':{'ChanSpyId':_0x5879bb['id']}})[_0xf057('0x1c')](function(){return getChanSpyPromise(_0x2494b0,_0x5879bb);})[_0xf057('0x1c')](function(_0x3a564e){if(_0x3a564e&&_0x3a564e['length']){return _0x2494b0[_0xf057('0x24')][_0xf057('0x25')](_0x3a564e);}})[_0xf057('0x1c')](function(){_0xde1378();})[_0xf057('0x1d')](function(_0x283150){_0xde1378(_0x283150);});},'afterDestroy':function(_0x55726d,_0x5ef52c,_0x55035a){return _0x2494b0[_0xf057('0x24')]['destroy']({'where':{'ChanSpyId':_0x55726d['id']}})[_0xf057('0x1c')](function(){_0x55035a();})[_0xf057('0x1d')](function(_0x175887){_0x55035a(_0x175887);});}}});};