Built motion from commit 639a1a7f.|2.6.19
[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 _0x1d51=['catch','lodash','util','bluebird','from-sip','format','%s%s','prefix','system','push','merge','CDR(type)=%s','record','recordingFormat','Authenticate','ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','concat','internal','agent','then','exports','define','VoiceChanSpy','voice_chanspy','length','VoiceExtension','bulkCreate','destroy'];(function(_0x100576,_0x142f00){var _0xb44366=function(_0x29f758){while(--_0x29f758){_0x100576['push'](_0x100576['shift']());}};_0xb44366(++_0x142f00);}(_0x1d51,0x1cf));var _0x11d5=function(_0x386444,_0x485c59){_0x386444=_0x386444-0x0;var _0x31a4b6=_0x1d51[_0x386444];return _0x31a4b6;};'use strict';var _=require(_0x11d5('0x0'));var util=require(_0x11d5('0x1'));var BPromise=require(_0x11d5('0x2'));var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x39d27d,_0x3312bf,_0x4bb2a0){var _0x38f398=0x1;var _0x359466=[];var _0x5d0f26={'context':_0x3312bf['context']||_0x11d5('0x3'),'exten':util[_0x11d5('0x4')](_0x11d5('0x5'),_0x39d27d[_0x11d5('0x6')],_0x4bb2a0),'type':_0x11d5('0x7'),'isApp':![],'ChanSpyId':_0x39d27d['id'],'UserId':_0x3312bf['id']};_0x359466[_0x11d5('0x8')](_[_0x11d5('0x9')]({'app':'Set','appdata':util[_0x11d5('0x4')](_0x11d5('0xa'),'chanspy'),'priority':_0x38f398++},_0x5d0f26));if(_0x39d27d[_0x11d5('0xb')]){_0x359466[_0x11d5('0x8')](_[_0x11d5('0x9')]({'app':'MixMonitor','appdata':util[_0x11d5('0x4')]('${UNIQUEID}.%s,a',_0x39d27d[_0x11d5('0xc')]),'priority':_0x38f398++},_0x5d0f26));}if(_0x39d27d['auth']){_0x359466[_0x11d5('0x8')](_['merge']({'app':_0x11d5('0xd'),'appdata':_0x39d27d['password'],'priority':_0x38f398++},_0x5d0f26));}_0x359466['push'](_['merge']({'app':_0x11d5('0xe'),'appdata':util[_0x11d5('0x4')](_0x11d5('0xf'),_0x3312bf[_0x11d5('0x10')],_0x39d27d[_0x11d5('0x11')]?_0x39d27d[_0x11d5('0x11')][_0x11d5('0x12')](''):''),'priority':_0x38f398++},_0x5d0f26));if(_0x39d27d['record']){_0x359466['push'](_[_0x11d5('0x9')]({'app':_0x11d5('0x13'),'priority':_0x38f398++},_0x5d0f26));}return _0x359466;};var getChanSpyApplications=function(_0x53ac3b,_0x216b62){var _0x4c779f=[];for(var _0x21e2f9=0x0,_0x2f7cbf=0x1;_0x21e2f9<_0x216b62['length'];_0x21e2f9++,_0x2f7cbf=0x1){_0x4c779f=_0x4c779f[_0x11d5('0x14')](getUserApplications(_0x53ac3b,_0x216b62[_0x21e2f9],_0x216b62[_0x21e2f9][_0x11d5('0x15')]));if(_0x216b62[_0x21e2f9][_0x11d5('0x15')]!=_0x216b62[_0x21e2f9][_0x11d5('0x10')]){_0x4c779f=_0x4c779f[_0x11d5('0x14')](getUserApplications(_0x53ac3b,_0x216b62[_0x21e2f9],_0x216b62[_0x21e2f9][_0x11d5('0x10')]));}}return _0x4c779f;};var getChanSpyPromise=function(_0x2d9b8f,_0x24b766){return new BPromise(function(_0x37344a,_0x43732d){return _0x2d9b8f['User']['findAll']({'attributes':['id',_0x11d5('0x10'),_0x11d5('0x15')],'where':{'role':_0x11d5('0x16'),'chanspy':!![]},'raw':!![]})[_0x11d5('0x17')](function(_0x18306e){if(_0x18306e){return _0x37344a(getChanSpyApplications(_0x24b766,_0x18306e));}return _0x37344a([]);})['catch'](function(_0x3c9007){_0x43732d(_0x3c9007);});});};module[_0x11d5('0x18')]=function(_0x47c980,_0x16701b){var _0x46b38a=_0x47c980['models'];return _0x47c980[_0x11d5('0x19')](_0x11d5('0x1a'),attributes,{'tableName':_0x11d5('0x1b'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x186806,_0x29acf2,_0x3f0f80){return getChanSpyPromise(_0x46b38a,_0x186806)[_0x11d5('0x17')](function(_0x5ce13c){if(_0x5ce13c&&_0x5ce13c[_0x11d5('0x1c')]){return _0x46b38a[_0x11d5('0x1d')][_0x11d5('0x1e')](_0x5ce13c);}})[_0x11d5('0x17')](function(){_0x3f0f80();})['catch'](function(_0x141b33){_0x3f0f80(_0x141b33);});},'afterUpdate':function(_0x4b9f88,_0x1df041,_0x108dd9){return _0x46b38a['VoiceExtension'][_0x11d5('0x1f')]({'where':{'ChanSpyId':_0x4b9f88['id']}})[_0x11d5('0x17')](function(){return getChanSpyPromise(_0x46b38a,_0x4b9f88);})['then'](function(_0x5d40c6){if(_0x5d40c6&&_0x5d40c6[_0x11d5('0x1c')]){return _0x46b38a[_0x11d5('0x1d')][_0x11d5('0x1e')](_0x5d40c6);}})[_0x11d5('0x17')](function(){_0x108dd9();})[_0x11d5('0x20')](function(_0x5f40e3){_0x108dd9(_0x5f40e3);});},'afterDestroy':function(_0x13abd9,_0xef0742,_0xda3b6){return _0x46b38a[_0x11d5('0x1d')][_0x11d5('0x1f')]({'where':{'ChanSpyId':_0x13abd9['id']}})[_0x11d5('0x17')](function(){_0xda3b6();})[_0x11d5('0x20')](function(_0xf18ed3){_0xda3b6(_0xf18ed3);});}}});};