Built motion from commit (unavailable).|2.4.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 _0x544e=['./voiceChanSpy.attributes','context','from-sip','%s%s','prefix','push','merge','Set','CDR(type)=%s','MixMonitor','format','${UNIQUEID}.%s,ab','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','record','StopMixMonitor','length','concat','internal','User','agent','then','catch','models','define','VoiceChanSpy','voice_chanspy','VoiceExtension','bulkCreate','destroy','util','bluebird'];(function(_0x2142f1,_0x1282bb){var _0xf320da=function(_0x18e3c7){while(--_0x18e3c7){_0x2142f1['push'](_0x2142f1['shift']());}};_0xf320da(++_0x1282bb);}(_0x544e,0x101));var _0xe544=function(_0x16ca3a,_0x1d7536){_0x16ca3a=_0x16ca3a-0x0;var _0x920714=_0x544e[_0x16ca3a];return _0x920714;};'use strict';var _=require('lodash');var util=require(_0xe544('0x0'));var BPromise=require(_0xe544('0x1'));var attributes=require(_0xe544('0x2'));var getUserApplications=function(_0x4b6fae,_0x78bff7,_0x198613){var _0x2bd9d8=0x1;var _0x5630b4=[];var _0x58dd3d={'context':_0x78bff7[_0xe544('0x3')]||_0xe544('0x4'),'exten':util['format'](_0xe544('0x5'),_0x4b6fae[_0xe544('0x6')],_0x198613),'type':'system','isApp':![],'ChanSpyId':_0x4b6fae['id'],'UserId':_0x78bff7['id']};_0x5630b4[_0xe544('0x7')](_[_0xe544('0x8')]({'app':_0xe544('0x9'),'appdata':util['format'](_0xe544('0xa'),'chanspy'),'priority':_0x2bd9d8++},_0x58dd3d));if(_0x4b6fae['record']){_0x5630b4[_0xe544('0x7')](_[_0xe544('0x8')]({'app':_0xe544('0xb'),'appdata':util[_0xe544('0xc')](_0xe544('0xd'),_0x4b6fae['recordingFormat']),'priority':_0x2bd9d8++},_0x58dd3d));}if(_0x4b6fae[_0xe544('0xe')]){_0x5630b4[_0xe544('0x7')](_[_0xe544('0x8')]({'app':_0xe544('0xf'),'appdata':_0x4b6fae[_0xe544('0x10')],'priority':_0x2bd9d8++},_0x58dd3d));}_0x5630b4[_0xe544('0x7')](_[_0xe544('0x8')]({'app':_0xe544('0x11'),'appdata':util[_0xe544('0xc')](_0xe544('0x12'),_0x78bff7[_0xe544('0x13')],_0x4b6fae[_0xe544('0x14')]?_0x4b6fae['options']['join'](''):''),'priority':_0x2bd9d8++},_0x58dd3d));if(_0x4b6fae[_0xe544('0x15')]){_0x5630b4[_0xe544('0x7')](_[_0xe544('0x8')]({'app':_0xe544('0x16'),'priority':_0x2bd9d8++},_0x58dd3d));}return _0x5630b4;};var getChanSpyApplications=function(_0x3b3137,_0x1709d7){var _0x50f516=[];for(var _0x5e5b29=0x0,_0x4f9b31=0x1;_0x5e5b29<_0x1709d7[_0xe544('0x17')];_0x5e5b29++,_0x4f9b31=0x1){_0x50f516=_0x50f516[_0xe544('0x18')](getUserApplications(_0x3b3137,_0x1709d7[_0x5e5b29],_0x1709d7[_0x5e5b29][_0xe544('0x19')]));if(_0x1709d7[_0x5e5b29]['internal']!=_0x1709d7[_0x5e5b29][_0xe544('0x13')]){_0x50f516=_0x50f516['concat'](getUserApplications(_0x3b3137,_0x1709d7[_0x5e5b29],_0x1709d7[_0x5e5b29]['name']));}}return _0x50f516;};var getChanSpyPromise=function(_0x4fb241,_0x46d744){return new BPromise(function(_0x17c7ff,_0x287726){return _0x4fb241[_0xe544('0x1a')]['findAll']({'attributes':['id',_0xe544('0x13'),_0xe544('0x19')],'where':{'role':_0xe544('0x1b'),'chanspy':!![]},'raw':!![]})[_0xe544('0x1c')](function(_0x4d662d){if(_0x4d662d){return _0x17c7ff(getChanSpyApplications(_0x46d744,_0x4d662d));}return _0x17c7ff([]);})[_0xe544('0x1d')](function(_0x5327fc){_0x287726(_0x5327fc);});});};module['exports']=function(_0x2df197,_0xa1d36f){var _0x33b1f6=_0x2df197[_0xe544('0x1e')];return _0x2df197[_0xe544('0x1f')](_0xe544('0x20'),attributes,{'tableName':_0xe544('0x21'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x1d0072,_0x1355d2,_0x3c3adc){return getChanSpyPromise(_0x33b1f6,_0x1d0072)[_0xe544('0x1c')](function(_0x526386){if(_0x526386&&_0x526386[_0xe544('0x17')]){return _0x33b1f6[_0xe544('0x22')][_0xe544('0x23')](_0x526386);}})['then'](function(){_0x3c3adc();})[_0xe544('0x1d')](function(_0x38018e){_0x3c3adc(_0x38018e);});},'afterUpdate':function(_0x2084e5,_0xebb95d,_0x190ace){return _0x33b1f6[_0xe544('0x22')][_0xe544('0x24')]({'where':{'ChanSpyId':_0x2084e5['id']}})['then'](function(){return getChanSpyPromise(_0x33b1f6,_0x2084e5);})[_0xe544('0x1c')](function(_0x23ca2a){if(_0x23ca2a&&_0x23ca2a['length']){return _0x33b1f6[_0xe544('0x22')]['bulkCreate'](_0x23ca2a);}})[_0xe544('0x1c')](function(){_0x190ace();})[_0xe544('0x1d')](function(_0x7af339){_0x190ace(_0x7af339);});},'afterDestroy':function(_0x3f7a1a,_0x34ade8,_0x362437){return _0x33b1f6[_0xe544('0x22')][_0xe544('0x24')]({'where':{'ChanSpyId':_0x3f7a1a['id']}})[_0xe544('0x1c')](function(){_0x362437();})['catch'](function(_0x17aaba){_0x362437(_0x17aaba);});}}});};