Only checks if the username or email is changed

This commit is contained in:
Jeas0001 2025-05-05 13:04:50 +02:00
parent b0bb534eff
commit f84cd6167b

View File

@ -94,6 +94,8 @@ namespace API.BusinessLogic
public async Task<IActionResult> EditProfile(UpdateUserDTO userDTO, int userId)
{
var profile = await _dbAccess.ReadUser(userId);
bool emailChanged = false;
bool userNameChanged = false;
if (profile == null) { return new ConflictObjectResult(new { message = "User does not exist" }); }
@ -112,13 +114,22 @@ namespace API.BusinessLogic
return new ConflictObjectResult(new { message = "Please enter an userName" });
}
if (userDTO.UserName != profile.UserName)
{
userNameChanged = true;
}
if (await _dbAccess.UserNameInUse(userDTO.UserName))
if (userDTO.Email != profile.Email)
{
emailChanged = true;
}
if (await _dbAccess.UserNameInUse(userDTO.UserName) && userNameChanged)
{
return new ConflictObjectResult(new { message = "Username is already in use." });
}
if (await _dbAccess.EmailInUse(userDTO.Email))
if (await _dbAccess.EmailInUse(userDTO.Email) && emailChanged)
{
return new ConflictObjectResult(new { message = "Email is already in use." });
}