5cfee2e54567a02feeca9e435d15f95b36cfc699
[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 _0x81ca=['then','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','system','CDR(type)=%s','chanspy','record','push','merge','MixMonitor','${UNIQUEID}.%s,a','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','join','length','concat','User','findAll','internal','agent','catch','exports','models','define','VoiceChanSpy','voice_chanspy'];(function(_0x388550,_0x3fd74b){var _0x735860=function(_0x50783c){while(--_0x50783c){_0x388550['push'](_0x388550['shift']());}};_0x735860(++_0x3fd74b);}(_0x81ca,0x1e4));var _0xa81c=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x81ca[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0xa81c('0x0'));var util=require(_0xa81c('0x1'));var BPromise=require(_0xa81c('0x2'));var attributes=require(_0xa81c('0x3'));var getUserApplications=function(_0x1171a2,_0x10ae48,_0x1c8085){var _0x16f9ad=0x1;var _0x48045c=[];var _0x5aab70={'context':_0x10ae48[_0xa81c('0x4')]||_0xa81c('0x5'),'exten':util[_0xa81c('0x6')](_0xa81c('0x7'),_0x1171a2[_0xa81c('0x8')],_0x1c8085),'type':_0xa81c('0x9'),'isApp':![],'ChanSpyId':_0x1171a2['id'],'UserId':_0x10ae48['id']};_0x48045c['push'](_['merge']({'app':'Set','appdata':util[_0xa81c('0x6')](_0xa81c('0xa'),_0xa81c('0xb')),'priority':_0x16f9ad++},_0x5aab70));if(_0x1171a2[_0xa81c('0xc')]){_0x48045c[_0xa81c('0xd')](_[_0xa81c('0xe')]({'app':_0xa81c('0xf'),'appdata':util[_0xa81c('0x6')](_0xa81c('0x10'),_0x1171a2['recordingFormat']),'priority':_0x16f9ad++},_0x5aab70));}if(_0x1171a2['auth']){_0x48045c['push'](_[_0xa81c('0xe')]({'app':_0xa81c('0x11'),'appdata':_0x1171a2[_0xa81c('0x12')],'priority':_0x16f9ad++},_0x5aab70));}_0x48045c[_0xa81c('0xd')](_['merge']({'app':_0xa81c('0x13'),'appdata':util[_0xa81c('0x6')](_0xa81c('0x14'),_0x10ae48[_0xa81c('0x15')],_0x1171a2[_0xa81c('0x16')]?_0x1171a2[_0xa81c('0x16')][_0xa81c('0x17')](''):''),'priority':_0x16f9ad++},_0x5aab70));if(_0x1171a2['record']){_0x48045c[_0xa81c('0xd')](_[_0xa81c('0xe')]({'app':'StopMixMonitor','priority':_0x16f9ad++},_0x5aab70));}return _0x48045c;};var getChanSpyApplications=function(_0x4c8dc4,_0x2ff7f7){var _0x3b5096=[];for(var _0x3c1ca9=0x0,_0x1139d9=0x1;_0x3c1ca9<_0x2ff7f7[_0xa81c('0x18')];_0x3c1ca9++,_0x1139d9=0x1){_0x3b5096=_0x3b5096[_0xa81c('0x19')](getUserApplications(_0x4c8dc4,_0x2ff7f7[_0x3c1ca9],_0x2ff7f7[_0x3c1ca9]['internal']));if(_0x2ff7f7[_0x3c1ca9]['internal']!=_0x2ff7f7[_0x3c1ca9]['name']){_0x3b5096=_0x3b5096['concat'](getUserApplications(_0x4c8dc4,_0x2ff7f7[_0x3c1ca9],_0x2ff7f7[_0x3c1ca9][_0xa81c('0x15')]));}}return _0x3b5096;};var getChanSpyPromise=function(_0x396b1d,_0x255943){return new BPromise(function(_0x59a9f4,_0x4c73f1){return _0x396b1d[_0xa81c('0x1a')][_0xa81c('0x1b')]({'attributes':['id',_0xa81c('0x15'),_0xa81c('0x1c')],'where':{'role':_0xa81c('0x1d'),'chanspy':!![]},'raw':!![]})['then'](function(_0x488733){if(_0x488733){return _0x59a9f4(getChanSpyApplications(_0x255943,_0x488733));}return _0x59a9f4([]);})[_0xa81c('0x1e')](function(_0x371011){_0x4c73f1(_0x371011);});});};module[_0xa81c('0x1f')]=function(_0xf58886,_0x22242a){var _0x2f6bbc=_0xf58886[_0xa81c('0x20')];return _0xf58886[_0xa81c('0x21')](_0xa81c('0x22'),attributes,{'tableName':_0xa81c('0x23'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0xe39061,_0x2db6d9,_0x449044){return getChanSpyPromise(_0x2f6bbc,_0xe39061)[_0xa81c('0x24')](function(_0xdd2252){if(_0xdd2252&&_0xdd2252[_0xa81c('0x18')]){return _0x2f6bbc[_0xa81c('0x25')][_0xa81c('0x26')](_0xdd2252);}})['then'](function(){_0x449044();})[_0xa81c('0x1e')](function(_0x22940f){_0x449044(_0x22940f);});},'afterUpdate':function(_0x1488d1,_0x178116,_0x70bf74){return _0x2f6bbc[_0xa81c('0x25')][_0xa81c('0x27')]({'where':{'ChanSpyId':_0x1488d1['id']}})[_0xa81c('0x24')](function(){return getChanSpyPromise(_0x2f6bbc,_0x1488d1);})[_0xa81c('0x24')](function(_0xd93289){if(_0xd93289&&_0xd93289[_0xa81c('0x18')]){return _0x2f6bbc[_0xa81c('0x25')][_0xa81c('0x26')](_0xd93289);}})[_0xa81c('0x24')](function(){_0x70bf74();})['catch'](function(_0x10a591){_0x70bf74(_0x10a591);});},'afterDestroy':function(_0x5e746c,_0xfbc6e8,_0x123d82){return _0x2f6bbc[_0xa81c('0x25')][_0xa81c('0x27')]({'where':{'ChanSpyId':_0x5e746c['id']}})[_0xa81c('0x24')](function(){_0x123d82();})[_0xa81c('0x1e')](function(_0x2dd3ce){_0x123d82(_0x2dd3ce);});}}});};