Built motion from commit 2e4747fd.|2.6.7
[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 _0x373d=['VoiceChanSpy','VoiceExtension','bulkCreate','then','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','system','merge','CDR(type)=%s','chanspy','push','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','ChanSpy','SIP/%s,%s','join','record','StopMixMonitor','length','concat','internal','User','findAll','name','catch','models','define'];(function(_0x5ef8ed,_0xb2763d){var _0x165dbf=function(_0x44e2b8){while(--_0x44e2b8){_0x5ef8ed['push'](_0x5ef8ed['shift']());}};_0x165dbf(++_0xb2763d);}(_0x373d,0xbe));var _0xd373=function(_0x52cfab,_0x1034b5){_0x52cfab=_0x52cfab-0x0;var _0x58f135=_0x373d[_0x52cfab];return _0x58f135;};'use strict';var _=require(_0xd373('0x0'));var util=require(_0xd373('0x1'));var BPromise=require(_0xd373('0x2'));var attributes=require(_0xd373('0x3'));var getUserApplications=function(_0xd196c5,_0x36ba44,_0x12eff6){var _0x2e654f=0x1;var _0x156ee5=[];var _0x8187a5={'context':_0x36ba44[_0xd373('0x4')]||_0xd373('0x5'),'exten':util[_0xd373('0x6')](_0xd373('0x7'),_0xd196c5[_0xd373('0x8')],_0x12eff6),'type':_0xd373('0x9'),'isApp':![],'ChanSpyId':_0xd196c5['id'],'UserId':_0x36ba44['id']};_0x156ee5['push'](_[_0xd373('0xa')]({'app':'Set','appdata':util[_0xd373('0x6')](_0xd373('0xb'),_0xd373('0xc')),'priority':_0x2e654f++},_0x8187a5));if(_0xd196c5['record']){_0x156ee5[_0xd373('0xd')](_[_0xd373('0xa')]({'app':'MixMonitor','appdata':util[_0xd373('0x6')](_0xd373('0xe'),_0xd196c5[_0xd373('0xf')]),'priority':_0x2e654f++},_0x8187a5));}if(_0xd196c5[_0xd373('0x10')]){_0x156ee5[_0xd373('0xd')](_[_0xd373('0xa')]({'app':_0xd373('0x11'),'appdata':_0xd196c5['password'],'priority':_0x2e654f++},_0x8187a5));}_0x156ee5[_0xd373('0xd')](_[_0xd373('0xa')]({'app':_0xd373('0x12'),'appdata':util['format'](_0xd373('0x13'),_0x36ba44['name'],_0xd196c5['options']?_0xd196c5['options'][_0xd373('0x14')](''):''),'priority':_0x2e654f++},_0x8187a5));if(_0xd196c5[_0xd373('0x15')]){_0x156ee5[_0xd373('0xd')](_[_0xd373('0xa')]({'app':_0xd373('0x16'),'priority':_0x2e654f++},_0x8187a5));}return _0x156ee5;};var getChanSpyApplications=function(_0x29fa68,_0x3fe9e6){var _0x39d475=[];for(var _0x40dfa3=0x0,_0x364b5b=0x1;_0x40dfa3<_0x3fe9e6[_0xd373('0x17')];_0x40dfa3++,_0x364b5b=0x1){_0x39d475=_0x39d475[_0xd373('0x18')](getUserApplications(_0x29fa68,_0x3fe9e6[_0x40dfa3],_0x3fe9e6[_0x40dfa3][_0xd373('0x19')]));if(_0x3fe9e6[_0x40dfa3]['internal']!=_0x3fe9e6[_0x40dfa3]['name']){_0x39d475=_0x39d475[_0xd373('0x18')](getUserApplications(_0x29fa68,_0x3fe9e6[_0x40dfa3],_0x3fe9e6[_0x40dfa3]['name']));}}return _0x39d475;};var getChanSpyPromise=function(_0x3ef89d,_0x3d4f0a){return new BPromise(function(_0x5d1a14,_0x48fd2f){return _0x3ef89d[_0xd373('0x1a')][_0xd373('0x1b')]({'attributes':['id',_0xd373('0x1c'),_0xd373('0x19')],'where':{'role':'agent','chanspy':!![]},'raw':!![]})['then'](function(_0x2a430e){if(_0x2a430e){return _0x5d1a14(getChanSpyApplications(_0x3d4f0a,_0x2a430e));}return _0x5d1a14([]);})[_0xd373('0x1d')](function(_0x17b8d6){_0x48fd2f(_0x17b8d6);});});};module['exports']=function(_0xe82f84,_0x22cdf9){var _0x42ec63=_0xe82f84[_0xd373('0x1e')];return _0xe82f84[_0xd373('0x1f')](_0xd373('0x20'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x4e652d,_0x3d9da1,_0x3650eb){return getChanSpyPromise(_0x42ec63,_0x4e652d)['then'](function(_0x3f0213){if(_0x3f0213&&_0x3f0213['length']){return _0x42ec63[_0xd373('0x21')][_0xd373('0x22')](_0x3f0213);}})[_0xd373('0x23')](function(){_0x3650eb();})[_0xd373('0x1d')](function(_0x445feb){_0x3650eb(_0x445feb);});},'afterUpdate':function(_0x3d01b1,_0x52e560,_0x5881ce){return _0x42ec63[_0xd373('0x21')][_0xd373('0x24')]({'where':{'ChanSpyId':_0x3d01b1['id']}})[_0xd373('0x23')](function(){return getChanSpyPromise(_0x42ec63,_0x3d01b1);})['then'](function(_0x2ee052){if(_0x2ee052&&_0x2ee052[_0xd373('0x17')]){return _0x42ec63[_0xd373('0x21')][_0xd373('0x22')](_0x2ee052);}})[_0xd373('0x23')](function(){_0x5881ce();})[_0xd373('0x1d')](function(_0xcefe3f){_0x5881ce(_0xcefe3f);});},'afterDestroy':function(_0x312321,_0x3b302e,_0x506b4e){return _0x42ec63[_0xd373('0x21')][_0xd373('0x24')]({'where':{'ChanSpyId':_0x312321['id']}})['then'](function(){_0x506b4e();})[_0xd373('0x1d')](function(_0x293c4e){_0x506b4e(_0x293c4e);});}}});};