b1660cb40d9462872d61f03fb6dbc3804db22c8a
[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 _0x76dc=['options','join','StopMixMonitor','length','concat','internal','findAll','agent','then','catch','exports','models','define','voice_chanspy','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','from-sip','format','%s%s','push','merge','Set','chanspy','record','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name'];(function(_0x1916fd,_0x3c51f5){var _0x5a5ba1=function(_0x36b7e8){while(--_0x36b7e8){_0x1916fd['push'](_0x1916fd['shift']());}};_0x5a5ba1(++_0x3c51f5);}(_0x76dc,0x1f2));var _0xc76d=function(_0x170db8,_0x469876){_0x170db8=_0x170db8-0x0;var _0x4b9284=_0x76dc[_0x170db8];return _0x4b9284;};'use strict';var _=require(_0xc76d('0x0'));var util=require(_0xc76d('0x1'));var BPromise=require(_0xc76d('0x2'));var attributes=require(_0xc76d('0x3'));var getUserApplications=function(_0x49c651,_0x2a8b7d,_0x1ba6a1){var _0x5cff74=0x1;var _0x300f11=[];var _0x50ed3a={'context':_0x2a8b7d['context']||_0xc76d('0x4'),'exten':util[_0xc76d('0x5')](_0xc76d('0x6'),_0x49c651['prefix'],_0x1ba6a1),'type':'system','isApp':![],'ChanSpyId':_0x49c651['id'],'UserId':_0x2a8b7d['id']};_0x300f11[_0xc76d('0x7')](_[_0xc76d('0x8')]({'app':_0xc76d('0x9'),'appdata':util['format']('CDR(type)=%s',_0xc76d('0xa')),'priority':_0x5cff74++},_0x50ed3a));if(_0x49c651[_0xc76d('0xb')]){_0x300f11['push'](_[_0xc76d('0x8')]({'app':'MixMonitor','appdata':util[_0xc76d('0x5')](_0xc76d('0xc'),_0x49c651[_0xc76d('0xd')]),'priority':_0x5cff74++},_0x50ed3a));}if(_0x49c651[_0xc76d('0xe')]){_0x300f11[_0xc76d('0x7')](_[_0xc76d('0x8')]({'app':_0xc76d('0xf'),'appdata':_0x49c651[_0xc76d('0x10')],'priority':_0x5cff74++},_0x50ed3a));}_0x300f11[_0xc76d('0x7')](_[_0xc76d('0x8')]({'app':_0xc76d('0x11'),'appdata':util[_0xc76d('0x5')](_0xc76d('0x12'),_0x2a8b7d[_0xc76d('0x13')],_0x49c651['options']?_0x49c651[_0xc76d('0x14')][_0xc76d('0x15')](''):''),'priority':_0x5cff74++},_0x50ed3a));if(_0x49c651['record']){_0x300f11[_0xc76d('0x7')](_[_0xc76d('0x8')]({'app':_0xc76d('0x16'),'priority':_0x5cff74++},_0x50ed3a));}return _0x300f11;};var getChanSpyApplications=function(_0x6f94e,_0x5c680c){var _0x32e0a8=[];for(var _0x5d881c=0x0,_0x4cb2db=0x1;_0x5d881c<_0x5c680c[_0xc76d('0x17')];_0x5d881c++,_0x4cb2db=0x1){_0x32e0a8=_0x32e0a8[_0xc76d('0x18')](getUserApplications(_0x6f94e,_0x5c680c[_0x5d881c],_0x5c680c[_0x5d881c][_0xc76d('0x19')]));if(_0x5c680c[_0x5d881c][_0xc76d('0x19')]!=_0x5c680c[_0x5d881c][_0xc76d('0x13')]){_0x32e0a8=_0x32e0a8['concat'](getUserApplications(_0x6f94e,_0x5c680c[_0x5d881c],_0x5c680c[_0x5d881c][_0xc76d('0x13')]));}}return _0x32e0a8;};var getChanSpyPromise=function(_0x361f42,_0xa0c5b6){return new BPromise(function(_0x1c6d5b,_0x2181dd){return _0x361f42['User'][_0xc76d('0x1a')]({'attributes':['id',_0xc76d('0x13'),'internal'],'where':{'role':_0xc76d('0x1b'),'chanspy':!![]},'raw':!![]})[_0xc76d('0x1c')](function(_0x191e97){if(_0x191e97){return _0x1c6d5b(getChanSpyApplications(_0xa0c5b6,_0x191e97));}return _0x1c6d5b([]);})[_0xc76d('0x1d')](function(_0x18f546){_0x2181dd(_0x18f546);});});};module[_0xc76d('0x1e')]=function(_0x42b89c,_0x107fad){var _0xbebde6=_0x42b89c[_0xc76d('0x1f')];return _0x42b89c[_0xc76d('0x20')]('VoiceChanSpy',attributes,{'tableName':_0xc76d('0x21'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x17b46f,_0x4fc3a4,_0x637d68){return getChanSpyPromise(_0xbebde6,_0x17b46f)[_0xc76d('0x1c')](function(_0x55ca79){if(_0x55ca79&&_0x55ca79[_0xc76d('0x17')]){return _0xbebde6[_0xc76d('0x22')][_0xc76d('0x23')](_0x55ca79);}})[_0xc76d('0x1c')](function(){_0x637d68();})[_0xc76d('0x1d')](function(_0x1949c4){_0x637d68(_0x1949c4);});},'afterUpdate':function(_0x89ee5,_0x59ebd1,_0x59dabf){return _0xbebde6[_0xc76d('0x22')][_0xc76d('0x24')]({'where':{'ChanSpyId':_0x89ee5['id']}})['then'](function(){return getChanSpyPromise(_0xbebde6,_0x89ee5);})[_0xc76d('0x1c')](function(_0x52a79a){if(_0x52a79a&&_0x52a79a[_0xc76d('0x17')]){return _0xbebde6['VoiceExtension'][_0xc76d('0x23')](_0x52a79a);}})['then'](function(){_0x59dabf();})[_0xc76d('0x1d')](function(_0x18a7fa){_0x59dabf(_0x18a7fa);});},'afterDestroy':function(_0x4d896c,_0x3d4076,_0x1c68f3){return _0xbebde6[_0xc76d('0x22')][_0xc76d('0x24')]({'where':{'ChanSpyId':_0x4d896c['id']}})['then'](function(){_0x1c68f3();})[_0xc76d('0x1d')](function(_0x4a7e4c){_0x1c68f3(_0x4a7e4c);});}}});};