a2329d3ecbbedd33693dd318f4c623a87cb379f0
[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 _0x154b=['push','Set','chanspy','record','merge','MixMonitor','format','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','name','options','join','concat','internal','User','findAll','agent','then','catch','exports','models','VoiceChanSpy','voice_chanspy','bulkCreate','VoiceExtension','destroy','length','util','bluebird','./voiceChanSpy.attributes','from-sip','%s%s','prefix','system'];(function(_0x9b81a,_0x53dc63){var _0x2ce9db=function(_0x43dc4c){while(--_0x43dc4c){_0x9b81a['push'](_0x9b81a['shift']());}};_0x2ce9db(++_0x53dc63);}(_0x154b,0x65));var _0xb154=function(_0x235340,_0x4a4ca2){_0x235340=_0x235340-0x0;var _0x38890c=_0x154b[_0x235340];return _0x38890c;};'use strict';var _=require('lodash');var util=require(_0xb154('0x0'));var BPromise=require(_0xb154('0x1'));var attributes=require(_0xb154('0x2'));var getUserApplications=function(_0x11168c,_0x3bf996,_0x292bc0){var _0x29984f=0x1;var _0xbd8a74=[];var _0x4e21a1={'context':_0x3bf996['context']||_0xb154('0x3'),'exten':util['format'](_0xb154('0x4'),_0x11168c[_0xb154('0x5')],_0x292bc0),'type':_0xb154('0x6'),'isApp':![],'ChanSpyId':_0x11168c['id'],'UserId':_0x3bf996['id']};_0xbd8a74[_0xb154('0x7')](_['merge']({'app':_0xb154('0x8'),'appdata':util['format']('CDR(type)=%s',_0xb154('0x9')),'priority':_0x29984f++},_0x4e21a1));if(_0x11168c[_0xb154('0xa')]){_0xbd8a74[_0xb154('0x7')](_[_0xb154('0xb')]({'app':_0xb154('0xc'),'appdata':util[_0xb154('0xd')](_0xb154('0xe'),_0x11168c[_0xb154('0xf')]),'priority':_0x29984f++},_0x4e21a1));}if(_0x11168c[_0xb154('0x10')]){_0xbd8a74[_0xb154('0x7')](_[_0xb154('0xb')]({'app':_0xb154('0x11'),'appdata':_0x11168c['password'],'priority':_0x29984f++},_0x4e21a1));}_0xbd8a74[_0xb154('0x7')](_['merge']({'app':'ChanSpy','appdata':util[_0xb154('0xd')]('SIP/%s,%s',_0x3bf996[_0xb154('0x12')],_0x11168c['options']?_0x11168c[_0xb154('0x13')][_0xb154('0x14')](''):''),'priority':_0x29984f++},_0x4e21a1));if(_0x11168c[_0xb154('0xa')]){_0xbd8a74['push'](_['merge']({'app':'StopMixMonitor','priority':_0x29984f++},_0x4e21a1));}return _0xbd8a74;};var getChanSpyApplications=function(_0x1e3d1a,_0xe910c0){var _0x4638b6=[];for(var _0xa4910e=0x0,_0x5932f5=0x1;_0xa4910e<_0xe910c0['length'];_0xa4910e++,_0x5932f5=0x1){_0x4638b6=_0x4638b6[_0xb154('0x15')](getUserApplications(_0x1e3d1a,_0xe910c0[_0xa4910e],_0xe910c0[_0xa4910e][_0xb154('0x16')]));if(_0xe910c0[_0xa4910e]['internal']!=_0xe910c0[_0xa4910e][_0xb154('0x12')]){_0x4638b6=_0x4638b6[_0xb154('0x15')](getUserApplications(_0x1e3d1a,_0xe910c0[_0xa4910e],_0xe910c0[_0xa4910e]['name']));}}return _0x4638b6;};var getChanSpyPromise=function(_0x624e3,_0x141296){return new BPromise(function(_0x1f6307,_0x3efa75){return _0x624e3[_0xb154('0x17')][_0xb154('0x18')]({'attributes':['id','name',_0xb154('0x16')],'where':{'role':_0xb154('0x19'),'chanspy':!![]},'raw':!![]})[_0xb154('0x1a')](function(_0x57818b){if(_0x57818b){return _0x1f6307(getChanSpyApplications(_0x141296,_0x57818b));}return _0x1f6307([]);})[_0xb154('0x1b')](function(_0x220901){_0x3efa75(_0x220901);});});};module[_0xb154('0x1c')]=function(_0x2c0601,_0x2efcd5){var _0x4abb60=_0x2c0601[_0xb154('0x1d')];return _0x2c0601['define'](_0xb154('0x1e'),attributes,{'tableName':_0xb154('0x1f'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x417087,_0x3acd8f,_0x32c722){return getChanSpyPromise(_0x4abb60,_0x417087)[_0xb154('0x1a')](function(_0x2e1611){if(_0x2e1611&&_0x2e1611['length']){return _0x4abb60['VoiceExtension'][_0xb154('0x20')](_0x2e1611);}})[_0xb154('0x1a')](function(){_0x32c722();})[_0xb154('0x1b')](function(_0x15e07f){_0x32c722(_0x15e07f);});},'afterUpdate':function(_0x299ca4,_0x597e3f,_0x5650d9){return _0x4abb60[_0xb154('0x21')][_0xb154('0x22')]({'where':{'ChanSpyId':_0x299ca4['id']}})[_0xb154('0x1a')](function(){return getChanSpyPromise(_0x4abb60,_0x299ca4);})['then'](function(_0x3e4f0e){if(_0x3e4f0e&&_0x3e4f0e[_0xb154('0x23')]){return _0x4abb60[_0xb154('0x21')][_0xb154('0x20')](_0x3e4f0e);}})[_0xb154('0x1a')](function(){_0x5650d9();})[_0xb154('0x1b')](function(_0x2ed81d){_0x5650d9(_0x2ed81d);});},'afterDestroy':function(_0x5c16e3,_0x2852dc,_0x5ba6d4){return _0x4abb60[_0xb154('0x21')][_0xb154('0x22')]({'where':{'ChanSpyId':_0x5c16e3['id']}})['then'](function(){_0x5ba6d4();})[_0xb154('0x1b')](function(_0x4b3184){_0x5ba6d4(_0x4b3184);});}}});};