4777c3c89b1aad15c60d269847a7311edbd739c0
[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 _0xf796=['push','merge','Set','CDR(type)=%s','${UNIQUEID}.%s,a','recordingFormat','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','join','record','StopMixMonitor','length','concat','internal','User','findAll','agent','exports','models','define','VoiceChanSpy','voice_chanspy','then','VoiceExtension','catch','destroy','bulkCreate','lodash','bluebird','./voiceChanSpy.attributes','format','%s%s'];(function(_0x526fb1,_0x1d0359){var _0x33582f=function(_0x2df327){while(--_0x2df327){_0x526fb1['push'](_0x526fb1['shift']());}};_0x33582f(++_0x1d0359);}(_0xf796,0x67));var _0x6f79=function(_0x5629f9,_0x32218a){_0x5629f9=_0x5629f9-0x0;var _0x317fa5=_0xf796[_0x5629f9];return _0x317fa5;};'use strict';var _=require(_0x6f79('0x0'));var util=require('util');var BPromise=require(_0x6f79('0x1'));var attributes=require(_0x6f79('0x2'));var getUserApplications=function(_0x265a28,_0x193e07,_0x1b1222){var _0x1bfb09=0x1;var _0x194b58=[];var _0x55185f={'context':_0x193e07['context']||'from-sip','exten':util[_0x6f79('0x3')](_0x6f79('0x4'),_0x265a28['prefix'],_0x1b1222),'type':'system','isApp':![],'ChanSpyId':_0x265a28['id'],'UserId':_0x193e07['id']};_0x194b58[_0x6f79('0x5')](_[_0x6f79('0x6')]({'app':_0x6f79('0x7'),'appdata':util[_0x6f79('0x3')](_0x6f79('0x8'),'chanspy'),'priority':_0x1bfb09++},_0x55185f));if(_0x265a28['record']){_0x194b58[_0x6f79('0x5')](_[_0x6f79('0x6')]({'app':'MixMonitor','appdata':util['format'](_0x6f79('0x9'),_0x265a28[_0x6f79('0xa')]),'priority':_0x1bfb09++},_0x55185f));}if(_0x265a28['auth']){_0x194b58[_0x6f79('0x5')](_[_0x6f79('0x6')]({'app':_0x6f79('0xb'),'appdata':_0x265a28[_0x6f79('0xc')],'priority':_0x1bfb09++},_0x55185f));}_0x194b58[_0x6f79('0x5')](_['merge']({'app':_0x6f79('0xd'),'appdata':util[_0x6f79('0x3')](_0x6f79('0xe'),_0x193e07[_0x6f79('0xf')],_0x265a28[_0x6f79('0x10')]?_0x265a28[_0x6f79('0x10')][_0x6f79('0x11')](''):''),'priority':_0x1bfb09++},_0x55185f));if(_0x265a28[_0x6f79('0x12')]){_0x194b58[_0x6f79('0x5')](_['merge']({'app':_0x6f79('0x13'),'priority':_0x1bfb09++},_0x55185f));}return _0x194b58;};var getChanSpyApplications=function(_0x5a01b0,_0x556e63){var _0x1be50b=[];for(var _0x15b287=0x0,_0x31a1cb=0x1;_0x15b287<_0x556e63[_0x6f79('0x14')];_0x15b287++,_0x31a1cb=0x1){_0x1be50b=_0x1be50b[_0x6f79('0x15')](getUserApplications(_0x5a01b0,_0x556e63[_0x15b287],_0x556e63[_0x15b287]['internal']));if(_0x556e63[_0x15b287][_0x6f79('0x16')]!=_0x556e63[_0x15b287]['name']){_0x1be50b=_0x1be50b['concat'](getUserApplications(_0x5a01b0,_0x556e63[_0x15b287],_0x556e63[_0x15b287][_0x6f79('0xf')]));}}return _0x1be50b;};var getChanSpyPromise=function(_0x5914fe,_0x3c660b){return new BPromise(function(_0x1ef120,_0x4992ff){return _0x5914fe[_0x6f79('0x17')][_0x6f79('0x18')]({'attributes':['id',_0x6f79('0xf'),_0x6f79('0x16')],'where':{'role':_0x6f79('0x19'),'chanspy':!![]},'raw':!![]})['then'](function(_0x27b412){if(_0x27b412){return _0x1ef120(getChanSpyApplications(_0x3c660b,_0x27b412));}return _0x1ef120([]);})['catch'](function(_0x757aea){_0x4992ff(_0x757aea);});});};module[_0x6f79('0x1a')]=function(_0x457af6,_0x5a3215){var _0x470015=_0x457af6[_0x6f79('0x1b')];return _0x457af6[_0x6f79('0x1c')](_0x6f79('0x1d'),attributes,{'tableName':_0x6f79('0x1e'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x4255ed,_0x54dee7,_0x40ed0f){return getChanSpyPromise(_0x470015,_0x4255ed)[_0x6f79('0x1f')](function(_0x3f51b3){if(_0x3f51b3&&_0x3f51b3[_0x6f79('0x14')]){return _0x470015[_0x6f79('0x20')]['bulkCreate'](_0x3f51b3);}})[_0x6f79('0x1f')](function(){_0x40ed0f();})[_0x6f79('0x21')](function(_0x4201d6){_0x40ed0f(_0x4201d6);});},'afterUpdate':function(_0xb46261,_0x268831,_0x40a4f0){return _0x470015['VoiceExtension'][_0x6f79('0x22')]({'where':{'ChanSpyId':_0xb46261['id']}})['then'](function(){return getChanSpyPromise(_0x470015,_0xb46261);})[_0x6f79('0x1f')](function(_0x30ee39){if(_0x30ee39&&_0x30ee39[_0x6f79('0x14')]){return _0x470015[_0x6f79('0x20')][_0x6f79('0x23')](_0x30ee39);}})[_0x6f79('0x1f')](function(){_0x40a4f0();})['catch'](function(_0x1bdb0e){_0x40a4f0(_0x1bdb0e);});},'afterDestroy':function(_0x325cc6,_0x4355ff,_0x2ea2c3){return _0x470015[_0x6f79('0x20')][_0x6f79('0x22')]({'where':{'ChanSpyId':_0x325cc6['id']}})[_0x6f79('0x1f')](function(){_0x2ea2c3();})[_0x6f79('0x21')](function(_0x5c312f){_0x2ea2c3(_0x5c312f);});}}});};