Built motion from commit (unavailable).|2.5.31
[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 _0x4bd1=['VoiceChanSpy','VoiceExtension','bulkCreate','destroy','util','./voiceChanSpy.attributes','context','from-sip','format','prefix','system','push','merge','Set','CDR(type)=%s','chanspy','MixMonitor','${UNIQUEID}.%s,a','auth','Authenticate','password','ChanSpy','SIP/%s,%s','options','join','record','length','internal','name','findAll','then','catch','exports','models','define'];(function(_0x19babd,_0x1d4ef7){var _0x314eaf=function(_0x24ea35){while(--_0x24ea35){_0x19babd['push'](_0x19babd['shift']());}};_0x314eaf(++_0x1d4ef7);}(_0x4bd1,0x90));var _0x14bd=function(_0xda6ad1,_0x5f09e3){_0xda6ad1=_0xda6ad1-0x0;var _0xedc3a5=_0x4bd1[_0xda6ad1];return _0xedc3a5;};'use strict';var _=require('lodash');var util=require(_0x14bd('0x0'));var BPromise=require('bluebird');var attributes=require(_0x14bd('0x1'));var getUserApplications=function(_0xa0d344,_0x50d79a,_0x17e7b6){var _0x45948d=0x1;var _0x51fcdb=[];var _0x4080e1={'context':_0x50d79a[_0x14bd('0x2')]||_0x14bd('0x3'),'exten':util[_0x14bd('0x4')]('%s%s',_0xa0d344[_0x14bd('0x5')],_0x17e7b6),'type':_0x14bd('0x6'),'isApp':![],'ChanSpyId':_0xa0d344['id'],'UserId':_0x50d79a['id']};_0x51fcdb[_0x14bd('0x7')](_[_0x14bd('0x8')]({'app':_0x14bd('0x9'),'appdata':util[_0x14bd('0x4')](_0x14bd('0xa'),_0x14bd('0xb')),'priority':_0x45948d++},_0x4080e1));if(_0xa0d344['record']){_0x51fcdb['push'](_['merge']({'app':_0x14bd('0xc'),'appdata':util[_0x14bd('0x4')](_0x14bd('0xd'),_0xa0d344['recordingFormat']),'priority':_0x45948d++},_0x4080e1));}if(_0xa0d344[_0x14bd('0xe')]){_0x51fcdb[_0x14bd('0x7')](_[_0x14bd('0x8')]({'app':_0x14bd('0xf'),'appdata':_0xa0d344[_0x14bd('0x10')],'priority':_0x45948d++},_0x4080e1));}_0x51fcdb[_0x14bd('0x7')](_[_0x14bd('0x8')]({'app':_0x14bd('0x11'),'appdata':util['format'](_0x14bd('0x12'),_0x50d79a['name'],_0xa0d344[_0x14bd('0x13')]?_0xa0d344['options'][_0x14bd('0x14')](''):''),'priority':_0x45948d++},_0x4080e1));if(_0xa0d344[_0x14bd('0x15')]){_0x51fcdb['push'](_[_0x14bd('0x8')]({'app':'StopMixMonitor','priority':_0x45948d++},_0x4080e1));}return _0x51fcdb;};var getChanSpyApplications=function(_0x10e47e,_0x6579a9){var _0x3833ed=[];for(var _0x1853ba=0x0,_0x1d4609=0x1;_0x1853ba<_0x6579a9[_0x14bd('0x16')];_0x1853ba++,_0x1d4609=0x1){_0x3833ed=_0x3833ed['concat'](getUserApplications(_0x10e47e,_0x6579a9[_0x1853ba],_0x6579a9[_0x1853ba]['internal']));if(_0x6579a9[_0x1853ba][_0x14bd('0x17')]!=_0x6579a9[_0x1853ba][_0x14bd('0x18')]){_0x3833ed=_0x3833ed['concat'](getUserApplications(_0x10e47e,_0x6579a9[_0x1853ba],_0x6579a9[_0x1853ba]['name']));}}return _0x3833ed;};var getChanSpyPromise=function(_0x1f09fa,_0x24a5a3){return new BPromise(function(_0x5aa48e,_0x338962){return _0x1f09fa['User'][_0x14bd('0x19')]({'attributes':['id','name',_0x14bd('0x17')],'where':{'role':'agent','chanspy':!![]},'raw':!![]})[_0x14bd('0x1a')](function(_0x31840d){if(_0x31840d){return _0x5aa48e(getChanSpyApplications(_0x24a5a3,_0x31840d));}return _0x5aa48e([]);})[_0x14bd('0x1b')](function(_0x521e3d){_0x338962(_0x521e3d);});});};module[_0x14bd('0x1c')]=function(_0x28b06c,_0xba75d4){var _0x4d420c=_0x28b06c[_0x14bd('0x1d')];return _0x28b06c[_0x14bd('0x1e')](_0x14bd('0x1f'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x58a44c,_0x57f123,_0x2495d2){return getChanSpyPromise(_0x4d420c,_0x58a44c)[_0x14bd('0x1a')](function(_0x67d318){if(_0x67d318&&_0x67d318[_0x14bd('0x16')]){return _0x4d420c[_0x14bd('0x20')][_0x14bd('0x21')](_0x67d318);}})[_0x14bd('0x1a')](function(){_0x2495d2();})[_0x14bd('0x1b')](function(_0x14b13f){_0x2495d2(_0x14b13f);});},'afterUpdate':function(_0x5d9b8f,_0x1112f0,_0x424c74){return _0x4d420c['VoiceExtension'][_0x14bd('0x22')]({'where':{'ChanSpyId':_0x5d9b8f['id']}})['then'](function(){return getChanSpyPromise(_0x4d420c,_0x5d9b8f);})['then'](function(_0x101feb){if(_0x101feb&&_0x101feb[_0x14bd('0x16')]){return _0x4d420c[_0x14bd('0x20')][_0x14bd('0x21')](_0x101feb);}})['then'](function(){_0x424c74();})[_0x14bd('0x1b')](function(_0x4074ad){_0x424c74(_0x4074ad);});},'afterDestroy':function(_0x1874bd,_0x366ff0,_0x79cc5e){return _0x4d420c[_0x14bd('0x20')]['destroy']({'where':{'ChanSpyId':_0x1874bd['id']}})[_0x14bd('0x1a')](function(){_0x79cc5e();})['catch'](function(_0x197760){_0x79cc5e(_0x197760);});}}});};