Built motion from commit 9d7072cc.|2.5.39
[motion2.git] / server / api / user / user.model.js
index f8edd2e..93a3fba 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x470f=['base64','salt','pbkdf2Sync','sha1','indexOf','provider','Invalid\x20password','makeSalt','md5secret',':asterisk:','crypto','util','md5','lodash','length','context','from-sip','system','%s%s','prefix','push','merge','Set','format','chanspy','record','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','ChanSpy','SIP/%s,%s','options','join','StopMixMonitor','wav','WAV','gsm','CDR(type)=internal','includes','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=%s','SIP/%s,,tTxXU(xcally-mixmonitor-context)','name','Dial','Hangup','priority','VoiceChanSpy','concat','catch','exports','models','users','utf8','utf8_bin','userProfileId','undefined','resolve','find','then','privacyEnabled','updateMd5Password','changed','UserProfile','internal','bulkCreate','destroy','extensionMonitor','VoiceExtension','encryptPassword','function','Missing\x20Callback','toString'];(function(_0x20845e,_0x211e78){var _0x28cf2b=function(_0x31d613){while(--_0x31d613){_0x20845e['push'](_0x20845e['shift']());}};_0x28cf2b(++_0x211e78);}(_0x470f,0xa0));var _0xf470=function(_0x39b360,_0x528399){_0x39b360=_0x39b360-0x0;var _0x29c614=_0x470f[_0x39b360];return _0x29c614;};'use strict';var BPromise=require('bluebird');var crypto=require(_0xf470('0x0'));var util=require(_0xf470('0x1'));var md5=require(_0xf470('0x2'));var _=require(_0xf470('0x3'));var attributes=require('./user.attributes');var authTypes=['google'];var validatePresenceOf=function(_0x1f9f18){return _0x1f9f18&&_0x1f9f18[_0xf470('0x4')];};var getChanSpyApplications=function(_0x3ec133,_0x23bfe7,_0xfcd4d4){var _0x275438={'context':_0x3ec133[_0xf470('0x5')]||_0xf470('0x6'),'type':_0xf470('0x7'),'isApp':![],'UserId':_0x3ec133['id']};var _0x3907cb=[];for(var _0x5cd97d=0x0,_0x3fa0b2=0x1;_0x5cd97d<_0xfcd4d4[_0xf470('0x4')];_0x5cd97d++,_0x3fa0b2=0x1){var _0x5ab9b7={'exten':util['format'](_0xf470('0x8'),_0xfcd4d4[_0x5cd97d][_0xf470('0x9')],_0x23bfe7),'ChanSpyId':_0xfcd4d4[_0x5cd97d]['id']};_0x3907cb[_0xf470('0xa')](_[_0xf470('0xb')]({'app':_0xf470('0xc'),'appdata':util[_0xf470('0xd')]('CDR(type)=%s',_0xf470('0xe')),'priority':_0x3fa0b2++},_0x275438,_0x5ab9b7));if(_0xfcd4d4[_0x5cd97d][_0xf470('0xf')]){_0x3907cb[_0xf470('0xa')](_['merge']({'app':_0xf470('0x10'),'appdata':util[_0xf470('0xd')](_0xf470('0x11'),_0xfcd4d4[_0x5cd97d][_0xf470('0x12')]),'priority':_0x3fa0b2++},_0x275438,_0x5ab9b7));}if(_0xfcd4d4[_0x5cd97d][_0xf470('0x13')]){_0x3907cb[_0xf470('0xa')](_[_0xf470('0xb')]({'app':_0xf470('0x14'),'appdata':_0xfcd4d4[_0x5cd97d][_0xf470('0x15')],'priority':_0x3fa0b2++},_0x275438,_0x5ab9b7));}_0x3907cb['push'](_[_0xf470('0xb')]({'app':_0xf470('0x16'),'appdata':util[_0xf470('0xd')](_0xf470('0x17'),_0x3ec133['name'],_0xfcd4d4[_0x5cd97d][_0xf470('0x18')]?_0xfcd4d4[_0x5cd97d]['options'][_0xf470('0x19')](''):''),'priority':_0x3fa0b2++},_0x275438,_0x5ab9b7));if(_0xfcd4d4[_0x5cd97d][_0xf470('0xf')]){_0x3907cb[_0xf470('0xa')](_['merge']({'app':_0xf470('0x1a'),'priority':_0x3fa0b2++},_0x275438,_0x5ab9b7));}}return _0x3907cb;};var getUserApplications=function(_0x37f9ae,_0xbc7c67){var _0x381a49=[_0xf470('0x1b'),_0xf470('0x1c'),_0xf470('0x1d')];var _0x363ab8={'context':_0x37f9ae[_0xf470('0x5')]||_0xf470('0x6'),'exten':_0xbc7c67,'type':_0xf470('0x7'),'isApp':![],'UserId':_0x37f9ae['id']};var _0x176fac=[{'app':_0xf470('0xc'),'appdata':_0xf470('0x1e')}];if(_0x37f9ae['extensionMonitor']&&_[_0xf470('0x1f')](_0x381a49,_0x37f9ae['extensionMonitor'])){_0x176fac[_0xf470('0xa')]({'app':_0xf470('0xc'),'appdata':_0xf470('0x20')});_0x176fac[_0xf470('0xa')]({'app':'Set','appdata':util[_0xf470('0xd')](_0xf470('0x21'),_0x37f9ae['extensionMonitor'])});_0x176fac['push']({'app':'Dial','appdata':util[_0xf470('0xd')](_0xf470('0x22'),_0x37f9ae[_0xf470('0x23')])});}else{_0x176fac['push']({'app':_0xf470('0x24'),'appdata':util['format']('SIP/%s,,tTxX',_0x37f9ae['name'])});}_0x176fac['push']({'app':_0xf470('0x25')});for(var _0x3d1ae6=0x0;_0x3d1ae6<_0x176fac['length'];_0x3d1ae6++){_0x176fac[_0x3d1ae6][_0xf470('0x26')]=_0x3d1ae6+0x1;_0x176fac[_0x3d1ae6]=_['defaults'](_0x176fac[_0x3d1ae6],_0x363ab8);}return _0x176fac;};var getChanSpyPromise=function(_0x27d4c8,_0x4df0a6){return new BPromise(function(_0x58b6be,_0x259226){return _0x27d4c8[_0xf470('0x27')]['findAll']()['then'](function(_0x59eabc){if(_0x59eabc){var _0x239f05=getChanSpyApplications(_0x4df0a6,_0x4df0a6['internal'],_0x59eabc);if(_0x4df0a6['internal']!=_0x4df0a6[_0xf470('0x23')]){_0x239f05=_0x239f05[_0xf470('0x28')](getChanSpyApplications(_0x4df0a6,_0x4df0a6['name'],_0x59eabc));}return _0x58b6be(_0x239f05);}return _0x58b6be([]);})[_0xf470('0x29')](function(_0x34189a){_0x259226(_0x34189a);});});};module[_0xf470('0x2a')]=function(_0x170782,_0x28d582){var _0x5f4a37=_0x170782[_0xf470('0x2b')];return _0x170782['define']('User',attributes,{'tableName':_0xf470('0x2c'),'charset':_0xf470('0x2d'),'collate':_0xf470('0x2e'),'hooks':{'beforeCreate':function(_0x35a036,_0xb93e20,_0x2a5f17){var _0x568a57=typeof _0x35a036[_0xf470('0x2f')]===_0xf470('0x30')?BPromise[_0xf470('0x31')](null):_0x5f4a37['UserProfile'][_0xf470('0x32')]({'where':{'id':_0x35a036[_0xf470('0x2f')]}});_0x568a57[_0xf470('0x33')](function(_0xc324c1){if(_0xc324c1){_0x35a036['privacyEnabled']=_0xc324c1[_0xf470('0x34')];}})[_0xf470('0x33')](function(){_0x35a036[_0xf470('0x35')]();_0x35a036['updatePassword'](_0x2a5f17);})[_0xf470('0x29')](function(_0x512a32){_0x2a5f17(_0x512a32);});},'beforeUpdate':function(_0x32b3ac,_0x48f821,_0x2aa146){Promise[_0xf470('0x31')]()['then'](function(){if(_0x32b3ac[_0xf470('0x36')](_0xf470('0x2f'))===![])return;return _0x5f4a37[_0xf470('0x37')]['find']({'where':{'id':_0x32b3ac[_0xf470('0x2f')]}})[_0xf470('0x33')](function(_0x2ede5a){if(_0x2ede5a)_0x32b3ac['privacyEnabled']=_0x2ede5a[_0xf470('0x34')];return;});})[_0xf470('0x33')](function(){if(_0x32b3ac['changed']('password')){_0x32b3ac[_0xf470('0x35')]();return _0x32b3ac['updatePassword'](_0x2aa146);}_0x2aa146();})[_0xf470('0x29')](function(_0xff99a2){_0x2aa146(_0xff99a2);});},'afterCreate':function(_0x231f43,_0x591696,_0x36c4a0){var _0x5b9770=getUserApplications(_0x231f43,_0x231f43[_0xf470('0x38')]);if(_0x231f43[_0xf470('0x38')]!=_0x231f43[_0xf470('0x23')]){_0x5b9770=_0x5b9770[_0xf470('0x28')](getUserApplications(_0x231f43,_0x231f43[_0xf470('0x23')]));}return _0x5f4a37['VoiceExtension']['bulkCreate'](_0x5b9770)['then'](function(){if(_0x231f43[_0xf470('0xe')]){return getChanSpyPromise(_0x5f4a37,_0x231f43);}})[_0xf470('0x33')](function(_0x3743f0){if(_0x3743f0&&_0x3743f0[_0xf470('0x4')]){return _0x5f4a37['VoiceExtension'][_0xf470('0x39')](_0x3743f0);}})[_0xf470('0x33')](function(){_0x36c4a0();})[_0xf470('0x29')](function(_0x3195f5){_0x36c4a0(_0x3195f5);});},'afterUpdate':function(_0x37f77a,_0x4a6c96,_0x4830f2){return BPromise[_0xf470('0x31')]()[_0xf470('0x33')](function(){if(_0x37f77a[_0xf470('0x36')](_0xf470('0xe'))||_0x37f77a[_0xf470('0x36')](_0xf470('0x5'))){return _0x5f4a37['VoiceExtension'][_0xf470('0x3a')]({'where':{'UserId':_0x37f77a['id'],'type':_0xf470('0x7'),'ChanSpyId':{'$ne':null}}})['then'](function(){if(_0x37f77a[_0xf470('0xe')]){return getChanSpyPromise(_0x5f4a37,_0x37f77a)[_0xf470('0x33')](function(_0x51805e){if(_0x51805e&&_0x51805e[_0xf470('0x4')]){return _0x5f4a37['VoiceExtension'][_0xf470('0x39')](_0x51805e);}});}});}})[_0xf470('0x33')](function(){if(_0x37f77a[_0xf470('0x36')](_0xf470('0x3b'))||_0x37f77a['changed'](_0xf470('0x5'))){return _0x5f4a37['VoiceExtension'][_0xf470('0x3a')]({'where':{'UserId':_0x37f77a['id'],'type':'system','ChanSpyId':null}})[_0xf470('0x33')](function(){var _0xd1eb05=getUserApplications(_0x37f77a,_0x37f77a[_0xf470('0x38')]);if(_0x37f77a[_0xf470('0x38')]!=_0x37f77a[_0xf470('0x23')]){_0xd1eb05=_0xd1eb05['concat'](getUserApplications(_0x37f77a,_0x37f77a[_0xf470('0x23')]));}return _0x5f4a37['VoiceExtension']['bulkCreate'](_0xd1eb05);});}})[_0xf470('0x33')](function(){_0x4830f2();})[_0xf470('0x29')](function(_0x5a7a46){_0x4830f2(_0x5a7a46);});},'afterDestroy':function(_0x4050a2,_0x2552f8){return _0x5f4a37[_0xf470('0x3c')][_0xf470('0x3a')]({'where':{'UserId':_0x4050a2['id'],'type':_0xf470('0x7')}});}},'instanceMethods':{'authenticate':function(_0x379dda,_0x374686){if(!_0x374686){return this['password']===this['encryptPassword'](_0x379dda);}var _0x2d2d2d=this;this[_0xf470('0x3d')](_0x379dda,function(_0x286e6a,_0x1ac7cd){if(_0x286e6a){_0x374686(_0x286e6a);}if(_0x2d2d2d[_0xf470('0x15')]===_0x1ac7cd){_0x374686(null,!![]);}else{_0x374686(null,![]);}});},'makeSalt':function(_0x5b0b73,_0x582d02){var _0x48c281=0x10;if(typeof arguments[0x0]==='function'){_0x582d02=arguments[0x0];_0x5b0b73=_0x48c281;}else if(typeof arguments[0x1]===_0xf470('0x3e')){_0x582d02=arguments[0x1];}else{throw new Error(_0xf470('0x3f'));}if(!_0x5b0b73){_0x5b0b73=_0x48c281;}return crypto['randomBytes'](_0x5b0b73,function(_0x42bb02,_0x9f9084){if(_0x42bb02){_0x582d02(_0x42bb02);}return _0x582d02(null,_0x9f9084[_0xf470('0x40')](_0xf470('0x41')));});},'encryptPassword':function(_0x59abc4,_0x234774){if(!_0x59abc4||!this[_0xf470('0x42')]){return _0x234774?_0x234774(null):null;}var _0x1fd398=0x2710;var _0x448f91=0x40;var _0x314c10=new Buffer(this['salt'],'base64');if(!_0x234774){return crypto[_0xf470('0x43')](_0x59abc4,_0x314c10,_0x1fd398,_0x448f91,'sha1')['toString'](_0xf470('0x41'));}return crypto['pbkdf2'](_0x59abc4,_0x314c10,_0x1fd398,_0x448f91,_0xf470('0x44'),function(_0x20c5a0,_0x4076be){if(_0x20c5a0){_0x234774(_0x20c5a0);}return _0x234774(null,_0x4076be[_0xf470('0x40')](_0xf470('0x41')));});},'updatePassword':function(_0x43d1fb){if(!this['password']){return _0x43d1fb(null);}if(!validatePresenceOf(this[_0xf470('0x15')])&&authTypes[_0xf470('0x45')](this[_0xf470('0x46')])===-0x1){_0x43d1fb(new Error(_0xf470('0x47')));}var _0xacc3d4=this;this[_0xf470('0x48')](function(_0x4b8f03,_0x551d5e){if(_0x4b8f03){return _0x43d1fb(_0x4b8f03);}_0xacc3d4[_0xf470('0x42')]=_0x551d5e;_0xacc3d4[_0xf470('0x3d')](_0xacc3d4[_0xf470('0x15')],function(_0x1dd3e5,_0x142311){if(_0x1dd3e5){_0x43d1fb(_0x1dd3e5);}_0xacc3d4[_0xf470('0x15')]=_0x142311;_0x43d1fb(null);});});},'updateMd5Password':function(){this[_0xf470('0x49')]=md5(this[_0xf470('0x23')]+_0xf470('0x4a')+this['password']);return this[_0xf470('0x49')];}}});};
\ No newline at end of file
+var _0x5a93=['encryptPassword','function','randomBytes','base64','salt','pbkdf2Sync','toString','sha1','indexOf','provider','md5secret',':asterisk:','crypto','util','md5','./user.attributes','google','context','from-sip','system','length','%s%s','prefix','Set','format','CDR(type)=%s','record','push','MixMonitor','${UNIQUEID}.%s,a','recordingFormat','auth','merge','password','ChanSpy','SIP/%s,%s','name','options','join','StopMixMonitor','wav','WAV','CDR(type)=internal','extensionMonitor','includes','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','Dial','SIP/%s,,tTxXU(xcally-mixmonitor-context)','SIP/%s,,tTxX','Hangup','priority','findAll','then','internal','catch','exports','define','User','users','utf8','utf8_bin','userProfileId','undefined','resolve','UserProfile','privacyEnabled','updatePassword','find','changed','bulkCreate','chanspy','VoiceExtension','destroy'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x5a93,0xe7));var _0x35a9=function(_0x1bad7b,_0xd78af4){_0x1bad7b=_0x1bad7b-0x0;var _0x2c5306=_0x5a93[_0x1bad7b];return _0x2c5306;};'use strict';var BPromise=require('bluebird');var crypto=require(_0x35a9('0x0'));var util=require(_0x35a9('0x1'));var md5=require(_0x35a9('0x2'));var _=require('lodash');var attributes=require(_0x35a9('0x3'));var authTypes=[_0x35a9('0x4')];var validatePresenceOf=function(_0x1ef08c){return _0x1ef08c&&_0x1ef08c['length'];};var getChanSpyApplications=function(_0x37b342,_0x25351b,_0x5be3be){var _0x58a8f5={'context':_0x37b342[_0x35a9('0x5')]||_0x35a9('0x6'),'type':_0x35a9('0x7'),'isApp':![],'UserId':_0x37b342['id']};var _0x24a99d=[];for(var _0x21c4d4=0x0,_0x5649fd=0x1;_0x21c4d4<_0x5be3be[_0x35a9('0x8')];_0x21c4d4++,_0x5649fd=0x1){var _0x350ba1={'exten':util['format'](_0x35a9('0x9'),_0x5be3be[_0x21c4d4][_0x35a9('0xa')],_0x25351b),'ChanSpyId':_0x5be3be[_0x21c4d4]['id']};_0x24a99d['push'](_['merge']({'app':_0x35a9('0xb'),'appdata':util[_0x35a9('0xc')](_0x35a9('0xd'),'chanspy'),'priority':_0x5649fd++},_0x58a8f5,_0x350ba1));if(_0x5be3be[_0x21c4d4][_0x35a9('0xe')]){_0x24a99d[_0x35a9('0xf')](_['merge']({'app':_0x35a9('0x10'),'appdata':util[_0x35a9('0xc')](_0x35a9('0x11'),_0x5be3be[_0x21c4d4][_0x35a9('0x12')]),'priority':_0x5649fd++},_0x58a8f5,_0x350ba1));}if(_0x5be3be[_0x21c4d4][_0x35a9('0x13')]){_0x24a99d[_0x35a9('0xf')](_[_0x35a9('0x14')]({'app':'Authenticate','appdata':_0x5be3be[_0x21c4d4][_0x35a9('0x15')],'priority':_0x5649fd++},_0x58a8f5,_0x350ba1));}_0x24a99d[_0x35a9('0xf')](_[_0x35a9('0x14')]({'app':_0x35a9('0x16'),'appdata':util[_0x35a9('0xc')](_0x35a9('0x17'),_0x37b342[_0x35a9('0x18')],_0x5be3be[_0x21c4d4][_0x35a9('0x19')]?_0x5be3be[_0x21c4d4][_0x35a9('0x19')][_0x35a9('0x1a')](''):''),'priority':_0x5649fd++},_0x58a8f5,_0x350ba1));if(_0x5be3be[_0x21c4d4][_0x35a9('0xe')]){_0x24a99d[_0x35a9('0xf')](_[_0x35a9('0x14')]({'app':_0x35a9('0x1b'),'priority':_0x5649fd++},_0x58a8f5,_0x350ba1));}}return _0x24a99d;};var getUserApplications=function(_0x427fe4,_0x9fdb24){var _0x2f2f65=[_0x35a9('0x1c'),_0x35a9('0x1d'),'gsm'];var _0x22656c={'context':_0x427fe4['context']||_0x35a9('0x6'),'exten':_0x9fdb24,'type':_0x35a9('0x7'),'isApp':![],'UserId':_0x427fe4['id']};var _0x53a5c3=[{'app':'Set','appdata':_0x35a9('0x1e')}];if(_0x427fe4[_0x35a9('0x1f')]&&_[_0x35a9('0x20')](_0x2f2f65,_0x427fe4[_0x35a9('0x1f')])){_0x53a5c3[_0x35a9('0xf')]({'app':_0x35a9('0xb'),'appdata':_0x35a9('0x21')});_0x53a5c3[_0x35a9('0xf')]({'app':_0x35a9('0xb'),'appdata':util[_0x35a9('0xc')]('_XCALLY_MIXMONITOR_FORMAT=%s',_0x427fe4['extensionMonitor'])});_0x53a5c3[_0x35a9('0xf')]({'app':_0x35a9('0x22'),'appdata':util[_0x35a9('0xc')](_0x35a9('0x23'),_0x427fe4['name'])});}else{_0x53a5c3['push']({'app':_0x35a9('0x22'),'appdata':util[_0x35a9('0xc')](_0x35a9('0x24'),_0x427fe4['name'])});}_0x53a5c3[_0x35a9('0xf')]({'app':_0x35a9('0x25')});for(var _0x59250e=0x0;_0x59250e<_0x53a5c3[_0x35a9('0x8')];_0x59250e++){_0x53a5c3[_0x59250e][_0x35a9('0x26')]=_0x59250e+0x1;_0x53a5c3[_0x59250e]=_['defaults'](_0x53a5c3[_0x59250e],_0x22656c);}return _0x53a5c3;};var getChanSpyPromise=function(_0x3de1fd,_0x458760){return new BPromise(function(_0x4a4f88,_0x5d0c5){return _0x3de1fd['VoiceChanSpy'][_0x35a9('0x27')]()[_0x35a9('0x28')](function(_0x14ddad){if(_0x14ddad){var _0x58b1ef=getChanSpyApplications(_0x458760,_0x458760['internal'],_0x14ddad);if(_0x458760[_0x35a9('0x29')]!=_0x458760[_0x35a9('0x18')]){_0x58b1ef=_0x58b1ef['concat'](getChanSpyApplications(_0x458760,_0x458760['name'],_0x14ddad));}return _0x4a4f88(_0x58b1ef);}return _0x4a4f88([]);})[_0x35a9('0x2a')](function(_0x5d77fd){_0x5d0c5(_0x5d77fd);});});};module[_0x35a9('0x2b')]=function(_0x3707fd,_0x27e1ad){var _0x52cb24=_0x3707fd['models'];return _0x3707fd[_0x35a9('0x2c')](_0x35a9('0x2d'),attributes,{'tableName':_0x35a9('0x2e'),'charset':_0x35a9('0x2f'),'collate':_0x35a9('0x30'),'hooks':{'beforeCreate':function(_0x1eca35,_0x3a9310,_0x244445){var _0x2bbf60=typeof _0x1eca35[_0x35a9('0x31')]===_0x35a9('0x32')?BPromise[_0x35a9('0x33')](null):_0x52cb24[_0x35a9('0x34')]['find']({'where':{'id':_0x1eca35['userProfileId']}});_0x2bbf60[_0x35a9('0x28')](function(_0x1c716c){if(_0x1c716c){_0x1eca35[_0x35a9('0x35')]=_0x1c716c[_0x35a9('0x35')];}})['then'](function(){_0x1eca35['updateMd5Password']();_0x1eca35[_0x35a9('0x36')](_0x244445);})[_0x35a9('0x2a')](function(_0x51a501){_0x244445(_0x51a501);});},'beforeUpdate':function(_0x90751c,_0x2074d5,_0xbc76d0){Promise[_0x35a9('0x33')]()[_0x35a9('0x28')](function(){if(_0x90751c['changed']('userProfileId')===![])return;return _0x52cb24[_0x35a9('0x34')][_0x35a9('0x37')]({'where':{'id':_0x90751c[_0x35a9('0x31')]}})[_0x35a9('0x28')](function(_0x49c07a){if(_0x49c07a)_0x90751c[_0x35a9('0x35')]=_0x49c07a['privacyEnabled'];return;});})['then'](function(){if(_0x90751c[_0x35a9('0x38')]('password')){_0x90751c['updateMd5Password']();return _0x90751c[_0x35a9('0x36')](_0xbc76d0);}_0xbc76d0();})[_0x35a9('0x2a')](function(_0x2624ec){_0xbc76d0(_0x2624ec);});},'afterCreate':function(_0x84fae2,_0x3284f3,_0x27c1b7){var _0x878bfa=getUserApplications(_0x84fae2,_0x84fae2[_0x35a9('0x29')]);if(_0x84fae2[_0x35a9('0x29')]!=_0x84fae2['name']){_0x878bfa=_0x878bfa['concat'](getUserApplications(_0x84fae2,_0x84fae2[_0x35a9('0x18')]));}return _0x52cb24['VoiceExtension'][_0x35a9('0x39')](_0x878bfa)[_0x35a9('0x28')](function(){if(_0x84fae2[_0x35a9('0x3a')]){return getChanSpyPromise(_0x52cb24,_0x84fae2);}})[_0x35a9('0x28')](function(_0x5c1860){if(_0x5c1860&&_0x5c1860[_0x35a9('0x8')]){return _0x52cb24[_0x35a9('0x3b')][_0x35a9('0x39')](_0x5c1860);}})[_0x35a9('0x28')](function(){_0x27c1b7();})[_0x35a9('0x2a')](function(_0xaa964e){_0x27c1b7(_0xaa964e);});},'afterUpdate':function(_0x1690b1,_0x12dae3,_0x4ffcf0){return BPromise[_0x35a9('0x33')]()['then'](function(){if(_0x1690b1[_0x35a9('0x38')]('chanspy')||_0x1690b1['changed']('context')){return _0x52cb24[_0x35a9('0x3b')]['destroy']({'where':{'UserId':_0x1690b1['id'],'type':_0x35a9('0x7'),'ChanSpyId':{'$ne':null}}})[_0x35a9('0x28')](function(){if(_0x1690b1[_0x35a9('0x3a')]){return getChanSpyPromise(_0x52cb24,_0x1690b1)['then'](function(_0x469f18){if(_0x469f18&&_0x469f18[_0x35a9('0x8')]){return _0x52cb24[_0x35a9('0x3b')][_0x35a9('0x39')](_0x469f18);}});}});}})[_0x35a9('0x28')](function(){if(_0x1690b1[_0x35a9('0x38')](_0x35a9('0x1f'))||_0x1690b1[_0x35a9('0x38')]('context')){return _0x52cb24['VoiceExtension'][_0x35a9('0x3c')]({'where':{'UserId':_0x1690b1['id'],'type':_0x35a9('0x7'),'ChanSpyId':null}})[_0x35a9('0x28')](function(){var _0x4c14d2=getUserApplications(_0x1690b1,_0x1690b1[_0x35a9('0x29')]);if(_0x1690b1[_0x35a9('0x29')]!=_0x1690b1[_0x35a9('0x18')]){_0x4c14d2=_0x4c14d2['concat'](getUserApplications(_0x1690b1,_0x1690b1['name']));}return _0x52cb24['VoiceExtension'][_0x35a9('0x39')](_0x4c14d2);});}})[_0x35a9('0x28')](function(){_0x4ffcf0();})[_0x35a9('0x2a')](function(_0x189af5){_0x4ffcf0(_0x189af5);});},'afterDestroy':function(_0x2ad5c6,_0x2a3045){return _0x52cb24['VoiceExtension'][_0x35a9('0x3c')]({'where':{'UserId':_0x2ad5c6['id'],'type':_0x35a9('0x7')}});}},'instanceMethods':{'authenticate':function(_0x2a87fc,_0x692471){if(!_0x692471){return this['password']===this[_0x35a9('0x3d')](_0x2a87fc);}var _0x35b953=this;this['encryptPassword'](_0x2a87fc,function(_0xf56965,_0x4bd338){if(_0xf56965){_0x692471(_0xf56965);}if(_0x35b953[_0x35a9('0x15')]===_0x4bd338){_0x692471(null,!![]);}else{_0x692471(null,![]);}});},'makeSalt':function(_0x54b1da,_0x3b1ccd){var _0x571a97=0x10;if(typeof arguments[0x0]===_0x35a9('0x3e')){_0x3b1ccd=arguments[0x0];_0x54b1da=_0x571a97;}else if(typeof arguments[0x1]===_0x35a9('0x3e')){_0x3b1ccd=arguments[0x1];}else{throw new Error('Missing\x20Callback');}if(!_0x54b1da){_0x54b1da=_0x571a97;}return crypto[_0x35a9('0x3f')](_0x54b1da,function(_0x305ab2,_0x358297){if(_0x305ab2){_0x3b1ccd(_0x305ab2);}return _0x3b1ccd(null,_0x358297['toString'](_0x35a9('0x40')));});},'encryptPassword':function(_0x30cdfe,_0x330d78){if(!_0x30cdfe||!this[_0x35a9('0x41')]){return _0x330d78?_0x330d78(null):null;}var _0x1bb0d2=0x2710;var _0x3bf3ae=0x40;var _0x48214=new Buffer(this[_0x35a9('0x41')],'base64');if(!_0x330d78){return crypto[_0x35a9('0x42')](_0x30cdfe,_0x48214,_0x1bb0d2,_0x3bf3ae,'sha1')[_0x35a9('0x43')](_0x35a9('0x40'));}return crypto['pbkdf2'](_0x30cdfe,_0x48214,_0x1bb0d2,_0x3bf3ae,_0x35a9('0x44'),function(_0x505240,_0x3c6f98){if(_0x505240){_0x330d78(_0x505240);}return _0x330d78(null,_0x3c6f98['toString'](_0x35a9('0x40')));});},'updatePassword':function(_0x36fbb2){if(!this[_0x35a9('0x15')]){return _0x36fbb2(null);}if(!validatePresenceOf(this[_0x35a9('0x15')])&&authTypes[_0x35a9('0x45')](this[_0x35a9('0x46')])===-0x1){_0x36fbb2(new Error('Invalid\x20password'));}var _0x4cc3f8=this;this['makeSalt'](function(_0x28128c,_0x5acf2f){if(_0x28128c){return _0x36fbb2(_0x28128c);}_0x4cc3f8[_0x35a9('0x41')]=_0x5acf2f;_0x4cc3f8[_0x35a9('0x3d')](_0x4cc3f8['password'],function(_0x3afd7e,_0x1dc3f2){if(_0x3afd7e){_0x36fbb2(_0x3afd7e);}_0x4cc3f8[_0x35a9('0x15')]=_0x1dc3f2;_0x36fbb2(null);});});},'updateMd5Password':function(){this[_0x35a9('0x47')]=md5(this['name']+_0x35a9('0x48')+this[_0x35a9('0x15')]);return this['md5secret'];}}});};
\ No newline at end of file