Built motion from commit 0900f080.|2.5.45
[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 _0xb752=['chanspy','record','recordingFormat','Authenticate','password','ChanSpy','SIP/%s,%s','options','StopMixMonitor','length','concat','internal','name','User','findAll','agent','exports','models','define','VoiceChanSpy','voice_chanspy','then','VoiceExtension','bulkCreate','catch','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','%s%s','prefix','system','push','merge','Set','format','CDR(type)=%s'];(function(_0x581195,_0x36c1f5){var _0x5e374d=function(_0x656bba){while(--_0x656bba){_0x581195['push'](_0x581195['shift']());}};_0x5e374d(++_0x36c1f5);}(_0xb752,0x1d2));var _0x2b75=function(_0x800d34,_0x341978){_0x800d34=_0x800d34-0x0;var _0x3450ec=_0xb752[_0x800d34];return _0x3450ec;};'use strict';var _=require(_0x2b75('0x0'));var util=require(_0x2b75('0x1'));var BPromise=require(_0x2b75('0x2'));var attributes=require(_0x2b75('0x3'));var getUserApplications=function(_0x16c07d,_0x597d0b,_0x5bde85){var _0x1832e8=0x1;var _0x3f96fe=[];var _0x48464f={'context':_0x597d0b[_0x2b75('0x4')]||_0x2b75('0x5'),'exten':util['format'](_0x2b75('0x6'),_0x16c07d[_0x2b75('0x7')],_0x5bde85),'type':_0x2b75('0x8'),'isApp':![],'ChanSpyId':_0x16c07d['id'],'UserId':_0x597d0b['id']};_0x3f96fe[_0x2b75('0x9')](_[_0x2b75('0xa')]({'app':_0x2b75('0xb'),'appdata':util[_0x2b75('0xc')](_0x2b75('0xd'),_0x2b75('0xe')),'priority':_0x1832e8++},_0x48464f));if(_0x16c07d[_0x2b75('0xf')]){_0x3f96fe[_0x2b75('0x9')](_[_0x2b75('0xa')]({'app':'MixMonitor','appdata':util[_0x2b75('0xc')]('${UNIQUEID}.%s,a',_0x16c07d[_0x2b75('0x10')]),'priority':_0x1832e8++},_0x48464f));}if(_0x16c07d['auth']){_0x3f96fe[_0x2b75('0x9')](_[_0x2b75('0xa')]({'app':_0x2b75('0x11'),'appdata':_0x16c07d[_0x2b75('0x12')],'priority':_0x1832e8++},_0x48464f));}_0x3f96fe[_0x2b75('0x9')](_[_0x2b75('0xa')]({'app':_0x2b75('0x13'),'appdata':util[_0x2b75('0xc')](_0x2b75('0x14'),_0x597d0b['name'],_0x16c07d[_0x2b75('0x15')]?_0x16c07d[_0x2b75('0x15')]['join'](''):''),'priority':_0x1832e8++},_0x48464f));if(_0x16c07d[_0x2b75('0xf')]){_0x3f96fe[_0x2b75('0x9')](_['merge']({'app':_0x2b75('0x16'),'priority':_0x1832e8++},_0x48464f));}return _0x3f96fe;};var getChanSpyApplications=function(_0x5d1c63,_0x2ccf84){var _0x5ce995=[];for(var _0x54fcec=0x0,_0x506135=0x1;_0x54fcec<_0x2ccf84[_0x2b75('0x17')];_0x54fcec++,_0x506135=0x1){_0x5ce995=_0x5ce995[_0x2b75('0x18')](getUserApplications(_0x5d1c63,_0x2ccf84[_0x54fcec],_0x2ccf84[_0x54fcec][_0x2b75('0x19')]));if(_0x2ccf84[_0x54fcec]['internal']!=_0x2ccf84[_0x54fcec][_0x2b75('0x1a')]){_0x5ce995=_0x5ce995[_0x2b75('0x18')](getUserApplications(_0x5d1c63,_0x2ccf84[_0x54fcec],_0x2ccf84[_0x54fcec][_0x2b75('0x1a')]));}}return _0x5ce995;};var getChanSpyPromise=function(_0x3e61a7,_0x360cf3){return new BPromise(function(_0x2bf0c1,_0x1e941f){return _0x3e61a7[_0x2b75('0x1b')][_0x2b75('0x1c')]({'attributes':['id','name',_0x2b75('0x19')],'where':{'role':_0x2b75('0x1d'),'chanspy':!![]},'raw':!![]})['then'](function(_0x4994f2){if(_0x4994f2){return _0x2bf0c1(getChanSpyApplications(_0x360cf3,_0x4994f2));}return _0x2bf0c1([]);})['catch'](function(_0x1251ed){_0x1e941f(_0x1251ed);});});};module[_0x2b75('0x1e')]=function(_0xab95d2,_0x596c61){var _0x552b7a=_0xab95d2[_0x2b75('0x1f')];return _0xab95d2[_0x2b75('0x20')](_0x2b75('0x21'),attributes,{'tableName':_0x2b75('0x22'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x283f53,_0x5014a4,_0x1a16e8){return getChanSpyPromise(_0x552b7a,_0x283f53)[_0x2b75('0x23')](function(_0x22b50e){if(_0x22b50e&&_0x22b50e[_0x2b75('0x17')]){return _0x552b7a[_0x2b75('0x24')][_0x2b75('0x25')](_0x22b50e);}})['then'](function(){_0x1a16e8();})[_0x2b75('0x26')](function(_0x5c2c03){_0x1a16e8(_0x5c2c03);});},'afterUpdate':function(_0x4a1907,_0x58bea2,_0x375da9){return _0x552b7a[_0x2b75('0x24')][_0x2b75('0x27')]({'where':{'ChanSpyId':_0x4a1907['id']}})[_0x2b75('0x23')](function(){return getChanSpyPromise(_0x552b7a,_0x4a1907);})[_0x2b75('0x23')](function(_0x2b73bc){if(_0x2b73bc&&_0x2b73bc['length']){return _0x552b7a[_0x2b75('0x24')][_0x2b75('0x25')](_0x2b73bc);}})[_0x2b75('0x23')](function(){_0x375da9();})['catch'](function(_0x4b8278){_0x375da9(_0x4b8278);});},'afterDestroy':function(_0x5a9861,_0x5dc800,_0x598592){return _0x552b7a[_0x2b75('0x24')]['destroy']({'where':{'ChanSpyId':_0x5a9861['id']}})['then'](function(){_0x598592();})['catch'](function(_0x5292f3){_0x598592(_0x5292f3);});}}});};