Built motion from commit (unavailable).|2.5.11
[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 _0xb677=['password','merge','ChanSpy','SIP/%s,%s','options','join','StopMixMonitor','length','concat','internal','name','User','findAll','agent','then','models','define','voice_chanspy','bulkCreate','catch','VoiceExtension','destroy','lodash','bluebird','./voiceChanSpy.attributes','from-sip','format','%s%s','prefix','Set','CDR(type)=%s','record','push','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth'];(function(_0x50682f,_0x3efd1a){var _0x205db0=function(_0x24c26c){while(--_0x24c26c){_0x50682f['push'](_0x50682f['shift']());}};_0x205db0(++_0x3efd1a);}(_0xb677,0x119));var _0x7b67=function(_0x3499b4,_0x27864e){_0x3499b4=_0x3499b4-0x0;var _0x37813b=_0xb677[_0x3499b4];return _0x37813b;};'use strict';var _=require(_0x7b67('0x0'));var util=require('util');var BPromise=require(_0x7b67('0x1'));var attributes=require(_0x7b67('0x2'));var getUserApplications=function(_0x388b87,_0x749563,_0x13f678){var _0x3bff27=0x1;var _0x927eee=[];var _0x28e9f6={'context':_0x749563['context']||_0x7b67('0x3'),'exten':util[_0x7b67('0x4')](_0x7b67('0x5'),_0x388b87[_0x7b67('0x6')],_0x13f678),'type':'system','isApp':![],'ChanSpyId':_0x388b87['id'],'UserId':_0x749563['id']};_0x927eee['push'](_['merge']({'app':_0x7b67('0x7'),'appdata':util['format'](_0x7b67('0x8'),'chanspy'),'priority':_0x3bff27++},_0x28e9f6));if(_0x388b87[_0x7b67('0x9')]){_0x927eee[_0x7b67('0xa')](_['merge']({'app':_0x7b67('0xb'),'appdata':util['format'](_0x7b67('0xc'),_0x388b87[_0x7b67('0xd')]),'priority':_0x3bff27++},_0x28e9f6));}if(_0x388b87[_0x7b67('0xe')]){_0x927eee['push'](_['merge']({'app':'Authenticate','appdata':_0x388b87[_0x7b67('0xf')],'priority':_0x3bff27++},_0x28e9f6));}_0x927eee[_0x7b67('0xa')](_[_0x7b67('0x10')]({'app':_0x7b67('0x11'),'appdata':util[_0x7b67('0x4')](_0x7b67('0x12'),_0x749563['name'],_0x388b87[_0x7b67('0x13')]?_0x388b87[_0x7b67('0x13')][_0x7b67('0x14')](''):''),'priority':_0x3bff27++},_0x28e9f6));if(_0x388b87[_0x7b67('0x9')]){_0x927eee[_0x7b67('0xa')](_[_0x7b67('0x10')]({'app':_0x7b67('0x15'),'priority':_0x3bff27++},_0x28e9f6));}return _0x927eee;};var getChanSpyApplications=function(_0xf99987,_0x52c21b){var _0x26a656=[];for(var _0xd10561=0x0,_0x37cef1=0x1;_0xd10561<_0x52c21b[_0x7b67('0x16')];_0xd10561++,_0x37cef1=0x1){_0x26a656=_0x26a656[_0x7b67('0x17')](getUserApplications(_0xf99987,_0x52c21b[_0xd10561],_0x52c21b[_0xd10561][_0x7b67('0x18')]));if(_0x52c21b[_0xd10561]['internal']!=_0x52c21b[_0xd10561][_0x7b67('0x19')]){_0x26a656=_0x26a656[_0x7b67('0x17')](getUserApplications(_0xf99987,_0x52c21b[_0xd10561],_0x52c21b[_0xd10561][_0x7b67('0x19')]));}}return _0x26a656;};var getChanSpyPromise=function(_0x2b093c,_0x4732dc){return new BPromise(function(_0x4095e7,_0x234c20){return _0x2b093c[_0x7b67('0x1a')][_0x7b67('0x1b')]({'attributes':['id',_0x7b67('0x19'),'internal'],'where':{'role':_0x7b67('0x1c'),'chanspy':!![]},'raw':!![]})[_0x7b67('0x1d')](function(_0x55cab1){if(_0x55cab1){return _0x4095e7(getChanSpyApplications(_0x4732dc,_0x55cab1));}return _0x4095e7([]);})['catch'](function(_0x48cd2e){_0x234c20(_0x48cd2e);});});};module['exports']=function(_0x44b951,_0xeabc5c){var _0x10c8fe=_0x44b951[_0x7b67('0x1e')];return _0x44b951[_0x7b67('0x1f')]('VoiceChanSpy',attributes,{'tableName':_0x7b67('0x20'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x12d848,_0x103cc4,_0x3f5202){return getChanSpyPromise(_0x10c8fe,_0x12d848)[_0x7b67('0x1d')](function(_0x3e9630){if(_0x3e9630&&_0x3e9630[_0x7b67('0x16')]){return _0x10c8fe['VoiceExtension'][_0x7b67('0x21')](_0x3e9630);}})['then'](function(){_0x3f5202();})[_0x7b67('0x22')](function(_0x2f1e62){_0x3f5202(_0x2f1e62);});},'afterUpdate':function(_0x250fb0,_0x34a88d,_0x5f2a13){return _0x10c8fe[_0x7b67('0x23')][_0x7b67('0x24')]({'where':{'ChanSpyId':_0x250fb0['id']}})[_0x7b67('0x1d')](function(){return getChanSpyPromise(_0x10c8fe,_0x250fb0);})['then'](function(_0x5e35c9){if(_0x5e35c9&&_0x5e35c9['length']){return _0x10c8fe[_0x7b67('0x23')]['bulkCreate'](_0x5e35c9);}})['then'](function(){_0x5f2a13();})[_0x7b67('0x22')](function(_0x3de320){_0x5f2a13(_0x3de320);});},'afterDestroy':function(_0x5c02ae,_0x2fe0c5,_0x5ee04b){return _0x10c8fe['VoiceExtension'][_0x7b67('0x24')]({'where':{'ChanSpyId':_0x5c02ae['id']}})[_0x7b67('0x1d')](function(){_0x5ee04b();})[_0x7b67('0x22')](function(_0x1a7d7a){_0x5ee04b(_0x1a7d7a);});}}});};