Fix Usuario Clave

This commit is contained in:
2025-10-09 10:30:49 -03:00
parent f50658c2d8
commit ffd17f0cde

View File

@@ -56,11 +56,16 @@ namespace Inventario.API.Controllers
if (usuarioExistente != null) if (usuarioExistente != null)
{ {
// El usuario ya existe, lo actualizamos (solo la contraseña si viene) // El usuario ya existe.
var updateQuery = "UPDATE dbo.usuarios SET Password = @Password WHERE Id = @Id;"; // SOLO actualizamos la contraseña si se proporciona una nueva en el body de la petición.
await connection.ExecuteAsync(updateQuery, new { usuario.Password, Id = usuarioExistente.Id }); if (!string.IsNullOrEmpty(usuario.Password))
{
var updateQuery = "UPDATE dbo.usuarios SET Password = @Password, updated_at = GETDATE() WHERE Id = @Id;";
await connection.ExecuteAsync(updateQuery, new { usuario.Password, Id = usuarioExistente.Id });
}
// Si no se envía contraseña, simplemente no hacemos nada y el valor en la BD se conserva.
// Devolvemos el usuario actualizado // Devolvemos el usuario que ya existe (con o sin la contraseña actualizada)
var usuarioActualizado = await connection.QuerySingleOrDefaultAsync<Usuario>(findQuery, new { usuario.Username }); var usuarioActualizado = await connection.QuerySingleOrDefaultAsync<Usuario>(findQuery, new { usuario.Username });
return Ok(usuarioActualizado); return Ok(usuarioActualizado);
} }