Built motion from commit 85328c08.|2.5.50
[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 _0xb413=['catch','destroy','lodash','bluebird','context','format','%s%s','prefix','push','merge','Set','CDR(type)=%s','record','MixMonitor','${UNIQUEID}.%s,a','auth','password','ChanSpy','SIP/%s,%s','name','options','join','length','concat','internal','User','findAll','agent','exports','VoiceChanSpy','voice_chanspy','then','VoiceExtension','bulkCreate'];(function(_0x10c4ed,_0x1c501c){var _0xa29467=function(_0x48da7f){while(--_0x48da7f){_0x10c4ed['push'](_0x10c4ed['shift']());}};_0xa29467(++_0x1c501c);}(_0xb413,0x178));var _0x3b41=function(_0x255737,_0x86f390){_0x255737=_0x255737-0x0;var _0x80deee=_0xb413[_0x255737];return _0x80deee;};'use strict';var _=require(_0x3b41('0x0'));var util=require('util');var BPromise=require(_0x3b41('0x1'));var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x308e50,_0x41c944,_0x24272d){var _0x2f1035=0x1;var _0x22459c=[];var _0x7844d9={'context':_0x41c944[_0x3b41('0x2')]||'from-sip','exten':util[_0x3b41('0x3')](_0x3b41('0x4'),_0x308e50[_0x3b41('0x5')],_0x24272d),'type':'system','isApp':![],'ChanSpyId':_0x308e50['id'],'UserId':_0x41c944['id']};_0x22459c[_0x3b41('0x6')](_[_0x3b41('0x7')]({'app':_0x3b41('0x8'),'appdata':util['format'](_0x3b41('0x9'),'chanspy'),'priority':_0x2f1035++},_0x7844d9));if(_0x308e50[_0x3b41('0xa')]){_0x22459c[_0x3b41('0x6')](_['merge']({'app':_0x3b41('0xb'),'appdata':util[_0x3b41('0x3')](_0x3b41('0xc'),_0x308e50['recordingFormat']),'priority':_0x2f1035++},_0x7844d9));}if(_0x308e50[_0x3b41('0xd')]){_0x22459c[_0x3b41('0x6')](_['merge']({'app':'Authenticate','appdata':_0x308e50[_0x3b41('0xe')],'priority':_0x2f1035++},_0x7844d9));}_0x22459c[_0x3b41('0x6')](_['merge']({'app':_0x3b41('0xf'),'appdata':util['format'](_0x3b41('0x10'),_0x41c944[_0x3b41('0x11')],_0x308e50[_0x3b41('0x12')]?_0x308e50[_0x3b41('0x12')][_0x3b41('0x13')](''):''),'priority':_0x2f1035++},_0x7844d9));if(_0x308e50['record']){_0x22459c[_0x3b41('0x6')](_[_0x3b41('0x7')]({'app':'StopMixMonitor','priority':_0x2f1035++},_0x7844d9));}return _0x22459c;};var getChanSpyApplications=function(_0x12d88b,_0x4fb826){var _0x45204f=[];for(var _0x4e0a64=0x0,_0x43aad6=0x1;_0x4e0a64<_0x4fb826[_0x3b41('0x14')];_0x4e0a64++,_0x43aad6=0x1){_0x45204f=_0x45204f[_0x3b41('0x15')](getUserApplications(_0x12d88b,_0x4fb826[_0x4e0a64],_0x4fb826[_0x4e0a64][_0x3b41('0x16')]));if(_0x4fb826[_0x4e0a64][_0x3b41('0x16')]!=_0x4fb826[_0x4e0a64][_0x3b41('0x11')]){_0x45204f=_0x45204f[_0x3b41('0x15')](getUserApplications(_0x12d88b,_0x4fb826[_0x4e0a64],_0x4fb826[_0x4e0a64][_0x3b41('0x11')]));}}return _0x45204f;};var getChanSpyPromise=function(_0x39a0a3,_0x28c882){return new BPromise(function(_0x53bda4,_0x2ad415){return _0x39a0a3[_0x3b41('0x17')][_0x3b41('0x18')]({'attributes':['id',_0x3b41('0x11'),_0x3b41('0x16')],'where':{'role':_0x3b41('0x19'),'chanspy':!![]},'raw':!![]})['then'](function(_0x57622c){if(_0x57622c){return _0x53bda4(getChanSpyApplications(_0x28c882,_0x57622c));}return _0x53bda4([]);})['catch'](function(_0x22cba8){_0x2ad415(_0x22cba8);});});};module[_0x3b41('0x1a')]=function(_0x1f0fd8,_0x426549){var _0x3e3a6f=_0x1f0fd8['models'];return _0x1f0fd8['define'](_0x3b41('0x1b'),attributes,{'tableName':_0x3b41('0x1c'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x56fe8a,_0x12530c,_0x551d4b){return getChanSpyPromise(_0x3e3a6f,_0x56fe8a)[_0x3b41('0x1d')](function(_0x143ada){if(_0x143ada&&_0x143ada[_0x3b41('0x14')]){return _0x3e3a6f[_0x3b41('0x1e')][_0x3b41('0x1f')](_0x143ada);}})[_0x3b41('0x1d')](function(){_0x551d4b();})[_0x3b41('0x20')](function(_0x382808){_0x551d4b(_0x382808);});},'afterUpdate':function(_0x59ee2b,_0x1538cf,_0x40e8c1){return _0x3e3a6f[_0x3b41('0x1e')][_0x3b41('0x21')]({'where':{'ChanSpyId':_0x59ee2b['id']}})[_0x3b41('0x1d')](function(){return getChanSpyPromise(_0x3e3a6f,_0x59ee2b);})['then'](function(_0x50a392){if(_0x50a392&&_0x50a392[_0x3b41('0x14')]){return _0x3e3a6f[_0x3b41('0x1e')][_0x3b41('0x1f')](_0x50a392);}})[_0x3b41('0x1d')](function(){_0x40e8c1();})[_0x3b41('0x20')](function(_0x432c39){_0x40e8c1(_0x432c39);});},'afterDestroy':function(_0x10f784,_0x26e9fb,_0x4f8075){return _0x3e3a6f[_0x3b41('0x1e')]['destroy']({'where':{'ChanSpyId':_0x10f784['id']}})[_0x3b41('0x1d')](function(){_0x4f8075();})['catch'](function(_0x14ce34){_0x4f8075(_0x14ce34);});}}});};