public async Task <IActionResult> PutLogout([FromHeader] string token, [FromHeader] string email, [FromHeader] bool isUser) { // if user and not authenticated if (isUser && !await _userRepository.Authenticated(token, email)) { return(Unauthorized()); } // is safewalker and not authenticated else if (!isUser && !await _safewalkerRepository.Authenticated(token, email)) { return(Unauthorized()); } if (isUser) { var user = await _userRepository.Get(email); user.WithoutTempAuth(); await _userRepository.Update(user); } else { var walker = await _safewalkerRepository.Get(email); walker.WithoutTempAuth(); await _safewalkerRepository.Update(walker); } return(Ok()); }
public async Task <ActionResult <Safewalker> > GetSafewalker([FromHeader] string token, [FromHeader] string email, [FromRoute] string walkerEmail, [FromHeader] bool isUser) { // if user and not authenticated if (isUser && !await _userRepository.Authenticated(token, email)) { return(Unauthorized()); } // is safewalker and not authenticated else if (!isUser && !await _safewalkerRepository.Authenticated(token, email)) { return(Unauthorized()); } var walker = await _safewalkerRepository.Get(walkerEmail); var copyWalker = walker.DeepClone().WithoutPrivateInfo(); return(Ok(copyWalker)); }
public async Task <IActionResult> VerifyPassword([FromRoute] string email, [FromHeader] string password, [FromHeader] bool isUser) { if (isUser) { var user = await _userRepository.Get(email); if (user == null || user.Password != password) { return(Unauthorized()); } return(Ok()); } else { var safewalker = await _safewalkerRepository.Get(email); if (safewalker == null || safewalker.Password != password) { return(Unauthorized()); } return(Ok()); } }