Built motion from commit (unavailable).|2.5.24
[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 _0x119c=['lodash','bluebird','./voiceChanSpy.attributes','context','from-sip','prefix','push','merge','Set','format','CDR(type)=%s','chanspy','record','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','Authenticate','password','ChanSpy','options','length','internal','name','User','agent','then','exports','define','voice_chanspy','VoiceExtension','bulkCreate','catch','destroy'];(function(_0x3f3388,_0x42e17f){var _0x2febb9=function(_0x90239){while(--_0x90239){_0x3f3388['push'](_0x3f3388['shift']());}};_0x2febb9(++_0x42e17f);}(_0x119c,0xa5));var _0xc119=function(_0x13843f,_0x50422d){_0x13843f=_0x13843f-0x0;var _0x1063ae=_0x119c[_0x13843f];return _0x1063ae;};'use strict';var _=require(_0xc119('0x0'));var util=require('util');var BPromise=require(_0xc119('0x1'));var attributes=require(_0xc119('0x2'));var getUserApplications=function(_0x226f24,_0x4c5016,_0x573dae){var _0x118cd7=0x1;var _0x471ef0=[];var _0xa35eba={'context':_0x4c5016[_0xc119('0x3')]||_0xc119('0x4'),'exten':util['format']('%s%s',_0x226f24[_0xc119('0x5')],_0x573dae),'type':'system','isApp':![],'ChanSpyId':_0x226f24['id'],'UserId':_0x4c5016['id']};_0x471ef0[_0xc119('0x6')](_[_0xc119('0x7')]({'app':_0xc119('0x8'),'appdata':util[_0xc119('0x9')](_0xc119('0xa'),_0xc119('0xb')),'priority':_0x118cd7++},_0xa35eba));if(_0x226f24[_0xc119('0xc')]){_0x471ef0[_0xc119('0x6')](_[_0xc119('0x7')]({'app':_0xc119('0xd'),'appdata':util['format'](_0xc119('0xe'),_0x226f24[_0xc119('0xf')]),'priority':_0x118cd7++},_0xa35eba));}if(_0x226f24['auth']){_0x471ef0[_0xc119('0x6')](_[_0xc119('0x7')]({'app':_0xc119('0x10'),'appdata':_0x226f24[_0xc119('0x11')],'priority':_0x118cd7++},_0xa35eba));}_0x471ef0[_0xc119('0x6')](_[_0xc119('0x7')]({'app':_0xc119('0x12'),'appdata':util[_0xc119('0x9')]('SIP/%s,%s',_0x4c5016['name'],_0x226f24[_0xc119('0x13')]?_0x226f24[_0xc119('0x13')]['join'](''):''),'priority':_0x118cd7++},_0xa35eba));if(_0x226f24[_0xc119('0xc')]){_0x471ef0[_0xc119('0x6')](_['merge']({'app':'StopMixMonitor','priority':_0x118cd7++},_0xa35eba));}return _0x471ef0;};var getChanSpyApplications=function(_0x2ab3b2,_0x2f7df9){var _0x296b7c=[];for(var _0x49246a=0x0,_0x460111=0x1;_0x49246a<_0x2f7df9[_0xc119('0x14')];_0x49246a++,_0x460111=0x1){_0x296b7c=_0x296b7c['concat'](getUserApplications(_0x2ab3b2,_0x2f7df9[_0x49246a],_0x2f7df9[_0x49246a][_0xc119('0x15')]));if(_0x2f7df9[_0x49246a]['internal']!=_0x2f7df9[_0x49246a][_0xc119('0x16')]){_0x296b7c=_0x296b7c['concat'](getUserApplications(_0x2ab3b2,_0x2f7df9[_0x49246a],_0x2f7df9[_0x49246a][_0xc119('0x16')]));}}return _0x296b7c;};var getChanSpyPromise=function(_0x435c8a,_0x3a0f32){return new BPromise(function(_0x32a793,_0x195cb9){return _0x435c8a[_0xc119('0x17')]['findAll']({'attributes':['id',_0xc119('0x16'),_0xc119('0x15')],'where':{'role':_0xc119('0x18'),'chanspy':!![]},'raw':!![]})[_0xc119('0x19')](function(_0x3461ab){if(_0x3461ab){return _0x32a793(getChanSpyApplications(_0x3a0f32,_0x3461ab));}return _0x32a793([]);})['catch'](function(_0x4012f8){_0x195cb9(_0x4012f8);});});};module[_0xc119('0x1a')]=function(_0x30db1a,_0x244ccf){var _0x3c279b=_0x30db1a['models'];return _0x30db1a[_0xc119('0x1b')]('VoiceChanSpy',attributes,{'tableName':_0xc119('0x1c'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x3afa6c,_0x238179,_0x33803b){return getChanSpyPromise(_0x3c279b,_0x3afa6c)[_0xc119('0x19')](function(_0x5a9eb5){if(_0x5a9eb5&&_0x5a9eb5[_0xc119('0x14')]){return _0x3c279b[_0xc119('0x1d')][_0xc119('0x1e')](_0x5a9eb5);}})[_0xc119('0x19')](function(){_0x33803b();})[_0xc119('0x1f')](function(_0x282000){_0x33803b(_0x282000);});},'afterUpdate':function(_0x1d6a89,_0x56b2a4,_0x1eddb5){return _0x3c279b[_0xc119('0x1d')][_0xc119('0x20')]({'where':{'ChanSpyId':_0x1d6a89['id']}})[_0xc119('0x19')](function(){return getChanSpyPromise(_0x3c279b,_0x1d6a89);})['then'](function(_0x376a2e){if(_0x376a2e&&_0x376a2e[_0xc119('0x14')]){return _0x3c279b[_0xc119('0x1d')][_0xc119('0x1e')](_0x376a2e);}})['then'](function(){_0x1eddb5();})['catch'](function(_0x15acee){_0x1eddb5(_0x15acee);});},'afterDestroy':function(_0xf54023,_0x4910f5,_0x46dd4d){return _0x3c279b[_0xc119('0x1d')][_0xc119('0x20')]({'where':{'ChanSpyId':_0xf54023['id']}})[_0xc119('0x19')](function(){_0x46dd4d();})[_0xc119('0x1f')](function(_0x223435){_0x46dd4d(_0x223435);});}}});};