f16f8585800ba6f2bfa2e1f9bd262a8c7d25677d
[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 _0x38c3=['push','merge','CDR(type)=%s','chanspy','record','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','join','length','concat','internal','User','findAll','agent','then','catch','exports','define','VoiceChanSpy','VoiceExtension','bulkCreate','destroy','lodash','util','./voiceChanSpy.attributes','context','format','%s%s','system'];(function(_0x5ee4ce,_0x3c68f8){var _0x3352b5=function(_0x1ef2a3){while(--_0x1ef2a3){_0x5ee4ce['push'](_0x5ee4ce['shift']());}};_0x3352b5(++_0x3c68f8);}(_0x38c3,0x13d));var _0x338c=function(_0x38a62f,_0x26b533){_0x38a62f=_0x38a62f-0x0;var _0x1f734b=_0x38c3[_0x38a62f];return _0x1f734b;};'use strict';var _=require(_0x338c('0x0'));var util=require(_0x338c('0x1'));var BPromise=require('bluebird');var attributes=require(_0x338c('0x2'));var getUserApplications=function(_0x2337a1,_0x36a187,_0x971816){var _0x381963=0x1;var _0xbe0aef=[];var _0x4acb1a={'context':_0x36a187[_0x338c('0x3')]||'from-sip','exten':util[_0x338c('0x4')](_0x338c('0x5'),_0x2337a1['prefix'],_0x971816),'type':_0x338c('0x6'),'isApp':![],'ChanSpyId':_0x2337a1['id'],'UserId':_0x36a187['id']};_0xbe0aef[_0x338c('0x7')](_[_0x338c('0x8')]({'app':'Set','appdata':util[_0x338c('0x4')](_0x338c('0x9'),_0x338c('0xa')),'priority':_0x381963++},_0x4acb1a));if(_0x2337a1[_0x338c('0xb')]){_0xbe0aef[_0x338c('0x7')](_[_0x338c('0x8')]({'app':_0x338c('0xc'),'appdata':util['format'](_0x338c('0xd'),_0x2337a1[_0x338c('0xe')]),'priority':_0x381963++},_0x4acb1a));}if(_0x2337a1['auth']){_0xbe0aef[_0x338c('0x7')](_['merge']({'app':_0x338c('0xf'),'appdata':_0x2337a1[_0x338c('0x10')],'priority':_0x381963++},_0x4acb1a));}_0xbe0aef['push'](_[_0x338c('0x8')]({'app':_0x338c('0x11'),'appdata':util[_0x338c('0x4')](_0x338c('0x12'),_0x36a187[_0x338c('0x13')],_0x2337a1[_0x338c('0x14')]?_0x2337a1[_0x338c('0x14')][_0x338c('0x15')](''):''),'priority':_0x381963++},_0x4acb1a));if(_0x2337a1[_0x338c('0xb')]){_0xbe0aef[_0x338c('0x7')](_['merge']({'app':'StopMixMonitor','priority':_0x381963++},_0x4acb1a));}return _0xbe0aef;};var getChanSpyApplications=function(_0x26a6dd,_0x306097){var _0xbbb319=[];for(var _0x21cbd4=0x0,_0x5eca2b=0x1;_0x21cbd4<_0x306097[_0x338c('0x16')];_0x21cbd4++,_0x5eca2b=0x1){_0xbbb319=_0xbbb319[_0x338c('0x17')](getUserApplications(_0x26a6dd,_0x306097[_0x21cbd4],_0x306097[_0x21cbd4][_0x338c('0x18')]));if(_0x306097[_0x21cbd4][_0x338c('0x18')]!=_0x306097[_0x21cbd4][_0x338c('0x13')]){_0xbbb319=_0xbbb319[_0x338c('0x17')](getUserApplications(_0x26a6dd,_0x306097[_0x21cbd4],_0x306097[_0x21cbd4][_0x338c('0x13')]));}}return _0xbbb319;};var getChanSpyPromise=function(_0xb5d3dd,_0x339b30){return new BPromise(function(_0x7221f9,_0xf9271a){return _0xb5d3dd[_0x338c('0x19')][_0x338c('0x1a')]({'attributes':['id','name','internal'],'where':{'role':_0x338c('0x1b'),'chanspy':!![]},'raw':!![]})[_0x338c('0x1c')](function(_0x3a8ff4){if(_0x3a8ff4){return _0x7221f9(getChanSpyApplications(_0x339b30,_0x3a8ff4));}return _0x7221f9([]);})[_0x338c('0x1d')](function(_0x55ceae){_0xf9271a(_0x55ceae);});});};module[_0x338c('0x1e')]=function(_0x565fe1,_0x44ac84){var _0xe90213=_0x565fe1['models'];return _0x565fe1[_0x338c('0x1f')](_0x338c('0x20'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x2b8744,_0x2136e2,_0x4e56cf){return getChanSpyPromise(_0xe90213,_0x2b8744)[_0x338c('0x1c')](function(_0x26013d){if(_0x26013d&&_0x26013d[_0x338c('0x16')]){return _0xe90213[_0x338c('0x21')][_0x338c('0x22')](_0x26013d);}})[_0x338c('0x1c')](function(){_0x4e56cf();})['catch'](function(_0x30edb0){_0x4e56cf(_0x30edb0);});},'afterUpdate':function(_0xdc345a,_0xa7db44,_0x4d78a5){return _0xe90213[_0x338c('0x21')][_0x338c('0x23')]({'where':{'ChanSpyId':_0xdc345a['id']}})['then'](function(){return getChanSpyPromise(_0xe90213,_0xdc345a);})[_0x338c('0x1c')](function(_0x164260){if(_0x164260&&_0x164260[_0x338c('0x16')]){return _0xe90213[_0x338c('0x21')][_0x338c('0x22')](_0x164260);}})[_0x338c('0x1c')](function(){_0x4d78a5();})['catch'](function(_0x56800e){_0x4d78a5(_0x56800e);});},'afterDestroy':function(_0x39ecb2,_0x35e84a,_0x59820d){return _0xe90213[_0x338c('0x21')][_0x338c('0x23')]({'where':{'ChanSpyId':_0x39ecb2['id']}})['then'](function(){_0x59820d();})['catch'](function(_0x3c5332){_0x59820d(_0x3c5332);});}}});};