47f12e3f858728c5550f49d1c8bfd4f11a321328
[motion.git] / server / auth / auth.service.js
1 var _0x6a8e=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x70\x61\x73\x73\x70\x6F\x72\x74","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6A\x73\x6F\x6E\x77\x65\x62\x74\x6F\x6B\x65\x6E","\x65\x78\x70\x72\x65\x73\x73\x2D\x6A\x77\x74","\x63\x6F\x6D\x70\x6F\x73\x61\x62\x6C\x65\x2D\x6D\x69\x64\x64\x6C\x65\x77\x61\x72\x65","\x55\x73\x65\x72","\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4C\x69\x73\x74","\x73\x65\x63\x72\x65\x74","\x73\x65\x73\x73\x69\x6F\x6E","\x62\x6C\x75\x65\x62\x69\x72\x64","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x6F\x67\x67\x65\x72\x2F\x69\x6E\x64\x65\x78\x2E\x6A\x73","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x75\x73\x65\x72","\x47\x45\x54","\x50\x4F\x53\x54","\x50\x55\x54","\x50\x41\x54\x43\x48","\x75\x73\x65\x72\x49\x64\x3A\x20\x25\x73\x2C\x20\x75\x73\x65\x72\x4E\x61\x6D\x65\x3A\x20\x25\x73\x2C\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x25\x73\x2C\x20\x70\x61\x74\x68\x3A\x20\x27\x25\x73\x27\x2C\x20\x62\x6F\x64\x79\x3A\x20\x25\x73","\x69\x64","\x6E\x61\x6D\x65","\x6D\x65\x74\x68\x6F\x64","\x6F\x72\x69\x67\x69\x6E\x61\x6C\x55\x72\x6C","\x62\x6F\x64\x79","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x2D\x2D","\x69\x6E\x66\x6F","\x44\x45\x4C\x45\x54\x45","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x72\x65\x71\x75\x65\x73\x74\x20\x6D\x65\x74\x68\x6F\x64\x2E","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x42\x79\x49\x64","\x75\x73\x65","\x71\x75\x65\x72\x79","\x61\x63\x63\x65\x73\x73\x5F\x74\x6F\x6B\x65\x6E","\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79","\x61\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x68\x65\x61\x64\x65\x72\x73","\x42\x65\x61\x72\x65\x72\x20","\x42\x61\x73\x69\x63","\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68","\x20","\x73\x70\x6C\x69\x74","\x61\x73\x63\x69\x69","\x62\x61\x73\x65\x36\x34","\x3A","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x57\x72\x6F\x6E\x67\x20\x63\x72\x65\x64\x65\x6E\x74\x69\x61\x6C\x73\x2E","\x66\x69\x6E\x64\x4F\x6E\x65","\x72\x65\x64\x75\x63\x65","\x72\x6F\x6C\x65","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x68\x61\x73\x4D\x6F\x64\x75\x6C\x65","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x61\x6C\x6C","\x52\x65\x71\x75\x69\x72\x65\x64\x20\x72\x6F\x6C\x65\x20\x6E\x65\x65\x64\x73\x20\x74\x6F\x20\x62\x65\x20\x73\x65\x74","\x69\x6E\x64\x65\x78\x4F\x66","\x75\x73\x65\x72\x52\x6F\x6C\x65\x73","\x31\x64","\x73\x69\x67\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x77\x65\x6E\x74\x20\x77\x72\x6F\x6E\x67\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6E\x2E","\x6A\x73\x6F\x6E","\x74\x6F\x6B\x65\x6E","\x63\x6F\x6F\x6B\x69\x65","\x2F","\x72\x65\x64\x69\x72\x65\x63\x74","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x68\x61\x73\x52\x6F\x6C\x65","\x73\x69\x67\x6E\x54\x6F\x6B\x65\x6E","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65"];_0x6a8e[0];var passport=require(_0x6a8e[1]);var config=require(_0x6a8e[2]);var jwt=require(_0x6a8e[3]);var expressJwt=require(_0x6a8e[4]);var compose=require(_0x6a8e[5]);var User=require(_0x6a8e[7])[_0x6a8e[6]];var List=require(_0x6a8e[7])[_0x6a8e[8]];var validateJwt=expressJwt({secret:config[_0x6a8e[10]][_0x6a8e[9]]});var Promise=require(_0x6a8e[11]);var _=require(_0x6a8e[12]);var logger=require(_0x6a8e[13]);function isAuthenticated(){return compose()[_0x6a8e[34]](function(_0x6330xd,_0x6330xe,_0x6330xf){if(_0x6330xd[_0x6a8e[35]]&& _0x6330xd[_0x6a8e[35]][_0x6a8e[37]](_0x6a8e[36])){_0x6330xd[_0x6a8e[39]][_0x6a8e[38]]= _0x6a8e[40]+ _0x6330xd[_0x6a8e[35]][_0x6a8e[36]]};if(_0x6330xd[_0x6a8e[39]]&& _0x6330xd[_0x6a8e[39]][_0x6a8e[38]]&& _[_0x6a8e[42]](_0x6330xd[_0x6a8e[39]][_0x6a8e[38]],_0x6a8e[41])){var _0x6330x12=_[_0x6a8e[44]](_0x6330xd[_0x6a8e[39]][_0x6a8e[38]],_0x6a8e[43]);var _0x6330x13= new Buffer(_0x6330x12[1],_0x6a8e[46]).toString(_0x6a8e[45]);var _0x6330x14=_[_0x6a8e[44]](_0x6330x13,_0x6a8e[47])[0];var _0x6330x15=_[_0x6a8e[44]](_0x6330x13,_0x6a8e[47])[1];return User[_0x6a8e[50]]({where:{name:_0x6330x14}})[_0x6a8e[32]](function(_0x6330x11){if(!_0x6330x11||  !_0x6330x11[_0x6a8e[48]](_0x6330x15)){_0x6330xf( new Error(_0x6a8e[49]))};_0x6330xd[_0x6a8e[16]]= {id:_0x6330x11[_0x6a8e[22]]};_0x6330xf()})}else {validateJwt(_0x6330xd,_0x6330xe,_0x6330xf)}})[_0x6a8e[34]](function(_0x6330xd,_0x6330xe,_0x6330xf){User[_0x6a8e[33]](_0x6330xd[_0x6a8e[16]][_0x6a8e[22]],{include:[{model:List}]})[_0x6a8e[32]](function(_0x6330x11){if(!_0x6330x11){return _0x6330xe[_0x6a8e[15]](401)};_0x6330xd[_0x6a8e[16]]= _0x6330x11;switch(_0x6330xd[_0x6a8e[24]]){case _0x6a8e[17]:break;case _0x6a8e[18]:;case _0x6a8e[19]:;case _0x6a8e[20]:;case _0x6a8e[30]:logger[_0x6a8e[29]](_0x6a8e[21],_0x6330xd[_0x6a8e[16]][_0x6a8e[22]],_0x6330xd[_0x6a8e[16]][_0x6a8e[23]],_0x6330xd[_0x6a8e[24]],_0x6330xd[_0x6a8e[25]],_0x6330xd[_0x6a8e[26]]?JSON[_0x6a8e[27]](_0x6330xd[_0x6a8e[26]]):_0x6a8e[28]);break;default:logger[_0x6a8e[29]](_0x6a8e[31])};return _0x6330xf()})[_0x6a8e[14]](function(_0x6330x10){return _0x6330xf(_0x6330x10)})})}function hasModule(_0x6330x17,_0x6330x18){return compose()[_0x6a8e[34]](function(_0x6330xd,_0x6330xe,_0x6330xf){return User[_0x6a8e[33]](_0x6330xd[_0x6a8e[16]][_0x6a8e[22]])[_0x6a8e[32]](function(_0x6330x11){var _0x6330x1c=[];_0x6330x17[_0x6a8e[56]](function(_0x6330x1d){_0x6330x1c[_0x6a8e[55]](_0x6330x11[_0x6a8e[54]](_0x6330x1d))});return Promise[_0x6a8e[57]](_0x6330x1c)})[_0x6a8e[32]](function(_0x6330x19){var hasModule=(_[_0x6a8e[51]](_0x6330x19,function(_0x6330x1a,_0x6330x1b){return _0x6330x1a|| _0x6330x1b}));if(_[_0x6a8e[53]](_0x6330x18,_0x6330xd[_0x6a8e[16]][_0x6a8e[52]])|| hasModule){return _0x6330xf()}else {_0x6330xe[_0x6a8e[15]](403)}})[_0x6a8e[14]](function(_0x6330x10){return _0x6330xf(_0x6330x10)})})}function hasRole(_0x6330x1f){if(!_0x6330x1f){throw  new Error(_0x6a8e[58])};return compose()[_0x6a8e[34]](isAuthenticated())[_0x6a8e[34]](function _0x6330x20(_0x6330xd,_0x6330xe,_0x6330xf){if(config[_0x6a8e[60]][_0x6a8e[59]](_0x6330xd[_0x6a8e[16]][_0x6a8e[52]])>= config[_0x6a8e[60]][_0x6a8e[59]](_0x6330x1f)){return _0x6330xf()}else {return _0x6330xe[_0x6a8e[15]](403)}})}function signToken(_0x6330x22,_0x6330x23,_0x6330x24){var _0x6330x25=60* 24* 365* 5;if(!_0x6330x24){_0x6330x25= _0x6a8e[61]};return jwt[_0x6a8e[62]]({id:_0x6330x22},config[_0x6a8e[10]][_0x6a8e[9]],{expiresIn:_0x6330x25})}function setTokenCookie(_0x6330xd,_0x6330xe){if(!_0x6330xd[_0x6a8e[16]]){return _0x6330xe[_0x6a8e[64]](404,{message:_0x6a8e[63]})};var _0x6330x27=signToken(_0x6330xd[_0x6a8e[16]][_0x6a8e[22]],_0x6330xd[_0x6a8e[16]][_0x6a8e[52]]);_0x6330xe[_0x6a8e[66]](_0x6a8e[65],JSON[_0x6a8e[27]](_0x6330x27));_0x6330xe[_0x6a8e[68]](_0x6a8e[67])}exports[_0x6a8e[69]]= isAuthenticated;exports[_0x6a8e[70]]= hasRole;exports[_0x6a8e[54]]= hasModule;exports[_0x6a8e[71]]= signToken;exports[_0x6a8e[72]]= setTokenCookie