public async Task <IActionResult> ForbidEmailNotification([FromBody] ForbidEmailDto email)
 {
     _logger.LogInformation("Forbid email notififcations for {email}", email);
     if (await _userService.ForbidEmailNotification(email))
     {
         return(Ok());
     }
     _logger.LogWarning("Forbid email NOT FOUND");
     return(BadRequest());
 }
예제 #2
0
        public async Task ForbidEmailNotifications_EmailNotExists_ReturnsBadRequest()
        {
            var email = new ForbidEmailDto();

            _mockUserService.Setup(s => s.ForbidEmailNotification(email))
            .ReturnsAsync(false);

            var result = await _usersController.ForbidEmailNotification(email);

            result.Should().BeOfType <BadRequestResult>();
        }
예제 #3
0
        public async Task ForbidEmailNotifications_EmailExists_ReturnsOkStatusCode200()
        {
            var email = new ForbidEmailDto();

            _mockUserService.Setup(s => s.ForbidEmailNotification(email))
            .ReturnsAsync(true);

            var result = await _usersController.ForbidEmailNotification(email);

            result.Should().BeOfType <OkResult>();
        }
        public async Task <bool> ForbidEmailNotification(ForbidEmailDto email)
        {
            var user = await _userRepository.FindByCondition(u => u.Email == email.Email);

            if (user != null && string.Join(null, SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(user.Email)).Select(x => x.ToString("x2"))) == email.Code)
            {
                user.IsEmailAllowed = false;
                await _userRepository.SaveChangesAsync();

                return(true);
            }
            return(false);
        }