Built motion from commit (unavailable).|2.5.4
[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 _0x26c2=['format','%s%s','prefix','system','merge','Set','CDR(type)=%s','chanspy','push','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','join','record','internal','concat','User','findAll','agent','then','catch','models','VoiceChanSpy','voice_chanspy','VoiceExtension','length','destroy','./voiceChanSpy.attributes','from-sip'];(function(_0x5e8d3e,_0x18ed2e){var _0x1348c0=function(_0x5a889f){while(--_0x5a889f){_0x5e8d3e['push'](_0x5e8d3e['shift']());}};_0x1348c0(++_0x18ed2e);}(_0x26c2,0x130));var _0x226c=function(_0x35ccb1,_0xd926e2){_0x35ccb1=_0x35ccb1-0x0;var _0x21f171=_0x26c2[_0x35ccb1];return _0x21f171;};'use strict';var _=require('lodash');var util=require('util');var BPromise=require('bluebird');var attributes=require(_0x226c('0x0'));var getUserApplications=function(_0x23ec98,_0x674a14,_0x3b56e8){var _0x5e55b3=0x1;var _0x2f79d3=[];var _0x117899={'context':_0x674a14['context']||_0x226c('0x1'),'exten':util[_0x226c('0x2')](_0x226c('0x3'),_0x23ec98[_0x226c('0x4')],_0x3b56e8),'type':_0x226c('0x5'),'isApp':![],'ChanSpyId':_0x23ec98['id'],'UserId':_0x674a14['id']};_0x2f79d3['push'](_[_0x226c('0x6')]({'app':_0x226c('0x7'),'appdata':util[_0x226c('0x2')](_0x226c('0x8'),_0x226c('0x9')),'priority':_0x5e55b3++},_0x117899));if(_0x23ec98['record']){_0x2f79d3[_0x226c('0xa')](_[_0x226c('0x6')]({'app':'MixMonitor','appdata':util['format'](_0x226c('0xb'),_0x23ec98[_0x226c('0xc')]),'priority':_0x5e55b3++},_0x117899));}if(_0x23ec98[_0x226c('0xd')]){_0x2f79d3[_0x226c('0xa')](_[_0x226c('0x6')]({'app':_0x226c('0xe'),'appdata':_0x23ec98[_0x226c('0xf')],'priority':_0x5e55b3++},_0x117899));}_0x2f79d3['push'](_['merge']({'app':_0x226c('0x10'),'appdata':util[_0x226c('0x2')](_0x226c('0x11'),_0x674a14[_0x226c('0x12')],_0x23ec98['options']?_0x23ec98['options'][_0x226c('0x13')](''):''),'priority':_0x5e55b3++},_0x117899));if(_0x23ec98[_0x226c('0x14')]){_0x2f79d3[_0x226c('0xa')](_['merge']({'app':'StopMixMonitor','priority':_0x5e55b3++},_0x117899));}return _0x2f79d3;};var getChanSpyApplications=function(_0x694eef,_0x2e4a51){var _0x30755=[];for(var _0x45a804=0x0,_0x2f55ae=0x1;_0x45a804<_0x2e4a51['length'];_0x45a804++,_0x2f55ae=0x1){_0x30755=_0x30755['concat'](getUserApplications(_0x694eef,_0x2e4a51[_0x45a804],_0x2e4a51[_0x45a804]['internal']));if(_0x2e4a51[_0x45a804][_0x226c('0x15')]!=_0x2e4a51[_0x45a804][_0x226c('0x12')]){_0x30755=_0x30755[_0x226c('0x16')](getUserApplications(_0x694eef,_0x2e4a51[_0x45a804],_0x2e4a51[_0x45a804][_0x226c('0x12')]));}}return _0x30755;};var getChanSpyPromise=function(_0x57c869,_0x7fc168){return new BPromise(function(_0xb6417f,_0xab9e6c){return _0x57c869[_0x226c('0x17')][_0x226c('0x18')]({'attributes':['id',_0x226c('0x12'),'internal'],'where':{'role':_0x226c('0x19'),'chanspy':!![]},'raw':!![]})[_0x226c('0x1a')](function(_0x3e5d1b){if(_0x3e5d1b){return _0xb6417f(getChanSpyApplications(_0x7fc168,_0x3e5d1b));}return _0xb6417f([]);})[_0x226c('0x1b')](function(_0x272f26){_0xab9e6c(_0x272f26);});});};module['exports']=function(_0x575c7a,_0x4af32b){var _0x1f1bf2=_0x575c7a[_0x226c('0x1c')];return _0x575c7a['define'](_0x226c('0x1d'),attributes,{'tableName':_0x226c('0x1e'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x3a862c,_0x1d6e13,_0x2a570a){return getChanSpyPromise(_0x1f1bf2,_0x3a862c)['then'](function(_0x25165d){if(_0x25165d&&_0x25165d['length']){return _0x1f1bf2[_0x226c('0x1f')]['bulkCreate'](_0x25165d);}})[_0x226c('0x1a')](function(){_0x2a570a();})[_0x226c('0x1b')](function(_0x22a286){_0x2a570a(_0x22a286);});},'afterUpdate':function(_0x4a1b4f,_0x14c49b,_0x4a0b38){return _0x1f1bf2[_0x226c('0x1f')]['destroy']({'where':{'ChanSpyId':_0x4a1b4f['id']}})[_0x226c('0x1a')](function(){return getChanSpyPromise(_0x1f1bf2,_0x4a1b4f);})['then'](function(_0x40a095){if(_0x40a095&&_0x40a095[_0x226c('0x20')]){return _0x1f1bf2['VoiceExtension']['bulkCreate'](_0x40a095);}})[_0x226c('0x1a')](function(){_0x4a0b38();})[_0x226c('0x1b')](function(_0x10b66b){_0x4a0b38(_0x10b66b);});},'afterDestroy':function(_0x4221e1,_0x1e78f5,_0x253aeb){return _0x1f1bf2[_0x226c('0x1f')][_0x226c('0x21')]({'where':{'ChanSpyId':_0x4221e1['id']}})[_0x226c('0x1a')](function(){_0x253aeb();})[_0x226c('0x1b')](function(_0x524895){_0x253aeb(_0x524895);});}}});};