Built motion from commit (unavailable).|2.5.18
[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 _0xc874=['define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','catch','destroy','lodash','bluebird','./voiceChanSpy.attributes','context','from-sip','%s%s','prefix','system','push','merge','format','chanspy','record','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','Authenticate','password','SIP/%s,%s','name','options','join','length','concat','internal','User','findAll','agent','then','exports'];(function(_0x1715a2,_0x13d1d3){var _0x447fc1=function(_0x4ba3e4){while(--_0x4ba3e4){_0x1715a2['push'](_0x1715a2['shift']());}};_0x447fc1(++_0x13d1d3);}(_0xc874,0x154));var _0x4c87=function(_0x548d7d,_0x2d41fc){_0x548d7d=_0x548d7d-0x0;var _0xb1c878=_0xc874[_0x548d7d];return _0xb1c878;};'use strict';var _=require(_0x4c87('0x0'));var util=require('util');var BPromise=require(_0x4c87('0x1'));var attributes=require(_0x4c87('0x2'));var getUserApplications=function(_0x505440,_0x5e6d61,_0xfc1b9f){var _0x13c057=0x1;var _0x1c3dbc=[];var _0x575a7c={'context':_0x5e6d61[_0x4c87('0x3')]||_0x4c87('0x4'),'exten':util['format'](_0x4c87('0x5'),_0x505440[_0x4c87('0x6')],_0xfc1b9f),'type':_0x4c87('0x7'),'isApp':![],'ChanSpyId':_0x505440['id'],'UserId':_0x5e6d61['id']};_0x1c3dbc[_0x4c87('0x8')](_[_0x4c87('0x9')]({'app':'Set','appdata':util[_0x4c87('0xa')]('CDR(type)=%s',_0x4c87('0xb')),'priority':_0x13c057++},_0x575a7c));if(_0x505440[_0x4c87('0xc')]){_0x1c3dbc[_0x4c87('0x8')](_[_0x4c87('0x9')]({'app':_0x4c87('0xd'),'appdata':util['format'](_0x4c87('0xe'),_0x505440[_0x4c87('0xf')]),'priority':_0x13c057++},_0x575a7c));}if(_0x505440['auth']){_0x1c3dbc[_0x4c87('0x8')](_[_0x4c87('0x9')]({'app':_0x4c87('0x10'),'appdata':_0x505440[_0x4c87('0x11')],'priority':_0x13c057++},_0x575a7c));}_0x1c3dbc[_0x4c87('0x8')](_['merge']({'app':'ChanSpy','appdata':util['format'](_0x4c87('0x12'),_0x5e6d61[_0x4c87('0x13')],_0x505440[_0x4c87('0x14')]?_0x505440[_0x4c87('0x14')][_0x4c87('0x15')](''):''),'priority':_0x13c057++},_0x575a7c));if(_0x505440[_0x4c87('0xc')]){_0x1c3dbc[_0x4c87('0x8')](_[_0x4c87('0x9')]({'app':'StopMixMonitor','priority':_0x13c057++},_0x575a7c));}return _0x1c3dbc;};var getChanSpyApplications=function(_0x27abb9,_0x3c32cc){var _0x585705=[];for(var _0x575de5=0x0,_0xf8121d=0x1;_0x575de5<_0x3c32cc[_0x4c87('0x16')];_0x575de5++,_0xf8121d=0x1){_0x585705=_0x585705[_0x4c87('0x17')](getUserApplications(_0x27abb9,_0x3c32cc[_0x575de5],_0x3c32cc[_0x575de5]['internal']));if(_0x3c32cc[_0x575de5][_0x4c87('0x18')]!=_0x3c32cc[_0x575de5]['name']){_0x585705=_0x585705[_0x4c87('0x17')](getUserApplications(_0x27abb9,_0x3c32cc[_0x575de5],_0x3c32cc[_0x575de5][_0x4c87('0x13')]));}}return _0x585705;};var getChanSpyPromise=function(_0x39a26a,_0x22f775){return new BPromise(function(_0x4f6514,_0x36b2cb){return _0x39a26a[_0x4c87('0x19')][_0x4c87('0x1a')]({'attributes':['id',_0x4c87('0x13'),_0x4c87('0x18')],'where':{'role':_0x4c87('0x1b'),'chanspy':!![]},'raw':!![]})[_0x4c87('0x1c')](function(_0x9da0d6){if(_0x9da0d6){return _0x4f6514(getChanSpyApplications(_0x22f775,_0x9da0d6));}return _0x4f6514([]);})['catch'](function(_0x353ac9){_0x36b2cb(_0x353ac9);});});};module[_0x4c87('0x1d')]=function(_0x5cc15d,_0x3ff588){var _0x19ab3b=_0x5cc15d['models'];return _0x5cc15d[_0x4c87('0x1e')](_0x4c87('0x1f'),attributes,{'tableName':_0x4c87('0x20'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x3b4399,_0x5cd58d,_0x4735f2){return getChanSpyPromise(_0x19ab3b,_0x3b4399)[_0x4c87('0x1c')](function(_0x4525df){if(_0x4525df&&_0x4525df[_0x4c87('0x16')]){return _0x19ab3b[_0x4c87('0x21')][_0x4c87('0x22')](_0x4525df);}})[_0x4c87('0x1c')](function(){_0x4735f2();})[_0x4c87('0x23')](function(_0x4ca5fb){_0x4735f2(_0x4ca5fb);});},'afterUpdate':function(_0x4ecad3,_0x47ef54,_0x27f13d){return _0x19ab3b[_0x4c87('0x21')][_0x4c87('0x24')]({'where':{'ChanSpyId':_0x4ecad3['id']}})[_0x4c87('0x1c')](function(){return getChanSpyPromise(_0x19ab3b,_0x4ecad3);})[_0x4c87('0x1c')](function(_0x583371){if(_0x583371&&_0x583371['length']){return _0x19ab3b[_0x4c87('0x21')][_0x4c87('0x22')](_0x583371);}})[_0x4c87('0x1c')](function(){_0x27f13d();})[_0x4c87('0x23')](function(_0xa7eb3){_0x27f13d(_0xa7eb3);});},'afterDestroy':function(_0x45f4cd,_0x32ae5e,_0x10aea2){return _0x19ab3b[_0x4c87('0x21')][_0x4c87('0x24')]({'where':{'ChanSpyId':_0x45f4cd['id']}})[_0x4c87('0x1c')](function(){_0x10aea2();})[_0x4c87('0x23')](function(_0xc4f7b7){_0x10aea2(_0xc4f7b7);});}}});};