64d302e6b722d68dc9aa4e46f2f2b3744b7064d4
[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 _0x318a=['system','merge','Set','CDR(type)=%s','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','push','Authenticate','ChanSpy','SIP/%s,%s','name','options','StopMixMonitor','length','concat','internal','User','findAll','agent','define','VoiceChanSpy','then','VoiceExtension','bulkCreate','catch','destroy','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix'];(function(_0x3cd4d5,_0x5b1c28){var _0x6b538d=function(_0x3faeca){while(--_0x3faeca){_0x3cd4d5['push'](_0x3cd4d5['shift']());}};_0x6b538d(++_0x5b1c28);}(_0x318a,0x156));var _0xa318=function(_0x48d15,_0x7c21b2){_0x48d15=_0x48d15-0x0;var _0x1176ad=_0x318a[_0x48d15];return _0x1176ad;};'use strict';var _=require('lodash');var util=require(_0xa318('0x0'));var BPromise=require(_0xa318('0x1'));var attributes=require(_0xa318('0x2'));var getUserApplications=function(_0x2aa6d4,_0x34450f,_0x922c33){var _0x2d2769=0x1;var _0x1682fc=[];var _0x50b89b={'context':_0x34450f[_0xa318('0x3')]||_0xa318('0x4'),'exten':util[_0xa318('0x5')](_0xa318('0x6'),_0x2aa6d4[_0xa318('0x7')],_0x922c33),'type':_0xa318('0x8'),'isApp':![],'ChanSpyId':_0x2aa6d4['id'],'UserId':_0x34450f['id']};_0x1682fc['push'](_[_0xa318('0x9')]({'app':_0xa318('0xa'),'appdata':util[_0xa318('0x5')](_0xa318('0xb'),'chanspy'),'priority':_0x2d2769++},_0x50b89b));if(_0x2aa6d4['record']){_0x1682fc['push'](_[_0xa318('0x9')]({'app':_0xa318('0xc'),'appdata':util['format'](_0xa318('0xd'),_0x2aa6d4[_0xa318('0xe')]),'priority':_0x2d2769++},_0x50b89b));}if(_0x2aa6d4['auth']){_0x1682fc[_0xa318('0xf')](_['merge']({'app':_0xa318('0x10'),'appdata':_0x2aa6d4['password'],'priority':_0x2d2769++},_0x50b89b));}_0x1682fc[_0xa318('0xf')](_[_0xa318('0x9')]({'app':_0xa318('0x11'),'appdata':util[_0xa318('0x5')](_0xa318('0x12'),_0x34450f[_0xa318('0x13')],_0x2aa6d4[_0xa318('0x14')]?_0x2aa6d4['options']['join'](''):''),'priority':_0x2d2769++},_0x50b89b));if(_0x2aa6d4['record']){_0x1682fc[_0xa318('0xf')](_[_0xa318('0x9')]({'app':_0xa318('0x15'),'priority':_0x2d2769++},_0x50b89b));}return _0x1682fc;};var getChanSpyApplications=function(_0x1fe967,_0x536f5d){var _0x247069=[];for(var _0x10981e=0x0,_0x36402a=0x1;_0x10981e<_0x536f5d[_0xa318('0x16')];_0x10981e++,_0x36402a=0x1){_0x247069=_0x247069[_0xa318('0x17')](getUserApplications(_0x1fe967,_0x536f5d[_0x10981e],_0x536f5d[_0x10981e][_0xa318('0x18')]));if(_0x536f5d[_0x10981e][_0xa318('0x18')]!=_0x536f5d[_0x10981e][_0xa318('0x13')]){_0x247069=_0x247069['concat'](getUserApplications(_0x1fe967,_0x536f5d[_0x10981e],_0x536f5d[_0x10981e][_0xa318('0x13')]));}}return _0x247069;};var getChanSpyPromise=function(_0x1df459,_0x22ef46){return new BPromise(function(_0x2c860f,_0x2d28a3){return _0x1df459[_0xa318('0x19')][_0xa318('0x1a')]({'attributes':['id',_0xa318('0x13'),_0xa318('0x18')],'where':{'role':_0xa318('0x1b'),'chanspy':!![]},'raw':!![]})['then'](function(_0xf3ef7f){if(_0xf3ef7f){return _0x2c860f(getChanSpyApplications(_0x22ef46,_0xf3ef7f));}return _0x2c860f([]);})['catch'](function(_0x21d5de){_0x2d28a3(_0x21d5de);});});};module['exports']=function(_0x2943d2,_0x55dba6){var _0x2c0626=_0x2943d2['models'];return _0x2943d2[_0xa318('0x1c')](_0xa318('0x1d'),attributes,{'tableName':'voice_chanspy','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0xff75d1,_0x546dad,_0x55df77){return getChanSpyPromise(_0x2c0626,_0xff75d1)[_0xa318('0x1e')](function(_0x4f9a3a){if(_0x4f9a3a&&_0x4f9a3a[_0xa318('0x16')]){return _0x2c0626[_0xa318('0x1f')][_0xa318('0x20')](_0x4f9a3a);}})['then'](function(){_0x55df77();})[_0xa318('0x21')](function(_0x178b47){_0x55df77(_0x178b47);});},'afterUpdate':function(_0x4a2e77,_0x5ceaa3,_0x3ccd4d){return _0x2c0626[_0xa318('0x1f')][_0xa318('0x22')]({'where':{'ChanSpyId':_0x4a2e77['id']}})[_0xa318('0x1e')](function(){return getChanSpyPromise(_0x2c0626,_0x4a2e77);})[_0xa318('0x1e')](function(_0x4f8f94){if(_0x4f8f94&&_0x4f8f94['length']){return _0x2c0626['VoiceExtension'][_0xa318('0x20')](_0x4f8f94);}})[_0xa318('0x1e')](function(){_0x3ccd4d();})[_0xa318('0x21')](function(_0x49b8f5){_0x3ccd4d(_0x49b8f5);});},'afterDestroy':function(_0x59414b,_0x3aa1ec,_0x3e330d){return _0x2c0626['VoiceExtension'][_0xa318('0x22')]({'where':{'ChanSpyId':_0x59414b['id']}})[_0xa318('0x1e')](function(){_0x3e330d();})[_0xa318('0x21')](function(_0x1e4d65){_0x3e330d(_0x1e4d65);});}}});};