2e06f137f252fb58bc0676efbc094401e3202b3b
[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 _0x2cdf=['context','from-sip','format','%s%s','prefix','system','push','merge','Set','CDR(type)=%s','${UNIQUEID}.%s,a','auth','Authenticate','password','ChanSpy','SIP/%s,%s','name','options','record','StopMixMonitor','length','concat','User','findAll','agent','then','models','voice_chanspy','VoiceExtension','bulkCreate','destroy','catch','lodash','util','bluebird','./voiceChanSpy.attributes'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x2cdf,0xd4));var _0xf2cd=function(_0x39096d,_0x51f8a0){_0x39096d=_0x39096d-0x0;var _0x13da4f=_0x2cdf[_0x39096d];return _0x13da4f;};'use strict';var _=require(_0xf2cd('0x0'));var util=require(_0xf2cd('0x1'));var BPromise=require(_0xf2cd('0x2'));var attributes=require(_0xf2cd('0x3'));var getUserApplications=function(_0x124cf3,_0x5959ea,_0x502aad){var _0x189f93=0x1;var _0x4d7b6c=[];var _0x2b4774={'context':_0x5959ea[_0xf2cd('0x4')]||_0xf2cd('0x5'),'exten':util[_0xf2cd('0x6')](_0xf2cd('0x7'),_0x124cf3[_0xf2cd('0x8')],_0x502aad),'type':_0xf2cd('0x9'),'isApp':![],'ChanSpyId':_0x124cf3['id'],'UserId':_0x5959ea['id']};_0x4d7b6c[_0xf2cd('0xa')](_[_0xf2cd('0xb')]({'app':_0xf2cd('0xc'),'appdata':util[_0xf2cd('0x6')](_0xf2cd('0xd'),'chanspy'),'priority':_0x189f93++},_0x2b4774));if(_0x124cf3['record']){_0x4d7b6c['push'](_[_0xf2cd('0xb')]({'app':'MixMonitor','appdata':util[_0xf2cd('0x6')](_0xf2cd('0xe'),_0x124cf3['recordingFormat']),'priority':_0x189f93++},_0x2b4774));}if(_0x124cf3[_0xf2cd('0xf')]){_0x4d7b6c['push'](_[_0xf2cd('0xb')]({'app':_0xf2cd('0x10'),'appdata':_0x124cf3[_0xf2cd('0x11')],'priority':_0x189f93++},_0x2b4774));}_0x4d7b6c[_0xf2cd('0xa')](_[_0xf2cd('0xb')]({'app':_0xf2cd('0x12'),'appdata':util[_0xf2cd('0x6')](_0xf2cd('0x13'),_0x5959ea[_0xf2cd('0x14')],_0x124cf3[_0xf2cd('0x15')]?_0x124cf3['options']['join'](''):''),'priority':_0x189f93++},_0x2b4774));if(_0x124cf3[_0xf2cd('0x16')]){_0x4d7b6c['push'](_[_0xf2cd('0xb')]({'app':_0xf2cd('0x17'),'priority':_0x189f93++},_0x2b4774));}return _0x4d7b6c;};var getChanSpyApplications=function(_0x3f98f9,_0x5e6afd){var _0x4d3a27=[];for(var _0x4af15e=0x0,_0x144c39=0x1;_0x4af15e<_0x5e6afd[_0xf2cd('0x18')];_0x4af15e++,_0x144c39=0x1){_0x4d3a27=_0x4d3a27[_0xf2cd('0x19')](getUserApplications(_0x3f98f9,_0x5e6afd[_0x4af15e],_0x5e6afd[_0x4af15e]['internal']));if(_0x5e6afd[_0x4af15e]['internal']!=_0x5e6afd[_0x4af15e][_0xf2cd('0x14')]){_0x4d3a27=_0x4d3a27[_0xf2cd('0x19')](getUserApplications(_0x3f98f9,_0x5e6afd[_0x4af15e],_0x5e6afd[_0x4af15e][_0xf2cd('0x14')]));}}return _0x4d3a27;};var getChanSpyPromise=function(_0x56d290,_0x320c6c){return new BPromise(function(_0x52de1f,_0x2a9266){return _0x56d290[_0xf2cd('0x1a')][_0xf2cd('0x1b')]({'attributes':['id',_0xf2cd('0x14'),'internal'],'where':{'role':_0xf2cd('0x1c'),'chanspy':!![]},'raw':!![]})[_0xf2cd('0x1d')](function(_0x16b3e1){if(_0x16b3e1){return _0x52de1f(getChanSpyApplications(_0x320c6c,_0x16b3e1));}return _0x52de1f([]);})['catch'](function(_0x14e3d4){_0x2a9266(_0x14e3d4);});});};module['exports']=function(_0x4b8d3d,_0x529816){var _0xd48314=_0x4b8d3d[_0xf2cd('0x1e')];return _0x4b8d3d['define']('VoiceChanSpy',attributes,{'tableName':_0xf2cd('0x1f'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x171a75,_0x7da0d0,_0x2f4bef){return getChanSpyPromise(_0xd48314,_0x171a75)[_0xf2cd('0x1d')](function(_0x48e8c9){if(_0x48e8c9&&_0x48e8c9[_0xf2cd('0x18')]){return _0xd48314[_0xf2cd('0x20')][_0xf2cd('0x21')](_0x48e8c9);}})[_0xf2cd('0x1d')](function(){_0x2f4bef();})['catch'](function(_0x25ccb1){_0x2f4bef(_0x25ccb1);});},'afterUpdate':function(_0x530aa0,_0x47c771,_0x248532){return _0xd48314[_0xf2cd('0x20')][_0xf2cd('0x22')]({'where':{'ChanSpyId':_0x530aa0['id']}})[_0xf2cd('0x1d')](function(){return getChanSpyPromise(_0xd48314,_0x530aa0);})[_0xf2cd('0x1d')](function(_0x387ea4){if(_0x387ea4&&_0x387ea4[_0xf2cd('0x18')]){return _0xd48314[_0xf2cd('0x20')][_0xf2cd('0x21')](_0x387ea4);}})[_0xf2cd('0x1d')](function(){_0x248532();})[_0xf2cd('0x23')](function(_0x272fbd){_0x248532(_0x272fbd);});},'afterDestroy':function(_0x598c6c,_0x430ae8,_0xc492fa){return _0xd48314[_0xf2cd('0x20')][_0xf2cd('0x22')]({'where':{'ChanSpyId':_0x598c6c['id']}})[_0xf2cd('0x1d')](function(){_0xc492fa();})[_0xf2cd('0x23')](function(_0x5dd6f5){_0xc492fa(_0x5dd6f5);});}}});};