Built motion from commit 994c64e1.|2.6.1
[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 _0xa83b=['internal','name','User','findAll','agent','then','catch','models','define','voice_chanspy','VoiceExtension','destroy','lodash','util','./voiceChanSpy.attributes','context','from-sip','format','prefix','system','push','merge','Set','CDR(type)=%s','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','password','SIP/%s,%s','options','join','record','StopMixMonitor','length','concat'];(function(_0x3b380d,_0x4bf247){var _0x54502b=function(_0x35d207){while(--_0x35d207){_0x3b380d['push'](_0x3b380d['shift']());}};_0x54502b(++_0x4bf247);}(_0xa83b,0x12c));var _0xba83=function(_0x1bd4a5,_0x3036e6){_0x1bd4a5=_0x1bd4a5-0x0;var _0x4f4c14=_0xa83b[_0x1bd4a5];return _0x4f4c14;};'use strict';var _=require(_0xba83('0x0'));var util=require(_0xba83('0x1'));var BPromise=require('bluebird');var attributes=require(_0xba83('0x2'));var getUserApplications=function(_0x5872e9,_0x1d1a06,_0x18a8cd){var _0x285447=0x1;var _0x5cd0ee=[];var _0x537ba3={'context':_0x1d1a06[_0xba83('0x3')]||_0xba83('0x4'),'exten':util[_0xba83('0x5')]('%s%s',_0x5872e9[_0xba83('0x6')],_0x18a8cd),'type':_0xba83('0x7'),'isApp':![],'ChanSpyId':_0x5872e9['id'],'UserId':_0x1d1a06['id']};_0x5cd0ee[_0xba83('0x8')](_[_0xba83('0x9')]({'app':_0xba83('0xa'),'appdata':util['format'](_0xba83('0xb'),'chanspy'),'priority':_0x285447++},_0x537ba3));if(_0x5872e9['record']){_0x5cd0ee[_0xba83('0x8')](_['merge']({'app':_0xba83('0xc'),'appdata':util[_0xba83('0x5')](_0xba83('0xd'),_0x5872e9[_0xba83('0xe')]),'priority':_0x285447++},_0x537ba3));}if(_0x5872e9[_0xba83('0xf')]){_0x5cd0ee[_0xba83('0x8')](_['merge']({'app':'Authenticate','appdata':_0x5872e9[_0xba83('0x10')],'priority':_0x285447++},_0x537ba3));}_0x5cd0ee[_0xba83('0x8')](_['merge']({'app':'ChanSpy','appdata':util['format'](_0xba83('0x11'),_0x1d1a06['name'],_0x5872e9[_0xba83('0x12')]?_0x5872e9[_0xba83('0x12')][_0xba83('0x13')](''):''),'priority':_0x285447++},_0x537ba3));if(_0x5872e9[_0xba83('0x14')]){_0x5cd0ee[_0xba83('0x8')](_[_0xba83('0x9')]({'app':_0xba83('0x15'),'priority':_0x285447++},_0x537ba3));}return _0x5cd0ee;};var getChanSpyApplications=function(_0x29d846,_0x23a4e6){var _0xe30741=[];for(var _0x24adf1=0x0,_0x35f44b=0x1;_0x24adf1<_0x23a4e6[_0xba83('0x16')];_0x24adf1++,_0x35f44b=0x1){_0xe30741=_0xe30741[_0xba83('0x17')](getUserApplications(_0x29d846,_0x23a4e6[_0x24adf1],_0x23a4e6[_0x24adf1][_0xba83('0x18')]));if(_0x23a4e6[_0x24adf1][_0xba83('0x18')]!=_0x23a4e6[_0x24adf1][_0xba83('0x19')]){_0xe30741=_0xe30741[_0xba83('0x17')](getUserApplications(_0x29d846,_0x23a4e6[_0x24adf1],_0x23a4e6[_0x24adf1]['name']));}}return _0xe30741;};var getChanSpyPromise=function(_0x4d3207,_0x5a5bbb){return new BPromise(function(_0x9d3a4c,_0x37341f){return _0x4d3207[_0xba83('0x1a')][_0xba83('0x1b')]({'attributes':['id','name',_0xba83('0x18')],'where':{'role':_0xba83('0x1c'),'chanspy':!![]},'raw':!![]})[_0xba83('0x1d')](function(_0x473874){if(_0x473874){return _0x9d3a4c(getChanSpyApplications(_0x5a5bbb,_0x473874));}return _0x9d3a4c([]);})[_0xba83('0x1e')](function(_0x4b8c99){_0x37341f(_0x4b8c99);});});};module['exports']=function(_0x46178a,_0x252fc5){var _0x219444=_0x46178a[_0xba83('0x1f')];return _0x46178a[_0xba83('0x20')]('VoiceChanSpy',attributes,{'tableName':_0xba83('0x21'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x421736,_0x25aed6,_0x2f2446){return getChanSpyPromise(_0x219444,_0x421736)['then'](function(_0x2467d8){if(_0x2467d8&&_0x2467d8[_0xba83('0x16')]){return _0x219444[_0xba83('0x22')]['bulkCreate'](_0x2467d8);}})[_0xba83('0x1d')](function(){_0x2f2446();})[_0xba83('0x1e')](function(_0x51477c){_0x2f2446(_0x51477c);});},'afterUpdate':function(_0x5958af,_0x4cb37a,_0x89128e){return _0x219444['VoiceExtension'][_0xba83('0x23')]({'where':{'ChanSpyId':_0x5958af['id']}})[_0xba83('0x1d')](function(){return getChanSpyPromise(_0x219444,_0x5958af);})['then'](function(_0x58e2ae){if(_0x58e2ae&&_0x58e2ae[_0xba83('0x16')]){return _0x219444[_0xba83('0x22')]['bulkCreate'](_0x58e2ae);}})['then'](function(){_0x89128e();})[_0xba83('0x1e')](function(_0x463a6b){_0x89128e(_0x463a6b);});},'afterDestroy':function(_0x4cb33a,_0x20f3f4,_0x59ac35){return _0x219444['VoiceExtension'][_0xba83('0x23')]({'where':{'ChanSpyId':_0x4cb33a['id']}})[_0xba83('0x1d')](function(){_0x59ac35();})[_0xba83('0x1e')](function(_0x35049c){_0x59ac35(_0x35049c);});}}});};