Built motion from commit (unavailable).|2.5.13
[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 _0xfaf3=['push','merge','Set','CDR(type)=%s','chanspy','record','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','length','concat','internal','User','findAll','agent','then','catch','exports','models','define','voice_chanspy','bulkCreate','VoiceExtension','destroy','lodash','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','system'];(function(_0x374ccf,_0xa945c4){var _0x443cde=function(_0x27ff10){while(--_0x27ff10){_0x374ccf['push'](_0x374ccf['shift']());}};_0x443cde(++_0xa945c4);}(_0xfaf3,0x93));var _0x3faf=function(_0x49bf90,_0x4e84fd){_0x49bf90=_0x49bf90-0x0;var _0x494f81=_0xfaf3[_0x49bf90];return _0x494f81;};'use strict';var _=require(_0x3faf('0x0'));var util=require('util');var BPromise=require(_0x3faf('0x1'));var attributes=require(_0x3faf('0x2'));var getUserApplications=function(_0x45c9c2,_0x269163,_0x15d45b){var _0x2b4217=0x1;var _0x21d7eb=[];var _0x1640a2={'context':_0x269163[_0x3faf('0x3')]||_0x3faf('0x4'),'exten':util[_0x3faf('0x5')](_0x3faf('0x6'),_0x45c9c2[_0x3faf('0x7')],_0x15d45b),'type':_0x3faf('0x8'),'isApp':![],'ChanSpyId':_0x45c9c2['id'],'UserId':_0x269163['id']};_0x21d7eb[_0x3faf('0x9')](_[_0x3faf('0xa')]({'app':_0x3faf('0xb'),'appdata':util['format'](_0x3faf('0xc'),_0x3faf('0xd')),'priority':_0x2b4217++},_0x1640a2));if(_0x45c9c2[_0x3faf('0xe')]){_0x21d7eb[_0x3faf('0x9')](_[_0x3faf('0xa')]({'app':'MixMonitor','appdata':util[_0x3faf('0x5')](_0x3faf('0xf'),_0x45c9c2[_0x3faf('0x10')]),'priority':_0x2b4217++},_0x1640a2));}if(_0x45c9c2[_0x3faf('0x11')]){_0x21d7eb[_0x3faf('0x9')](_[_0x3faf('0xa')]({'app':_0x3faf('0x12'),'appdata':_0x45c9c2[_0x3faf('0x13')],'priority':_0x2b4217++},_0x1640a2));}_0x21d7eb[_0x3faf('0x9')](_['merge']({'app':_0x3faf('0x14'),'appdata':util['format'](_0x3faf('0x15'),_0x269163[_0x3faf('0x16')],_0x45c9c2['options']?_0x45c9c2[_0x3faf('0x17')]['join'](''):''),'priority':_0x2b4217++},_0x1640a2));if(_0x45c9c2['record']){_0x21d7eb[_0x3faf('0x9')](_['merge']({'app':'StopMixMonitor','priority':_0x2b4217++},_0x1640a2));}return _0x21d7eb;};var getChanSpyApplications=function(_0x1a6d5e,_0x34894a){var _0x8d80a2=[];for(var _0x39b234=0x0,_0xae1e6a=0x1;_0x39b234<_0x34894a[_0x3faf('0x18')];_0x39b234++,_0xae1e6a=0x1){_0x8d80a2=_0x8d80a2[_0x3faf('0x19')](getUserApplications(_0x1a6d5e,_0x34894a[_0x39b234],_0x34894a[_0x39b234]['internal']));if(_0x34894a[_0x39b234][_0x3faf('0x1a')]!=_0x34894a[_0x39b234][_0x3faf('0x16')]){_0x8d80a2=_0x8d80a2[_0x3faf('0x19')](getUserApplications(_0x1a6d5e,_0x34894a[_0x39b234],_0x34894a[_0x39b234]['name']));}}return _0x8d80a2;};var getChanSpyPromise=function(_0x1bf038,_0x29306c){return new BPromise(function(_0x16d4b2,_0x47d7a4){return _0x1bf038[_0x3faf('0x1b')][_0x3faf('0x1c')]({'attributes':['id','name',_0x3faf('0x1a')],'where':{'role':_0x3faf('0x1d'),'chanspy':!![]},'raw':!![]})[_0x3faf('0x1e')](function(_0x37b236){if(_0x37b236){return _0x16d4b2(getChanSpyApplications(_0x29306c,_0x37b236));}return _0x16d4b2([]);})[_0x3faf('0x1f')](function(_0xe965b8){_0x47d7a4(_0xe965b8);});});};module[_0x3faf('0x20')]=function(_0x44c73d,_0x1d3728){var _0x4ec6ea=_0x44c73d[_0x3faf('0x21')];return _0x44c73d[_0x3faf('0x22')]('VoiceChanSpy',attributes,{'tableName':_0x3faf('0x23'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x7071bd,_0x44a47f,_0x4224c8){return getChanSpyPromise(_0x4ec6ea,_0x7071bd)[_0x3faf('0x1e')](function(_0x230aa9){if(_0x230aa9&&_0x230aa9[_0x3faf('0x18')]){return _0x4ec6ea['VoiceExtension'][_0x3faf('0x24')](_0x230aa9);}})['then'](function(){_0x4224c8();})[_0x3faf('0x1f')](function(_0x5f347e){_0x4224c8(_0x5f347e);});},'afterUpdate':function(_0x5f5d68,_0x26c4ab,_0x15727c){return _0x4ec6ea[_0x3faf('0x25')]['destroy']({'where':{'ChanSpyId':_0x5f5d68['id']}})[_0x3faf('0x1e')](function(){return getChanSpyPromise(_0x4ec6ea,_0x5f5d68);})['then'](function(_0x1a832e){if(_0x1a832e&&_0x1a832e['length']){return _0x4ec6ea[_0x3faf('0x25')][_0x3faf('0x24')](_0x1a832e);}})[_0x3faf('0x1e')](function(){_0x15727c();})['catch'](function(_0x3d112a){_0x15727c(_0x3d112a);});},'afterDestroy':function(_0x37cd79,_0x54587e,_0x2e3715){return _0x4ec6ea['VoiceExtension'][_0x3faf('0x26')]({'where':{'ChanSpyId':_0x37cd79['id']}})[_0x3faf('0x1e')](function(){_0x2e3715();})[_0x3faf('0x1f')](function(_0x63075c){_0x2e3715(_0x63075c);});}}});};