Built motion from commit (unavailable).|2.5.6
[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 _0x2121=['then','VoiceExtension','destroy','bulkCreate','lodash','util','context','format','%s%s','prefix','system','push','merge','CDR(type)=%s','chanspy','record','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','length','concat','internal','User','findAll','agent','catch','exports','models'];(function(_0x131e6f,_0x3fd0c2){var _0x949c89=function(_0x205606){while(--_0x205606){_0x131e6f['push'](_0x131e6f['shift']());}};_0x949c89(++_0x3fd0c2);}(_0x2121,0x1b4));var _0x1212=function(_0x237c3f,_0x3507a6){_0x237c3f=_0x237c3f-0x0;var _0x4d7267=_0x2121[_0x237c3f];return _0x4d7267;};'use strict';var _=require(_0x1212('0x0'));var util=require(_0x1212('0x1'));var BPromise=require('bluebird');var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x1e00c4,_0x3081d8,_0x3929a1){var _0x2447e3=0x1;var _0x44337c=[];var _0x553ed1={'context':_0x3081d8[_0x1212('0x2')]||'from-sip','exten':util[_0x1212('0x3')](_0x1212('0x4'),_0x1e00c4[_0x1212('0x5')],_0x3929a1),'type':_0x1212('0x6'),'isApp':![],'ChanSpyId':_0x1e00c4['id'],'UserId':_0x3081d8['id']};_0x44337c[_0x1212('0x7')](_[_0x1212('0x8')]({'app':'Set','appdata':util[_0x1212('0x3')](_0x1212('0x9'),_0x1212('0xa')),'priority':_0x2447e3++},_0x553ed1));if(_0x1e00c4[_0x1212('0xb')]){_0x44337c[_0x1212('0x7')](_[_0x1212('0x8')]({'app':'MixMonitor','appdata':util['format'](_0x1212('0xc'),_0x1e00c4[_0x1212('0xd')]),'priority':_0x2447e3++},_0x553ed1));}if(_0x1e00c4[_0x1212('0xe')]){_0x44337c[_0x1212('0x7')](_['merge']({'app':_0x1212('0xf'),'appdata':_0x1e00c4[_0x1212('0x10')],'priority':_0x2447e3++},_0x553ed1));}_0x44337c[_0x1212('0x7')](_[_0x1212('0x8')]({'app':_0x1212('0x11'),'appdata':util[_0x1212('0x3')](_0x1212('0x12'),_0x3081d8[_0x1212('0x13')],_0x1e00c4[_0x1212('0x14')]?_0x1e00c4[_0x1212('0x14')][_0x1212('0x15')](''):''),'priority':_0x2447e3++},_0x553ed1));if(_0x1e00c4[_0x1212('0xb')]){_0x44337c[_0x1212('0x7')](_[_0x1212('0x8')]({'app':_0x1212('0x16'),'priority':_0x2447e3++},_0x553ed1));}return _0x44337c;};var getChanSpyApplications=function(_0x5cc246,_0x568870){var _0x54ae52=[];for(var _0x3cfe21=0x0,_0x2b599e=0x1;_0x3cfe21<_0x568870[_0x1212('0x17')];_0x3cfe21++,_0x2b599e=0x1){_0x54ae52=_0x54ae52[_0x1212('0x18')](getUserApplications(_0x5cc246,_0x568870[_0x3cfe21],_0x568870[_0x3cfe21][_0x1212('0x19')]));if(_0x568870[_0x3cfe21][_0x1212('0x19')]!=_0x568870[_0x3cfe21][_0x1212('0x13')]){_0x54ae52=_0x54ae52[_0x1212('0x18')](getUserApplications(_0x5cc246,_0x568870[_0x3cfe21],_0x568870[_0x3cfe21][_0x1212('0x13')]));}}return _0x54ae52;};var getChanSpyPromise=function(_0x52128f,_0x3c638a){return new BPromise(function(_0x1333ec,_0xf862c7){return _0x52128f[_0x1212('0x1a')][_0x1212('0x1b')]({'attributes':['id',_0x1212('0x13'),_0x1212('0x19')],'where':{'role':_0x1212('0x1c'),'chanspy':!![]},'raw':!![]})['then'](function(_0x38a5e2){if(_0x38a5e2){return _0x1333ec(getChanSpyApplications(_0x3c638a,_0x38a5e2));}return _0x1333ec([]);})[_0x1212('0x1d')](function(_0x46d6df){_0xf862c7(_0x46d6df);});});};module[_0x1212('0x1e')]=function(_0x1571fd,_0x24c770){var _0x542969=_0x1571fd[_0x1212('0x1f')];return _0x1571fd['define']('VoiceChanSpy',attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x57ec8b,_0x573273,_0xec5b8d){return getChanSpyPromise(_0x542969,_0x57ec8b)[_0x1212('0x20')](function(_0x4c32a7){if(_0x4c32a7&&_0x4c32a7[_0x1212('0x17')]){return _0x542969[_0x1212('0x21')]['bulkCreate'](_0x4c32a7);}})[_0x1212('0x20')](function(){_0xec5b8d();})[_0x1212('0x1d')](function(_0x4630b4){_0xec5b8d(_0x4630b4);});},'afterUpdate':function(_0x428a37,_0x3a0ddf,_0x3f6be3){return _0x542969[_0x1212('0x21')][_0x1212('0x22')]({'where':{'ChanSpyId':_0x428a37['id']}})['then'](function(){return getChanSpyPromise(_0x542969,_0x428a37);})[_0x1212('0x20')](function(_0x7706a0){if(_0x7706a0&&_0x7706a0[_0x1212('0x17')]){return _0x542969[_0x1212('0x21')][_0x1212('0x23')](_0x7706a0);}})[_0x1212('0x20')](function(){_0x3f6be3();})[_0x1212('0x1d')](function(_0x40b8f6){_0x3f6be3(_0x40b8f6);});},'afterDestroy':function(_0x27d89f,_0x1e3506,_0x4b8e34){return _0x542969['VoiceExtension'][_0x1212('0x22')]({'where':{'ChanSpyId':_0x27d89f['id']}})['then'](function(){_0x4b8e34();})[_0x1212('0x1d')](function(_0x55a532){_0x4b8e34(_0x55a532);});}}});};