fe2561918324cabd79032f94ce3aea12ed16f382
[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 _0xf98b=['User','findAll','agent','then','catch','exports','voice_chanspy','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','context','from-sip','%s%s','prefix','system','push','merge','Set','format','CDR(type)=%s','chanspy','record','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','Authenticate','password','SIP/%s,%s','name','options','join','length','concat','internal'];(function(_0x40ed0c,_0x4e9155){var _0x3946e9=function(_0x4eb3bb){while(--_0x4eb3bb){_0x40ed0c['push'](_0x40ed0c['shift']());}};_0x3946e9(++_0x4e9155);}(_0xf98b,0x1a1));var _0xbf98=function(_0x2b10c6,_0x185590){_0x2b10c6=_0x2b10c6-0x0;var _0x3789d2=_0xf98b[_0x2b10c6];return _0x3789d2;};'use strict';var _=require(_0xbf98('0x0'));var util=require(_0xbf98('0x1'));var BPromise=require(_0xbf98('0x2'));var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x38c224,_0x44a2f3,_0x24bed4){var _0x5cb5e4=0x1;var _0x211ad0=[];var _0x1ba1a8={'context':_0x44a2f3[_0xbf98('0x3')]||_0xbf98('0x4'),'exten':util['format'](_0xbf98('0x5'),_0x38c224[_0xbf98('0x6')],_0x24bed4),'type':_0xbf98('0x7'),'isApp':![],'ChanSpyId':_0x38c224['id'],'UserId':_0x44a2f3['id']};_0x211ad0[_0xbf98('0x8')](_[_0xbf98('0x9')]({'app':_0xbf98('0xa'),'appdata':util[_0xbf98('0xb')](_0xbf98('0xc'),_0xbf98('0xd')),'priority':_0x5cb5e4++},_0x1ba1a8));if(_0x38c224[_0xbf98('0xe')]){_0x211ad0[_0xbf98('0x8')](_['merge']({'app':_0xbf98('0xf'),'appdata':util[_0xbf98('0xb')](_0xbf98('0x10'),_0x38c224[_0xbf98('0x11')]),'priority':_0x5cb5e4++},_0x1ba1a8));}if(_0x38c224['auth']){_0x211ad0['push'](_[_0xbf98('0x9')]({'app':_0xbf98('0x12'),'appdata':_0x38c224[_0xbf98('0x13')],'priority':_0x5cb5e4++},_0x1ba1a8));}_0x211ad0['push'](_[_0xbf98('0x9')]({'app':'ChanSpy','appdata':util[_0xbf98('0xb')](_0xbf98('0x14'),_0x44a2f3[_0xbf98('0x15')],_0x38c224[_0xbf98('0x16')]?_0x38c224[_0xbf98('0x16')][_0xbf98('0x17')](''):''),'priority':_0x5cb5e4++},_0x1ba1a8));if(_0x38c224['record']){_0x211ad0[_0xbf98('0x8')](_[_0xbf98('0x9')]({'app':'StopMixMonitor','priority':_0x5cb5e4++},_0x1ba1a8));}return _0x211ad0;};var getChanSpyApplications=function(_0x320cb2,_0x319d8f){var _0x35f94b=[];for(var _0x2797c4=0x0,_0x309f9c=0x1;_0x2797c4<_0x319d8f[_0xbf98('0x18')];_0x2797c4++,_0x309f9c=0x1){_0x35f94b=_0x35f94b[_0xbf98('0x19')](getUserApplications(_0x320cb2,_0x319d8f[_0x2797c4],_0x319d8f[_0x2797c4][_0xbf98('0x1a')]));if(_0x319d8f[_0x2797c4]['internal']!=_0x319d8f[_0x2797c4][_0xbf98('0x15')]){_0x35f94b=_0x35f94b[_0xbf98('0x19')](getUserApplications(_0x320cb2,_0x319d8f[_0x2797c4],_0x319d8f[_0x2797c4][_0xbf98('0x15')]));}}return _0x35f94b;};var getChanSpyPromise=function(_0x181b73,_0x5438ed){return new BPromise(function(_0xf83f56,_0x5a0373){return _0x181b73[_0xbf98('0x1b')][_0xbf98('0x1c')]({'attributes':['id',_0xbf98('0x15'),'internal'],'where':{'role':_0xbf98('0x1d'),'chanspy':!![]},'raw':!![]})[_0xbf98('0x1e')](function(_0x35124f){if(_0x35124f){return _0xf83f56(getChanSpyApplications(_0x5438ed,_0x35124f));}return _0xf83f56([]);})[_0xbf98('0x1f')](function(_0x3b06ef){_0x5a0373(_0x3b06ef);});});};module[_0xbf98('0x20')]=function(_0x5e2a06,_0x1b8df0){var _0x12a41f=_0x5e2a06['models'];return _0x5e2a06['define']('VoiceChanSpy',attributes,{'tableName':_0xbf98('0x21'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x4fc3b7,_0xb3766c,_0x5629b4){return getChanSpyPromise(_0x12a41f,_0x4fc3b7)['then'](function(_0x2a728b){if(_0x2a728b&&_0x2a728b[_0xbf98('0x18')]){return _0x12a41f[_0xbf98('0x22')][_0xbf98('0x23')](_0x2a728b);}})['then'](function(){_0x5629b4();})[_0xbf98('0x1f')](function(_0x4bfbbb){_0x5629b4(_0x4bfbbb);});},'afterUpdate':function(_0x26ea69,_0x51acd5,_0x1fb083){return _0x12a41f['VoiceExtension'][_0xbf98('0x24')]({'where':{'ChanSpyId':_0x26ea69['id']}})[_0xbf98('0x1e')](function(){return getChanSpyPromise(_0x12a41f,_0x26ea69);})[_0xbf98('0x1e')](function(_0x1a3877){if(_0x1a3877&&_0x1a3877['length']){return _0x12a41f['VoiceExtension'][_0xbf98('0x23')](_0x1a3877);}})[_0xbf98('0x1e')](function(){_0x1fb083();})['catch'](function(_0x241926){_0x1fb083(_0x241926);});},'afterDestroy':function(_0x3855d5,_0x2a75bc,_0x3cf07e){return _0x12a41f[_0xbf98('0x22')][_0xbf98('0x24')]({'where':{'ChanSpyId':_0x3855d5['id']}})[_0xbf98('0x1e')](function(){_0x3cf07e();})[_0xbf98('0x1f')](function(_0x1600e8){_0x3cf07e(_0x1600e8);});}}});};