Built motion from commit (unavailable).|2.5.14
[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 _0x4631=['VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','destroy','lodash','util','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','push','merge','Set','chanspy','record','MixMonitor','${UNIQUEID}.%s,a','auth','password','ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','concat','internal','User','agent','then','catch','exports','models'];(function(_0x5b73e9,_0x144406){var _0x12915c=function(_0x4bda05){while(--_0x4bda05){_0x5b73e9['push'](_0x5b73e9['shift']());}};_0x12915c(++_0x144406);}(_0x4631,0xb9));var _0x1463=function(_0x328b1c,_0xec0b4f){_0x328b1c=_0x328b1c-0x0;var _0x4dbeaa=_0x4631[_0x328b1c];return _0x4dbeaa;};'use strict';var _=require(_0x1463('0x0'));var util=require(_0x1463('0x1'));var BPromise=require('bluebird');var attributes=require(_0x1463('0x2'));var getUserApplications=function(_0x56fb20,_0x5a9f5e,_0x5bf8b7){var _0x4c1d5b=0x1;var _0x3524e4=[];var _0x296e9d={'context':_0x5a9f5e[_0x1463('0x3')]||_0x1463('0x4'),'exten':util[_0x1463('0x5')](_0x1463('0x6'),_0x56fb20[_0x1463('0x7')],_0x5bf8b7),'type':'system','isApp':![],'ChanSpyId':_0x56fb20['id'],'UserId':_0x5a9f5e['id']};_0x3524e4[_0x1463('0x8')](_[_0x1463('0x9')]({'app':_0x1463('0xa'),'appdata':util[_0x1463('0x5')]('CDR(type)=%s',_0x1463('0xb')),'priority':_0x4c1d5b++},_0x296e9d));if(_0x56fb20[_0x1463('0xc')]){_0x3524e4[_0x1463('0x8')](_['merge']({'app':_0x1463('0xd'),'appdata':util['format'](_0x1463('0xe'),_0x56fb20['recordingFormat']),'priority':_0x4c1d5b++},_0x296e9d));}if(_0x56fb20[_0x1463('0xf')]){_0x3524e4['push'](_['merge']({'app':'Authenticate','appdata':_0x56fb20[_0x1463('0x10')],'priority':_0x4c1d5b++},_0x296e9d));}_0x3524e4[_0x1463('0x8')](_[_0x1463('0x9')]({'app':_0x1463('0x11'),'appdata':util[_0x1463('0x5')](_0x1463('0x12'),_0x5a9f5e[_0x1463('0x13')],_0x56fb20[_0x1463('0x14')]?_0x56fb20[_0x1463('0x14')][_0x1463('0x15')](''):''),'priority':_0x4c1d5b++},_0x296e9d));if(_0x56fb20[_0x1463('0xc')]){_0x3524e4[_0x1463('0x8')](_[_0x1463('0x9')]({'app':_0x1463('0x16'),'priority':_0x4c1d5b++},_0x296e9d));}return _0x3524e4;};var getChanSpyApplications=function(_0x5e606d,_0x611c19){var _0x522994=[];for(var _0x3f0239=0x0,_0x17b4ba=0x1;_0x3f0239<_0x611c19['length'];_0x3f0239++,_0x17b4ba=0x1){_0x522994=_0x522994[_0x1463('0x17')](getUserApplications(_0x5e606d,_0x611c19[_0x3f0239],_0x611c19[_0x3f0239][_0x1463('0x18')]));if(_0x611c19[_0x3f0239][_0x1463('0x18')]!=_0x611c19[_0x3f0239][_0x1463('0x13')]){_0x522994=_0x522994[_0x1463('0x17')](getUserApplications(_0x5e606d,_0x611c19[_0x3f0239],_0x611c19[_0x3f0239][_0x1463('0x13')]));}}return _0x522994;};var getChanSpyPromise=function(_0x17bea1,_0x1a0173){return new BPromise(function(_0x380f14,_0x2d2db3){return _0x17bea1[_0x1463('0x19')]['findAll']({'attributes':['id','name',_0x1463('0x18')],'where':{'role':_0x1463('0x1a'),'chanspy':!![]},'raw':!![]})[_0x1463('0x1b')](function(_0x3a024c){if(_0x3a024c){return _0x380f14(getChanSpyApplications(_0x1a0173,_0x3a024c));}return _0x380f14([]);})[_0x1463('0x1c')](function(_0x6de5b1){_0x2d2db3(_0x6de5b1);});});};module[_0x1463('0x1d')]=function(_0xd8834a,_0x274229){var _0x50edb2=_0xd8834a[_0x1463('0x1e')];return _0xd8834a['define'](_0x1463('0x1f'),attributes,{'tableName':_0x1463('0x20'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x1ee12d,_0x129177,_0x1f7609){return getChanSpyPromise(_0x50edb2,_0x1ee12d)['then'](function(_0x1cb809){if(_0x1cb809&&_0x1cb809['length']){return _0x50edb2[_0x1463('0x21')][_0x1463('0x22')](_0x1cb809);}})['then'](function(){_0x1f7609();})[_0x1463('0x1c')](function(_0x37c69f){_0x1f7609(_0x37c69f);});},'afterUpdate':function(_0x10fc41,_0x515e3f,_0x45d64a){return _0x50edb2[_0x1463('0x21')]['destroy']({'where':{'ChanSpyId':_0x10fc41['id']}})[_0x1463('0x1b')](function(){return getChanSpyPromise(_0x50edb2,_0x10fc41);})[_0x1463('0x1b')](function(_0x42c280){if(_0x42c280&&_0x42c280['length']){return _0x50edb2[_0x1463('0x21')][_0x1463('0x22')](_0x42c280);}})[_0x1463('0x1b')](function(){_0x45d64a();})['catch'](function(_0x589258){_0x45d64a(_0x589258);});},'afterDestroy':function(_0x1b2a25,_0x4555f2,_0x282d3d){return _0x50edb2[_0x1463('0x21')][_0x1463('0x23')]({'where':{'ChanSpyId':_0x1b2a25['id']}})[_0x1463('0x1b')](function(){_0x282d3d();})[_0x1463('0x1c')](function(_0x35ff26){_0x282d3d(_0x35ff26);});}}});};