Built motion from commit (unavailable).|2.5.21
[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 _0xec56=['prefix','system','push','merge','Set','CDR(type)=%s','chanspy','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','options','join','record','StopMixMonitor','length','concat','internal','name','User','findAll','agent','then','catch','exports','models','define','voice_chanspy','VoiceExtension','bulkCreate','destroy','lodash','./voiceChanSpy.attributes','context','from-sip','format','%s%s'];(function(_0x579b0e,_0x4bf56a){var _0x3f289a=function(_0x12f633){while(--_0x12f633){_0x579b0e['push'](_0x579b0e['shift']());}};_0x3f289a(++_0x4bf56a);}(_0xec56,0x1bd));var _0x6ec5=function(_0x2b33a9,_0xeef908){_0x2b33a9=_0x2b33a9-0x0;var _0xc9a90e=_0xec56[_0x2b33a9];return _0xc9a90e;};'use strict';var _=require(_0x6ec5('0x0'));var util=require('util');var BPromise=require('bluebird');var attributes=require(_0x6ec5('0x1'));var getUserApplications=function(_0x3b8a3f,_0x26a5af,_0x240ccf){var _0x43c2cd=0x1;var _0x399441=[];var _0x469679={'context':_0x26a5af[_0x6ec5('0x2')]||_0x6ec5('0x3'),'exten':util[_0x6ec5('0x4')](_0x6ec5('0x5'),_0x3b8a3f[_0x6ec5('0x6')],_0x240ccf),'type':_0x6ec5('0x7'),'isApp':![],'ChanSpyId':_0x3b8a3f['id'],'UserId':_0x26a5af['id']};_0x399441[_0x6ec5('0x8')](_[_0x6ec5('0x9')]({'app':_0x6ec5('0xa'),'appdata':util[_0x6ec5('0x4')](_0x6ec5('0xb'),_0x6ec5('0xc')),'priority':_0x43c2cd++},_0x469679));if(_0x3b8a3f['record']){_0x399441[_0x6ec5('0x8')](_[_0x6ec5('0x9')]({'app':_0x6ec5('0xd'),'appdata':util[_0x6ec5('0x4')](_0x6ec5('0xe'),_0x3b8a3f[_0x6ec5('0xf')]),'priority':_0x43c2cd++},_0x469679));}if(_0x3b8a3f[_0x6ec5('0x10')]){_0x399441['push'](_[_0x6ec5('0x9')]({'app':_0x6ec5('0x11'),'appdata':_0x3b8a3f[_0x6ec5('0x12')],'priority':_0x43c2cd++},_0x469679));}_0x399441[_0x6ec5('0x8')](_[_0x6ec5('0x9')]({'app':_0x6ec5('0x13'),'appdata':util[_0x6ec5('0x4')](_0x6ec5('0x14'),_0x26a5af['name'],_0x3b8a3f[_0x6ec5('0x15')]?_0x3b8a3f['options'][_0x6ec5('0x16')](''):''),'priority':_0x43c2cd++},_0x469679));if(_0x3b8a3f[_0x6ec5('0x17')]){_0x399441[_0x6ec5('0x8')](_[_0x6ec5('0x9')]({'app':_0x6ec5('0x18'),'priority':_0x43c2cd++},_0x469679));}return _0x399441;};var getChanSpyApplications=function(_0x4d09fe,_0x13b725){var _0x3df696=[];for(var _0x125ae6=0x0,_0x211934=0x1;_0x125ae6<_0x13b725[_0x6ec5('0x19')];_0x125ae6++,_0x211934=0x1){_0x3df696=_0x3df696[_0x6ec5('0x1a')](getUserApplications(_0x4d09fe,_0x13b725[_0x125ae6],_0x13b725[_0x125ae6][_0x6ec5('0x1b')]));if(_0x13b725[_0x125ae6][_0x6ec5('0x1b')]!=_0x13b725[_0x125ae6][_0x6ec5('0x1c')]){_0x3df696=_0x3df696[_0x6ec5('0x1a')](getUserApplications(_0x4d09fe,_0x13b725[_0x125ae6],_0x13b725[_0x125ae6][_0x6ec5('0x1c')]));}}return _0x3df696;};var getChanSpyPromise=function(_0x45c230,_0x437f0f){return new BPromise(function(_0x2228dd,_0x21a8da){return _0x45c230[_0x6ec5('0x1d')][_0x6ec5('0x1e')]({'attributes':['id','name',_0x6ec5('0x1b')],'where':{'role':_0x6ec5('0x1f'),'chanspy':!![]},'raw':!![]})[_0x6ec5('0x20')](function(_0x20f5a6){if(_0x20f5a6){return _0x2228dd(getChanSpyApplications(_0x437f0f,_0x20f5a6));}return _0x2228dd([]);})[_0x6ec5('0x21')](function(_0x38a821){_0x21a8da(_0x38a821);});});};module[_0x6ec5('0x22')]=function(_0x48733b,_0x78c52c){var _0x2ecdcf=_0x48733b[_0x6ec5('0x23')];return _0x48733b[_0x6ec5('0x24')]('VoiceChanSpy',attributes,{'tableName':_0x6ec5('0x25'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x280748,_0x5be80f,_0x2dc0a7){return getChanSpyPromise(_0x2ecdcf,_0x280748)[_0x6ec5('0x20')](function(_0xb4d269){if(_0xb4d269&&_0xb4d269['length']){return _0x2ecdcf[_0x6ec5('0x26')][_0x6ec5('0x27')](_0xb4d269);}})[_0x6ec5('0x20')](function(){_0x2dc0a7();})[_0x6ec5('0x21')](function(_0x425fac){_0x2dc0a7(_0x425fac);});},'afterUpdate':function(_0x484847,_0x171e2a,_0x267a30){return _0x2ecdcf['VoiceExtension'][_0x6ec5('0x28')]({'where':{'ChanSpyId':_0x484847['id']}})[_0x6ec5('0x20')](function(){return getChanSpyPromise(_0x2ecdcf,_0x484847);})['then'](function(_0x3d36cb){if(_0x3d36cb&&_0x3d36cb[_0x6ec5('0x19')]){return _0x2ecdcf[_0x6ec5('0x26')][_0x6ec5('0x27')](_0x3d36cb);}})[_0x6ec5('0x20')](function(){_0x267a30();})['catch'](function(_0x2b8c99){_0x267a30(_0x2b8c99);});},'afterDestroy':function(_0x179f57,_0x24aff9,_0x174164){return _0x2ecdcf[_0x6ec5('0x26')][_0x6ec5('0x28')]({'where':{'ChanSpyId':_0x179f57['id']}})[_0x6ec5('0x20')](function(){_0x174164();})['catch'](function(_0x2684fd){_0x174164(_0x2684fd);});}}});};