Built motion from commit 9e1399f3.|2.5.37
[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 _0x820a=['MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','length','concat','internal','findAll','then','catch','exports','models','define','VoiceChanSpy','VoiceExtension','bulkCreate','util','bluebird','./voiceChanSpy.attributes','from-sip','format','%s%s','prefix','merge','Set','CDR(type)=%s','record','push'];(function(_0x351c29,_0x1abaa4){var _0x2b3bdc=function(_0x2cdbf8){while(--_0x2cdbf8){_0x351c29['push'](_0x351c29['shift']());}};_0x2b3bdc(++_0x1abaa4);}(_0x820a,0x16a));var _0xa820=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x820a[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var util=require(_0xa820('0x0'));var BPromise=require(_0xa820('0x1'));var attributes=require(_0xa820('0x2'));var getUserApplications=function(_0xc7e13f,_0x51128e,_0x3771b2){var _0xb6eac5=0x1;var _0x11abe2=[];var _0x239a20={'context':_0x51128e['context']||_0xa820('0x3'),'exten':util[_0xa820('0x4')](_0xa820('0x5'),_0xc7e13f[_0xa820('0x6')],_0x3771b2),'type':'system','isApp':![],'ChanSpyId':_0xc7e13f['id'],'UserId':_0x51128e['id']};_0x11abe2['push'](_[_0xa820('0x7')]({'app':_0xa820('0x8'),'appdata':util[_0xa820('0x4')](_0xa820('0x9'),'chanspy'),'priority':_0xb6eac5++},_0x239a20));if(_0xc7e13f[_0xa820('0xa')]){_0x11abe2[_0xa820('0xb')](_['merge']({'app':_0xa820('0xc'),'appdata':util[_0xa820('0x4')](_0xa820('0xd'),_0xc7e13f[_0xa820('0xe')]),'priority':_0xb6eac5++},_0x239a20));}if(_0xc7e13f[_0xa820('0xf')]){_0x11abe2['push'](_['merge']({'app':'Authenticate','appdata':_0xc7e13f['password'],'priority':_0xb6eac5++},_0x239a20));}_0x11abe2[_0xa820('0xb')](_['merge']({'app':_0xa820('0x10'),'appdata':util['format'](_0xa820('0x11'),_0x51128e[_0xa820('0x12')],_0xc7e13f[_0xa820('0x13')]?_0xc7e13f[_0xa820('0x13')][_0xa820('0x14')](''):''),'priority':_0xb6eac5++},_0x239a20));if(_0xc7e13f[_0xa820('0xa')]){_0x11abe2['push'](_[_0xa820('0x7')]({'app':_0xa820('0x15'),'priority':_0xb6eac5++},_0x239a20));}return _0x11abe2;};var getChanSpyApplications=function(_0x5ea8e5,_0x19692f){var _0x3fd2a0=[];for(var _0x95eb30=0x0,_0x4f7a13=0x1;_0x95eb30<_0x19692f[_0xa820('0x16')];_0x95eb30++,_0x4f7a13=0x1){_0x3fd2a0=_0x3fd2a0[_0xa820('0x17')](getUserApplications(_0x5ea8e5,_0x19692f[_0x95eb30],_0x19692f[_0x95eb30][_0xa820('0x18')]));if(_0x19692f[_0x95eb30]['internal']!=_0x19692f[_0x95eb30]['name']){_0x3fd2a0=_0x3fd2a0[_0xa820('0x17')](getUserApplications(_0x5ea8e5,_0x19692f[_0x95eb30],_0x19692f[_0x95eb30]['name']));}}return _0x3fd2a0;};var getChanSpyPromise=function(_0x431fd4,_0x583fba){return new BPromise(function(_0x272220,_0x5aeb91){return _0x431fd4['User'][_0xa820('0x19')]({'attributes':['id','name',_0xa820('0x18')],'where':{'role':'agent','chanspy':!![]},'raw':!![]})[_0xa820('0x1a')](function(_0x19c823){if(_0x19c823){return _0x272220(getChanSpyApplications(_0x583fba,_0x19c823));}return _0x272220([]);})[_0xa820('0x1b')](function(_0x2556c5){_0x5aeb91(_0x2556c5);});});};module[_0xa820('0x1c')]=function(_0x252532,_0x1f4dcb){var _0xc2e825=_0x252532[_0xa820('0x1d')];return _0x252532[_0xa820('0x1e')](_0xa820('0x1f'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x18ca22,_0x329ee3,_0x3b83ca){return getChanSpyPromise(_0xc2e825,_0x18ca22)['then'](function(_0x39dde7){if(_0x39dde7&&_0x39dde7[_0xa820('0x16')]){return _0xc2e825[_0xa820('0x20')][_0xa820('0x21')](_0x39dde7);}})[_0xa820('0x1a')](function(){_0x3b83ca();})[_0xa820('0x1b')](function(_0x2e2968){_0x3b83ca(_0x2e2968);});},'afterUpdate':function(_0x39ac34,_0x1c1c57,_0x8c6376){return _0xc2e825[_0xa820('0x20')]['destroy']({'where':{'ChanSpyId':_0x39ac34['id']}})['then'](function(){return getChanSpyPromise(_0xc2e825,_0x39ac34);})[_0xa820('0x1a')](function(_0xb59dc7){if(_0xb59dc7&&_0xb59dc7[_0xa820('0x16')]){return _0xc2e825[_0xa820('0x20')]['bulkCreate'](_0xb59dc7);}})[_0xa820('0x1a')](function(){_0x8c6376();})[_0xa820('0x1b')](function(_0x129f7a){_0x8c6376(_0x129f7a);});},'afterDestroy':function(_0x2424b8,_0x18e62b,_0x4a82e){return _0xc2e825[_0xa820('0x20')]['destroy']({'where':{'ChanSpyId':_0x2424b8['id']}})[_0xa820('0x1a')](function(){_0x4a82e();})[_0xa820('0x1b')](function(_0x4ec748){_0x4a82e(_0x4ec748);});}}});};