Built motion from commit a134ab58.|2.6.29
[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 _0x0787=['Set','CDR(type)=%s','chanspy','record','MixMonitor','recordingFormat','auth','Authenticate','password','ChanSpy','options','join','internal','name','User','findAll','agent','then','models','define','VoiceChanSpy','length','bulkCreate','catch','VoiceExtension','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','system','push','merge'];(function(_0x36dfbd,_0x5bfe2d){var _0x4ecad9=function(_0x5230da){while(--_0x5230da){_0x36dfbd['push'](_0x36dfbd['shift']());}};_0x4ecad9(++_0x5bfe2d);}(_0x0787,0xd8));var _0x7078=function(_0x3df9dd,_0x26f5cd){_0x3df9dd=_0x3df9dd-0x0;var _0x4f11e4=_0x0787[_0x3df9dd];return _0x4f11e4;};'use strict';var _=require(_0x7078('0x0'));var util=require(_0x7078('0x1'));var BPromise=require(_0x7078('0x2'));var attributes=require(_0x7078('0x3'));var getUserApplications=function(_0x18c221,_0x1a7fa1,_0x3fd760){var _0x536ee1=0x1;var _0x3fb98a=[];var _0x28ae32={'context':_0x1a7fa1[_0x7078('0x4')]||_0x7078('0x5'),'exten':util[_0x7078('0x6')](_0x7078('0x7'),_0x18c221[_0x7078('0x8')],_0x3fd760),'type':_0x7078('0x9'),'isApp':![],'ChanSpyId':_0x18c221['id'],'UserId':_0x1a7fa1['id']};_0x3fb98a[_0x7078('0xa')](_[_0x7078('0xb')]({'app':_0x7078('0xc'),'appdata':util[_0x7078('0x6')](_0x7078('0xd'),_0x7078('0xe')),'priority':_0x536ee1++},_0x28ae32));if(_0x18c221[_0x7078('0xf')]){_0x3fb98a[_0x7078('0xa')](_[_0x7078('0xb')]({'app':_0x7078('0x10'),'appdata':util[_0x7078('0x6')]('${UNIQUEID}.%s,a',_0x18c221[_0x7078('0x11')]),'priority':_0x536ee1++},_0x28ae32));}if(_0x18c221[_0x7078('0x12')]){_0x3fb98a['push'](_[_0x7078('0xb')]({'app':_0x7078('0x13'),'appdata':_0x18c221[_0x7078('0x14')],'priority':_0x536ee1++},_0x28ae32));}_0x3fb98a[_0x7078('0xa')](_[_0x7078('0xb')]({'app':_0x7078('0x15'),'appdata':util['format']('SIP/%s,%s',_0x1a7fa1['name'],_0x18c221[_0x7078('0x16')]?_0x18c221[_0x7078('0x16')][_0x7078('0x17')](''):''),'priority':_0x536ee1++},_0x28ae32));if(_0x18c221[_0x7078('0xf')]){_0x3fb98a['push'](_['merge']({'app':'StopMixMonitor','priority':_0x536ee1++},_0x28ae32));}return _0x3fb98a;};var getChanSpyApplications=function(_0x43f426,_0x1ac1d1){var _0xc2858b=[];for(var _0x52fb7d=0x0,_0x55d851=0x1;_0x52fb7d<_0x1ac1d1['length'];_0x52fb7d++,_0x55d851=0x1){_0xc2858b=_0xc2858b['concat'](getUserApplications(_0x43f426,_0x1ac1d1[_0x52fb7d],_0x1ac1d1[_0x52fb7d][_0x7078('0x18')]));if(_0x1ac1d1[_0x52fb7d]['internal']!=_0x1ac1d1[_0x52fb7d][_0x7078('0x19')]){_0xc2858b=_0xc2858b['concat'](getUserApplications(_0x43f426,_0x1ac1d1[_0x52fb7d],_0x1ac1d1[_0x52fb7d][_0x7078('0x19')]));}}return _0xc2858b;};var getChanSpyPromise=function(_0x2a3f45,_0x9380b8){return new BPromise(function(_0x3ce5ef,_0x34d57b){return _0x2a3f45[_0x7078('0x1a')][_0x7078('0x1b')]({'attributes':['id','name',_0x7078('0x18')],'where':{'role':_0x7078('0x1c'),'chanspy':!![]},'raw':!![]})[_0x7078('0x1d')](function(_0x32f35b){if(_0x32f35b){return _0x3ce5ef(getChanSpyApplications(_0x9380b8,_0x32f35b));}return _0x3ce5ef([]);})['catch'](function(_0xd51631){_0x34d57b(_0xd51631);});});};module['exports']=function(_0x1591bf,_0x755f73){var _0x23ce8f=_0x1591bf[_0x7078('0x1e')];return _0x1591bf[_0x7078('0x1f')](_0x7078('0x20'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x1d301d,_0x344d49,_0x348a03){return getChanSpyPromise(_0x23ce8f,_0x1d301d)['then'](function(_0x44c8b6){if(_0x44c8b6&&_0x44c8b6[_0x7078('0x21')]){return _0x23ce8f['VoiceExtension'][_0x7078('0x22')](_0x44c8b6);}})[_0x7078('0x1d')](function(){_0x348a03();})[_0x7078('0x23')](function(_0x45b6eb){_0x348a03(_0x45b6eb);});},'afterUpdate':function(_0x282e2c,_0x52c934,_0x47b571){return _0x23ce8f[_0x7078('0x24')][_0x7078('0x25')]({'where':{'ChanSpyId':_0x282e2c['id']}})[_0x7078('0x1d')](function(){return getChanSpyPromise(_0x23ce8f,_0x282e2c);})[_0x7078('0x1d')](function(_0xe4ef31){if(_0xe4ef31&&_0xe4ef31[_0x7078('0x21')]){return _0x23ce8f['VoiceExtension'][_0x7078('0x22')](_0xe4ef31);}})[_0x7078('0x1d')](function(){_0x47b571();})[_0x7078('0x23')](function(_0x33cdc5){_0x47b571(_0x33cdc5);});},'afterDestroy':function(_0x25b07f,_0x3e8526,_0x2a865d){return _0x23ce8f[_0x7078('0x24')][_0x7078('0x25')]({'where':{'ChanSpyId':_0x25b07f['id']}})[_0x7078('0x1d')](function(){_0x2a865d();})['catch'](function(_0x599c19){_0x2a865d(_0x599c19);});}}});};