Commit 33e4bcdc by Antonio Rueda

Implementada búsqueda de usuarios en repositorio y login en servicio

parent ab329f6b
...@@ -5,7 +5,7 @@ import es.ujaen.dae.reservahoteles.excepciones.ClienteYaRegistrado; ...@@ -5,7 +5,7 @@ import es.ujaen.dae.reservahoteles.excepciones.ClienteYaRegistrado;
import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext; import jakarta.persistence.PersistenceContext;
import jakarta.transaction.Transactional; import jakarta.transaction.Transactional;
import org.springframework.dao.DataIntegrityViolationException; import java.util.Optional;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
...@@ -18,6 +18,10 @@ public class RepositorioUsuarios { ...@@ -18,6 +18,10 @@ public class RepositorioUsuarios {
@PersistenceContext @PersistenceContext
EntityManager em; EntityManager em;
public Optional<Usuario> buscar(String email) {
return Optional.ofNullable(em.find(Usuario.class, email));
}
public void guardar(Usuario usuario) { public void guardar(Usuario usuario) {
if (em.find(Usuario.class, usuario.email()) != null) if (em.find(Usuario.class, usuario.email()) != null)
throw new ClienteYaRegistrado(); throw new ClienteYaRegistrado();
......
...@@ -80,8 +80,8 @@ public class ServicioReservas { ...@@ -80,8 +80,8 @@ public class ServicioReservas {
if (direccion.email().equals(email) && direccion.clave().equals(clave)) if (direccion.email().equals(email) && direccion.clave().equals(clave))
return Optional.of(direccion); return Optional.of(direccion);
Usuario cliente = clientes.get(email); // Usuario cliente = clientes.get(email);
return (cliente != null && cliente.clave().equals(clave)) ? Optional.of(cliente): Optional.empty(); return repositorioClientes.buscar(email).filter(cliente -> cliente.clave().equals(clave));
} }
/** /**
......
meses-historico: 3 meses-historico: 3
spring.datasource.url: jdbc:h2:mem:ujacoin_test;MODE=MYSQL;DATABASE_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1 spring.datasource.url: jdbc:h2:mem:reservas;MODE=MYSQL;DATABASE_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1
spring.jpa.properties.jakarta.persistence.schema-generation.database.action: drop-and-create spring.jpa.properties.jakarta.persistence.schema-generation.database.action: drop-and-create
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment