3bff66757bbe89d8941d1e9a17e12f24a519f318
[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 _0xf5cf=['${UNIQUEID}.%s,ab','recordingFormat','auth','merge','Authenticate','password','ChanSpy','SIP/%s,%s','options','StopMixMonitor','concat','internal','name','User','findAll','agent','then','models','define','voice_chanspy','length','VoiceExtension','bulkCreate','destroy','catch','lodash','util','context','from-sip','format','%s%s','prefix','system','push','Set','CDR(type)=%s','chanspy','record','MixMonitor'];(function(_0x3056cf,_0x4e1c7c){var _0x2ed1bb=function(_0x439cbe){while(--_0x439cbe){_0x3056cf['push'](_0x3056cf['shift']());}};_0x2ed1bb(++_0x4e1c7c);}(_0xf5cf,0x151));var _0xff5c=function(_0x2d3e85,_0x3068c4){_0x2d3e85=_0x2d3e85-0x0;var _0x4792a8=_0xf5cf[_0x2d3e85];return _0x4792a8;};'use strict';var _=require(_0xff5c('0x0'));var util=require(_0xff5c('0x1'));var BPromise=require('bluebird');var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0x10afad,_0x250d56,_0x3a2012){var _0x4ae2c9=0x1;var _0x1439a0=[];var _0x303cf5={'context':_0x250d56[_0xff5c('0x2')]||_0xff5c('0x3'),'exten':util[_0xff5c('0x4')](_0xff5c('0x5'),_0x10afad[_0xff5c('0x6')],_0x3a2012),'type':_0xff5c('0x7'),'isApp':![],'ChanSpyId':_0x10afad['id'],'UserId':_0x250d56['id']};_0x1439a0[_0xff5c('0x8')](_['merge']({'app':_0xff5c('0x9'),'appdata':util[_0xff5c('0x4')](_0xff5c('0xa'),_0xff5c('0xb')),'priority':_0x4ae2c9++},_0x303cf5));if(_0x10afad[_0xff5c('0xc')]){_0x1439a0[_0xff5c('0x8')](_['merge']({'app':_0xff5c('0xd'),'appdata':util['format'](_0xff5c('0xe'),_0x10afad[_0xff5c('0xf')]),'priority':_0x4ae2c9++},_0x303cf5));}if(_0x10afad[_0xff5c('0x10')]){_0x1439a0['push'](_[_0xff5c('0x11')]({'app':_0xff5c('0x12'),'appdata':_0x10afad[_0xff5c('0x13')],'priority':_0x4ae2c9++},_0x303cf5));}_0x1439a0[_0xff5c('0x8')](_['merge']({'app':_0xff5c('0x14'),'appdata':util['format'](_0xff5c('0x15'),_0x250d56['name'],_0x10afad[_0xff5c('0x16')]?_0x10afad[_0xff5c('0x16')]['join'](''):''),'priority':_0x4ae2c9++},_0x303cf5));if(_0x10afad[_0xff5c('0xc')]){_0x1439a0[_0xff5c('0x8')](_['merge']({'app':_0xff5c('0x17'),'priority':_0x4ae2c9++},_0x303cf5));}return _0x1439a0;};var getChanSpyApplications=function(_0x50860c,_0x4e1312){var _0x45f91d=[];for(var _0x4a2834=0x0,_0x4219d9=0x1;_0x4a2834<_0x4e1312['length'];_0x4a2834++,_0x4219d9=0x1){_0x45f91d=_0x45f91d[_0xff5c('0x18')](getUserApplications(_0x50860c,_0x4e1312[_0x4a2834],_0x4e1312[_0x4a2834]['internal']));if(_0x4e1312[_0x4a2834][_0xff5c('0x19')]!=_0x4e1312[_0x4a2834][_0xff5c('0x1a')]){_0x45f91d=_0x45f91d['concat'](getUserApplications(_0x50860c,_0x4e1312[_0x4a2834],_0x4e1312[_0x4a2834][_0xff5c('0x1a')]));}}return _0x45f91d;};var getChanSpyPromise=function(_0x3176a3,_0x5c7f3b){return new BPromise(function(_0x427531,_0x48f5cc){return _0x3176a3[_0xff5c('0x1b')][_0xff5c('0x1c')]({'attributes':['id',_0xff5c('0x1a'),_0xff5c('0x19')],'where':{'role':_0xff5c('0x1d'),'chanspy':!![]},'raw':!![]})[_0xff5c('0x1e')](function(_0x24e873){if(_0x24e873){return _0x427531(getChanSpyApplications(_0x5c7f3b,_0x24e873));}return _0x427531([]);})['catch'](function(_0x2e40c7){_0x48f5cc(_0x2e40c7);});});};module['exports']=function(_0x4ea997,_0x268e68){var _0x5589ba=_0x4ea997[_0xff5c('0x1f')];return _0x4ea997[_0xff5c('0x20')]('VoiceChanSpy',attributes,{'tableName':_0xff5c('0x21'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x319995,_0x5393f2,_0x575c1a){return getChanSpyPromise(_0x5589ba,_0x319995)[_0xff5c('0x1e')](function(_0x1187d8){if(_0x1187d8&&_0x1187d8[_0xff5c('0x22')]){return _0x5589ba[_0xff5c('0x23')][_0xff5c('0x24')](_0x1187d8);}})[_0xff5c('0x1e')](function(){_0x575c1a();})['catch'](function(_0x4547e6){_0x575c1a(_0x4547e6);});},'afterUpdate':function(_0x1db584,_0x592678,_0x2a7c9c){return _0x5589ba[_0xff5c('0x23')][_0xff5c('0x25')]({'where':{'ChanSpyId':_0x1db584['id']}})[_0xff5c('0x1e')](function(){return getChanSpyPromise(_0x5589ba,_0x1db584);})['then'](function(_0x39b055){if(_0x39b055&&_0x39b055[_0xff5c('0x22')]){return _0x5589ba[_0xff5c('0x23')][_0xff5c('0x24')](_0x39b055);}})[_0xff5c('0x1e')](function(){_0x2a7c9c();})[_0xff5c('0x26')](function(_0x1de57a){_0x2a7c9c(_0x1de57a);});},'afterDestroy':function(_0x4c0e4d,_0x4320c8,_0x45567a){return _0x5589ba[_0xff5c('0x23')][_0xff5c('0x25')]({'where':{'ChanSpyId':_0x4c0e4d['id']}})[_0xff5c('0x1e')](function(){_0x45567a();})[_0xff5c('0x26')](function(_0xb87f5d){_0x45567a(_0xb87f5d);});}}});};