public IActionResult RemoveSharedSnippet(ShareSnippetRequest shareSnippetRequest, [FromHeader] string Authorization) { string tokenString = Authorization.Split(' ')[1]; var handler = new JwtSecurityTokenHandler(); var token = handler.ReadJwtToken(tokenString) as JwtSecurityToken; var email = token.Claims.First(claim => claim.Type == ClaimTypes.Email).Value; User user = _userRepository.GetUserByEmail(shareSnippetRequest.UserEmail); user.SharedSnippets.RemoveAll(x => x.Hash == shareSnippetRequest.Hash); _userRepository.UpdateUser(user); return(Ok()); }
public IActionResult ShareSnippet(ShareSnippetRequest shareSnippetRequest, [FromHeader] string Authorization) { string tokenString = Authorization.Split(' ')[1]; var handler = new JwtSecurityTokenHandler(); var token = handler.ReadJwtToken(tokenString) as JwtSecurityToken; var email = token.Claims.First(claim => claim.Type == ClaimTypes.Email).Value; if (_snippetService.GetSnippetByHash(shareSnippetRequest.Hash).CreatorEmail == email) //check if email of creator is equal to email of sender { User user = _userRepository.GetUserByEmail(shareSnippetRequest.UserEmail); if (user == default(User)) { return(NotFound()); } if (!user.SharedSnippets.Any(x => x.Hash == shareSnippetRequest.Hash)) { user.SharedSnippets.Add(_snippetService.GetSnippetByHash(shareSnippetRequest.Hash)); _userRepository.UpdateUser(user); } } return(Ok()); }