Built motion from commit da617fac.|2.6.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 _0x8e86=['options','join','StopMixMonitor','length','internal','concat','User','findAll','agent','then','catch','exports','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','%s%s','prefix','system','push','merge','Set','format','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','ChanSpy','SIP/%s,%s','name'];(function(_0x3da241,_0xeba26a){var _0x43e156=function(_0x41ced1){while(--_0x41ced1){_0x3da241['push'](_0x3da241['shift']());}};_0x43e156(++_0xeba26a);}(_0x8e86,0x168));var _0x68e8=function(_0xf0b267,_0x4029ee){_0xf0b267=_0xf0b267-0x0;var _0x468140=_0x8e86[_0xf0b267];return _0x468140;};'use strict';var _=require(_0x68e8('0x0'));var util=require(_0x68e8('0x1'));var BPromise=require(_0x68e8('0x2'));var attributes=require(_0x68e8('0x3'));var getUserApplications=function(_0x20e834,_0x131143,_0x36c27d){var _0x23bf4a=0x1;var _0x567a4a=[];var _0xec81ad={'context':_0x131143[_0x68e8('0x4')]||_0x68e8('0x5'),'exten':util['format'](_0x68e8('0x6'),_0x20e834[_0x68e8('0x7')],_0x36c27d),'type':_0x68e8('0x8'),'isApp':![],'ChanSpyId':_0x20e834['id'],'UserId':_0x131143['id']};_0x567a4a[_0x68e8('0x9')](_[_0x68e8('0xa')]({'app':_0x68e8('0xb'),'appdata':util[_0x68e8('0xc')]('CDR(type)=%s','chanspy'),'priority':_0x23bf4a++},_0xec81ad));if(_0x20e834['record']){_0x567a4a['push'](_[_0x68e8('0xa')]({'app':_0x68e8('0xd'),'appdata':util['format'](_0x68e8('0xe'),_0x20e834[_0x68e8('0xf')]),'priority':_0x23bf4a++},_0xec81ad));}if(_0x20e834[_0x68e8('0x10')]){_0x567a4a[_0x68e8('0x9')](_['merge']({'app':'Authenticate','appdata':_0x20e834['password'],'priority':_0x23bf4a++},_0xec81ad));}_0x567a4a[_0x68e8('0x9')](_[_0x68e8('0xa')]({'app':_0x68e8('0x11'),'appdata':util['format'](_0x68e8('0x12'),_0x131143[_0x68e8('0x13')],_0x20e834['options']?_0x20e834[_0x68e8('0x14')][_0x68e8('0x15')](''):''),'priority':_0x23bf4a++},_0xec81ad));if(_0x20e834['record']){_0x567a4a[_0x68e8('0x9')](_[_0x68e8('0xa')]({'app':_0x68e8('0x16'),'priority':_0x23bf4a++},_0xec81ad));}return _0x567a4a;};var getChanSpyApplications=function(_0x4f19c4,_0x19394d){var _0x49878c=[];for(var _0xa905e2=0x0,_0xf29316=0x1;_0xa905e2<_0x19394d[_0x68e8('0x17')];_0xa905e2++,_0xf29316=0x1){_0x49878c=_0x49878c['concat'](getUserApplications(_0x4f19c4,_0x19394d[_0xa905e2],_0x19394d[_0xa905e2][_0x68e8('0x18')]));if(_0x19394d[_0xa905e2][_0x68e8('0x18')]!=_0x19394d[_0xa905e2][_0x68e8('0x13')]){_0x49878c=_0x49878c[_0x68e8('0x19')](getUserApplications(_0x4f19c4,_0x19394d[_0xa905e2],_0x19394d[_0xa905e2][_0x68e8('0x13')]));}}return _0x49878c;};var getChanSpyPromise=function(_0x322dd9,_0x51b35f){return new BPromise(function(_0xb246c9,_0x9748af){return _0x322dd9[_0x68e8('0x1a')][_0x68e8('0x1b')]({'attributes':['id',_0x68e8('0x13'),_0x68e8('0x18')],'where':{'role':_0x68e8('0x1c'),'chanspy':!![]},'raw':!![]})[_0x68e8('0x1d')](function(_0x4c7637){if(_0x4c7637){return _0xb246c9(getChanSpyApplications(_0x51b35f,_0x4c7637));}return _0xb246c9([]);})[_0x68e8('0x1e')](function(_0x58bf31){_0x9748af(_0x58bf31);});});};module[_0x68e8('0x1f')]=function(_0x286178,_0x225e4d){var _0x13f72a=_0x286178[_0x68e8('0x20')];return _0x286178[_0x68e8('0x21')](_0x68e8('0x22'),attributes,{'tableName':_0x68e8('0x23'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x5e79b2,_0x5448d8,_0x321767){return getChanSpyPromise(_0x13f72a,_0x5e79b2)[_0x68e8('0x1d')](function(_0x83e368){if(_0x83e368&&_0x83e368[_0x68e8('0x17')]){return _0x13f72a[_0x68e8('0x24')]['bulkCreate'](_0x83e368);}})['then'](function(){_0x321767();})[_0x68e8('0x1e')](function(_0xd578bd){_0x321767(_0xd578bd);});},'afterUpdate':function(_0x19f297,_0x307cac,_0x4978a3){return _0x13f72a[_0x68e8('0x24')]['destroy']({'where':{'ChanSpyId':_0x19f297['id']}})[_0x68e8('0x1d')](function(){return getChanSpyPromise(_0x13f72a,_0x19f297);})[_0x68e8('0x1d')](function(_0x5c660a){if(_0x5c660a&&_0x5c660a[_0x68e8('0x17')]){return _0x13f72a[_0x68e8('0x24')][_0x68e8('0x25')](_0x5c660a);}})['then'](function(){_0x4978a3();})[_0x68e8('0x1e')](function(_0x2e2da7){_0x4978a3(_0x2e2da7);});},'afterDestroy':function(_0x213ad3,_0x231bbb,_0x3f8de3){return _0x13f72a[_0x68e8('0x24')]['destroy']({'where':{'ChanSpyId':_0x213ad3['id']}})[_0x68e8('0x1d')](function(){_0x3f8de3();})[_0x68e8('0x1e')](function(_0x4cf37f){_0x3f8de3(_0x4cf37f);});}}});};