Built motion from commit fe909640.|2.6.8
[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 _0x6913=['prefix','system','merge','format','CDR(type)=%s','chanspy','record','MixMonitor','recordingFormat','auth','push','Authenticate','ChanSpy','SIP/%s,%s','options','StopMixMonitor','length','concat','internal','name','User','findAll','agent','catch','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','then','destroy','lodash','util','./voiceChanSpy.attributes'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6913,0x138));var _0x3691=function(_0x6ed9d1,_0x2d660a){_0x6ed9d1=_0x6ed9d1-0x0;var _0x14ec10=_0x6913[_0x6ed9d1];return _0x14ec10;};'use strict';var _=require(_0x3691('0x0'));var util=require(_0x3691('0x1'));var BPromise=require('bluebird');var attributes=require(_0x3691('0x2'));var getUserApplications=function(_0x5524ee,_0x4a4ec7,_0x17a8e8){var _0x970a85=0x1;var _0x2c4f73=[];var _0x3e55f1={'context':_0x4a4ec7['context']||'from-sip','exten':util['format']('%s%s',_0x5524ee[_0x3691('0x3')],_0x17a8e8),'type':_0x3691('0x4'),'isApp':![],'ChanSpyId':_0x5524ee['id'],'UserId':_0x4a4ec7['id']};_0x2c4f73['push'](_[_0x3691('0x5')]({'app':'Set','appdata':util[_0x3691('0x6')](_0x3691('0x7'),_0x3691('0x8')),'priority':_0x970a85++},_0x3e55f1));if(_0x5524ee[_0x3691('0x9')]){_0x2c4f73['push'](_[_0x3691('0x5')]({'app':_0x3691('0xa'),'appdata':util[_0x3691('0x6')]('${UNIQUEID}.%s,a',_0x5524ee[_0x3691('0xb')]),'priority':_0x970a85++},_0x3e55f1));}if(_0x5524ee[_0x3691('0xc')]){_0x2c4f73[_0x3691('0xd')](_[_0x3691('0x5')]({'app':_0x3691('0xe'),'appdata':_0x5524ee['password'],'priority':_0x970a85++},_0x3e55f1));}_0x2c4f73[_0x3691('0xd')](_[_0x3691('0x5')]({'app':_0x3691('0xf'),'appdata':util[_0x3691('0x6')](_0x3691('0x10'),_0x4a4ec7['name'],_0x5524ee[_0x3691('0x11')]?_0x5524ee[_0x3691('0x11')]['join'](''):''),'priority':_0x970a85++},_0x3e55f1));if(_0x5524ee[_0x3691('0x9')]){_0x2c4f73[_0x3691('0xd')](_[_0x3691('0x5')]({'app':_0x3691('0x12'),'priority':_0x970a85++},_0x3e55f1));}return _0x2c4f73;};var getChanSpyApplications=function(_0x53250d,_0x3c9194){var _0x3b44=[];for(var _0x4ee099=0x0,_0x27fc03=0x1;_0x4ee099<_0x3c9194[_0x3691('0x13')];_0x4ee099++,_0x27fc03=0x1){_0x3b44=_0x3b44[_0x3691('0x14')](getUserApplications(_0x53250d,_0x3c9194[_0x4ee099],_0x3c9194[_0x4ee099][_0x3691('0x15')]));if(_0x3c9194[_0x4ee099]['internal']!=_0x3c9194[_0x4ee099][_0x3691('0x16')]){_0x3b44=_0x3b44['concat'](getUserApplications(_0x53250d,_0x3c9194[_0x4ee099],_0x3c9194[_0x4ee099][_0x3691('0x16')]));}}return _0x3b44;};var getChanSpyPromise=function(_0x2616f4,_0x454d8a){return new BPromise(function(_0x467ea7,_0x4e364d){return _0x2616f4[_0x3691('0x17')][_0x3691('0x18')]({'attributes':['id',_0x3691('0x16'),_0x3691('0x15')],'where':{'role':_0x3691('0x19'),'chanspy':!![]},'raw':!![]})['then'](function(_0x231964){if(_0x231964){return _0x467ea7(getChanSpyApplications(_0x454d8a,_0x231964));}return _0x467ea7([]);})[_0x3691('0x1a')](function(_0x1f4254){_0x4e364d(_0x1f4254);});});};module['exports']=function(_0x20e8de,_0x496aa5){var _0x2f6d01=_0x20e8de[_0x3691('0x1b')];return _0x20e8de[_0x3691('0x1c')](_0x3691('0x1d'),attributes,{'tableName':_0x3691('0x1e'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x5d794c,_0x5dfafc,_0x598a2a){return getChanSpyPromise(_0x2f6d01,_0x5d794c)['then'](function(_0x5d6b75){if(_0x5d6b75&&_0x5d6b75[_0x3691('0x13')]){return _0x2f6d01[_0x3691('0x1f')][_0x3691('0x20')](_0x5d6b75);}})[_0x3691('0x21')](function(){_0x598a2a();})[_0x3691('0x1a')](function(_0x1664a3){_0x598a2a(_0x1664a3);});},'afterUpdate':function(_0x11ac50,_0x235cdc,_0xf03c7f){return _0x2f6d01[_0x3691('0x1f')][_0x3691('0x22')]({'where':{'ChanSpyId':_0x11ac50['id']}})['then'](function(){return getChanSpyPromise(_0x2f6d01,_0x11ac50);})['then'](function(_0x9454b6){if(_0x9454b6&&_0x9454b6[_0x3691('0x13')]){return _0x2f6d01[_0x3691('0x1f')][_0x3691('0x20')](_0x9454b6);}})['then'](function(){_0xf03c7f();})[_0x3691('0x1a')](function(_0x5ce12d){_0xf03c7f(_0x5ce12d);});},'afterDestroy':function(_0xcc2034,_0x672c50,_0x41bb4b){return _0x2f6d01['VoiceExtension']['destroy']({'where':{'ChanSpyId':_0xcc2034['id']}})['then'](function(){_0x41bb4b();})[_0x3691('0x1a')](function(_0x293382){_0x41bb4b(_0x293382);});}}});};