Tested methods Utilisateur
/register
/login
/
/{id}
/register
add Session
This commit is contained in:
17
README.md
17
README.md
@@ -4,11 +4,24 @@
|
||||
## TP1 - TP2
|
||||
|
||||
### Compte rendu
|
||||
Le compte rendu pour TP1 et TP2 la partie servlet sont dans la branche tp_servlet
|
||||
|
||||
Le compte rendu pour TP2 la partie API Rest est dans la branche tp_rest
|
||||
#### Utilisateur Resource
|
||||
| Methode | URL | Description |
|
||||
|---------|----------------------------------------------|--------------------------------------------------------|
|
||||
| GET | `/utilisateur` | Retourne toute la liste de l'utilisateur |
|
||||
| POST | `/utilisateur/register` | S'incrire nouveaux utilisateur |
|
||||
| POST | `/utilisateur/login` | Se connecter |
|
||||
| GET | `/utilisateur/{id}` | Retourne l'utilisateur par id |
|
||||
| GET | `/utilisateur/{user_id}/session` | Retoune la liste de session que l'utilisateur attends |
|
||||
| PUT | `/utilisateur/{user_id}/session/{session_id}`| Ajoute un nouveau session à la liste de l'utilisateur |
|
||||
|
||||
|
||||
#### Session Resource
|
||||
| Methode | URL | Description |
|
||||
|---------|-----------------|------------------------------------|
|
||||
| GET | `/session` | Retourne toute la liste du session |
|
||||
| GET | `/session/{id}` | Retourne la session par id |
|
||||
|
||||
## Auteurs
|
||||
|
||||
- Tuan Minh VU
|
||||
|
||||
@@ -5,6 +5,8 @@ import jakarta.persistence.Query;
|
||||
import fr.istic.taa.jaxrs.metier.Session;
|
||||
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class UtilisateurDAO extends AbstractJpaDao<Integer, Utilisateur> {
|
||||
public UtilisateurDAO() {
|
||||
super();
|
||||
@@ -12,11 +14,15 @@ public class UtilisateurDAO extends AbstractJpaDao<Integer, Utilisateur> {
|
||||
}
|
||||
|
||||
public Utilisateur findByEmail(String email) {
|
||||
EntityTransaction t=em.getTransaction();
|
||||
Query query=em.createQuery("select u from Utilisateur u where u.email=:email");
|
||||
query.setParameter("email",email);
|
||||
Utilisateur u=(Utilisateur)query.getSingleResult();
|
||||
return u;
|
||||
List<Utilisateur> results =
|
||||
em.createQuery("SELECT u FROM Utilisateur u WHERE u.email = :email", Utilisateur.class)
|
||||
.setParameter("email", email).getResultList();
|
||||
|
||||
if (results.isEmpty()) {
|
||||
return null;
|
||||
} else {
|
||||
return results.get(0);
|
||||
}
|
||||
}
|
||||
|
||||
public void addToSession(int sessionId, int userId) {
|
||||
|
||||
@@ -2,12 +2,12 @@ package fr.istic.taa.jaxrs.Mapper;
|
||||
|
||||
import fr.istic.taa.jaxrs.DTO.SessionDTO;
|
||||
import fr.istic.taa.jaxrs.metier.Session;
|
||||
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
||||
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
public interface SessionMapper {
|
||||
SessionMapper INSTANCE = Mappers.getMapper( SessionMapper.class );
|
||||
|
||||
SessionDTO toDTO(Utilisateur utilisateur);
|
||||
SessionDTO toDTO(Session utilisateur);
|
||||
Session toEntity(SessionDTO sessionDTO);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,41 @@
|
||||
package fr.istic.taa.jaxrs.rest;
|
||||
|
||||
|
||||
import fr.istic.taa.jaxrs.DAO.SessionDAO;
|
||||
import fr.istic.taa.jaxrs.DTO.SessionDTO;
|
||||
import fr.istic.taa.jaxrs.Mapper.SessionMapper;
|
||||
import fr.istic.taa.jaxrs.metier.Session;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import jakarta.ws.rs.core.UriInfo;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Path("session")
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public class SessionResource {
|
||||
private final SessionDAO sessionDAO = new SessionDAO();
|
||||
private final SessionMapper mapper = Mappers.getMapper(SessionMapper.class);
|
||||
|
||||
@GET
|
||||
public List<Session> listSession() {
|
||||
List<Session> sessions = sessionDAO.findAll();
|
||||
return sessions;
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("/{id}")
|
||||
public Response getSession(@PathParam("id") Integer id) {
|
||||
Session session = sessionDAO.findById(id);
|
||||
if (session == null) {
|
||||
return Response.status(Response.Status.NOT_FOUND).build();
|
||||
}
|
||||
SessionDTO result = mapper.toDTO(session);
|
||||
return Response.status(Response.Status.OK).build();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,11 +2,8 @@ package fr.istic.taa.jaxrs.rest;
|
||||
|
||||
import fr.istic.taa.jaxrs.DAO.SessionDAO;
|
||||
import fr.istic.taa.jaxrs.DAO.UtilisateurDAO;
|
||||
import fr.istic.taa.jaxrs.DTO.SessionDTO;
|
||||
import fr.istic.taa.jaxrs.DTO.UtilisateurDTO;
|
||||
import fr.istic.taa.jaxrs.Mapper.UtilisateurMapper;
|
||||
import fr.istic.taa.jaxrs.metier.Quizz;
|
||||
import fr.istic.taa.jaxrs.metier.Reponse;
|
||||
import fr.istic.taa.jaxrs.metier.Session;
|
||||
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
||||
import jakarta.ws.rs.*;
|
||||
@@ -24,6 +21,13 @@ public class UtilisateurResource {
|
||||
private final UtilisateurDAO utilisateurDAO = new UtilisateurDAO();
|
||||
private final UtilisateurMapper mapper = Mappers.getMapper(UtilisateurMapper.class);
|
||||
|
||||
@GET
|
||||
public List<Utilisateur> listUtilisateur() {
|
||||
List<Utilisateur> utilisateurs = utilisateurDAO.findAll();
|
||||
return utilisateurs;
|
||||
}
|
||||
|
||||
/*
|
||||
@POST
|
||||
public Response createUtilisateur(UtilisateurDTO dto) {
|
||||
Utilisateur utilisateur = mapper.toEntity(dto);
|
||||
@@ -33,6 +37,7 @@ public class UtilisateurResource {
|
||||
return Response.status(Response.Status.CREATED).entity(result).build();
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
@POST
|
||||
@Path("/register")
|
||||
@@ -77,12 +82,6 @@ public class UtilisateurResource {
|
||||
return Response.ok(result).build();
|
||||
}
|
||||
|
||||
@GET
|
||||
public List<Utilisateur> listUtilisateur() {
|
||||
List<Utilisateur> utilisateurs = utilisateurDAO.findAll();
|
||||
return utilisateurs;
|
||||
}
|
||||
|
||||
@PUT
|
||||
@Path("/{user_id}/session/{session_id}")
|
||||
public Response addSession(@PathParam("user_id") Integer user_id, @PathParam("session_id") Integer session_id) {
|
||||
@@ -102,7 +101,6 @@ public class UtilisateurResource {
|
||||
utilisateurDAO.update(utilisateur);
|
||||
|
||||
// We update it so have to return new DTO
|
||||
UtilisateurMapper mapper = Mappers.getMapper(UtilisateurMapper.class);
|
||||
UtilisateurDTO dto = mapper.toDTO(utilisateur);
|
||||
|
||||
return Response.status(Response.Status.OK).entity(dto).build();
|
||||
@@ -117,5 +115,4 @@ public class UtilisateurResource {
|
||||
}
|
||||
return utilisateur.getSession();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user