Built motion from commit d5e4af8c.|2.6.23
[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 _0x5477=['Set','CDR(type)=%s','chanspy','record','MixMonitor','recordingFormat','auth','Authenticate','password','push','ChanSpy','SIP/%s,%s','name','options','StopMixMonitor','length','internal','concat','User','agent','then','exports','define','VoiceChanSpy','voice_chanspy','bulkCreate','catch','destroy','VoiceExtension','lodash','util','from-sip','format','%s%s','system','merge'];(function(_0x1f4c83,_0x2ab1dc){var _0xa8b4e7=function(_0x1150d5){while(--_0x1150d5){_0x1f4c83['push'](_0x1f4c83['shift']());}};_0xa8b4e7(++_0x2ab1dc);}(_0x5477,0x1a9));var _0x7547=function(_0x4a7631,_0x2c85b9){_0x4a7631=_0x4a7631-0x0;var _0x1a5a6f=_0x5477[_0x4a7631];return _0x1a5a6f;};'use strict';var _=require(_0x7547('0x0'));var util=require(_0x7547('0x1'));var BPromise=require('bluebird');var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x419cbd,_0x314fbe,_0x5335ff){var _0x34e191=0x1;var _0x22b436=[];var _0x2db489={'context':_0x314fbe['context']||_0x7547('0x2'),'exten':util[_0x7547('0x3')](_0x7547('0x4'),_0x419cbd['prefix'],_0x5335ff),'type':_0x7547('0x5'),'isApp':![],'ChanSpyId':_0x419cbd['id'],'UserId':_0x314fbe['id']};_0x22b436['push'](_[_0x7547('0x6')]({'app':_0x7547('0x7'),'appdata':util[_0x7547('0x3')](_0x7547('0x8'),_0x7547('0x9')),'priority':_0x34e191++},_0x2db489));if(_0x419cbd[_0x7547('0xa')]){_0x22b436['push'](_[_0x7547('0x6')]({'app':_0x7547('0xb'),'appdata':util[_0x7547('0x3')]('${UNIQUEID}.%s,a',_0x419cbd[_0x7547('0xc')]),'priority':_0x34e191++},_0x2db489));}if(_0x419cbd[_0x7547('0xd')]){_0x22b436['push'](_[_0x7547('0x6')]({'app':_0x7547('0xe'),'appdata':_0x419cbd[_0x7547('0xf')],'priority':_0x34e191++},_0x2db489));}_0x22b436[_0x7547('0x10')](_['merge']({'app':_0x7547('0x11'),'appdata':util['format'](_0x7547('0x12'),_0x314fbe[_0x7547('0x13')],_0x419cbd[_0x7547('0x14')]?_0x419cbd[_0x7547('0x14')]['join'](''):''),'priority':_0x34e191++},_0x2db489));if(_0x419cbd[_0x7547('0xa')]){_0x22b436['push'](_[_0x7547('0x6')]({'app':_0x7547('0x15'),'priority':_0x34e191++},_0x2db489));}return _0x22b436;};var getChanSpyApplications=function(_0x26f4fb,_0x228f40){var _0x327e24=[];for(var _0x488cb4=0x0,_0x1ffb8f=0x1;_0x488cb4<_0x228f40[_0x7547('0x16')];_0x488cb4++,_0x1ffb8f=0x1){_0x327e24=_0x327e24['concat'](getUserApplications(_0x26f4fb,_0x228f40[_0x488cb4],_0x228f40[_0x488cb4][_0x7547('0x17')]));if(_0x228f40[_0x488cb4][_0x7547('0x17')]!=_0x228f40[_0x488cb4][_0x7547('0x13')]){_0x327e24=_0x327e24[_0x7547('0x18')](getUserApplications(_0x26f4fb,_0x228f40[_0x488cb4],_0x228f40[_0x488cb4][_0x7547('0x13')]));}}return _0x327e24;};var getChanSpyPromise=function(_0x4d6b84,_0x3b44a5){return new BPromise(function(_0x15c9d6,_0x24eca5){return _0x4d6b84[_0x7547('0x19')]['findAll']({'attributes':['id',_0x7547('0x13'),_0x7547('0x17')],'where':{'role':_0x7547('0x1a'),'chanspy':!![]},'raw':!![]})[_0x7547('0x1b')](function(_0x409c51){if(_0x409c51){return _0x15c9d6(getChanSpyApplications(_0x3b44a5,_0x409c51));}return _0x15c9d6([]);})['catch'](function(_0x273f4a){_0x24eca5(_0x273f4a);});});};module[_0x7547('0x1c')]=function(_0x2fd78c,_0x32f7a5){var _0x3881da=_0x2fd78c['models'];return _0x2fd78c[_0x7547('0x1d')](_0x7547('0x1e'),attributes,{'tableName':_0x7547('0x1f'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x49425b,_0x54c88e,_0x4ad4fe){return getChanSpyPromise(_0x3881da,_0x49425b)[_0x7547('0x1b')](function(_0x1971d2){if(_0x1971d2&&_0x1971d2[_0x7547('0x16')]){return _0x3881da['VoiceExtension'][_0x7547('0x20')](_0x1971d2);}})[_0x7547('0x1b')](function(){_0x4ad4fe();})[_0x7547('0x21')](function(_0x2cfac6){_0x4ad4fe(_0x2cfac6);});},'afterUpdate':function(_0x4d0d78,_0x1339cc,_0x4ad06e){return _0x3881da['VoiceExtension'][_0x7547('0x22')]({'where':{'ChanSpyId':_0x4d0d78['id']}})[_0x7547('0x1b')](function(){return getChanSpyPromise(_0x3881da,_0x4d0d78);})[_0x7547('0x1b')](function(_0x1ab25e){if(_0x1ab25e&&_0x1ab25e['length']){return _0x3881da[_0x7547('0x23')][_0x7547('0x20')](_0x1ab25e);}})[_0x7547('0x1b')](function(){_0x4ad06e();})[_0x7547('0x21')](function(_0x4bf176){_0x4ad06e(_0x4bf176);});},'afterDestroy':function(_0x1570ee,_0x15544b,_0x285e38){return _0x3881da[_0x7547('0x23')][_0x7547('0x22')]({'where':{'ChanSpyId':_0x1570ee['id']}})[_0x7547('0x1b')](function(){_0x285e38();})[_0x7547('0x21')](function(_0x242b70){_0x285e38(_0x242b70);});}}});};