Built motion from commit 10af8726.|2.6.34
[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 _0x1293=['ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','length','concat','internal','User','findAll','catch','exports','VoiceChanSpy','voice_chanspy','then','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','prefix','system','push','Set','format','CDR(type)=%s','chanspy','record','merge','MixMonitor','recordingFormat','password'];(function(_0xabeea9,_0x2592f3){var _0x3d3ee6=function(_0x2343da){while(--_0x2343da){_0xabeea9['push'](_0xabeea9['shift']());}};_0x3d3ee6(++_0x2592f3);}(_0x1293,0x1f4));var _0x3129=function(_0xea82a4,_0x56f3ab){_0xea82a4=_0xea82a4-0x0;var _0x55134f=_0x1293[_0xea82a4];return _0x55134f;};'use strict';var _=require(_0x3129('0x0'));var util=require(_0x3129('0x1'));var BPromise=require(_0x3129('0x2'));var attributes=require(_0x3129('0x3'));var getUserApplications=function(_0x402c61,_0x37d954,_0x137640){var _0x39d944=0x1;var _0x340964=[];var _0x18c07b={'context':_0x37d954[_0x3129('0x4')]||_0x3129('0x5'),'exten':util['format']('%s%s',_0x402c61[_0x3129('0x6')],_0x137640),'type':_0x3129('0x7'),'isApp':![],'ChanSpyId':_0x402c61['id'],'UserId':_0x37d954['id']};_0x340964[_0x3129('0x8')](_['merge']({'app':_0x3129('0x9'),'appdata':util[_0x3129('0xa')](_0x3129('0xb'),_0x3129('0xc')),'priority':_0x39d944++},_0x18c07b));if(_0x402c61[_0x3129('0xd')]){_0x340964[_0x3129('0x8')](_[_0x3129('0xe')]({'app':_0x3129('0xf'),'appdata':util[_0x3129('0xa')]('${UNIQUEID}.%s,a',_0x402c61[_0x3129('0x10')]),'priority':_0x39d944++},_0x18c07b));}if(_0x402c61['auth']){_0x340964[_0x3129('0x8')](_[_0x3129('0xe')]({'app':'Authenticate','appdata':_0x402c61[_0x3129('0x11')],'priority':_0x39d944++},_0x18c07b));}_0x340964['push'](_[_0x3129('0xe')]({'app':_0x3129('0x12'),'appdata':util['format'](_0x3129('0x13'),_0x37d954[_0x3129('0x14')],_0x402c61['options']?_0x402c61[_0x3129('0x15')][_0x3129('0x16')](''):''),'priority':_0x39d944++},_0x18c07b));if(_0x402c61[_0x3129('0xd')]){_0x340964[_0x3129('0x8')](_[_0x3129('0xe')]({'app':_0x3129('0x17'),'priority':_0x39d944++},_0x18c07b));}return _0x340964;};var getChanSpyApplications=function(_0x14f3a5,_0x470d7f){var _0x3536cd=[];for(var _0x1b3c7f=0x0,_0x56e89d=0x1;_0x1b3c7f<_0x470d7f[_0x3129('0x18')];_0x1b3c7f++,_0x56e89d=0x1){_0x3536cd=_0x3536cd[_0x3129('0x19')](getUserApplications(_0x14f3a5,_0x470d7f[_0x1b3c7f],_0x470d7f[_0x1b3c7f][_0x3129('0x1a')]));if(_0x470d7f[_0x1b3c7f][_0x3129('0x1a')]!=_0x470d7f[_0x1b3c7f][_0x3129('0x14')]){_0x3536cd=_0x3536cd[_0x3129('0x19')](getUserApplications(_0x14f3a5,_0x470d7f[_0x1b3c7f],_0x470d7f[_0x1b3c7f][_0x3129('0x14')]));}}return _0x3536cd;};var getChanSpyPromise=function(_0x242c7a,_0x854376){return new BPromise(function(_0x491491,_0x3c91d0){return _0x242c7a[_0x3129('0x1b')][_0x3129('0x1c')]({'attributes':['id',_0x3129('0x14'),_0x3129('0x1a')],'where':{'role':'agent','chanspy':!![]},'raw':!![]})['then'](function(_0x5385c5){if(_0x5385c5){return _0x491491(getChanSpyApplications(_0x854376,_0x5385c5));}return _0x491491([]);})[_0x3129('0x1d')](function(_0x5616f5){_0x3c91d0(_0x5616f5);});});};module[_0x3129('0x1e')]=function(_0x138fcc,_0x249edc){var _0xc1190a=_0x138fcc['models'];return _0x138fcc['define'](_0x3129('0x1f'),attributes,{'tableName':_0x3129('0x20'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x358b4b,_0x1c8c65,_0x51cd09){return getChanSpyPromise(_0xc1190a,_0x358b4b)[_0x3129('0x21')](function(_0x2793ff){if(_0x2793ff&&_0x2793ff[_0x3129('0x18')]){return _0xc1190a[_0x3129('0x22')][_0x3129('0x23')](_0x2793ff);}})[_0x3129('0x21')](function(){_0x51cd09();})[_0x3129('0x1d')](function(_0x3df40b){_0x51cd09(_0x3df40b);});},'afterUpdate':function(_0x4f4a35,_0x293102,_0x414efc){return _0xc1190a[_0x3129('0x22')][_0x3129('0x24')]({'where':{'ChanSpyId':_0x4f4a35['id']}})[_0x3129('0x21')](function(){return getChanSpyPromise(_0xc1190a,_0x4f4a35);})[_0x3129('0x21')](function(_0x218661){if(_0x218661&&_0x218661[_0x3129('0x18')]){return _0xc1190a[_0x3129('0x22')][_0x3129('0x23')](_0x218661);}})[_0x3129('0x21')](function(){_0x414efc();})[_0x3129('0x1d')](function(_0x49ac57){_0x414efc(_0x49ac57);});},'afterDestroy':function(_0x27e1da,_0x545572,_0x5d0c2d){return _0xc1190a['VoiceExtension']['destroy']({'where':{'ChanSpyId':_0x27e1da['id']}})['then'](function(){_0x5d0c2d();})[_0x3129('0x1d')](function(_0x14a7b6){_0x5d0c2d(_0x14a7b6);});}}});};