Пример #1
0
        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());
        }
Пример #2
0
        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());
        }