Built motion from commit (unavailable).|2.5.15
[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 _0x579c=['${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','name','options','StopMixMonitor','length','concat','internal','User','findAll','agent','then','catch','exports','models','VoiceChanSpy','voice_chanspy','VoiceExtension','destroy','bulkCreate','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','push','merge','Set','CDR(type)=%s','chanspy','record','MixMonitor'];(function(_0x3acf98,_0x58fc4b){var _0x1c7f56=function(_0xbbc9d1){while(--_0xbbc9d1){_0x3acf98['push'](_0x3acf98['shift']());}};_0x1c7f56(++_0x58fc4b);}(_0x579c,0xda));var _0xc579=function(_0x33ec80,_0x2f867b){_0x33ec80=_0x33ec80-0x0;var _0x1877d9=_0x579c[_0x33ec80];return _0x1877d9;};'use strict';var _=require(_0xc579('0x0'));var util=require(_0xc579('0x1'));var BPromise=require(_0xc579('0x2'));var attributes=require(_0xc579('0x3'));var getUserApplications=function(_0x397136,_0x586948,_0x1e2808){var _0x5399d7=0x1;var _0x21a0a2=[];var _0x3b913c={'context':_0x586948[_0xc579('0x4')]||_0xc579('0x5'),'exten':util[_0xc579('0x6')](_0xc579('0x7'),_0x397136[_0xc579('0x8')],_0x1e2808),'type':'system','isApp':![],'ChanSpyId':_0x397136['id'],'UserId':_0x586948['id']};_0x21a0a2[_0xc579('0x9')](_[_0xc579('0xa')]({'app':_0xc579('0xb'),'appdata':util[_0xc579('0x6')](_0xc579('0xc'),_0xc579('0xd')),'priority':_0x5399d7++},_0x3b913c));if(_0x397136[_0xc579('0xe')]){_0x21a0a2[_0xc579('0x9')](_['merge']({'app':_0xc579('0xf'),'appdata':util[_0xc579('0x6')](_0xc579('0x10'),_0x397136[_0xc579('0x11')]),'priority':_0x5399d7++},_0x3b913c));}if(_0x397136[_0xc579('0x12')]){_0x21a0a2[_0xc579('0x9')](_[_0xc579('0xa')]({'app':_0xc579('0x13'),'appdata':_0x397136[_0xc579('0x14')],'priority':_0x5399d7++},_0x3b913c));}_0x21a0a2[_0xc579('0x9')](_[_0xc579('0xa')]({'app':'ChanSpy','appdata':util[_0xc579('0x6')]('SIP/%s,%s',_0x586948[_0xc579('0x15')],_0x397136['options']?_0x397136[_0xc579('0x16')]['join'](''):''),'priority':_0x5399d7++},_0x3b913c));if(_0x397136[_0xc579('0xe')]){_0x21a0a2['push'](_[_0xc579('0xa')]({'app':_0xc579('0x17'),'priority':_0x5399d7++},_0x3b913c));}return _0x21a0a2;};var getChanSpyApplications=function(_0x567de5,_0x54557b){var _0x3f5d14=[];for(var _0x2abc55=0x0,_0x1ddc13=0x1;_0x2abc55<_0x54557b[_0xc579('0x18')];_0x2abc55++,_0x1ddc13=0x1){_0x3f5d14=_0x3f5d14[_0xc579('0x19')](getUserApplications(_0x567de5,_0x54557b[_0x2abc55],_0x54557b[_0x2abc55][_0xc579('0x1a')]));if(_0x54557b[_0x2abc55][_0xc579('0x1a')]!=_0x54557b[_0x2abc55][_0xc579('0x15')]){_0x3f5d14=_0x3f5d14[_0xc579('0x19')](getUserApplications(_0x567de5,_0x54557b[_0x2abc55],_0x54557b[_0x2abc55][_0xc579('0x15')]));}}return _0x3f5d14;};var getChanSpyPromise=function(_0x5e5f36,_0x463f5e){return new BPromise(function(_0x2b7d74,_0x575e43){return _0x5e5f36[_0xc579('0x1b')][_0xc579('0x1c')]({'attributes':['id',_0xc579('0x15'),_0xc579('0x1a')],'where':{'role':_0xc579('0x1d'),'chanspy':!![]},'raw':!![]})[_0xc579('0x1e')](function(_0x147bb6){if(_0x147bb6){return _0x2b7d74(getChanSpyApplications(_0x463f5e,_0x147bb6));}return _0x2b7d74([]);})[_0xc579('0x1f')](function(_0x55781e){_0x575e43(_0x55781e);});});};module[_0xc579('0x20')]=function(_0xad4889,_0x233273){var _0x7d0025=_0xad4889[_0xc579('0x21')];return _0xad4889['define'](_0xc579('0x22'),attributes,{'tableName':_0xc579('0x23'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x1641e2,_0x4dec5e,_0x45e1ac){return getChanSpyPromise(_0x7d0025,_0x1641e2)['then'](function(_0x4610c2){if(_0x4610c2&&_0x4610c2[_0xc579('0x18')]){return _0x7d0025[_0xc579('0x24')]['bulkCreate'](_0x4610c2);}})[_0xc579('0x1e')](function(){_0x45e1ac();})['catch'](function(_0x532b33){_0x45e1ac(_0x532b33);});},'afterUpdate':function(_0x56439a,_0x540d90,_0x3f7363){return _0x7d0025[_0xc579('0x24')][_0xc579('0x25')]({'where':{'ChanSpyId':_0x56439a['id']}})[_0xc579('0x1e')](function(){return getChanSpyPromise(_0x7d0025,_0x56439a);})[_0xc579('0x1e')](function(_0x45fef4){if(_0x45fef4&&_0x45fef4['length']){return _0x7d0025['VoiceExtension'][_0xc579('0x26')](_0x45fef4);}})['then'](function(){_0x3f7363();})[_0xc579('0x1f')](function(_0x56224e){_0x3f7363(_0x56224e);});},'afterDestroy':function(_0x1a4551,_0x3fe96b,_0x1ad8f7){return _0x7d0025[_0xc579('0x24')][_0xc579('0x25')]({'where':{'ChanSpyId':_0x1a4551['id']}})[_0xc579('0x1e')](function(){_0x1ad8f7();})['catch'](function(_0xd05c1c){_0x1ad8f7(_0xd05c1c);});}}});};