Built motion from commit 497d3d92.|2.5.43
[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 _0xd50e=['concat','internal','User','findAll','then','catch','exports','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','destroy','util','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','system','push','merge','Set','CDR(type)=%s','record','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','password','SIP/%s,%s','name','options','join','length'];(function(_0xac3f82,_0x45347c){var _0x5e2538=function(_0x3971dc){while(--_0x3971dc){_0xac3f82['push'](_0xac3f82['shift']());}};_0x5e2538(++_0x45347c);}(_0xd50e,0x10a));var _0xed50=function(_0x26bec6,_0x311e69){_0x26bec6=_0x26bec6-0x0;var _0x4457b2=_0xd50e[_0x26bec6];return _0x4457b2;};'use strict';var _=require('lodash');var util=require(_0xed50('0x0'));var BPromise=require('bluebird');var attributes=require(_0xed50('0x1'));var getUserApplications=function(_0xc37b08,_0x5b0455,_0x416e6d){var _0x8f06e6=0x1;var _0x3e5372=[];var _0x4c994c={'context':_0x5b0455[_0xed50('0x2')]||_0xed50('0x3'),'exten':util[_0xed50('0x4')](_0xed50('0x5'),_0xc37b08[_0xed50('0x6')],_0x416e6d),'type':_0xed50('0x7'),'isApp':![],'ChanSpyId':_0xc37b08['id'],'UserId':_0x5b0455['id']};_0x3e5372[_0xed50('0x8')](_[_0xed50('0x9')]({'app':_0xed50('0xa'),'appdata':util['format'](_0xed50('0xb'),'chanspy'),'priority':_0x8f06e6++},_0x4c994c));if(_0xc37b08[_0xed50('0xc')]){_0x3e5372[_0xed50('0x8')](_['merge']({'app':_0xed50('0xd'),'appdata':util[_0xed50('0x4')](_0xed50('0xe'),_0xc37b08[_0xed50('0xf')]),'priority':_0x8f06e6++},_0x4c994c));}if(_0xc37b08['auth']){_0x3e5372['push'](_['merge']({'app':'Authenticate','appdata':_0xc37b08[_0xed50('0x10')],'priority':_0x8f06e6++},_0x4c994c));}_0x3e5372[_0xed50('0x8')](_[_0xed50('0x9')]({'app':'ChanSpy','appdata':util['format'](_0xed50('0x11'),_0x5b0455[_0xed50('0x12')],_0xc37b08[_0xed50('0x13')]?_0xc37b08[_0xed50('0x13')][_0xed50('0x14')](''):''),'priority':_0x8f06e6++},_0x4c994c));if(_0xc37b08[_0xed50('0xc')]){_0x3e5372[_0xed50('0x8')](_[_0xed50('0x9')]({'app':'StopMixMonitor','priority':_0x8f06e6++},_0x4c994c));}return _0x3e5372;};var getChanSpyApplications=function(_0x4bf030,_0x203a88){var _0x5db35b=[];for(var _0x136e78=0x0,_0x267d14=0x1;_0x136e78<_0x203a88[_0xed50('0x15')];_0x136e78++,_0x267d14=0x1){_0x5db35b=_0x5db35b[_0xed50('0x16')](getUserApplications(_0x4bf030,_0x203a88[_0x136e78],_0x203a88[_0x136e78][_0xed50('0x17')]));if(_0x203a88[_0x136e78]['internal']!=_0x203a88[_0x136e78][_0xed50('0x12')]){_0x5db35b=_0x5db35b['concat'](getUserApplications(_0x4bf030,_0x203a88[_0x136e78],_0x203a88[_0x136e78][_0xed50('0x12')]));}}return _0x5db35b;};var getChanSpyPromise=function(_0x11d0ec,_0x1ac930){return new BPromise(function(_0x441f65,_0x3e9140){return _0x11d0ec[_0xed50('0x18')][_0xed50('0x19')]({'attributes':['id',_0xed50('0x12'),'internal'],'where':{'role':'agent','chanspy':!![]},'raw':!![]})[_0xed50('0x1a')](function(_0x592c5b){if(_0x592c5b){return _0x441f65(getChanSpyApplications(_0x1ac930,_0x592c5b));}return _0x441f65([]);})[_0xed50('0x1b')](function(_0x21459b){_0x3e9140(_0x21459b);});});};module[_0xed50('0x1c')]=function(_0x178c94,_0x2430b3){var _0x234da7=_0x178c94[_0xed50('0x1d')];return _0x178c94[_0xed50('0x1e')](_0xed50('0x1f'),attributes,{'tableName':_0xed50('0x20'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0xea01eb,_0x5cfabe,_0xe418e8){return getChanSpyPromise(_0x234da7,_0xea01eb)[_0xed50('0x1a')](function(_0x259957){if(_0x259957&&_0x259957['length']){return _0x234da7[_0xed50('0x21')][_0xed50('0x22')](_0x259957);}})[_0xed50('0x1a')](function(){_0xe418e8();})['catch'](function(_0xaadf48){_0xe418e8(_0xaadf48);});},'afterUpdate':function(_0x113640,_0x3ea757,_0x237bf0){return _0x234da7[_0xed50('0x21')][_0xed50('0x23')]({'where':{'ChanSpyId':_0x113640['id']}})[_0xed50('0x1a')](function(){return getChanSpyPromise(_0x234da7,_0x113640);})['then'](function(_0x23c2b4){if(_0x23c2b4&&_0x23c2b4[_0xed50('0x15')]){return _0x234da7[_0xed50('0x21')][_0xed50('0x22')](_0x23c2b4);}})[_0xed50('0x1a')](function(){_0x237bf0();})['catch'](function(_0xa715c9){_0x237bf0(_0xa715c9);});},'afterDestroy':function(_0x523b77,_0x10ccb3,_0x3dfd1d){return _0x234da7['VoiceExtension'][_0xed50('0x23')]({'where':{'ChanSpyId':_0x523b77['id']}})[_0xed50('0x1a')](function(){_0x3dfd1d();})[_0xed50('0x1b')](function(_0x13f7b4){_0x3dfd1d(_0x13f7b4);});}}});};