Built motion from commit 97153652.|2.6.26
[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 _0x8075=['models','VoiceChanSpy','voice_chanspy','then','length','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','format','%s%s','system','push','Set','CDR(type)=%s','merge','MixMonitor','recordingFormat','auth','Authenticate','ChanSpy','SIP/%s,%s','name','options','record','StopMixMonitor','concat','internal','User','catch','exports'];(function(_0x162780,_0x47f2e2){var _0x1ea2dc=function(_0x123898){while(--_0x123898){_0x162780['push'](_0x162780['shift']());}};_0x1ea2dc(++_0x47f2e2);}(_0x8075,0x17e));var _0x5807=function(_0x59b019,_0x17f2c3){_0x59b019=_0x59b019-0x0;var _0x50aed3=_0x8075[_0x59b019];return _0x50aed3;};'use strict';var _=require(_0x5807('0x0'));var util=require(_0x5807('0x1'));var BPromise=require(_0x5807('0x2'));var attributes=require(_0x5807('0x3'));var getUserApplications=function(_0x1d5b5b,_0x11ce8b,_0x5e350c){var _0x5e90a6=0x1;var _0x46cd8c=[];var _0x6d3e9f={'context':_0x11ce8b['context']||'from-sip','exten':util[_0x5807('0x4')](_0x5807('0x5'),_0x1d5b5b['prefix'],_0x5e350c),'type':_0x5807('0x6'),'isApp':![],'ChanSpyId':_0x1d5b5b['id'],'UserId':_0x11ce8b['id']};_0x46cd8c[_0x5807('0x7')](_['merge']({'app':_0x5807('0x8'),'appdata':util[_0x5807('0x4')](_0x5807('0x9'),'chanspy'),'priority':_0x5e90a6++},_0x6d3e9f));if(_0x1d5b5b['record']){_0x46cd8c['push'](_[_0x5807('0xa')]({'app':_0x5807('0xb'),'appdata':util[_0x5807('0x4')]('${UNIQUEID}.%s,a',_0x1d5b5b[_0x5807('0xc')]),'priority':_0x5e90a6++},_0x6d3e9f));}if(_0x1d5b5b[_0x5807('0xd')]){_0x46cd8c[_0x5807('0x7')](_[_0x5807('0xa')]({'app':_0x5807('0xe'),'appdata':_0x1d5b5b['password'],'priority':_0x5e90a6++},_0x6d3e9f));}_0x46cd8c['push'](_[_0x5807('0xa')]({'app':_0x5807('0xf'),'appdata':util[_0x5807('0x4')](_0x5807('0x10'),_0x11ce8b[_0x5807('0x11')],_0x1d5b5b[_0x5807('0x12')]?_0x1d5b5b[_0x5807('0x12')]['join'](''):''),'priority':_0x5e90a6++},_0x6d3e9f));if(_0x1d5b5b[_0x5807('0x13')]){_0x46cd8c[_0x5807('0x7')](_[_0x5807('0xa')]({'app':_0x5807('0x14'),'priority':_0x5e90a6++},_0x6d3e9f));}return _0x46cd8c;};var getChanSpyApplications=function(_0x3c74d0,_0x58f27d){var _0x1e8433=[];for(var _0x5c9efb=0x0,_0x57b914=0x1;_0x5c9efb<_0x58f27d['length'];_0x5c9efb++,_0x57b914=0x1){_0x1e8433=_0x1e8433[_0x5807('0x15')](getUserApplications(_0x3c74d0,_0x58f27d[_0x5c9efb],_0x58f27d[_0x5c9efb]['internal']));if(_0x58f27d[_0x5c9efb][_0x5807('0x16')]!=_0x58f27d[_0x5c9efb][_0x5807('0x11')]){_0x1e8433=_0x1e8433[_0x5807('0x15')](getUserApplications(_0x3c74d0,_0x58f27d[_0x5c9efb],_0x58f27d[_0x5c9efb][_0x5807('0x11')]));}}return _0x1e8433;};var getChanSpyPromise=function(_0x7613a0,_0x237505){return new BPromise(function(_0x241c0b,_0x317d49){return _0x7613a0[_0x5807('0x17')]['findAll']({'attributes':['id','name','internal'],'where':{'role':'agent','chanspy':!![]},'raw':!![]})['then'](function(_0x3b0dbe){if(_0x3b0dbe){return _0x241c0b(getChanSpyApplications(_0x237505,_0x3b0dbe));}return _0x241c0b([]);})[_0x5807('0x18')](function(_0x54c49c){_0x317d49(_0x54c49c);});});};module[_0x5807('0x19')]=function(_0x354064,_0x2d4317){var _0x145575=_0x354064[_0x5807('0x1a')];return _0x354064['define'](_0x5807('0x1b'),attributes,{'tableName':_0x5807('0x1c'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x146fd4,_0x2d7473,_0x571960){return getChanSpyPromise(_0x145575,_0x146fd4)[_0x5807('0x1d')](function(_0x10f3fd){if(_0x10f3fd&&_0x10f3fd[_0x5807('0x1e')]){return _0x145575[_0x5807('0x1f')][_0x5807('0x20')](_0x10f3fd);}})[_0x5807('0x1d')](function(){_0x571960();})[_0x5807('0x18')](function(_0x83e1da){_0x571960(_0x83e1da);});},'afterUpdate':function(_0x53bbb5,_0x21a857,_0x596afc){return _0x145575[_0x5807('0x1f')]['destroy']({'where':{'ChanSpyId':_0x53bbb5['id']}})[_0x5807('0x1d')](function(){return getChanSpyPromise(_0x145575,_0x53bbb5);})['then'](function(_0x316e6c){if(_0x316e6c&&_0x316e6c[_0x5807('0x1e')]){return _0x145575['VoiceExtension'][_0x5807('0x20')](_0x316e6c);}})[_0x5807('0x1d')](function(){_0x596afc();})[_0x5807('0x18')](function(_0x101f38){_0x596afc(_0x101f38);});},'afterDestroy':function(_0x4921c5,_0x19c118,_0x4e7106){return _0x145575[_0x5807('0x1f')][_0x5807('0x21')]({'where':{'ChanSpyId':_0x4921c5['id']}})[_0x5807('0x1d')](function(){_0x4e7106();})[_0x5807('0x18')](function(_0x69feb4){_0x4e7106(_0x69feb4);});}}});};