Built motion from commit (unavailable).|2.5.16
[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 _0xc116=['SIP/%s,%s','name','options','join','length','concat','internal','findAll','then','exports','define','VoiceChanSpy','VoiceExtension','bulkCreate','catch','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','prefix','system','merge','CDR(type)=%s','chanspy','record','push','MixMonitor','${UNIQUEID}.%s,a','auth','password'];(function(_0x339102,_0x527b1e){var _0xe22155=function(_0x418398){while(--_0x418398){_0x339102['push'](_0x339102['shift']());}};_0xe22155(++_0x527b1e);}(_0xc116,0x164));var _0x6c11=function(_0x24433d,_0x2081c9){_0x24433d=_0x24433d-0x0;var _0x5a79fd=_0xc116[_0x24433d];return _0x5a79fd;};'use strict';var _=require(_0x6c11('0x0'));var util=require(_0x6c11('0x1'));var BPromise=require(_0x6c11('0x2'));var attributes=require(_0x6c11('0x3'));var getUserApplications=function(_0x6ddfa9,_0xeb5522,_0x186e6a){var _0x2fed8f=0x1;var _0x493feb=[];var _0x4069b9={'context':_0xeb5522[_0x6c11('0x4')]||_0x6c11('0x5'),'exten':util[_0x6c11('0x6')]('%s%s',_0x6ddfa9[_0x6c11('0x7')],_0x186e6a),'type':_0x6c11('0x8'),'isApp':![],'ChanSpyId':_0x6ddfa9['id'],'UserId':_0xeb5522['id']};_0x493feb['push'](_[_0x6c11('0x9')]({'app':'Set','appdata':util['format'](_0x6c11('0xa'),_0x6c11('0xb')),'priority':_0x2fed8f++},_0x4069b9));if(_0x6ddfa9[_0x6c11('0xc')]){_0x493feb[_0x6c11('0xd')](_[_0x6c11('0x9')]({'app':_0x6c11('0xe'),'appdata':util['format'](_0x6c11('0xf'),_0x6ddfa9['recordingFormat']),'priority':_0x2fed8f++},_0x4069b9));}if(_0x6ddfa9[_0x6c11('0x10')]){_0x493feb[_0x6c11('0xd')](_[_0x6c11('0x9')]({'app':'Authenticate','appdata':_0x6ddfa9[_0x6c11('0x11')],'priority':_0x2fed8f++},_0x4069b9));}_0x493feb[_0x6c11('0xd')](_[_0x6c11('0x9')]({'app':'ChanSpy','appdata':util['format'](_0x6c11('0x12'),_0xeb5522[_0x6c11('0x13')],_0x6ddfa9['options']?_0x6ddfa9[_0x6c11('0x14')][_0x6c11('0x15')](''):''),'priority':_0x2fed8f++},_0x4069b9));if(_0x6ddfa9[_0x6c11('0xc')]){_0x493feb[_0x6c11('0xd')](_['merge']({'app':'StopMixMonitor','priority':_0x2fed8f++},_0x4069b9));}return _0x493feb;};var getChanSpyApplications=function(_0x2a70ea,_0x2bf7bc){var _0x1cb5c3=[];for(var _0x4f7432=0x0,_0x5ec06e=0x1;_0x4f7432<_0x2bf7bc[_0x6c11('0x16')];_0x4f7432++,_0x5ec06e=0x1){_0x1cb5c3=_0x1cb5c3[_0x6c11('0x17')](getUserApplications(_0x2a70ea,_0x2bf7bc[_0x4f7432],_0x2bf7bc[_0x4f7432]['internal']));if(_0x2bf7bc[_0x4f7432][_0x6c11('0x18')]!=_0x2bf7bc[_0x4f7432][_0x6c11('0x13')]){_0x1cb5c3=_0x1cb5c3[_0x6c11('0x17')](getUserApplications(_0x2a70ea,_0x2bf7bc[_0x4f7432],_0x2bf7bc[_0x4f7432][_0x6c11('0x13')]));}}return _0x1cb5c3;};var getChanSpyPromise=function(_0x1ddf7c,_0x4747e5){return new BPromise(function(_0x403d14,_0x41ff73){return _0x1ddf7c['User'][_0x6c11('0x19')]({'attributes':['id','name',_0x6c11('0x18')],'where':{'role':'agent','chanspy':!![]},'raw':!![]})[_0x6c11('0x1a')](function(_0x462804){if(_0x462804){return _0x403d14(getChanSpyApplications(_0x4747e5,_0x462804));}return _0x403d14([]);})['catch'](function(_0x2c7e57){_0x41ff73(_0x2c7e57);});});};module[_0x6c11('0x1b')]=function(_0x4ea79e,_0x49b15d){var _0x364db8=_0x4ea79e['models'];return _0x4ea79e[_0x6c11('0x1c')](_0x6c11('0x1d'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x4d4fb5,_0x123b30,_0x3ae988){return getChanSpyPromise(_0x364db8,_0x4d4fb5)[_0x6c11('0x1a')](function(_0x43e954){if(_0x43e954&&_0x43e954[_0x6c11('0x16')]){return _0x364db8[_0x6c11('0x1e')][_0x6c11('0x1f')](_0x43e954);}})[_0x6c11('0x1a')](function(){_0x3ae988();})[_0x6c11('0x20')](function(_0x125976){_0x3ae988(_0x125976);});},'afterUpdate':function(_0x375eac,_0x249058,_0x491966){return _0x364db8['VoiceExtension']['destroy']({'where':{'ChanSpyId':_0x375eac['id']}})[_0x6c11('0x1a')](function(){return getChanSpyPromise(_0x364db8,_0x375eac);})[_0x6c11('0x1a')](function(_0x5dcfa9){if(_0x5dcfa9&&_0x5dcfa9[_0x6c11('0x16')]){return _0x364db8[_0x6c11('0x1e')][_0x6c11('0x1f')](_0x5dcfa9);}})[_0x6c11('0x1a')](function(){_0x491966();})[_0x6c11('0x20')](function(_0x255318){_0x491966(_0x255318);});},'afterDestroy':function(_0x1e175d,_0x2d261d,_0x1c72d8){return _0x364db8[_0x6c11('0x1e')][_0x6c11('0x21')]({'where':{'ChanSpyId':_0x1e175d['id']}})[_0x6c11('0x1a')](function(){_0x1c72d8();})[_0x6c11('0x20')](function(_0x2042f4){_0x1c72d8(_0x2042f4);});}}});};