Built motion from commit (unavailable).|2.5.29
[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 _0x906c=['MixMonitor','format','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','join','length','internal','concat','User','agent','catch','exports','models','define','VoiceChanSpy','then','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','context','%s%s','prefix','system','Set','CDR(type)=%s','chanspy','record','push','merge'];(function(_0x27291b,_0x871cf5){var _0x5dcb20=function(_0x59cc17){while(--_0x59cc17){_0x27291b['push'](_0x27291b['shift']());}};_0x5dcb20(++_0x871cf5);}(_0x906c,0x195));var _0xc906=function(_0x5335e8,_0x422c85){_0x5335e8=_0x5335e8-0x0;var _0x6df671=_0x906c[_0x5335e8];return _0x6df671;};'use strict';var _=require(_0xc906('0x0'));var util=require(_0xc906('0x1'));var BPromise=require(_0xc906('0x2'));var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x5c4bfe,_0x3c59f4,_0x69032a){var _0x224871=0x1;var _0x39bb40=[];var _0x5f2e93={'context':_0x3c59f4[_0xc906('0x3')]||'from-sip','exten':util['format'](_0xc906('0x4'),_0x5c4bfe[_0xc906('0x5')],_0x69032a),'type':_0xc906('0x6'),'isApp':![],'ChanSpyId':_0x5c4bfe['id'],'UserId':_0x3c59f4['id']};_0x39bb40['push'](_['merge']({'app':_0xc906('0x7'),'appdata':util['format'](_0xc906('0x8'),_0xc906('0x9')),'priority':_0x224871++},_0x5f2e93));if(_0x5c4bfe[_0xc906('0xa')]){_0x39bb40[_0xc906('0xb')](_[_0xc906('0xc')]({'app':_0xc906('0xd'),'appdata':util[_0xc906('0xe')](_0xc906('0xf'),_0x5c4bfe[_0xc906('0x10')]),'priority':_0x224871++},_0x5f2e93));}if(_0x5c4bfe[_0xc906('0x11')]){_0x39bb40[_0xc906('0xb')](_['merge']({'app':_0xc906('0x12'),'appdata':_0x5c4bfe[_0xc906('0x13')],'priority':_0x224871++},_0x5f2e93));}_0x39bb40[_0xc906('0xb')](_[_0xc906('0xc')]({'app':_0xc906('0x14'),'appdata':util[_0xc906('0xe')](_0xc906('0x15'),_0x3c59f4[_0xc906('0x16')],_0x5c4bfe['options']?_0x5c4bfe['options'][_0xc906('0x17')](''):''),'priority':_0x224871++},_0x5f2e93));if(_0x5c4bfe[_0xc906('0xa')]){_0x39bb40['push'](_[_0xc906('0xc')]({'app':'StopMixMonitor','priority':_0x224871++},_0x5f2e93));}return _0x39bb40;};var getChanSpyApplications=function(_0x169e09,_0x5a35fb){var _0x83473c=[];for(var _0x3bbcfb=0x0,_0x48e9c1=0x1;_0x3bbcfb<_0x5a35fb[_0xc906('0x18')];_0x3bbcfb++,_0x48e9c1=0x1){_0x83473c=_0x83473c['concat'](getUserApplications(_0x169e09,_0x5a35fb[_0x3bbcfb],_0x5a35fb[_0x3bbcfb][_0xc906('0x19')]));if(_0x5a35fb[_0x3bbcfb][_0xc906('0x19')]!=_0x5a35fb[_0x3bbcfb][_0xc906('0x16')]){_0x83473c=_0x83473c[_0xc906('0x1a')](getUserApplications(_0x169e09,_0x5a35fb[_0x3bbcfb],_0x5a35fb[_0x3bbcfb][_0xc906('0x16')]));}}return _0x83473c;};var getChanSpyPromise=function(_0x3cda6e,_0x4cf3ab){return new BPromise(function(_0x28663e,_0x5afe15){return _0x3cda6e[_0xc906('0x1b')]['findAll']({'attributes':['id','name',_0xc906('0x19')],'where':{'role':_0xc906('0x1c'),'chanspy':!![]},'raw':!![]})['then'](function(_0x414996){if(_0x414996){return _0x28663e(getChanSpyApplications(_0x4cf3ab,_0x414996));}return _0x28663e([]);})[_0xc906('0x1d')](function(_0x2aa00){_0x5afe15(_0x2aa00);});});};module[_0xc906('0x1e')]=function(_0x4d2bf1,_0x298555){var _0x1a51a6=_0x4d2bf1[_0xc906('0x1f')];return _0x4d2bf1[_0xc906('0x20')](_0xc906('0x21'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x253a11,_0x287e1c,_0x40245e){return getChanSpyPromise(_0x1a51a6,_0x253a11)[_0xc906('0x22')](function(_0x433603){if(_0x433603&&_0x433603[_0xc906('0x18')]){return _0x1a51a6[_0xc906('0x23')][_0xc906('0x24')](_0x433603);}})['then'](function(){_0x40245e();})[_0xc906('0x1d')](function(_0x16dcd4){_0x40245e(_0x16dcd4);});},'afterUpdate':function(_0x1b6978,_0x2dfb41,_0x4f1303){return _0x1a51a6[_0xc906('0x23')][_0xc906('0x25')]({'where':{'ChanSpyId':_0x1b6978['id']}})[_0xc906('0x22')](function(){return getChanSpyPromise(_0x1a51a6,_0x1b6978);})[_0xc906('0x22')](function(_0x3817bd){if(_0x3817bd&&_0x3817bd['length']){return _0x1a51a6[_0xc906('0x23')][_0xc906('0x24')](_0x3817bd);}})[_0xc906('0x22')](function(){_0x4f1303();})['catch'](function(_0x4cb367){_0x4f1303(_0x4cb367);});},'afterDestroy':function(_0x32c7e1,_0x3ea61c,_0x15c63b){return _0x1a51a6[_0xc906('0x23')][_0xc906('0x25')]({'where':{'ChanSpyId':_0x32c7e1['id']}})[_0xc906('0x22')](function(){_0x15c63b();})[_0xc906('0x1d')](function(_0xc8f5a2){_0x15c63b(_0xc8f5a2);});}}});};