Built motion from commit 43538d75.|2.5.35
[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 _0x1e7c=['from-sip','format','%s%s','prefix','system','push','Set','CDR(type)=%s','record','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','merge','Authenticate','password','SIP/%s,%s','options','StopMixMonitor','length','concat','internal','name','User','findAll','catch','exports','models','VoiceChanSpy','voice_chanspy','then','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes'];(function(_0x43b487,_0x21893a){var _0x2f707a=function(_0x477ee0){while(--_0x477ee0){_0x43b487['push'](_0x43b487['shift']());}};_0x2f707a(++_0x21893a);}(_0x1e7c,0xba));var _0xc1e7=function(_0x53472c,_0x3e506e){_0x53472c=_0x53472c-0x0;var _0x44e747=_0x1e7c[_0x53472c];return _0x44e747;};'use strict';var _=require(_0xc1e7('0x0'));var util=require(_0xc1e7('0x1'));var BPromise=require(_0xc1e7('0x2'));var attributes=require(_0xc1e7('0x3'));var getUserApplications=function(_0x1c82b1,_0x597474,_0x407938){var _0x3eb057=0x1;var _0xea0b00=[];var _0x2716fb={'context':_0x597474['context']||_0xc1e7('0x4'),'exten':util[_0xc1e7('0x5')](_0xc1e7('0x6'),_0x1c82b1[_0xc1e7('0x7')],_0x407938),'type':_0xc1e7('0x8'),'isApp':![],'ChanSpyId':_0x1c82b1['id'],'UserId':_0x597474['id']};_0xea0b00[_0xc1e7('0x9')](_['merge']({'app':_0xc1e7('0xa'),'appdata':util[_0xc1e7('0x5')](_0xc1e7('0xb'),'chanspy'),'priority':_0x3eb057++},_0x2716fb));if(_0x1c82b1[_0xc1e7('0xc')]){_0xea0b00[_0xc1e7('0x9')](_['merge']({'app':_0xc1e7('0xd'),'appdata':util['format'](_0xc1e7('0xe'),_0x1c82b1[_0xc1e7('0xf')]),'priority':_0x3eb057++},_0x2716fb));}if(_0x1c82b1[_0xc1e7('0x10')]){_0xea0b00['push'](_[_0xc1e7('0x11')]({'app':_0xc1e7('0x12'),'appdata':_0x1c82b1[_0xc1e7('0x13')],'priority':_0x3eb057++},_0x2716fb));}_0xea0b00[_0xc1e7('0x9')](_[_0xc1e7('0x11')]({'app':'ChanSpy','appdata':util[_0xc1e7('0x5')](_0xc1e7('0x14'),_0x597474['name'],_0x1c82b1[_0xc1e7('0x15')]?_0x1c82b1[_0xc1e7('0x15')]['join'](''):''),'priority':_0x3eb057++},_0x2716fb));if(_0x1c82b1[_0xc1e7('0xc')]){_0xea0b00[_0xc1e7('0x9')](_[_0xc1e7('0x11')]({'app':_0xc1e7('0x16'),'priority':_0x3eb057++},_0x2716fb));}return _0xea0b00;};var getChanSpyApplications=function(_0x4f6fcc,_0x4089b8){var _0x8a30ec=[];for(var _0x26ad97=0x0,_0x4c7c44=0x1;_0x26ad97<_0x4089b8[_0xc1e7('0x17')];_0x26ad97++,_0x4c7c44=0x1){_0x8a30ec=_0x8a30ec[_0xc1e7('0x18')](getUserApplications(_0x4f6fcc,_0x4089b8[_0x26ad97],_0x4089b8[_0x26ad97][_0xc1e7('0x19')]));if(_0x4089b8[_0x26ad97][_0xc1e7('0x19')]!=_0x4089b8[_0x26ad97][_0xc1e7('0x1a')]){_0x8a30ec=_0x8a30ec['concat'](getUserApplications(_0x4f6fcc,_0x4089b8[_0x26ad97],_0x4089b8[_0x26ad97][_0xc1e7('0x1a')]));}}return _0x8a30ec;};var getChanSpyPromise=function(_0x27bafa,_0x291062){return new BPromise(function(_0x16285d,_0x1a44b9){return _0x27bafa[_0xc1e7('0x1b')][_0xc1e7('0x1c')]({'attributes':['id',_0xc1e7('0x1a'),_0xc1e7('0x19')],'where':{'role':'agent','chanspy':!![]},'raw':!![]})['then'](function(_0x5cd5c9){if(_0x5cd5c9){return _0x16285d(getChanSpyApplications(_0x291062,_0x5cd5c9));}return _0x16285d([]);})[_0xc1e7('0x1d')](function(_0x40fb62){_0x1a44b9(_0x40fb62);});});};module[_0xc1e7('0x1e')]=function(_0x1f128d,_0x105698){var _0x3e9294=_0x1f128d[_0xc1e7('0x1f')];return _0x1f128d['define'](_0xc1e7('0x20'),attributes,{'tableName':_0xc1e7('0x21'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x119eb,_0xc15c71,_0x141a8e){return getChanSpyPromise(_0x3e9294,_0x119eb)[_0xc1e7('0x22')](function(_0x2f6aba){if(_0x2f6aba&&_0x2f6aba[_0xc1e7('0x17')]){return _0x3e9294[_0xc1e7('0x23')][_0xc1e7('0x24')](_0x2f6aba);}})[_0xc1e7('0x22')](function(){_0x141a8e();})[_0xc1e7('0x1d')](function(_0xb04b9f){_0x141a8e(_0xb04b9f);});},'afterUpdate':function(_0x476e38,_0x46cf80,_0x3c8c57){return _0x3e9294['VoiceExtension'][_0xc1e7('0x25')]({'where':{'ChanSpyId':_0x476e38['id']}})['then'](function(){return getChanSpyPromise(_0x3e9294,_0x476e38);})[_0xc1e7('0x22')](function(_0x1087d4){if(_0x1087d4&&_0x1087d4['length']){return _0x3e9294['VoiceExtension']['bulkCreate'](_0x1087d4);}})['then'](function(){_0x3c8c57();})[_0xc1e7('0x1d')](function(_0x3a5a51){_0x3c8c57(_0x3a5a51);});},'afterDestroy':function(_0x599846,_0x28057d,_0x188085){return _0x3e9294[_0xc1e7('0x23')][_0xc1e7('0x25')]({'where':{'ChanSpyId':_0x599846['id']}})[_0xc1e7('0x22')](function(){_0x188085();})[_0xc1e7('0x1d')](function(_0x2badda){_0x188085(_0x2badda);});}}});};