Built motion from commit 936e8062.|2.5.33
[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 _0xf462=['lodash','./voiceChanSpy.attributes','context','format','prefix','system','Set','CDR(type)=%s','chanspy','record','push','merge','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','concat','internal','User','findAll','agent','then','catch','exports','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','length','bulkCreate','destroy'];(function(_0x357c68,_0x126da9){var _0x3f5115=function(_0x326c33){while(--_0x326c33){_0x357c68['push'](_0x357c68['shift']());}};_0x3f5115(++_0x126da9);}(_0xf462,0x168));var _0x2f46=function(_0x1d83db,_0x89d115){_0x1d83db=_0x1d83db-0x0;var _0x2dc1d1=_0xf462[_0x1d83db];return _0x2dc1d1;};'use strict';var _=require(_0x2f46('0x0'));var util=require('util');var BPromise=require('bluebird');var attributes=require(_0x2f46('0x1'));var getUserApplications=function(_0x3bbf52,_0x3f7842,_0x2facde){var _0xe2b412=0x1;var _0xeb067c=[];var _0x104755={'context':_0x3f7842[_0x2f46('0x2')]||'from-sip','exten':util[_0x2f46('0x3')]('%s%s',_0x3bbf52[_0x2f46('0x4')],_0x2facde),'type':_0x2f46('0x5'),'isApp':![],'ChanSpyId':_0x3bbf52['id'],'UserId':_0x3f7842['id']};_0xeb067c['push'](_['merge']({'app':_0x2f46('0x6'),'appdata':util['format'](_0x2f46('0x7'),_0x2f46('0x8')),'priority':_0xe2b412++},_0x104755));if(_0x3bbf52[_0x2f46('0x9')]){_0xeb067c[_0x2f46('0xa')](_[_0x2f46('0xb')]({'app':_0x2f46('0xc'),'appdata':util[_0x2f46('0x3')](_0x2f46('0xd'),_0x3bbf52[_0x2f46('0xe')]),'priority':_0xe2b412++},_0x104755));}if(_0x3bbf52[_0x2f46('0xf')]){_0xeb067c[_0x2f46('0xa')](_[_0x2f46('0xb')]({'app':_0x2f46('0x10'),'appdata':_0x3bbf52[_0x2f46('0x11')],'priority':_0xe2b412++},_0x104755));}_0xeb067c[_0x2f46('0xa')](_[_0x2f46('0xb')]({'app':_0x2f46('0x12'),'appdata':util['format'](_0x2f46('0x13'),_0x3f7842[_0x2f46('0x14')],_0x3bbf52[_0x2f46('0x15')]?_0x3bbf52[_0x2f46('0x15')][_0x2f46('0x16')](''):''),'priority':_0xe2b412++},_0x104755));if(_0x3bbf52[_0x2f46('0x9')]){_0xeb067c['push'](_[_0x2f46('0xb')]({'app':_0x2f46('0x17'),'priority':_0xe2b412++},_0x104755));}return _0xeb067c;};var getChanSpyApplications=function(_0x835240,_0x1a695c){var _0x11304a=[];for(var _0x5563af=0x0,_0x27aa71=0x1;_0x5563af<_0x1a695c['length'];_0x5563af++,_0x27aa71=0x1){_0x11304a=_0x11304a[_0x2f46('0x18')](getUserApplications(_0x835240,_0x1a695c[_0x5563af],_0x1a695c[_0x5563af][_0x2f46('0x19')]));if(_0x1a695c[_0x5563af][_0x2f46('0x19')]!=_0x1a695c[_0x5563af][_0x2f46('0x14')]){_0x11304a=_0x11304a[_0x2f46('0x18')](getUserApplications(_0x835240,_0x1a695c[_0x5563af],_0x1a695c[_0x5563af][_0x2f46('0x14')]));}}return _0x11304a;};var getChanSpyPromise=function(_0x20febb,_0x473979){return new BPromise(function(_0x2a46b1,_0x1beeca){return _0x20febb[_0x2f46('0x1a')][_0x2f46('0x1b')]({'attributes':['id',_0x2f46('0x14'),_0x2f46('0x19')],'where':{'role':_0x2f46('0x1c'),'chanspy':!![]},'raw':!![]})[_0x2f46('0x1d')](function(_0x3ba79b){if(_0x3ba79b){return _0x2a46b1(getChanSpyApplications(_0x473979,_0x3ba79b));}return _0x2a46b1([]);})[_0x2f46('0x1e')](function(_0x4114bb){_0x1beeca(_0x4114bb);});});};module[_0x2f46('0x1f')]=function(_0x5cc5ef,_0x9fc1c1){var _0x2ecb77=_0x5cc5ef[_0x2f46('0x20')];return _0x5cc5ef[_0x2f46('0x21')](_0x2f46('0x22'),attributes,{'tableName':_0x2f46('0x23'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x254fcd,_0x7eeb1e,_0x5d71fb){return getChanSpyPromise(_0x2ecb77,_0x254fcd)[_0x2f46('0x1d')](function(_0x16abc0){if(_0x16abc0&&_0x16abc0['length']){return _0x2ecb77[_0x2f46('0x24')]['bulkCreate'](_0x16abc0);}})[_0x2f46('0x1d')](function(){_0x5d71fb();})[_0x2f46('0x1e')](function(_0x4a3b14){_0x5d71fb(_0x4a3b14);});},'afterUpdate':function(_0x1388a2,_0x10c141,_0x481137){return _0x2ecb77[_0x2f46('0x24')]['destroy']({'where':{'ChanSpyId':_0x1388a2['id']}})[_0x2f46('0x1d')](function(){return getChanSpyPromise(_0x2ecb77,_0x1388a2);})['then'](function(_0x35e6e0){if(_0x35e6e0&&_0x35e6e0[_0x2f46('0x25')]){return _0x2ecb77[_0x2f46('0x24')][_0x2f46('0x26')](_0x35e6e0);}})['then'](function(){_0x481137();})[_0x2f46('0x1e')](function(_0x201231){_0x481137(_0x201231);});},'afterDestroy':function(_0x550bf6,_0x55067e,_0x23e546){return _0x2ecb77[_0x2f46('0x24')][_0x2f46('0x27')]({'where':{'ChanSpyId':_0x550bf6['id']}})[_0x2f46('0x1d')](function(){_0x23e546();})['catch'](function(_0x202490){_0x23e546(_0x202490);});}}});};