d948020ba16f9a4a66db5e50388c4b40e79bb8f6
[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 _0x82d7=['then','catch','exports','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','CDR(type)=%s','chanspy','record','push','merge','MixMonitor','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','length','concat','User','findAll','internal','agent'];(function(_0x3b0345,_0x2326ca){var _0x3dd452=function(_0x5e84ac){while(--_0x5e84ac){_0x3b0345['push'](_0x3b0345['shift']());}};_0x3dd452(++_0x2326ca);}(_0x82d7,0xd2));var _0x782d=function(_0x12c8f7,_0x38edf6){_0x12c8f7=_0x12c8f7-0x0;var _0x43c77a=_0x82d7[_0x12c8f7];return _0x43c77a;};'use strict';var _=require(_0x782d('0x0'));var util=require(_0x782d('0x1'));var BPromise=require(_0x782d('0x2'));var attributes=require(_0x782d('0x3'));var getUserApplications=function(_0x536b12,_0x22fa8d,_0x44cb0c){var _0x2dfff5=0x1;var _0x1f285b=[];var _0xb22e84={'context':_0x22fa8d[_0x782d('0x4')]||_0x782d('0x5'),'exten':util[_0x782d('0x6')](_0x782d('0x7'),_0x536b12['prefix'],_0x44cb0c),'type':'system','isApp':![],'ChanSpyId':_0x536b12['id'],'UserId':_0x22fa8d['id']};_0x1f285b['push'](_['merge']({'app':'Set','appdata':util['format'](_0x782d('0x8'),_0x782d('0x9')),'priority':_0x2dfff5++},_0xb22e84));if(_0x536b12[_0x782d('0xa')]){_0x1f285b[_0x782d('0xb')](_[_0x782d('0xc')]({'app':_0x782d('0xd'),'appdata':util[_0x782d('0x6')]('${UNIQUEID}.%s,a',_0x536b12[_0x782d('0xe')]),'priority':_0x2dfff5++},_0xb22e84));}if(_0x536b12[_0x782d('0xf')]){_0x1f285b[_0x782d('0xb')](_[_0x782d('0xc')]({'app':_0x782d('0x10'),'appdata':_0x536b12[_0x782d('0x11')],'priority':_0x2dfff5++},_0xb22e84));}_0x1f285b[_0x782d('0xb')](_[_0x782d('0xc')]({'app':_0x782d('0x12'),'appdata':util['format'](_0x782d('0x13'),_0x22fa8d[_0x782d('0x14')],_0x536b12[_0x782d('0x15')]?_0x536b12[_0x782d('0x15')][_0x782d('0x16')](''):''),'priority':_0x2dfff5++},_0xb22e84));if(_0x536b12[_0x782d('0xa')]){_0x1f285b['push'](_['merge']({'app':_0x782d('0x17'),'priority':_0x2dfff5++},_0xb22e84));}return _0x1f285b;};var getChanSpyApplications=function(_0x51136f,_0x1dfb13){var _0x58fd3c=[];for(var _0xef1c97=0x0,_0x109b4b=0x1;_0xef1c97<_0x1dfb13[_0x782d('0x18')];_0xef1c97++,_0x109b4b=0x1){_0x58fd3c=_0x58fd3c[_0x782d('0x19')](getUserApplications(_0x51136f,_0x1dfb13[_0xef1c97],_0x1dfb13[_0xef1c97]['internal']));if(_0x1dfb13[_0xef1c97]['internal']!=_0x1dfb13[_0xef1c97][_0x782d('0x14')]){_0x58fd3c=_0x58fd3c[_0x782d('0x19')](getUserApplications(_0x51136f,_0x1dfb13[_0xef1c97],_0x1dfb13[_0xef1c97][_0x782d('0x14')]));}}return _0x58fd3c;};var getChanSpyPromise=function(_0x1be6dc,_0x204e49){return new BPromise(function(_0x4fb845,_0x2b60d7){return _0x1be6dc[_0x782d('0x1a')][_0x782d('0x1b')]({'attributes':['id',_0x782d('0x14'),_0x782d('0x1c')],'where':{'role':_0x782d('0x1d'),'chanspy':!![]},'raw':!![]})[_0x782d('0x1e')](function(_0x511ecf){if(_0x511ecf){return _0x4fb845(getChanSpyApplications(_0x204e49,_0x511ecf));}return _0x4fb845([]);})[_0x782d('0x1f')](function(_0x5e19b6){_0x2b60d7(_0x5e19b6);});});};module[_0x782d('0x20')]=function(_0x501196,_0x8e7c96){var _0x4e0af6=_0x501196[_0x782d('0x21')];return _0x501196[_0x782d('0x22')](_0x782d('0x23'),attributes,{'tableName':_0x782d('0x24'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x3d448e,_0x5f3410,_0x32da9b){return getChanSpyPromise(_0x4e0af6,_0x3d448e)[_0x782d('0x1e')](function(_0x5dbe91){if(_0x5dbe91&&_0x5dbe91[_0x782d('0x18')]){return _0x4e0af6[_0x782d('0x25')][_0x782d('0x26')](_0x5dbe91);}})[_0x782d('0x1e')](function(){_0x32da9b();})[_0x782d('0x1f')](function(_0x645a87){_0x32da9b(_0x645a87);});},'afterUpdate':function(_0x1f97c7,_0x54dcd8,_0x3f29fe){return _0x4e0af6[_0x782d('0x25')][_0x782d('0x27')]({'where':{'ChanSpyId':_0x1f97c7['id']}})[_0x782d('0x1e')](function(){return getChanSpyPromise(_0x4e0af6,_0x1f97c7);})[_0x782d('0x1e')](function(_0x597310){if(_0x597310&&_0x597310[_0x782d('0x18')]){return _0x4e0af6[_0x782d('0x25')][_0x782d('0x26')](_0x597310);}})[_0x782d('0x1e')](function(){_0x3f29fe();})[_0x782d('0x1f')](function(_0x17305b){_0x3f29fe(_0x17305b);});},'afterDestroy':function(_0x484500,_0x1984cf,_0x1a7013){return _0x4e0af6[_0x782d('0x25')]['destroy']({'where':{'ChanSpyId':_0x484500['id']}})['then'](function(){_0x1a7013();})[_0x782d('0x1f')](function(_0x1b14a7){_0x1a7013(_0x1b14a7);});}}});};