Built motion from commit (unavailable).|2.4.17
[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 _0x166b=['voice_chanspy','bulkCreate','VoiceExtension','destroy','catch','bluebird','context','format','%s%s','prefix','system','merge','Set','record','push','MixMonitor','${UNIQUEID}.%s,ab','auth','Authenticate','ChanSpy','SIP/%s,%s','name','join','StopMixMonitor','length','concat','internal','findAll','agent','then','exports','define','VoiceChanSpy'];(function(_0x2d1fe9,_0x1e1b1b){var _0x47ce67=function(_0x45a4d4){while(--_0x45a4d4){_0x2d1fe9['push'](_0x2d1fe9['shift']());}};_0x47ce67(++_0x1e1b1b);}(_0x166b,0x1f4));var _0xb166=function(_0x19b6d7,_0x41130d){_0x19b6d7=_0x19b6d7-0x0;var _0x5ee0d5=_0x166b[_0x19b6d7];return _0x5ee0d5;};'use strict';var _=require('lodash');var util=require('util');var BPromise=require(_0xb166('0x0'));var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x2cde91,_0xf65de3,_0x5685a4){var _0x3c5204=0x1;var _0x2a70b3=[];var _0x220bb2={'context':_0xf65de3[_0xb166('0x1')]||'from-sip','exten':util[_0xb166('0x2')](_0xb166('0x3'),_0x2cde91[_0xb166('0x4')],_0x5685a4),'type':_0xb166('0x5'),'isApp':![],'ChanSpyId':_0x2cde91['id'],'UserId':_0xf65de3['id']};_0x2a70b3['push'](_[_0xb166('0x6')]({'app':_0xb166('0x7'),'appdata':util[_0xb166('0x2')]('CDR(type)=%s','chanspy'),'priority':_0x3c5204++},_0x220bb2));if(_0x2cde91[_0xb166('0x8')]){_0x2a70b3[_0xb166('0x9')](_[_0xb166('0x6')]({'app':_0xb166('0xa'),'appdata':util[_0xb166('0x2')](_0xb166('0xb'),_0x2cde91['recordingFormat']),'priority':_0x3c5204++},_0x220bb2));}if(_0x2cde91[_0xb166('0xc')]){_0x2a70b3[_0xb166('0x9')](_[_0xb166('0x6')]({'app':_0xb166('0xd'),'appdata':_0x2cde91['password'],'priority':_0x3c5204++},_0x220bb2));}_0x2a70b3[_0xb166('0x9')](_[_0xb166('0x6')]({'app':_0xb166('0xe'),'appdata':util['format'](_0xb166('0xf'),_0xf65de3[_0xb166('0x10')],_0x2cde91['options']?_0x2cde91['options'][_0xb166('0x11')](''):''),'priority':_0x3c5204++},_0x220bb2));if(_0x2cde91['record']){_0x2a70b3[_0xb166('0x9')](_[_0xb166('0x6')]({'app':_0xb166('0x12'),'priority':_0x3c5204++},_0x220bb2));}return _0x2a70b3;};var getChanSpyApplications=function(_0x31310b,_0x456240){var _0x5c71f6=[];for(var _0x2ae4fa=0x0,_0x170c40=0x1;_0x2ae4fa<_0x456240[_0xb166('0x13')];_0x2ae4fa++,_0x170c40=0x1){_0x5c71f6=_0x5c71f6[_0xb166('0x14')](getUserApplications(_0x31310b,_0x456240[_0x2ae4fa],_0x456240[_0x2ae4fa][_0xb166('0x15')]));if(_0x456240[_0x2ae4fa]['internal']!=_0x456240[_0x2ae4fa][_0xb166('0x10')]){_0x5c71f6=_0x5c71f6[_0xb166('0x14')](getUserApplications(_0x31310b,_0x456240[_0x2ae4fa],_0x456240[_0x2ae4fa][_0xb166('0x10')]));}}return _0x5c71f6;};var getChanSpyPromise=function(_0xff311e,_0x31429c){return new BPromise(function(_0xe5a9e3,_0x140817){return _0xff311e['User'][_0xb166('0x16')]({'attributes':['id',_0xb166('0x10'),_0xb166('0x15')],'where':{'role':_0xb166('0x17'),'chanspy':!![]},'raw':!![]})[_0xb166('0x18')](function(_0x230cc9){if(_0x230cc9){return _0xe5a9e3(getChanSpyApplications(_0x31429c,_0x230cc9));}return _0xe5a9e3([]);})['catch'](function(_0x1df7c1){_0x140817(_0x1df7c1);});});};module[_0xb166('0x19')]=function(_0x35d3cc,_0x571217){var _0x32dc68=_0x35d3cc['models'];return _0x35d3cc[_0xb166('0x1a')](_0xb166('0x1b'),attributes,{'tableName':_0xb166('0x1c'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x37fc37,_0x14b370,_0x4729ee){return getChanSpyPromise(_0x32dc68,_0x37fc37)['then'](function(_0x2ce2aa){if(_0x2ce2aa&&_0x2ce2aa[_0xb166('0x13')]){return _0x32dc68['VoiceExtension'][_0xb166('0x1d')](_0x2ce2aa);}})[_0xb166('0x18')](function(){_0x4729ee();})['catch'](function(_0x10f53f){_0x4729ee(_0x10f53f);});},'afterUpdate':function(_0x2787ea,_0x42adec,_0x37c957){return _0x32dc68[_0xb166('0x1e')][_0xb166('0x1f')]({'where':{'ChanSpyId':_0x2787ea['id']}})[_0xb166('0x18')](function(){return getChanSpyPromise(_0x32dc68,_0x2787ea);})[_0xb166('0x18')](function(_0x3266eb){if(_0x3266eb&&_0x3266eb[_0xb166('0x13')]){return _0x32dc68[_0xb166('0x1e')][_0xb166('0x1d')](_0x3266eb);}})[_0xb166('0x18')](function(){_0x37c957();})[_0xb166('0x20')](function(_0x2ec032){_0x37c957(_0x2ec032);});},'afterDestroy':function(_0x2d8f1b,_0xab13cf,_0x15e4e8){return _0x32dc68[_0xb166('0x1e')]['destroy']({'where':{'ChanSpyId':_0x2d8f1b['id']}})[_0xb166('0x18')](function(){_0x15e4e8();})[_0xb166('0x20')](function(_0x2005cf){_0x15e4e8(_0x2005cf);});}}});};