Built motion from commit 52c8a02d.|2.6.29
[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 _0x4800=['chanspy','record','push','MixMonitor','recordingFormat','auth','password','SIP/%s,%s','name','options','StopMixMonitor','length','concat','internal','agent','then','catch','exports','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','system','merge','Set','CDR(type)=%s'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x4800,0x1c8));var _0x0480=function(_0x3cd269,_0x228e0f){_0x3cd269=_0x3cd269-0x0;var _0x55e04b=_0x4800[_0x3cd269];return _0x55e04b;};'use strict';var _=require(_0x0480('0x0'));var util=require(_0x0480('0x1'));var BPromise=require(_0x0480('0x2'));var attributes=require(_0x0480('0x3'));var getUserApplications=function(_0x16ad09,_0x2307b0,_0x53f18e){var _0x486456=0x1;var _0xde06dc=[];var _0x5786f1={'context':_0x2307b0[_0x0480('0x4')]||_0x0480('0x5'),'exten':util[_0x0480('0x6')](_0x0480('0x7'),_0x16ad09['prefix'],_0x53f18e),'type':_0x0480('0x8'),'isApp':![],'ChanSpyId':_0x16ad09['id'],'UserId':_0x2307b0['id']};_0xde06dc['push'](_[_0x0480('0x9')]({'app':_0x0480('0xa'),'appdata':util['format'](_0x0480('0xb'),_0x0480('0xc')),'priority':_0x486456++},_0x5786f1));if(_0x16ad09[_0x0480('0xd')]){_0xde06dc[_0x0480('0xe')](_[_0x0480('0x9')]({'app':_0x0480('0xf'),'appdata':util['format']('${UNIQUEID}.%s,a',_0x16ad09[_0x0480('0x10')]),'priority':_0x486456++},_0x5786f1));}if(_0x16ad09[_0x0480('0x11')]){_0xde06dc[_0x0480('0xe')](_[_0x0480('0x9')]({'app':'Authenticate','appdata':_0x16ad09[_0x0480('0x12')],'priority':_0x486456++},_0x5786f1));}_0xde06dc[_0x0480('0xe')](_['merge']({'app':'ChanSpy','appdata':util[_0x0480('0x6')](_0x0480('0x13'),_0x2307b0[_0x0480('0x14')],_0x16ad09[_0x0480('0x15')]?_0x16ad09[_0x0480('0x15')]['join'](''):''),'priority':_0x486456++},_0x5786f1));if(_0x16ad09[_0x0480('0xd')]){_0xde06dc['push'](_[_0x0480('0x9')]({'app':_0x0480('0x16'),'priority':_0x486456++},_0x5786f1));}return _0xde06dc;};var getChanSpyApplications=function(_0x2e7b32,_0x205d45){var _0x5075b5=[];for(var _0xc0ee2b=0x0,_0x5d09c5=0x1;_0xc0ee2b<_0x205d45[_0x0480('0x17')];_0xc0ee2b++,_0x5d09c5=0x1){_0x5075b5=_0x5075b5[_0x0480('0x18')](getUserApplications(_0x2e7b32,_0x205d45[_0xc0ee2b],_0x205d45[_0xc0ee2b][_0x0480('0x19')]));if(_0x205d45[_0xc0ee2b][_0x0480('0x19')]!=_0x205d45[_0xc0ee2b]['name']){_0x5075b5=_0x5075b5[_0x0480('0x18')](getUserApplications(_0x2e7b32,_0x205d45[_0xc0ee2b],_0x205d45[_0xc0ee2b][_0x0480('0x14')]));}}return _0x5075b5;};var getChanSpyPromise=function(_0x2b75c7,_0x17b89c){return new BPromise(function(_0x2e9a83,_0x4a359e){return _0x2b75c7['User']['findAll']({'attributes':['id','name',_0x0480('0x19')],'where':{'role':_0x0480('0x1a'),'chanspy':!![]},'raw':!![]})[_0x0480('0x1b')](function(_0x3c1383){if(_0x3c1383){return _0x2e9a83(getChanSpyApplications(_0x17b89c,_0x3c1383));}return _0x2e9a83([]);})[_0x0480('0x1c')](function(_0x4d3a41){_0x4a359e(_0x4d3a41);});});};module[_0x0480('0x1d')]=function(_0x1ac734,_0x3aea76){var _0x2971ac=_0x1ac734[_0x0480('0x1e')];return _0x1ac734[_0x0480('0x1f')](_0x0480('0x20'),attributes,{'tableName':_0x0480('0x21'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x4e45ed,_0x2722ef,_0x4e7777){return getChanSpyPromise(_0x2971ac,_0x4e45ed)[_0x0480('0x1b')](function(_0x1310c3){if(_0x1310c3&&_0x1310c3[_0x0480('0x17')]){return _0x2971ac[_0x0480('0x22')]['bulkCreate'](_0x1310c3);}})[_0x0480('0x1b')](function(){_0x4e7777();})[_0x0480('0x1c')](function(_0x1aff79){_0x4e7777(_0x1aff79);});},'afterUpdate':function(_0xda94dd,_0xfd42f6,_0x562704){return _0x2971ac[_0x0480('0x22')][_0x0480('0x23')]({'where':{'ChanSpyId':_0xda94dd['id']}})[_0x0480('0x1b')](function(){return getChanSpyPromise(_0x2971ac,_0xda94dd);})[_0x0480('0x1b')](function(_0xcbdae9){if(_0xcbdae9&&_0xcbdae9[_0x0480('0x17')]){return _0x2971ac[_0x0480('0x22')]['bulkCreate'](_0xcbdae9);}})[_0x0480('0x1b')](function(){_0x562704();})['catch'](function(_0x90d738){_0x562704(_0x90d738);});},'afterDestroy':function(_0x5cb511,_0x353ae3,_0xf16487){return _0x2971ac[_0x0480('0x22')]['destroy']({'where':{'ChanSpyId':_0x5cb511['id']}})[_0x0480('0x1b')](function(){_0xf16487();})[_0x0480('0x1c')](function(_0x5aa35a){_0xf16487(_0x5aa35a);});}}});};