Built motion from commit (unavailable).|2.5.7
[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 _0x564a=['./voiceChanSpy.attributes','from-sip','format','%s%s','prefix','system','push','merge','Set','CDR(type)=%s','chanspy','record','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','Authenticate','ChanSpy','SIP/%s,%s','options','join','StopMixMonitor','length','concat','internal','name','findAll','agent','then','catch','exports','models','define','voice_chanspy','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird'];(function(_0x564cfa,_0x2097a2){var _0x37d1df=function(_0x55d871){while(--_0x55d871){_0x564cfa['push'](_0x564cfa['shift']());}};_0x37d1df(++_0x2097a2);}(_0x564a,0x183));var _0xa564=function(_0x5b74d1,_0x2dfb53){_0x5b74d1=_0x5b74d1-0x0;var _0x283c70=_0x564a[_0x5b74d1];return _0x283c70;};'use strict';var _=require(_0xa564('0x0'));var util=require(_0xa564('0x1'));var BPromise=require(_0xa564('0x2'));var attributes=require(_0xa564('0x3'));var getUserApplications=function(_0x1cb6cb,_0x37a1b3,_0x39aaad){var _0x1ed534=0x1;var _0x20af0f=[];var _0x12cd57={'context':_0x37a1b3['context']||_0xa564('0x4'),'exten':util[_0xa564('0x5')](_0xa564('0x6'),_0x1cb6cb[_0xa564('0x7')],_0x39aaad),'type':_0xa564('0x8'),'isApp':![],'ChanSpyId':_0x1cb6cb['id'],'UserId':_0x37a1b3['id']};_0x20af0f[_0xa564('0x9')](_[_0xa564('0xa')]({'app':_0xa564('0xb'),'appdata':util[_0xa564('0x5')](_0xa564('0xc'),_0xa564('0xd')),'priority':_0x1ed534++},_0x12cd57));if(_0x1cb6cb[_0xa564('0xe')]){_0x20af0f[_0xa564('0x9')](_[_0xa564('0xa')]({'app':_0xa564('0xf'),'appdata':util['format'](_0xa564('0x10'),_0x1cb6cb[_0xa564('0x11')]),'priority':_0x1ed534++},_0x12cd57));}if(_0x1cb6cb['auth']){_0x20af0f[_0xa564('0x9')](_[_0xa564('0xa')]({'app':_0xa564('0x12'),'appdata':_0x1cb6cb['password'],'priority':_0x1ed534++},_0x12cd57));}_0x20af0f[_0xa564('0x9')](_[_0xa564('0xa')]({'app':_0xa564('0x13'),'appdata':util['format'](_0xa564('0x14'),_0x37a1b3['name'],_0x1cb6cb['options']?_0x1cb6cb[_0xa564('0x15')][_0xa564('0x16')](''):''),'priority':_0x1ed534++},_0x12cd57));if(_0x1cb6cb[_0xa564('0xe')]){_0x20af0f[_0xa564('0x9')](_[_0xa564('0xa')]({'app':_0xa564('0x17'),'priority':_0x1ed534++},_0x12cd57));}return _0x20af0f;};var getChanSpyApplications=function(_0x42ab47,_0x4d3073){var _0x5a9cfb=[];for(var _0x2ac4b4=0x0,_0x57e891=0x1;_0x2ac4b4<_0x4d3073[_0xa564('0x18')];_0x2ac4b4++,_0x57e891=0x1){_0x5a9cfb=_0x5a9cfb[_0xa564('0x19')](getUserApplications(_0x42ab47,_0x4d3073[_0x2ac4b4],_0x4d3073[_0x2ac4b4]['internal']));if(_0x4d3073[_0x2ac4b4][_0xa564('0x1a')]!=_0x4d3073[_0x2ac4b4][_0xa564('0x1b')]){_0x5a9cfb=_0x5a9cfb[_0xa564('0x19')](getUserApplications(_0x42ab47,_0x4d3073[_0x2ac4b4],_0x4d3073[_0x2ac4b4][_0xa564('0x1b')]));}}return _0x5a9cfb;};var getChanSpyPromise=function(_0x3473c1,_0x477d41){return new BPromise(function(_0x296bc5,_0x1c06c9){return _0x3473c1['User'][_0xa564('0x1c')]({'attributes':['id',_0xa564('0x1b'),_0xa564('0x1a')],'where':{'role':_0xa564('0x1d'),'chanspy':!![]},'raw':!![]})[_0xa564('0x1e')](function(_0x19b5dc){if(_0x19b5dc){return _0x296bc5(getChanSpyApplications(_0x477d41,_0x19b5dc));}return _0x296bc5([]);})[_0xa564('0x1f')](function(_0x2ad6be){_0x1c06c9(_0x2ad6be);});});};module[_0xa564('0x20')]=function(_0x9adb8b,_0x5d23ce){var _0x57620a=_0x9adb8b[_0xa564('0x21')];return _0x9adb8b[_0xa564('0x22')]('VoiceChanSpy',attributes,{'tableName':_0xa564('0x23'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x91b8f6,_0x195f07,_0x2cbd8d){return getChanSpyPromise(_0x57620a,_0x91b8f6)[_0xa564('0x1e')](function(_0x1e335a){if(_0x1e335a&&_0x1e335a['length']){return _0x57620a[_0xa564('0x24')][_0xa564('0x25')](_0x1e335a);}})[_0xa564('0x1e')](function(){_0x2cbd8d();})[_0xa564('0x1f')](function(_0x3a251e){_0x2cbd8d(_0x3a251e);});},'afterUpdate':function(_0xf68b87,_0x440170,_0x1f077d){return _0x57620a['VoiceExtension'][_0xa564('0x26')]({'where':{'ChanSpyId':_0xf68b87['id']}})[_0xa564('0x1e')](function(){return getChanSpyPromise(_0x57620a,_0xf68b87);})[_0xa564('0x1e')](function(_0xca5d47){if(_0xca5d47&&_0xca5d47[_0xa564('0x18')]){return _0x57620a['VoiceExtension'][_0xa564('0x25')](_0xca5d47);}})[_0xa564('0x1e')](function(){_0x1f077d();})['catch'](function(_0x2aa11e){_0x1f077d(_0x2aa11e);});},'afterDestroy':function(_0x353523,_0x6ec91c,_0x16298a){return _0x57620a[_0xa564('0x24')][_0xa564('0x26')]({'where':{'ChanSpyId':_0x353523['id']}})['then'](function(){_0x16298a();})[_0xa564('0x1f')](function(_0x1c6e7b){_0x16298a(_0x1c6e7b);});}}});};