Built motion from commit 67e5df37.|2.0.61
[motion2.git] / server / components / auth / service.js
1 var _0x1eda=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x64\x62","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x79\x73\x71\x6C\x64\x62","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6C\x6F\x64\x61\x73\x68","\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","\x62\x61\x73\x69\x63\x2D\x61\x75\x74\x68","\x69\x70\x61\x64\x64\x72\x2E\x6A\x73","\x73\x65\x73\x73\x69\x6F\x6E","\x73\x65\x63\x72\x65\x74\x73","\x69\x64","\x72\x6F\x6C\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x6E\x61\x6D\x65","\x69\x6E\x74\x65\x72\x6E\x61\x6C","\x65\x6D\x61\x69\x6C","\x75\x73\x65\x72\x70\x69\x63","\x70\x65\x72\x6D\x69\x73\x73\x69\x6F\x6E\x73","\x76\x6F\x69\x63\x65\x50\x61\x75\x73\x65","\x63\x68\x61\x74\x50\x61\x75\x73\x65","\x6D\x61\x69\x6C\x50\x61\x75\x73\x65","\x66\x61\x78\x50\x61\x75\x73\x65","\x73\x6D\x73\x50\x61\x75\x73\x65","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x50\x61\x75\x73\x65","\x70\x61\x75\x73\x65\x54\x79\x70\x65","\x73\x68\x6F\x77\x57\x65\x62\x42\x61\x72","\x70\x68\x6F\x6E\x65\x42\x61\x72\x52\x65\x6D\x6F\x74\x65\x43\x6F\x6E\x74\x72\x6F\x6C\x50\x6F\x72\x74","\x70\x68\x6F\x6E\x65\x42\x61\x72\x52\x65\x6D\x6F\x74\x65\x43\x6F\x6E\x74\x72\x6F\x6C","\x69\x73\x43\x68\x61\x74\x49\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E\x41\x75\x74\x68\x6F\x72\x69\x7A\x65\x64","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x63\x6C\x6F\x73\x65\x64","\x64\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x75\x6E\x6D\x61\x6E\x61\x67\x65\x64","\x55\x6E\x6D\x61\x6E\x61\x67\x65\x64\x2E","\x46\x6F\x72\x62\x69\x64\x64\x65\x6E\x2E","\x6A\x73\x6F\x6E","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x43\x68\x61\x74\x49\x6E\x74\x65\x72\x61\x63\x74\x69\x6F\x6E","\x75\x73\x65","\x55\x73\x65\x72\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2E","\x66\x69\x6E\x64","\x55\x73\x65\x72","\x55\x73\x65\x72\x20\x6F\x62\x6A\x65\x63\x74\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x2E","\x61\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E","\x68\x65\x61\x64\x65\x72\x73","\x42\x61\x73\x69\x63","\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68","\x70\x61\x73\x73","\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","\x42\x65\x61\x72\x65\x72","\x55\x6E\x6B\x6E\x6F\x77\x6E\x20\x61\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E\x20\x66\x6F\x72\x6D\x61\x74\x2E","\x69\x73\x41\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65\x64","\x75\x70\x64\x61\x74\x65","\x46\x6F\x72\x62\x69\x64\x64\x65\x6E","\x67\x65\x74\x4C\x69\x63\x65\x6E\x73\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x69\x63\x65\x6E\x73\x65\x2F\x75\x74\x69\x6C","\x63\x61\x6E\x55\x70\x64\x61\x74\x65","\x73\x69\x67\x6E","\x73\x69\x67\x6E\x54\x6F\x6B\x65\x6E","\x68\x61\x73\x52\x6F\x6C\x65","\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","\x73\x65\x74\x54\x6F\x6B\x65\x6E\x43\x6F\x6F\x6B\x69\x65","\x49\x74\x20\x6C\x6F\x6F\x6B\x73\x20\x6C\x69\x6B\x65\x20\x79\x6F\x75\x20\x61\x72\x65\x6E\x27\x74\x20\x6C\x6F\x67\x67\x65\x64\x20\x69\x6E\x2C\x20\x70\x6C\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6E\x2E","\x6D\x6F\x74\x69\x6F\x6E\x2E\x74\x6F\x6B\x65\x6E","\x63\x6F\x6F\x6B\x69\x65","\x6D\x6F\x74\x69\x6F\x6E\x2E\x75\x73\x65\x72","\x70\x69\x63\x6B","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x2F\x64\x61\x73\x68\x62\x6F\x61\x72\x64\x73\x2F\x67\x65\x6E\x65\x72\x61\x6C","\x72\x65\x64\x69\x72\x65\x63\x74"];_0x1eda[0];var db=require(_0x1eda[2])[_0x1eda[1]];var config=require(_0x1eda[3]);var _=require(_0x1eda[4]);var jwt=require(_0x1eda[5]);var expressJwt=require(_0x1eda[6]);var compose=require(_0x1eda[7]);var basicAuth=require(_0x1eda[8]);var ipaddr=require(_0x1eda[9]);var validateJwt=expressJwt({secret:config[_0x1eda[11]][_0x1eda[10]]});var userAttributes=[_0x1eda[12],_0x1eda[13],_0x1eda[14],_0x1eda[15],_0x1eda[16],_0x1eda[17],_0x1eda[18],_0x1eda[19],_0x1eda[20],_0x1eda[21],_0x1eda[22],_0x1eda[23],_0x1eda[24],_0x1eda[25],_0x1eda[26],_0x1eda[27],_0x1eda[28],_0x1eda[29]];exports[_0x1eda[30]]= function(){return isAuthenticated(true)[_0x1eda[44]](function(_0xa430xb,_0xa430xc,_0xa430xd){if(_0xa430xb[_0x1eda[31]]){_0xa430xd()}else {return db[_0x1eda[43]][_0x1eda[42]]({where:{id:_0xa430xb[_0x1eda[41]][_0x1eda[12]]},attributes:[_0x1eda[12],_0x1eda[33],_0x1eda[34]],raw:true})[_0x1eda[40]](function(_0xa430xf){if(_0xa430xf&& _0xa430xf[_0x1eda[33]]){return _0xa430xc[_0x1eda[39]](_0xa430xf[_0x1eda[34]]=== _0x1eda[35]?405:403)[_0x1eda[38]]({message:_0xa430xf[_0x1eda[34]]=== _0x1eda[35]?_0x1eda[36]:_0x1eda[37]})}else {_0xa430xd()}})[_0x1eda[32]](function(_0xa430xe){_0xa430xd(_0xa430xe)})}})};function isAuthenticated(_0xa430x11){return compose()[_0x1eda[44]](function(_0xa430xb,_0xa430xc,_0xa430xd){if(_0xa430xb[_0x1eda[50]][_0x1eda[49]]){if(_[_0x1eda[52]](_0xa430xb[_0x1eda[50]][_0x1eda[49]],_0x1eda[51])){var _0xa430x13=basicAuth(_0xa430xb);db[_0x1eda[47]][_0x1eda[46]]({where:{name:_0xa430x13[_0x1eda[15]]}})[_0x1eda[40]](function(_0xa430x12){if(!_0xa430x12||  !_0xa430x12[_0x1eda[54]](_0xa430x13[_0x1eda[53]])){return _0xa430xc[_0x1eda[39]](401)[_0x1eda[38]]({message:_0x1eda[55]})};_0xa430xb[_0x1eda[31]]= {id:_0xa430x12[_0x1eda[12]]};_0xa430xd()})[_0x1eda[32]](function(_0xa430xe){_0xa430xd(_0xa430xe)})}else {if(_[_0x1eda[52]](_0xa430xb[_0x1eda[50]][_0x1eda[49]],_0x1eda[56])){validateJwt(_0xa430xb,_0xa430xc,_0xa430xd)}}}else {if(_0xa430x11){_0xa430xd()}else {return _0xa430xc[_0x1eda[39]](401)[_0x1eda[38]]({message:_0x1eda[57]})}}})[_0x1eda[44]](function(_0xa430xb,_0xa430xc,_0xa430xd){if(_0xa430xb[_0x1eda[31]]){db[_0x1eda[47]][_0x1eda[46]]({where:{id:_0xa430xb[_0x1eda[31]][_0x1eda[12]]},attributes:userAttributes})[_0x1eda[40]](function(_0xa430x12){if(!_0xa430x12){return _0xa430xc[_0x1eda[39]](404)[_0x1eda[38]]({message:_0x1eda[45]})};_0xa430xb[_0x1eda[31]]= _0xa430x12;_0xa430xd()})[_0x1eda[32]](function(_0xa430xe){_0xa430xd(_0xa430xe)})}else {if(_0xa430x11){_0xa430xd()}else {return _0xa430xc[_0x1eda[39]](404)[_0x1eda[38]]({message:_0x1eda[48]})}}})}exports[_0x1eda[58]]= isAuthenticated;function canUpdate(){return compose()[_0x1eda[44]](function(_0xa430xb,_0xa430xc,_0xa430xd){return require(_0x1eda[62])[_0x1eda[61]]()[_0x1eda[40]](function(_0xa430x15){if(_0xa430x15[_0x1eda[59]]){_0xa430xd()}else {return _0xa430xc[_0x1eda[39]](403)[_0x1eda[38]]({message:_0x1eda[60]})}})[_0x1eda[32]](function(_0xa430xe){_0xa430xd(_0xa430xe)})})}exports[_0x1eda[63]]= canUpdate;function signToken(_0xa430x17,_0xa430x18){return jwt[_0x1eda[64]]({id:_0xa430x17,role:_0xa430x18},config[_0x1eda[11]][_0x1eda[10]],{expiresIn:86400})}exports[_0x1eda[65]]= signToken;exports[_0x1eda[66]]= function(_0xa430x19){if(!_0xa430x19){throw  new Error(_0x1eda[67])};return compose()[_0x1eda[44]](isAuthenticated())[_0x1eda[44]](function _0xa430x1a(_0xa430xb,_0xa430xc,_0xa430xd){if(config[_0x1eda[69]][_0x1eda[68]](_0xa430xb[_0x1eda[31]][_0x1eda[13]])>= config[_0x1eda[69]][_0x1eda[68]](_0xa430x19)){return _0xa430xd()}else {return _0xa430xc[_0x1eda[39]](403)[_0x1eda[38]]({message:_0x1eda[60]})}})};exports[_0x1eda[70]]= function(_0xa430xb,_0xa430xc){if(!_0xa430xb[_0x1eda[31]]){return _0xa430xc[_0x1eda[39]](404)[_0x1eda[38]]({message:_0x1eda[71]})};var _0xa430x1b=signToken(_0xa430xb[_0x1eda[31]][_0x1eda[12]],_0xa430xb[_0x1eda[31]][_0x1eda[13]]);_0xa430xc[_0x1eda[73]](_0x1eda[72],_0xa430x1b);_0xa430xc[_0x1eda[73]](_0x1eda[74],JSON[_0x1eda[76]](_[_0x1eda[75]](_0xa430xb[_0x1eda[31]],userAttributes)));_0xa430xc[_0x1eda[78]](_0x1eda[77])}