Built motion from commit ddca4d0d.|2.5.47
[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 _0x81f7=['bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','%s%s','prefix','system','push','Set','CDR(type)=%s','chanspy','record','merge','MixMonitor','format','${UNIQUEID}.%s,a','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','length','concat','internal','findAll','agent','then','catch','exports','define','VoiceChanSpy','VoiceExtension'];(function(_0x17c8cc,_0x5e5647){var _0x3db4eb=function(_0x2082db){while(--_0x2082db){_0x17c8cc['push'](_0x17c8cc['shift']());}};_0x3db4eb(++_0x5e5647);}(_0x81f7,0x16a));var _0x781f=function(_0x5f10b1,_0x1965be){_0x5f10b1=_0x5f10b1-0x0;var _0x341631=_0x81f7[_0x5f10b1];return _0x341631;};'use strict';var _=require(_0x781f('0x0'));var util=require(_0x781f('0x1'));var BPromise=require(_0x781f('0x2'));var attributes=require(_0x781f('0x3'));var getUserApplications=function(_0x836a9e,_0xf4737,_0x532249){var _0x41c73d=0x1;var _0x336ee5=[];var _0x489bad={'context':_0xf4737[_0x781f('0x4')]||_0x781f('0x5'),'exten':util['format'](_0x781f('0x6'),_0x836a9e[_0x781f('0x7')],_0x532249),'type':_0x781f('0x8'),'isApp':![],'ChanSpyId':_0x836a9e['id'],'UserId':_0xf4737['id']};_0x336ee5[_0x781f('0x9')](_['merge']({'app':_0x781f('0xa'),'appdata':util['format'](_0x781f('0xb'),_0x781f('0xc')),'priority':_0x41c73d++},_0x489bad));if(_0x836a9e[_0x781f('0xd')]){_0x336ee5[_0x781f('0x9')](_[_0x781f('0xe')]({'app':_0x781f('0xf'),'appdata':util[_0x781f('0x10')](_0x781f('0x11'),_0x836a9e['recordingFormat']),'priority':_0x41c73d++},_0x489bad));}if(_0x836a9e[_0x781f('0x12')]){_0x336ee5[_0x781f('0x9')](_[_0x781f('0xe')]({'app':_0x781f('0x13'),'appdata':_0x836a9e[_0x781f('0x14')],'priority':_0x41c73d++},_0x489bad));}_0x336ee5['push'](_[_0x781f('0xe')]({'app':_0x781f('0x15'),'appdata':util[_0x781f('0x10')](_0x781f('0x16'),_0xf4737[_0x781f('0x17')],_0x836a9e[_0x781f('0x18')]?_0x836a9e[_0x781f('0x18')][_0x781f('0x19')](''):''),'priority':_0x41c73d++},_0x489bad));if(_0x836a9e[_0x781f('0xd')]){_0x336ee5['push'](_[_0x781f('0xe')]({'app':_0x781f('0x1a'),'priority':_0x41c73d++},_0x489bad));}return _0x336ee5;};var getChanSpyApplications=function(_0x53bbcb,_0x45d97f){var _0x147d62=[];for(var _0x14ae1f=0x0,_0xa69ac8=0x1;_0x14ae1f<_0x45d97f[_0x781f('0x1b')];_0x14ae1f++,_0xa69ac8=0x1){_0x147d62=_0x147d62[_0x781f('0x1c')](getUserApplications(_0x53bbcb,_0x45d97f[_0x14ae1f],_0x45d97f[_0x14ae1f][_0x781f('0x1d')]));if(_0x45d97f[_0x14ae1f]['internal']!=_0x45d97f[_0x14ae1f][_0x781f('0x17')]){_0x147d62=_0x147d62['concat'](getUserApplications(_0x53bbcb,_0x45d97f[_0x14ae1f],_0x45d97f[_0x14ae1f][_0x781f('0x17')]));}}return _0x147d62;};var getChanSpyPromise=function(_0x51dce1,_0x5c398e){return new BPromise(function(_0x383804,_0x41e9c0){return _0x51dce1['User'][_0x781f('0x1e')]({'attributes':['id',_0x781f('0x17'),'internal'],'where':{'role':_0x781f('0x1f'),'chanspy':!![]},'raw':!![]})[_0x781f('0x20')](function(_0x2609f8){if(_0x2609f8){return _0x383804(getChanSpyApplications(_0x5c398e,_0x2609f8));}return _0x383804([]);})[_0x781f('0x21')](function(_0x35a7ee){_0x41e9c0(_0x35a7ee);});});};module[_0x781f('0x22')]=function(_0x4b4d29,_0x27e288){var _0x44d5c5=_0x4b4d29['models'];return _0x4b4d29[_0x781f('0x23')](_0x781f('0x24'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x33fa33,_0x14a892,_0x457273){return getChanSpyPromise(_0x44d5c5,_0x33fa33)[_0x781f('0x20')](function(_0x3e912e){if(_0x3e912e&&_0x3e912e[_0x781f('0x1b')]){return _0x44d5c5[_0x781f('0x25')][_0x781f('0x26')](_0x3e912e);}})[_0x781f('0x20')](function(){_0x457273();})[_0x781f('0x21')](function(_0xd5d632){_0x457273(_0xd5d632);});},'afterUpdate':function(_0x42b5d9,_0x45b1cb,_0x4e9172){return _0x44d5c5[_0x781f('0x25')][_0x781f('0x27')]({'where':{'ChanSpyId':_0x42b5d9['id']}})['then'](function(){return getChanSpyPromise(_0x44d5c5,_0x42b5d9);})[_0x781f('0x20')](function(_0x27b40b){if(_0x27b40b&&_0x27b40b[_0x781f('0x1b')]){return _0x44d5c5[_0x781f('0x25')][_0x781f('0x26')](_0x27b40b);}})[_0x781f('0x20')](function(){_0x4e9172();})[_0x781f('0x21')](function(_0x4c325f){_0x4e9172(_0x4c325f);});},'afterDestroy':function(_0x22a965,_0x2b20de,_0x4a4d20){return _0x44d5c5['VoiceExtension']['destroy']({'where':{'ChanSpyId':_0x22a965['id']}})[_0x781f('0x20')](function(){_0x4a4d20();})[_0x781f('0x21')](function(_0x3b29a6){_0x4a4d20(_0x3b29a6);});}}});};