Built motion from commit (unavailable).|2.5.1
[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 _0xbde2=['StopMixMonitor','length','concat','internal','User','findAll','catch','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','then','destroy','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','prefix','system','push','merge','Set','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','ChanSpy','SIP/%s,%s','name','options','join','record'];(function(_0x44fe80,_0x15aa71){var _0x1812c8=function(_0x5eade){while(--_0x5eade){_0x44fe80['push'](_0x44fe80['shift']());}};_0x1812c8(++_0x15aa71);}(_0xbde2,0x7a));var _0x2bde=function(_0x50a7e6,_0x373cef){_0x50a7e6=_0x50a7e6-0x0;var _0x4d7816=_0xbde2[_0x50a7e6];return _0x4d7816;};'use strict';var _=require('lodash');var util=require(_0x2bde('0x0'));var BPromise=require(_0x2bde('0x1'));var attributes=require(_0x2bde('0x2'));var getUserApplications=function(_0x4efae2,_0x3b1018,_0x1055e2){var _0xa16ec1=0x1;var _0x530c9f=[];var _0x3622bb={'context':_0x3b1018[_0x2bde('0x3')]||_0x2bde('0x4'),'exten':util[_0x2bde('0x5')]('%s%s',_0x4efae2[_0x2bde('0x6')],_0x1055e2),'type':_0x2bde('0x7'),'isApp':![],'ChanSpyId':_0x4efae2['id'],'UserId':_0x3b1018['id']};_0x530c9f[_0x2bde('0x8')](_[_0x2bde('0x9')]({'app':_0x2bde('0xa'),'appdata':util[_0x2bde('0x5')]('CDR(type)=%s','chanspy'),'priority':_0xa16ec1++},_0x3622bb));if(_0x4efae2['record']){_0x530c9f[_0x2bde('0x8')](_[_0x2bde('0x9')]({'app':_0x2bde('0xb'),'appdata':util['format'](_0x2bde('0xc'),_0x4efae2[_0x2bde('0xd')]),'priority':_0xa16ec1++},_0x3622bb));}if(_0x4efae2[_0x2bde('0xe')]){_0x530c9f[_0x2bde('0x8')](_[_0x2bde('0x9')]({'app':_0x2bde('0xf'),'appdata':_0x4efae2['password'],'priority':_0xa16ec1++},_0x3622bb));}_0x530c9f[_0x2bde('0x8')](_['merge']({'app':_0x2bde('0x10'),'appdata':util[_0x2bde('0x5')](_0x2bde('0x11'),_0x3b1018[_0x2bde('0x12')],_0x4efae2[_0x2bde('0x13')]?_0x4efae2[_0x2bde('0x13')][_0x2bde('0x14')](''):''),'priority':_0xa16ec1++},_0x3622bb));if(_0x4efae2[_0x2bde('0x15')]){_0x530c9f[_0x2bde('0x8')](_[_0x2bde('0x9')]({'app':_0x2bde('0x16'),'priority':_0xa16ec1++},_0x3622bb));}return _0x530c9f;};var getChanSpyApplications=function(_0x1b2958,_0xaaaf2d){var _0x37f4b3=[];for(var _0x4f2f86=0x0,_0x531033=0x1;_0x4f2f86<_0xaaaf2d[_0x2bde('0x17')];_0x4f2f86++,_0x531033=0x1){_0x37f4b3=_0x37f4b3[_0x2bde('0x18')](getUserApplications(_0x1b2958,_0xaaaf2d[_0x4f2f86],_0xaaaf2d[_0x4f2f86][_0x2bde('0x19')]));if(_0xaaaf2d[_0x4f2f86][_0x2bde('0x19')]!=_0xaaaf2d[_0x4f2f86]['name']){_0x37f4b3=_0x37f4b3[_0x2bde('0x18')](getUserApplications(_0x1b2958,_0xaaaf2d[_0x4f2f86],_0xaaaf2d[_0x4f2f86][_0x2bde('0x12')]));}}return _0x37f4b3;};var getChanSpyPromise=function(_0x3d5f00,_0x34f820){return new BPromise(function(_0x1b10a4,_0x3c0acf){return _0x3d5f00[_0x2bde('0x1a')][_0x2bde('0x1b')]({'attributes':['id','name',_0x2bde('0x19')],'where':{'role':'agent','chanspy':!![]},'raw':!![]})['then'](function(_0x422e81){if(_0x422e81){return _0x1b10a4(getChanSpyApplications(_0x34f820,_0x422e81));}return _0x1b10a4([]);})[_0x2bde('0x1c')](function(_0x27b6e1){_0x3c0acf(_0x27b6e1);});});};module['exports']=function(_0x6c0da,_0x945537){var _0x38cf2c=_0x6c0da['models'];return _0x6c0da[_0x2bde('0x1d')](_0x2bde('0x1e'),attributes,{'tableName':_0x2bde('0x1f'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x515ee5,_0x4eb2d8,_0x591aea){return getChanSpyPromise(_0x38cf2c,_0x515ee5)['then'](function(_0x109da2){if(_0x109da2&&_0x109da2['length']){return _0x38cf2c[_0x2bde('0x20')][_0x2bde('0x21')](_0x109da2);}})[_0x2bde('0x22')](function(){_0x591aea();})[_0x2bde('0x1c')](function(_0x4d7371){_0x591aea(_0x4d7371);});},'afterUpdate':function(_0x2d6950,_0x3e9222,_0x2cd535){return _0x38cf2c['VoiceExtension'][_0x2bde('0x23')]({'where':{'ChanSpyId':_0x2d6950['id']}})[_0x2bde('0x22')](function(){return getChanSpyPromise(_0x38cf2c,_0x2d6950);})[_0x2bde('0x22')](function(_0x336c7d){if(_0x336c7d&&_0x336c7d[_0x2bde('0x17')]){return _0x38cf2c[_0x2bde('0x20')][_0x2bde('0x21')](_0x336c7d);}})['then'](function(){_0x2cd535();})[_0x2bde('0x1c')](function(_0x5ed025){_0x2cd535(_0x5ed025);});},'afterDestroy':function(_0x3c4b1a,_0x2be21,_0x2310b7){return _0x38cf2c[_0x2bde('0x20')][_0x2bde('0x23')]({'where':{'ChanSpyId':_0x3c4b1a['id']}})[_0x2bde('0x22')](function(){_0x2310b7();})[_0x2bde('0x1c')](function(_0x422aec){_0x2310b7(_0x422aec);});}}});};