feat(DevWeb): Projet - Login page, Login Api

This commit is contained in:
Lucàs
2024-03-15 21:16:52 +01:00
parent a05ab6d2db
commit a9235dd3a9
18 changed files with 335 additions and 69 deletions
@@ -6,6 +6,10 @@
package uppa.project.dao;
import jakarta.persistence.TypedQuery;
import java.util.List;
import uppa.project.pojo.User;
/**
* DAO abstrait et générique pour tout type de données
*
@@ -52,4 +56,6 @@ public abstract class DAO<D> {
* @throws DAOException en cas de problème
*/
public abstract void delete(D data) throws DAOException;
public abstract D[] findByField(String field, String value) throws DAOException;
}
@@ -8,6 +8,7 @@ import uppa.project.EntityManagerProvider;
import uppa.project.dao.DAO;
import uppa.project.dao.DAOException;
import uppa.project.pojo.Game;
import uppa.project.pojo.User;
public class DAO_JPA_Game extends DAO<Game> {
@@ -24,6 +25,14 @@ public class DAO_JPA_Game extends DAO<Game> {
return result;
}
public Game[] findByField(String field, String value) throws DAOException {
TypedQuery<Game> query = entityManager.createQuery("SELECT u FROM Game u WHERE ?1=?2", Game.class);
query.setParameter(1, field);
query.setParameter(2, value);
List<Game> results = query.getResultList();
return results.toArray(new Game[0]);
}
@Override
public Game[] findAll() throws DAOException {
TypedQuery<Game> query = entityManager.createQuery("SELECT g FROM Game g", Game.class);
@@ -8,6 +8,7 @@ import uppa.project.EntityManagerProvider;
import uppa.project.dao.DAO;
import uppa.project.dao.DAOException;
import uppa.project.pojo.Player;
import uppa.project.pojo.User;
public class DAO_JPA_Player extends DAO<Player> {
@@ -24,6 +25,14 @@ public class DAO_JPA_Player extends DAO<Player> {
return result;
}
public Player[] findByField(String field, String value) throws DAOException {
TypedQuery<Player> query = entityManager.createQuery("SELECT p FROM Player p WHERE ?1=?2", Player.class);
query.setParameter(1, field);
query.setParameter(2, value);
List<Player> results = query.getResultList();
return results.toArray(new Player[0]);
}
@Override
public Player[] findAll() throws DAOException {
TypedQuery<Player> query = entityManager.createQuery("SELECT p FROM Player p", Player.class);
@@ -24,6 +24,15 @@ public class DAO_JPA_User extends DAO<User> {
return result;
}
public User[] findByField(String field, String value) throws DAOException {
String sqlQuery = String.format("SELECT u FROM User u WHERE u.%s = (:val)", field);
TypedQuery<User> query = entityManager.createQuery(sqlQuery, User.class);
query.setParameter("val", value);
List<User> results = query.getResultList();
return results.toArray(new User[0]);
}
@Override
public User[] findAll() throws DAOException {
TypedQuery<User> query = entityManager.createQuery("SELECT u FROM User u", User.class);