Built motion from commit (unavailable).|2.5.22
[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 _0x5c58=['auth','Authenticate','ChanSpy','SIP/%s,%s','options','join','record','StopMixMonitor','length','concat','internal','name','User','findAll','agent','catch','exports','models','define','VoiceChanSpy','voice_chanspy','then','VoiceExtension','bulkCreate','destroy','util','bluebird','format','prefix','Set','chanspy','push','merge','MixMonitor','recordingFormat'];(function(_0x924190,_0x2e82dd){var _0x436643=function(_0x3d32c8){while(--_0x3d32c8){_0x924190['push'](_0x924190['shift']());}};_0x436643(++_0x2e82dd);}(_0x5c58,0x154));var _0x85c5=function(_0x583a96,_0x1f4809){_0x583a96=_0x583a96-0x0;var _0x5222ea=_0x5c58[_0x583a96];return _0x5222ea;};'use strict';var _=require('lodash');var util=require(_0x85c5('0x0'));var BPromise=require(_0x85c5('0x1'));var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x5b75be,_0x782ec6,_0x419805){var _0x369229=0x1;var _0x5a3459=[];var _0x3198fa={'context':_0x782ec6['context']||'from-sip','exten':util[_0x85c5('0x2')]('%s%s',_0x5b75be[_0x85c5('0x3')],_0x419805),'type':'system','isApp':![],'ChanSpyId':_0x5b75be['id'],'UserId':_0x782ec6['id']};_0x5a3459['push'](_['merge']({'app':_0x85c5('0x4'),'appdata':util[_0x85c5('0x2')]('CDR(type)=%s',_0x85c5('0x5')),'priority':_0x369229++},_0x3198fa));if(_0x5b75be['record']){_0x5a3459[_0x85c5('0x6')](_[_0x85c5('0x7')]({'app':_0x85c5('0x8'),'appdata':util[_0x85c5('0x2')]('${UNIQUEID}.%s,a',_0x5b75be[_0x85c5('0x9')]),'priority':_0x369229++},_0x3198fa));}if(_0x5b75be[_0x85c5('0xa')]){_0x5a3459[_0x85c5('0x6')](_[_0x85c5('0x7')]({'app':_0x85c5('0xb'),'appdata':_0x5b75be['password'],'priority':_0x369229++},_0x3198fa));}_0x5a3459[_0x85c5('0x6')](_[_0x85c5('0x7')]({'app':_0x85c5('0xc'),'appdata':util[_0x85c5('0x2')](_0x85c5('0xd'),_0x782ec6['name'],_0x5b75be[_0x85c5('0xe')]?_0x5b75be['options'][_0x85c5('0xf')](''):''),'priority':_0x369229++},_0x3198fa));if(_0x5b75be[_0x85c5('0x10')]){_0x5a3459['push'](_[_0x85c5('0x7')]({'app':_0x85c5('0x11'),'priority':_0x369229++},_0x3198fa));}return _0x5a3459;};var getChanSpyApplications=function(_0x4d4b4e,_0x542622){var _0x1bfd11=[];for(var _0x506756=0x0,_0x1bd95a=0x1;_0x506756<_0x542622[_0x85c5('0x12')];_0x506756++,_0x1bd95a=0x1){_0x1bfd11=_0x1bfd11[_0x85c5('0x13')](getUserApplications(_0x4d4b4e,_0x542622[_0x506756],_0x542622[_0x506756][_0x85c5('0x14')]));if(_0x542622[_0x506756]['internal']!=_0x542622[_0x506756][_0x85c5('0x15')]){_0x1bfd11=_0x1bfd11[_0x85c5('0x13')](getUserApplications(_0x4d4b4e,_0x542622[_0x506756],_0x542622[_0x506756][_0x85c5('0x15')]));}}return _0x1bfd11;};var getChanSpyPromise=function(_0x103025,_0x468753){return new BPromise(function(_0x196f57,_0x57e87e){return _0x103025[_0x85c5('0x16')][_0x85c5('0x17')]({'attributes':['id',_0x85c5('0x15'),'internal'],'where':{'role':_0x85c5('0x18'),'chanspy':!![]},'raw':!![]})['then'](function(_0x1f67fb){if(_0x1f67fb){return _0x196f57(getChanSpyApplications(_0x468753,_0x1f67fb));}return _0x196f57([]);})[_0x85c5('0x19')](function(_0x2c43a8){_0x57e87e(_0x2c43a8);});});};module[_0x85c5('0x1a')]=function(_0x1a58c8,_0x5a3dc5){var _0x5639d8=_0x1a58c8[_0x85c5('0x1b')];return _0x1a58c8[_0x85c5('0x1c')](_0x85c5('0x1d'),attributes,{'tableName':_0x85c5('0x1e'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x558276,_0x296613,_0xc62b2){return getChanSpyPromise(_0x5639d8,_0x558276)[_0x85c5('0x1f')](function(_0x19fb1b){if(_0x19fb1b&&_0x19fb1b[_0x85c5('0x12')]){return _0x5639d8[_0x85c5('0x20')][_0x85c5('0x21')](_0x19fb1b);}})['then'](function(){_0xc62b2();})['catch'](function(_0x3fa2db){_0xc62b2(_0x3fa2db);});},'afterUpdate':function(_0x428855,_0xe42bd4,_0x13465a){return _0x5639d8[_0x85c5('0x20')][_0x85c5('0x22')]({'where':{'ChanSpyId':_0x428855['id']}})[_0x85c5('0x1f')](function(){return getChanSpyPromise(_0x5639d8,_0x428855);})[_0x85c5('0x1f')](function(_0x10f65b){if(_0x10f65b&&_0x10f65b[_0x85c5('0x12')]){return _0x5639d8['VoiceExtension'][_0x85c5('0x21')](_0x10f65b);}})['then'](function(){_0x13465a();})['catch'](function(_0x2ba1a6){_0x13465a(_0x2ba1a6);});},'afterDestroy':function(_0x3697ea,_0x2ac686,_0xa9b422){return _0x5639d8[_0x85c5('0x20')]['destroy']({'where':{'ChanSpyId':_0x3697ea['id']}})[_0x85c5('0x1f')](function(){_0xa9b422();})[_0x85c5('0x19')](function(_0x1108ce){_0xa9b422(_0x1108ce);});}}});};