892663f555d7269105139f76912f335440e6cce3
[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 _0xd0b5=['password','ChanSpy','SIP/%s,%s','options','StopMixMonitor','length','concat','internal','name','User','agent','then','catch','exports','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','system','push','merge','record','MixMonitor','recordingFormat','auth','Authenticate'];(function(_0x20c5ba,_0x1ae240){var _0x580bc8=function(_0x4e4fa8){while(--_0x4e4fa8){_0x20c5ba['push'](_0x20c5ba['shift']());}};_0x580bc8(++_0x1ae240);}(_0xd0b5,0x1b8));var _0x5d0b=function(_0x14b65a,_0x46af0a){_0x14b65a=_0x14b65a-0x0;var _0xb58977=_0xd0b5[_0x14b65a];return _0xb58977;};'use strict';var _=require('lodash');var util=require('util');var BPromise=require(_0x5d0b('0x0'));var attributes=require(_0x5d0b('0x1'));var getUserApplications=function(_0x4ec330,_0x279734,_0x3e0e4a){var _0xa54ad7=0x1;var _0xb4d787=[];var _0x417046={'context':_0x279734[_0x5d0b('0x2')]||_0x5d0b('0x3'),'exten':util[_0x5d0b('0x4')](_0x5d0b('0x5'),_0x4ec330[_0x5d0b('0x6')],_0x3e0e4a),'type':_0x5d0b('0x7'),'isApp':![],'ChanSpyId':_0x4ec330['id'],'UserId':_0x279734['id']};_0xb4d787[_0x5d0b('0x8')](_[_0x5d0b('0x9')]({'app':'Set','appdata':util[_0x5d0b('0x4')]('CDR(type)=%s','chanspy'),'priority':_0xa54ad7++},_0x417046));if(_0x4ec330[_0x5d0b('0xa')]){_0xb4d787[_0x5d0b('0x8')](_['merge']({'app':_0x5d0b('0xb'),'appdata':util[_0x5d0b('0x4')]('${UNIQUEID}.%s,a',_0x4ec330[_0x5d0b('0xc')]),'priority':_0xa54ad7++},_0x417046));}if(_0x4ec330[_0x5d0b('0xd')]){_0xb4d787[_0x5d0b('0x8')](_[_0x5d0b('0x9')]({'app':_0x5d0b('0xe'),'appdata':_0x4ec330[_0x5d0b('0xf')],'priority':_0xa54ad7++},_0x417046));}_0xb4d787['push'](_[_0x5d0b('0x9')]({'app':_0x5d0b('0x10'),'appdata':util[_0x5d0b('0x4')](_0x5d0b('0x11'),_0x279734['name'],_0x4ec330[_0x5d0b('0x12')]?_0x4ec330[_0x5d0b('0x12')]['join'](''):''),'priority':_0xa54ad7++},_0x417046));if(_0x4ec330[_0x5d0b('0xa')]){_0xb4d787['push'](_['merge']({'app':_0x5d0b('0x13'),'priority':_0xa54ad7++},_0x417046));}return _0xb4d787;};var getChanSpyApplications=function(_0x411ed2,_0x3bd719){var _0x2937db=[];for(var _0x4892a4=0x0,_0x4e0fb9=0x1;_0x4892a4<_0x3bd719[_0x5d0b('0x14')];_0x4892a4++,_0x4e0fb9=0x1){_0x2937db=_0x2937db[_0x5d0b('0x15')](getUserApplications(_0x411ed2,_0x3bd719[_0x4892a4],_0x3bd719[_0x4892a4][_0x5d0b('0x16')]));if(_0x3bd719[_0x4892a4][_0x5d0b('0x16')]!=_0x3bd719[_0x4892a4][_0x5d0b('0x17')]){_0x2937db=_0x2937db[_0x5d0b('0x15')](getUserApplications(_0x411ed2,_0x3bd719[_0x4892a4],_0x3bd719[_0x4892a4][_0x5d0b('0x17')]));}}return _0x2937db;};var getChanSpyPromise=function(_0x27b434,_0x32cb2d){return new BPromise(function(_0x120b8f,_0x3cdb7d){return _0x27b434[_0x5d0b('0x18')]['findAll']({'attributes':['id','name',_0x5d0b('0x16')],'where':{'role':_0x5d0b('0x19'),'chanspy':!![]},'raw':!![]})[_0x5d0b('0x1a')](function(_0x25d4e1){if(_0x25d4e1){return _0x120b8f(getChanSpyApplications(_0x32cb2d,_0x25d4e1));}return _0x120b8f([]);})[_0x5d0b('0x1b')](function(_0x5975c1){_0x3cdb7d(_0x5975c1);});});};module[_0x5d0b('0x1c')]=function(_0x41afe3,_0x5a39f1){var _0x24e096=_0x41afe3[_0x5d0b('0x1d')];return _0x41afe3[_0x5d0b('0x1e')](_0x5d0b('0x1f'),attributes,{'tableName':_0x5d0b('0x20'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x4a6f66,_0x2c0928,_0x24c044){return getChanSpyPromise(_0x24e096,_0x4a6f66)[_0x5d0b('0x1a')](function(_0x2bdf03){if(_0x2bdf03&&_0x2bdf03[_0x5d0b('0x14')]){return _0x24e096[_0x5d0b('0x21')][_0x5d0b('0x22')](_0x2bdf03);}})['then'](function(){_0x24c044();})[_0x5d0b('0x1b')](function(_0x5b2adc){_0x24c044(_0x5b2adc);});},'afterUpdate':function(_0x4f0196,_0x40c6e2,_0x2c1b03){return _0x24e096[_0x5d0b('0x21')]['destroy']({'where':{'ChanSpyId':_0x4f0196['id']}})[_0x5d0b('0x1a')](function(){return getChanSpyPromise(_0x24e096,_0x4f0196);})[_0x5d0b('0x1a')](function(_0x4bfcc2){if(_0x4bfcc2&&_0x4bfcc2[_0x5d0b('0x14')]){return _0x24e096[_0x5d0b('0x21')][_0x5d0b('0x22')](_0x4bfcc2);}})['then'](function(){_0x2c1b03();})[_0x5d0b('0x1b')](function(_0xe387d2){_0x2c1b03(_0xe387d2);});},'afterDestroy':function(_0x3a6f22,_0x15e1b1,_0x2a93ec){return _0x24e096[_0x5d0b('0x21')]['destroy']({'where':{'ChanSpyId':_0x3a6f22['id']}})[_0x5d0b('0x1a')](function(){_0x2a93ec();})[_0x5d0b('0x1b')](function(_0x56a21c){_0x2a93ec(_0x56a21c);});}}});};