Built motion from commit (unavailable).|2.5.22
[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 _0x10dc=['define','bulkCreate','VoiceExtension','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','%s%s','prefix','system','push','Set','CDR(type)=%s','MixMonitor','format','${UNIQUEID}.%s,a','auth','merge','password','SIP/%s,%s','name','options','record','StopMixMonitor','length','internal','concat','findAll','agent','then','catch','models'];(function(_0x133278,_0xa61d59){var _0x5d9f92=function(_0x13bbf9){while(--_0x13bbf9){_0x133278['push'](_0x133278['shift']());}};_0x5d9f92(++_0xa61d59);}(_0x10dc,0x13f));var _0xc10d=function(_0x277415,_0x38968b){_0x277415=_0x277415-0x0;var _0x376342=_0x10dc[_0x277415];return _0x376342;};'use strict';var _=require(_0xc10d('0x0'));var util=require(_0xc10d('0x1'));var BPromise=require(_0xc10d('0x2'));var attributes=require(_0xc10d('0x3'));var getUserApplications=function(_0x5ec69e,_0x5dccb1,_0x504767){var _0x550206=0x1;var _0x3d82a3=[];var _0x263324={'context':_0x5dccb1[_0xc10d('0x4')]||_0xc10d('0x5'),'exten':util['format'](_0xc10d('0x6'),_0x5ec69e[_0xc10d('0x7')],_0x504767),'type':_0xc10d('0x8'),'isApp':![],'ChanSpyId':_0x5ec69e['id'],'UserId':_0x5dccb1['id']};_0x3d82a3[_0xc10d('0x9')](_['merge']({'app':_0xc10d('0xa'),'appdata':util['format'](_0xc10d('0xb'),'chanspy'),'priority':_0x550206++},_0x263324));if(_0x5ec69e['record']){_0x3d82a3[_0xc10d('0x9')](_['merge']({'app':_0xc10d('0xc'),'appdata':util[_0xc10d('0xd')](_0xc10d('0xe'),_0x5ec69e['recordingFormat']),'priority':_0x550206++},_0x263324));}if(_0x5ec69e[_0xc10d('0xf')]){_0x3d82a3[_0xc10d('0x9')](_[_0xc10d('0x10')]({'app':'Authenticate','appdata':_0x5ec69e[_0xc10d('0x11')],'priority':_0x550206++},_0x263324));}_0x3d82a3[_0xc10d('0x9')](_[_0xc10d('0x10')]({'app':'ChanSpy','appdata':util[_0xc10d('0xd')](_0xc10d('0x12'),_0x5dccb1[_0xc10d('0x13')],_0x5ec69e[_0xc10d('0x14')]?_0x5ec69e['options']['join'](''):''),'priority':_0x550206++},_0x263324));if(_0x5ec69e[_0xc10d('0x15')]){_0x3d82a3[_0xc10d('0x9')](_[_0xc10d('0x10')]({'app':_0xc10d('0x16'),'priority':_0x550206++},_0x263324));}return _0x3d82a3;};var getChanSpyApplications=function(_0x3ebfe4,_0x43b562){var _0x174f48=[];for(var _0x1bfa30=0x0,_0xd343b=0x1;_0x1bfa30<_0x43b562[_0xc10d('0x17')];_0x1bfa30++,_0xd343b=0x1){_0x174f48=_0x174f48['concat'](getUserApplications(_0x3ebfe4,_0x43b562[_0x1bfa30],_0x43b562[_0x1bfa30][_0xc10d('0x18')]));if(_0x43b562[_0x1bfa30][_0xc10d('0x18')]!=_0x43b562[_0x1bfa30][_0xc10d('0x13')]){_0x174f48=_0x174f48[_0xc10d('0x19')](getUserApplications(_0x3ebfe4,_0x43b562[_0x1bfa30],_0x43b562[_0x1bfa30]['name']));}}return _0x174f48;};var getChanSpyPromise=function(_0x161e30,_0x5a6995){return new BPromise(function(_0xe3020f,_0xcb88c6){return _0x161e30['User'][_0xc10d('0x1a')]({'attributes':['id',_0xc10d('0x13'),_0xc10d('0x18')],'where':{'role':_0xc10d('0x1b'),'chanspy':!![]},'raw':!![]})[_0xc10d('0x1c')](function(_0x91bcdc){if(_0x91bcdc){return _0xe3020f(getChanSpyApplications(_0x5a6995,_0x91bcdc));}return _0xe3020f([]);})[_0xc10d('0x1d')](function(_0x13b0f8){_0xcb88c6(_0x13b0f8);});});};module['exports']=function(_0x4616b2,_0x3ccdd5){var _0x40ead5=_0x4616b2[_0xc10d('0x1e')];return _0x4616b2[_0xc10d('0x1f')]('VoiceChanSpy',attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x428a57,_0x4106d9,_0x2d39cc){return getChanSpyPromise(_0x40ead5,_0x428a57)[_0xc10d('0x1c')](function(_0x1a7d9a){if(_0x1a7d9a&&_0x1a7d9a['length']){return _0x40ead5['VoiceExtension'][_0xc10d('0x20')](_0x1a7d9a);}})['then'](function(){_0x2d39cc();})[_0xc10d('0x1d')](function(_0x48d054){_0x2d39cc(_0x48d054);});},'afterUpdate':function(_0x188af5,_0xa7b67f,_0x239c5a){return _0x40ead5[_0xc10d('0x21')]['destroy']({'where':{'ChanSpyId':_0x188af5['id']}})['then'](function(){return getChanSpyPromise(_0x40ead5,_0x188af5);})['then'](function(_0x3d9d65){if(_0x3d9d65&&_0x3d9d65[_0xc10d('0x17')]){return _0x40ead5[_0xc10d('0x21')][_0xc10d('0x20')](_0x3d9d65);}})[_0xc10d('0x1c')](function(){_0x239c5a();})[_0xc10d('0x1d')](function(_0x593279){_0x239c5a(_0x593279);});},'afterDestroy':function(_0x521ee6,_0xb73c03,_0x292460){return _0x40ead5['VoiceExtension'][_0xc10d('0x22')]({'where':{'ChanSpyId':_0x521ee6['id']}})[_0xc10d('0x1c')](function(){_0x292460();})[_0xc10d('0x1d')](function(_0x5774d0){_0x292460(_0x5774d0);});}}});};