Built motion from commit d5e4af8c.|2.6.23
[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 _0x6977=['push','Set','CDR(type)=%s','chanspy','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','merge','Authenticate','password','ChanSpy','SIP/%s,%s','name','join','length','concat','internal','User','findAll','agent','then','exports','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','catch','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','system'];(function(_0x42c1bb,_0x3f693d){var _0x34c989=function(_0xf1488){while(--_0xf1488){_0x42c1bb['push'](_0x42c1bb['shift']());}};_0x34c989(++_0x3f693d);}(_0x6977,0x1a4));var _0x7697=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x6977[_0xa464c9];return _0x3d73c4;};'use strict';var _=require(_0x7697('0x0'));var util=require(_0x7697('0x1'));var BPromise=require(_0x7697('0x2'));var attributes=require(_0x7697('0x3'));var getUserApplications=function(_0x312adc,_0x38d8a6,_0x1a0e84){var _0x5483cc=0x1;var _0x5a14f7=[];var _0x18448e={'context':_0x38d8a6[_0x7697('0x4')]||_0x7697('0x5'),'exten':util[_0x7697('0x6')](_0x7697('0x7'),_0x312adc['prefix'],_0x1a0e84),'type':_0x7697('0x8'),'isApp':![],'ChanSpyId':_0x312adc['id'],'UserId':_0x38d8a6['id']};_0x5a14f7[_0x7697('0x9')](_['merge']({'app':_0x7697('0xa'),'appdata':util[_0x7697('0x6')](_0x7697('0xb'),_0x7697('0xc')),'priority':_0x5483cc++},_0x18448e));if(_0x312adc['record']){_0x5a14f7[_0x7697('0x9')](_['merge']({'app':_0x7697('0xd'),'appdata':util[_0x7697('0x6')](_0x7697('0xe'),_0x312adc[_0x7697('0xf')]),'priority':_0x5483cc++},_0x18448e));}if(_0x312adc['auth']){_0x5a14f7[_0x7697('0x9')](_[_0x7697('0x10')]({'app':_0x7697('0x11'),'appdata':_0x312adc[_0x7697('0x12')],'priority':_0x5483cc++},_0x18448e));}_0x5a14f7['push'](_[_0x7697('0x10')]({'app':_0x7697('0x13'),'appdata':util[_0x7697('0x6')](_0x7697('0x14'),_0x38d8a6[_0x7697('0x15')],_0x312adc['options']?_0x312adc['options'][_0x7697('0x16')](''):''),'priority':_0x5483cc++},_0x18448e));if(_0x312adc['record']){_0x5a14f7[_0x7697('0x9')](_['merge']({'app':'StopMixMonitor','priority':_0x5483cc++},_0x18448e));}return _0x5a14f7;};var getChanSpyApplications=function(_0x4c4723,_0xe06adf){var _0x505f8e=[];for(var _0x69a0b=0x0,_0x208ee0=0x1;_0x69a0b<_0xe06adf[_0x7697('0x17')];_0x69a0b++,_0x208ee0=0x1){_0x505f8e=_0x505f8e[_0x7697('0x18')](getUserApplications(_0x4c4723,_0xe06adf[_0x69a0b],_0xe06adf[_0x69a0b][_0x7697('0x19')]));if(_0xe06adf[_0x69a0b][_0x7697('0x19')]!=_0xe06adf[_0x69a0b][_0x7697('0x15')]){_0x505f8e=_0x505f8e['concat'](getUserApplications(_0x4c4723,_0xe06adf[_0x69a0b],_0xe06adf[_0x69a0b]['name']));}}return _0x505f8e;};var getChanSpyPromise=function(_0x249b8e,_0x3e7bd9){return new BPromise(function(_0xe27f3e,_0x4bfc16){return _0x249b8e[_0x7697('0x1a')][_0x7697('0x1b')]({'attributes':['id',_0x7697('0x15'),_0x7697('0x19')],'where':{'role':_0x7697('0x1c'),'chanspy':!![]},'raw':!![]})[_0x7697('0x1d')](function(_0x3d0d98){if(_0x3d0d98){return _0xe27f3e(getChanSpyApplications(_0x3e7bd9,_0x3d0d98));}return _0xe27f3e([]);})['catch'](function(_0x5d8f43){_0x4bfc16(_0x5d8f43);});});};module[_0x7697('0x1e')]=function(_0x2eba7a,_0x232077){var _0xcc8728=_0x2eba7a[_0x7697('0x1f')];return _0x2eba7a[_0x7697('0x20')](_0x7697('0x21'),attributes,{'tableName':_0x7697('0x22'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x25c11e,_0x26ea10,_0x991f6f){return getChanSpyPromise(_0xcc8728,_0x25c11e)[_0x7697('0x1d')](function(_0x4176ae){if(_0x4176ae&&_0x4176ae[_0x7697('0x17')]){return _0xcc8728[_0x7697('0x23')][_0x7697('0x24')](_0x4176ae);}})['then'](function(){_0x991f6f();})[_0x7697('0x25')](function(_0x38cf4b){_0x991f6f(_0x38cf4b);});},'afterUpdate':function(_0x33af11,_0x4a3955,_0x639f0c){return _0xcc8728[_0x7697('0x23')][_0x7697('0x26')]({'where':{'ChanSpyId':_0x33af11['id']}})[_0x7697('0x1d')](function(){return getChanSpyPromise(_0xcc8728,_0x33af11);})[_0x7697('0x1d')](function(_0x432e8b){if(_0x432e8b&&_0x432e8b[_0x7697('0x17')]){return _0xcc8728[_0x7697('0x23')][_0x7697('0x24')](_0x432e8b);}})[_0x7697('0x1d')](function(){_0x639f0c();})[_0x7697('0x25')](function(_0x356212){_0x639f0c(_0x356212);});},'afterDestroy':function(_0x2abf6d,_0x4820ea,_0x35681f){return _0xcc8728[_0x7697('0x23')]['destroy']({'where':{'ChanSpyId':_0x2abf6d['id']}})[_0x7697('0x1d')](function(){_0x35681f();})['catch'](function(_0x3d948e){_0x35681f(_0x3d948e);});}}});};