Built motion from commit 19a84241.|2.5.34
[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 _0xeb66=['SIP/%s,%s','name','options','join','record','StopMixMonitor','length','concat','internal','findAll','agent','then','exports','models','define','VoiceChanSpy','bulkCreate','catch','destroy','VoiceExtension','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','prefix','push','merge','Set','chanspy','MixMonitor','recordingFormat','Authenticate','password','ChanSpy'];(function(_0x10e627,_0x26b1a7){var _0x12153a=function(_0x54bb6b){while(--_0x54bb6b){_0x10e627['push'](_0x10e627['shift']());}};_0x12153a(++_0x26b1a7);}(_0xeb66,0x83));var _0x6eb6=function(_0x1ee665,_0x1071e2){_0x1ee665=_0x1ee665-0x0;var _0x409ce2=_0xeb66[_0x1ee665];return _0x409ce2;};'use strict';var _=require(_0x6eb6('0x0'));var util=require(_0x6eb6('0x1'));var BPromise=require(_0x6eb6('0x2'));var attributes=require(_0x6eb6('0x3'));var getUserApplications=function(_0x16792b,_0x39035f,_0x3d354d){var _0x5e9fbf=0x1;var _0xa38be6=[];var _0x4d373a={'context':_0x39035f[_0x6eb6('0x4')]||_0x6eb6('0x5'),'exten':util[_0x6eb6('0x6')]('%s%s',_0x16792b[_0x6eb6('0x7')],_0x3d354d),'type':'system','isApp':![],'ChanSpyId':_0x16792b['id'],'UserId':_0x39035f['id']};_0xa38be6[_0x6eb6('0x8')](_[_0x6eb6('0x9')]({'app':_0x6eb6('0xa'),'appdata':util[_0x6eb6('0x6')]('CDR(type)=%s',_0x6eb6('0xb')),'priority':_0x5e9fbf++},_0x4d373a));if(_0x16792b['record']){_0xa38be6[_0x6eb6('0x8')](_[_0x6eb6('0x9')]({'app':_0x6eb6('0xc'),'appdata':util[_0x6eb6('0x6')]('${UNIQUEID}.%s,a',_0x16792b[_0x6eb6('0xd')]),'priority':_0x5e9fbf++},_0x4d373a));}if(_0x16792b['auth']){_0xa38be6[_0x6eb6('0x8')](_['merge']({'app':_0x6eb6('0xe'),'appdata':_0x16792b[_0x6eb6('0xf')],'priority':_0x5e9fbf++},_0x4d373a));}_0xa38be6[_0x6eb6('0x8')](_[_0x6eb6('0x9')]({'app':_0x6eb6('0x10'),'appdata':util['format'](_0x6eb6('0x11'),_0x39035f[_0x6eb6('0x12')],_0x16792b['options']?_0x16792b[_0x6eb6('0x13')][_0x6eb6('0x14')](''):''),'priority':_0x5e9fbf++},_0x4d373a));if(_0x16792b[_0x6eb6('0x15')]){_0xa38be6[_0x6eb6('0x8')](_[_0x6eb6('0x9')]({'app':_0x6eb6('0x16'),'priority':_0x5e9fbf++},_0x4d373a));}return _0xa38be6;};var getChanSpyApplications=function(_0x25758b,_0x46f2ef){var _0x27ed33=[];for(var _0x2bd68c=0x0,_0x44e8f9=0x1;_0x2bd68c<_0x46f2ef[_0x6eb6('0x17')];_0x2bd68c++,_0x44e8f9=0x1){_0x27ed33=_0x27ed33[_0x6eb6('0x18')](getUserApplications(_0x25758b,_0x46f2ef[_0x2bd68c],_0x46f2ef[_0x2bd68c][_0x6eb6('0x19')]));if(_0x46f2ef[_0x2bd68c][_0x6eb6('0x19')]!=_0x46f2ef[_0x2bd68c][_0x6eb6('0x12')]){_0x27ed33=_0x27ed33[_0x6eb6('0x18')](getUserApplications(_0x25758b,_0x46f2ef[_0x2bd68c],_0x46f2ef[_0x2bd68c][_0x6eb6('0x12')]));}}return _0x27ed33;};var getChanSpyPromise=function(_0x4ac7d1,_0x2bdcb0){return new BPromise(function(_0x2a59a0,_0x54b651){return _0x4ac7d1['User'][_0x6eb6('0x1a')]({'attributes':['id',_0x6eb6('0x12'),_0x6eb6('0x19')],'where':{'role':_0x6eb6('0x1b'),'chanspy':!![]},'raw':!![]})[_0x6eb6('0x1c')](function(_0x3cef33){if(_0x3cef33){return _0x2a59a0(getChanSpyApplications(_0x2bdcb0,_0x3cef33));}return _0x2a59a0([]);})['catch'](function(_0x28fe85){_0x54b651(_0x28fe85);});});};module[_0x6eb6('0x1d')]=function(_0x25393a,_0x3dd896){var _0x571ab5=_0x25393a[_0x6eb6('0x1e')];return _0x25393a[_0x6eb6('0x1f')](_0x6eb6('0x20'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x282f76,_0x4c23cc,_0x227b83){return getChanSpyPromise(_0x571ab5,_0x282f76)[_0x6eb6('0x1c')](function(_0x4cfdd2){if(_0x4cfdd2&&_0x4cfdd2[_0x6eb6('0x17')]){return _0x571ab5['VoiceExtension'][_0x6eb6('0x21')](_0x4cfdd2);}})[_0x6eb6('0x1c')](function(){_0x227b83();})[_0x6eb6('0x22')](function(_0x4fa72a){_0x227b83(_0x4fa72a);});},'afterUpdate':function(_0x5a0493,_0x39c512,_0x12856f){return _0x571ab5['VoiceExtension'][_0x6eb6('0x23')]({'where':{'ChanSpyId':_0x5a0493['id']}})[_0x6eb6('0x1c')](function(){return getChanSpyPromise(_0x571ab5,_0x5a0493);})['then'](function(_0x262de0){if(_0x262de0&&_0x262de0[_0x6eb6('0x17')]){return _0x571ab5['VoiceExtension'][_0x6eb6('0x21')](_0x262de0);}})[_0x6eb6('0x1c')](function(){_0x12856f();})['catch'](function(_0x59527a){_0x12856f(_0x59527a);});},'afterDestroy':function(_0x363d5a,_0x124810,_0x2b7881){return _0x571ab5[_0x6eb6('0x24')][_0x6eb6('0x23')]({'where':{'ChanSpyId':_0x363d5a['id']}})['then'](function(){_0x2b7881();})['catch'](function(_0x3ec3cb){_0x2b7881(_0x3ec3cb);});}}});};