Built motion from commit b0a9a629.|2.6.33
[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 _0x3579=['recordingFormat','auth','password','name','options','length','concat','internal','User','findAll','agent','then','catch','exports','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','from-sip','format','%s%s','prefix','merge','Set','CDR(type)=%s','chanspy','record','push','MixMonitor'];(function(_0x40f4ff,_0x3f1fe4){var _0x228aab=function(_0x2fc3b9){while(--_0x2fc3b9){_0x40f4ff['push'](_0x40f4ff['shift']());}};_0x228aab(++_0x3f1fe4);}(_0x3579,0xe6));var _0x9357=function(_0x513aa5,_0x1fba79){_0x513aa5=_0x513aa5-0x0;var _0x1a1a7c=_0x3579[_0x513aa5];return _0x1a1a7c;};'use strict';var _=require(_0x9357('0x0'));var util=require(_0x9357('0x1'));var BPromise=require(_0x9357('0x2'));var attributes=require(_0x9357('0x3'));var getUserApplications=function(_0x1647ff,_0x2735bc,_0xcc77a7){var _0x543158=0x1;var _0x38663d=[];var _0x4ccc8d={'context':_0x2735bc['context']||_0x9357('0x4'),'exten':util[_0x9357('0x5')](_0x9357('0x6'),_0x1647ff[_0x9357('0x7')],_0xcc77a7),'type':'system','isApp':![],'ChanSpyId':_0x1647ff['id'],'UserId':_0x2735bc['id']};_0x38663d['push'](_[_0x9357('0x8')]({'app':_0x9357('0x9'),'appdata':util[_0x9357('0x5')](_0x9357('0xa'),_0x9357('0xb')),'priority':_0x543158++},_0x4ccc8d));if(_0x1647ff[_0x9357('0xc')]){_0x38663d[_0x9357('0xd')](_[_0x9357('0x8')]({'app':_0x9357('0xe'),'appdata':util[_0x9357('0x5')]('${UNIQUEID}.%s,a',_0x1647ff[_0x9357('0xf')]),'priority':_0x543158++},_0x4ccc8d));}if(_0x1647ff[_0x9357('0x10')]){_0x38663d[_0x9357('0xd')](_['merge']({'app':'Authenticate','appdata':_0x1647ff[_0x9357('0x11')],'priority':_0x543158++},_0x4ccc8d));}_0x38663d[_0x9357('0xd')](_[_0x9357('0x8')]({'app':'ChanSpy','appdata':util[_0x9357('0x5')]('SIP/%s,%s',_0x2735bc[_0x9357('0x12')],_0x1647ff[_0x9357('0x13')]?_0x1647ff['options']['join'](''):''),'priority':_0x543158++},_0x4ccc8d));if(_0x1647ff[_0x9357('0xc')]){_0x38663d[_0x9357('0xd')](_[_0x9357('0x8')]({'app':'StopMixMonitor','priority':_0x543158++},_0x4ccc8d));}return _0x38663d;};var getChanSpyApplications=function(_0x242165,_0x5e5df6){var _0x9bb0a=[];for(var _0x5ac7a6=0x0,_0xbbf01c=0x1;_0x5ac7a6<_0x5e5df6[_0x9357('0x14')];_0x5ac7a6++,_0xbbf01c=0x1){_0x9bb0a=_0x9bb0a[_0x9357('0x15')](getUserApplications(_0x242165,_0x5e5df6[_0x5ac7a6],_0x5e5df6[_0x5ac7a6][_0x9357('0x16')]));if(_0x5e5df6[_0x5ac7a6][_0x9357('0x16')]!=_0x5e5df6[_0x5ac7a6][_0x9357('0x12')]){_0x9bb0a=_0x9bb0a[_0x9357('0x15')](getUserApplications(_0x242165,_0x5e5df6[_0x5ac7a6],_0x5e5df6[_0x5ac7a6]['name']));}}return _0x9bb0a;};var getChanSpyPromise=function(_0x11fe47,_0x2642b7){return new BPromise(function(_0x231d31,_0x10ceb1){return _0x11fe47[_0x9357('0x17')][_0x9357('0x18')]({'attributes':['id','name','internal'],'where':{'role':_0x9357('0x19'),'chanspy':!![]},'raw':!![]})[_0x9357('0x1a')](function(_0x5f4bf3){if(_0x5f4bf3){return _0x231d31(getChanSpyApplications(_0x2642b7,_0x5f4bf3));}return _0x231d31([]);})[_0x9357('0x1b')](function(_0x106a21){_0x10ceb1(_0x106a21);});});};module[_0x9357('0x1c')]=function(_0x243907,_0x5b2bfd){var _0x169eb9=_0x243907['models'];return _0x243907[_0x9357('0x1d')](_0x9357('0x1e'),attributes,{'tableName':_0x9357('0x1f'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x2ca9aa,_0x2febfa,_0x382d7e){return getChanSpyPromise(_0x169eb9,_0x2ca9aa)['then'](function(_0x7d900a){if(_0x7d900a&&_0x7d900a[_0x9357('0x14')]){return _0x169eb9[_0x9357('0x20')][_0x9357('0x21')](_0x7d900a);}})[_0x9357('0x1a')](function(){_0x382d7e();})['catch'](function(_0x5daae7){_0x382d7e(_0x5daae7);});},'afterUpdate':function(_0x145336,_0x5d2e4f,_0x1e9372){return _0x169eb9[_0x9357('0x20')][_0x9357('0x22')]({'where':{'ChanSpyId':_0x145336['id']}})[_0x9357('0x1a')](function(){return getChanSpyPromise(_0x169eb9,_0x145336);})[_0x9357('0x1a')](function(_0x51099c){if(_0x51099c&&_0x51099c['length']){return _0x169eb9[_0x9357('0x20')][_0x9357('0x21')](_0x51099c);}})[_0x9357('0x1a')](function(){_0x1e9372();})[_0x9357('0x1b')](function(_0x71b7fa){_0x1e9372(_0x71b7fa);});},'afterDestroy':function(_0x4c77bc,_0x9a7951,_0x43baa1){return _0x169eb9['VoiceExtension'][_0x9357('0x22')]({'where':{'ChanSpyId':_0x4c77bc['id']}})['then'](function(){_0x43baa1();})['catch'](function(_0x237388){_0x43baa1(_0x237388);});}}});};