Built motion from commit 9d1906d1.|2.5.40
[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 _0x516c=['StopMixMonitor','concat','internal','User','findAll','agent','then','catch','exports','models','define','voice_chanspy','VoiceExtension','bulkCreate','destroy','length','lodash','util','./voiceChanSpy.attributes','context','format','%s%s','prefix','system','push','Set','CDR(type)=%s','chanspy','record','MixMonitor','${UNIQUEID}.%s,a','auth','merge','Authenticate','ChanSpy','SIP/%s,%s','name','options'];(function(_0x5f584a,_0x47f064){var _0x3788d9=function(_0x29c10b){while(--_0x29c10b){_0x5f584a['push'](_0x5f584a['shift']());}};_0x3788d9(++_0x47f064);}(_0x516c,0xce));var _0xc516=function(_0x3ca958,_0x4bc851){_0x3ca958=_0x3ca958-0x0;var _0x1030ba=_0x516c[_0x3ca958];return _0x1030ba;};'use strict';var _=require(_0xc516('0x0'));var util=require(_0xc516('0x1'));var BPromise=require('bluebird');var attributes=require(_0xc516('0x2'));var getUserApplications=function(_0x12e3ce,_0x51b4ce,_0x29ead5){var _0xf2a1d4=0x1;var _0x16f913=[];var _0xe410b={'context':_0x51b4ce[_0xc516('0x3')]||'from-sip','exten':util[_0xc516('0x4')](_0xc516('0x5'),_0x12e3ce[_0xc516('0x6')],_0x29ead5),'type':_0xc516('0x7'),'isApp':![],'ChanSpyId':_0x12e3ce['id'],'UserId':_0x51b4ce['id']};_0x16f913[_0xc516('0x8')](_['merge']({'app':_0xc516('0x9'),'appdata':util['format'](_0xc516('0xa'),_0xc516('0xb')),'priority':_0xf2a1d4++},_0xe410b));if(_0x12e3ce[_0xc516('0xc')]){_0x16f913[_0xc516('0x8')](_['merge']({'app':_0xc516('0xd'),'appdata':util[_0xc516('0x4')](_0xc516('0xe'),_0x12e3ce['recordingFormat']),'priority':_0xf2a1d4++},_0xe410b));}if(_0x12e3ce[_0xc516('0xf')]){_0x16f913['push'](_[_0xc516('0x10')]({'app':_0xc516('0x11'),'appdata':_0x12e3ce['password'],'priority':_0xf2a1d4++},_0xe410b));}_0x16f913[_0xc516('0x8')](_[_0xc516('0x10')]({'app':_0xc516('0x12'),'appdata':util[_0xc516('0x4')](_0xc516('0x13'),_0x51b4ce[_0xc516('0x14')],_0x12e3ce[_0xc516('0x15')]?_0x12e3ce[_0xc516('0x15')]['join'](''):''),'priority':_0xf2a1d4++},_0xe410b));if(_0x12e3ce[_0xc516('0xc')]){_0x16f913[_0xc516('0x8')](_[_0xc516('0x10')]({'app':_0xc516('0x16'),'priority':_0xf2a1d4++},_0xe410b));}return _0x16f913;};var getChanSpyApplications=function(_0x3a6781,_0x483f38){var _0x3800da=[];for(var _0x3058b4=0x0,_0x519fbe=0x1;_0x3058b4<_0x483f38['length'];_0x3058b4++,_0x519fbe=0x1){_0x3800da=_0x3800da[_0xc516('0x17')](getUserApplications(_0x3a6781,_0x483f38[_0x3058b4],_0x483f38[_0x3058b4][_0xc516('0x18')]));if(_0x483f38[_0x3058b4][_0xc516('0x18')]!=_0x483f38[_0x3058b4][_0xc516('0x14')]){_0x3800da=_0x3800da[_0xc516('0x17')](getUserApplications(_0x3a6781,_0x483f38[_0x3058b4],_0x483f38[_0x3058b4][_0xc516('0x14')]));}}return _0x3800da;};var getChanSpyPromise=function(_0x523c0c,_0x44f21d){return new BPromise(function(_0x567d89,_0x282814){return _0x523c0c[_0xc516('0x19')][_0xc516('0x1a')]({'attributes':['id',_0xc516('0x14'),_0xc516('0x18')],'where':{'role':_0xc516('0x1b'),'chanspy':!![]},'raw':!![]})[_0xc516('0x1c')](function(_0x3dd841){if(_0x3dd841){return _0x567d89(getChanSpyApplications(_0x44f21d,_0x3dd841));}return _0x567d89([]);})[_0xc516('0x1d')](function(_0x24ad0a){_0x282814(_0x24ad0a);});});};module[_0xc516('0x1e')]=function(_0x50fe45,_0x5a09cf){var _0x5e673d=_0x50fe45[_0xc516('0x1f')];return _0x50fe45[_0xc516('0x20')]('VoiceChanSpy',attributes,{'tableName':_0xc516('0x21'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x4db440,_0x520a96,_0x1b5bcf){return getChanSpyPromise(_0x5e673d,_0x4db440)['then'](function(_0x4ef9da){if(_0x4ef9da&&_0x4ef9da['length']){return _0x5e673d[_0xc516('0x22')][_0xc516('0x23')](_0x4ef9da);}})[_0xc516('0x1c')](function(){_0x1b5bcf();})['catch'](function(_0x82e15d){_0x1b5bcf(_0x82e15d);});},'afterUpdate':function(_0x48c631,_0x3e6b1a,_0x3cbe08){return _0x5e673d[_0xc516('0x22')][_0xc516('0x24')]({'where':{'ChanSpyId':_0x48c631['id']}})[_0xc516('0x1c')](function(){return getChanSpyPromise(_0x5e673d,_0x48c631);})[_0xc516('0x1c')](function(_0x18c981){if(_0x18c981&&_0x18c981[_0xc516('0x25')]){return _0x5e673d[_0xc516('0x22')]['bulkCreate'](_0x18c981);}})[_0xc516('0x1c')](function(){_0x3cbe08();})[_0xc516('0x1d')](function(_0x3ac7e8){_0x3cbe08(_0x3ac7e8);});},'afterDestroy':function(_0x4a7e1e,_0x2bfda9,_0x94a3fb){return _0x5e673d[_0xc516('0x22')][_0xc516('0x24')]({'where':{'ChanSpyId':_0x4a7e1e['id']}})['then'](function(){_0x94a3fb();})[_0xc516('0x1d')](function(_0x13b455){_0x94a3fb(_0x13b455);});}}});};