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()); }
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>(); }
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); }