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;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import jakarta.transaction.Transactional;
import org.springframework.dao.DataIntegrityViolationException;
import java.util.Optional;
import org.springframework.stereotype.Repository;
/**
......@@ -18,6 +18,10 @@ public class RepositorioUsuarios {
@PersistenceContext
EntityManager em;
public Optional<Usuario> buscar(String email) {
return Optional.ofNullable(em.find(Usuario.class, email));
}
public void guardar(Usuario usuario) {
if (em.find(Usuario.class, usuario.email()) != null)
throw new ClienteYaRegistrado();
......
......@@ -80,8 +80,8 @@ public class ServicioReservas {
if (direccion.email().equals(email) && direccion.clave().equals(clave))
return Optional.of(direccion);
Usuario cliente = clientes.get(email);
return (cliente != null && cliente.clave().equals(clave)) ? Optional.of(cliente): Optional.empty();
// Usuario cliente = clientes.get(email);
return repositorioClientes.buscar(email).filter(cliente -> cliente.clave().equals(clave));
}
/**
......
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
......
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