Built motion from commit 753c950e.|2.5.42
[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 _0xc728=['./voiceChanSpy.attributes','from-sip','%s%s','system','push','merge','Set','format','CDR(type)=%s','record','MixMonitor','recordingFormat','Authenticate','SIP/%s,%s','name','options','join','StopMixMonitor','concat','internal','User','findAll','agent','then','exports','models','define','VoiceChanSpy','voice_chanspy','length','bulkCreate','destroy','VoiceExtension','catch','lodash','util','bluebird'];(function(_0x33bc4f,_0x52d3c4){var _0x4bccfb=function(_0x23853c){while(--_0x23853c){_0x33bc4f['push'](_0x33bc4f['shift']());}};_0x4bccfb(++_0x52d3c4);}(_0xc728,0x6c));var _0x8c72=function(_0x2a7077,_0x102f5f){_0x2a7077=_0x2a7077-0x0;var _0x4e38e7=_0xc728[_0x2a7077];return _0x4e38e7;};'use strict';var _=require(_0x8c72('0x0'));var util=require(_0x8c72('0x1'));var BPromise=require(_0x8c72('0x2'));var attributes=require(_0x8c72('0x3'));var getUserApplications=function(_0x57484b,_0x8f3f79,_0xfb9ea1){var _0x596de9=0x1;var _0x13352f=[];var _0x3e810b={'context':_0x8f3f79['context']||_0x8c72('0x4'),'exten':util['format'](_0x8c72('0x5'),_0x57484b['prefix'],_0xfb9ea1),'type':_0x8c72('0x6'),'isApp':![],'ChanSpyId':_0x57484b['id'],'UserId':_0x8f3f79['id']};_0x13352f[_0x8c72('0x7')](_[_0x8c72('0x8')]({'app':_0x8c72('0x9'),'appdata':util[_0x8c72('0xa')](_0x8c72('0xb'),'chanspy'),'priority':_0x596de9++},_0x3e810b));if(_0x57484b[_0x8c72('0xc')]){_0x13352f[_0x8c72('0x7')](_[_0x8c72('0x8')]({'app':_0x8c72('0xd'),'appdata':util[_0x8c72('0xa')]('${UNIQUEID}.%s,a',_0x57484b[_0x8c72('0xe')]),'priority':_0x596de9++},_0x3e810b));}if(_0x57484b['auth']){_0x13352f['push'](_['merge']({'app':_0x8c72('0xf'),'appdata':_0x57484b['password'],'priority':_0x596de9++},_0x3e810b));}_0x13352f[_0x8c72('0x7')](_['merge']({'app':'ChanSpy','appdata':util[_0x8c72('0xa')](_0x8c72('0x10'),_0x8f3f79[_0x8c72('0x11')],_0x57484b[_0x8c72('0x12')]?_0x57484b[_0x8c72('0x12')][_0x8c72('0x13')](''):''),'priority':_0x596de9++},_0x3e810b));if(_0x57484b[_0x8c72('0xc')]){_0x13352f['push'](_['merge']({'app':_0x8c72('0x14'),'priority':_0x596de9++},_0x3e810b));}return _0x13352f;};var getChanSpyApplications=function(_0x50ef00,_0x1c0df2){var _0x2c45bf=[];for(var _0x1ccfb6=0x0,_0x512904=0x1;_0x1ccfb6<_0x1c0df2['length'];_0x1ccfb6++,_0x512904=0x1){_0x2c45bf=_0x2c45bf[_0x8c72('0x15')](getUserApplications(_0x50ef00,_0x1c0df2[_0x1ccfb6],_0x1c0df2[_0x1ccfb6][_0x8c72('0x16')]));if(_0x1c0df2[_0x1ccfb6][_0x8c72('0x16')]!=_0x1c0df2[_0x1ccfb6][_0x8c72('0x11')]){_0x2c45bf=_0x2c45bf[_0x8c72('0x15')](getUserApplications(_0x50ef00,_0x1c0df2[_0x1ccfb6],_0x1c0df2[_0x1ccfb6][_0x8c72('0x11')]));}}return _0x2c45bf;};var getChanSpyPromise=function(_0x3891b0,_0xd3dc81){return new BPromise(function(_0x3c9d1b,_0x34e700){return _0x3891b0[_0x8c72('0x17')][_0x8c72('0x18')]({'attributes':['id','name','internal'],'where':{'role':_0x8c72('0x19'),'chanspy':!![]},'raw':!![]})[_0x8c72('0x1a')](function(_0x2b632d){if(_0x2b632d){return _0x3c9d1b(getChanSpyApplications(_0xd3dc81,_0x2b632d));}return _0x3c9d1b([]);})['catch'](function(_0x1bfa89){_0x34e700(_0x1bfa89);});});};module[_0x8c72('0x1b')]=function(_0x114fcf,_0x151975){var _0x4f85a6=_0x114fcf[_0x8c72('0x1c')];return _0x114fcf[_0x8c72('0x1d')](_0x8c72('0x1e'),attributes,{'tableName':_0x8c72('0x1f'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x32b8b0,_0x1f93d6,_0x439dd7){return getChanSpyPromise(_0x4f85a6,_0x32b8b0)[_0x8c72('0x1a')](function(_0x2d5c1d){if(_0x2d5c1d&&_0x2d5c1d[_0x8c72('0x20')]){return _0x4f85a6['VoiceExtension'][_0x8c72('0x21')](_0x2d5c1d);}})[_0x8c72('0x1a')](function(){_0x439dd7();})['catch'](function(_0xa26488){_0x439dd7(_0xa26488);});},'afterUpdate':function(_0x5465a8,_0x732c78,_0x1ef08e){return _0x4f85a6['VoiceExtension'][_0x8c72('0x22')]({'where':{'ChanSpyId':_0x5465a8['id']}})[_0x8c72('0x1a')](function(){return getChanSpyPromise(_0x4f85a6,_0x5465a8);})[_0x8c72('0x1a')](function(_0x4f109f){if(_0x4f109f&&_0x4f109f[_0x8c72('0x20')]){return _0x4f85a6['VoiceExtension'][_0x8c72('0x21')](_0x4f109f);}})[_0x8c72('0x1a')](function(){_0x1ef08e();})['catch'](function(_0x3f918b){_0x1ef08e(_0x3f918b);});},'afterDestroy':function(_0x3427e3,_0x14b8b1,_0x43f25f){return _0x4f85a6[_0x8c72('0x23')][_0x8c72('0x22')]({'where':{'ChanSpyId':_0x3427e3['id']}})[_0x8c72('0x1a')](function(){_0x43f25f();})[_0x8c72('0x24')](function(_0x25de08){_0x43f25f(_0x25de08);});}}});};