Built motion from commit (unavailable).|2.5.30
[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 _0x0da6=['User','findAll','agent','then','catch','models','define','voice_chanspy','VoiceExtension','bulkCreate','destroy','util','bluebird','context','from-sip','prefix','system','push','merge','chanspy','record','MixMonitor','format','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','ChanSpy','options','StopMixMonitor','length','internal','name','concat'];(function(_0x39272c,_0x1ee3e4){var _0x19f4af=function(_0x13d29c){while(--_0x13d29c){_0x39272c['push'](_0x39272c['shift']());}};_0x19f4af(++_0x1ee3e4);}(_0x0da6,0x71));var _0x60da=function(_0x35decb,_0x2c7932){_0x35decb=_0x35decb-0x0;var _0xca0580=_0x0da6[_0x35decb];return _0xca0580;};'use strict';var _=require('lodash');var util=require(_0x60da('0x0'));var BPromise=require(_0x60da('0x1'));var attributes=require('./voiceChanSpy.attributes');var getUserApplications=function(_0xf448cc,_0x4bf0e9,_0x1e7ac3){var _0x69aa23=0x1;var _0x65dedc=[];var _0x3a493e={'context':_0x4bf0e9[_0x60da('0x2')]||_0x60da('0x3'),'exten':util['format']('%s%s',_0xf448cc[_0x60da('0x4')],_0x1e7ac3),'type':_0x60da('0x5'),'isApp':![],'ChanSpyId':_0xf448cc['id'],'UserId':_0x4bf0e9['id']};_0x65dedc[_0x60da('0x6')](_[_0x60da('0x7')]({'app':'Set','appdata':util['format']('CDR(type)=%s',_0x60da('0x8')),'priority':_0x69aa23++},_0x3a493e));if(_0xf448cc[_0x60da('0x9')]){_0x65dedc[_0x60da('0x6')](_[_0x60da('0x7')]({'app':_0x60da('0xa'),'appdata':util[_0x60da('0xb')](_0x60da('0xc'),_0xf448cc[_0x60da('0xd')]),'priority':_0x69aa23++},_0x3a493e));}if(_0xf448cc[_0x60da('0xe')]){_0x65dedc[_0x60da('0x6')](_['merge']({'app':_0x60da('0xf'),'appdata':_0xf448cc['password'],'priority':_0x69aa23++},_0x3a493e));}_0x65dedc[_0x60da('0x6')](_['merge']({'app':_0x60da('0x10'),'appdata':util[_0x60da('0xb')]('SIP/%s,%s',_0x4bf0e9['name'],_0xf448cc['options']?_0xf448cc[_0x60da('0x11')]['join'](''):''),'priority':_0x69aa23++},_0x3a493e));if(_0xf448cc[_0x60da('0x9')]){_0x65dedc[_0x60da('0x6')](_[_0x60da('0x7')]({'app':_0x60da('0x12'),'priority':_0x69aa23++},_0x3a493e));}return _0x65dedc;};var getChanSpyApplications=function(_0x3381c1,_0x2794d5){var _0x5c3a7b=[];for(var _0x33e572=0x0,_0x3ef47f=0x1;_0x33e572<_0x2794d5[_0x60da('0x13')];_0x33e572++,_0x3ef47f=0x1){_0x5c3a7b=_0x5c3a7b['concat'](getUserApplications(_0x3381c1,_0x2794d5[_0x33e572],_0x2794d5[_0x33e572]['internal']));if(_0x2794d5[_0x33e572][_0x60da('0x14')]!=_0x2794d5[_0x33e572][_0x60da('0x15')]){_0x5c3a7b=_0x5c3a7b[_0x60da('0x16')](getUserApplications(_0x3381c1,_0x2794d5[_0x33e572],_0x2794d5[_0x33e572][_0x60da('0x15')]));}}return _0x5c3a7b;};var getChanSpyPromise=function(_0x30e903,_0x8ef765){return new BPromise(function(_0x4343e4,_0x402857){return _0x30e903[_0x60da('0x17')][_0x60da('0x18')]({'attributes':['id',_0x60da('0x15'),_0x60da('0x14')],'where':{'role':_0x60da('0x19'),'chanspy':!![]},'raw':!![]})[_0x60da('0x1a')](function(_0x4d8769){if(_0x4d8769){return _0x4343e4(getChanSpyApplications(_0x8ef765,_0x4d8769));}return _0x4343e4([]);})[_0x60da('0x1b')](function(_0xf378ce){_0x402857(_0xf378ce);});});};module['exports']=function(_0x54bb15,_0x549ab0){var _0x5c7899=_0x54bb15[_0x60da('0x1c')];return _0x54bb15[_0x60da('0x1d')]('VoiceChanSpy',attributes,{'tableName':_0x60da('0x1e'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x172144,_0x13605a,_0x40d15e){return getChanSpyPromise(_0x5c7899,_0x172144)[_0x60da('0x1a')](function(_0xf81adc){if(_0xf81adc&&_0xf81adc[_0x60da('0x13')]){return _0x5c7899[_0x60da('0x1f')][_0x60da('0x20')](_0xf81adc);}})[_0x60da('0x1a')](function(){_0x40d15e();})['catch'](function(_0x24d8e7){_0x40d15e(_0x24d8e7);});},'afterUpdate':function(_0x348034,_0x293d78,_0x46bdcd){return _0x5c7899[_0x60da('0x1f')][_0x60da('0x21')]({'where':{'ChanSpyId':_0x348034['id']}})[_0x60da('0x1a')](function(){return getChanSpyPromise(_0x5c7899,_0x348034);})[_0x60da('0x1a')](function(_0x88f1f2){if(_0x88f1f2&&_0x88f1f2[_0x60da('0x13')]){return _0x5c7899[_0x60da('0x1f')][_0x60da('0x20')](_0x88f1f2);}})['then'](function(){_0x46bdcd();})[_0x60da('0x1b')](function(_0x5938e5){_0x46bdcd(_0x5938e5);});},'afterDestroy':function(_0x16f1b9,_0x181513,_0x359ece){return _0x5c7899[_0x60da('0x1f')][_0x60da('0x21')]({'where':{'ChanSpyId':_0x16f1b9['id']}})[_0x60da('0x1a')](function(){_0x359ece();})[_0x60da('0x1b')](function(_0x426f03){_0x359ece(_0x426f03);});}}});};