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
|
## TP1 - TP2
|
||||||
|
|
||||||
### Compte rendu
|
### 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
|
## Auteurs
|
||||||
|
|
||||||
- Tuan Minh VU
|
- Tuan Minh VU
|
||||||
|
|||||||
@@ -5,18 +5,24 @@ import jakarta.persistence.Query;
|
|||||||
import fr.istic.taa.jaxrs.metier.Session;
|
import fr.istic.taa.jaxrs.metier.Session;
|
||||||
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class UtilisateurDAO extends AbstractJpaDao<Integer, Utilisateur> {
|
public class UtilisateurDAO extends AbstractJpaDao<Integer, Utilisateur> {
|
||||||
public UtilisateurDAO() {
|
public UtilisateurDAO() {
|
||||||
super();
|
super();
|
||||||
this.setClass(Utilisateur.class);
|
this.setClass(Utilisateur.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Utilisateur findByEmail(String email){
|
public Utilisateur findByEmail(String email) {
|
||||||
EntityTransaction t=em.getTransaction();
|
List<Utilisateur> results =
|
||||||
Query query=em.createQuery("select u from Utilisateur u where u.email=:email");
|
em.createQuery("SELECT u FROM Utilisateur u WHERE u.email = :email", Utilisateur.class)
|
||||||
query.setParameter("email",email);
|
.setParameter("email", email).getResultList();
|
||||||
Utilisateur u=(Utilisateur)query.getSingleResult();
|
|
||||||
return u;
|
if (results.isEmpty()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
return results.get(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addToSession(int sessionId, int userId) {
|
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.DTO.SessionDTO;
|
||||||
import fr.istic.taa.jaxrs.metier.Session;
|
import fr.istic.taa.jaxrs.metier.Session;
|
||||||
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
public interface SessionMapper {
|
public interface SessionMapper {
|
||||||
SessionMapper INSTANCE = Mappers.getMapper( SessionMapper.class );
|
SessionMapper INSTANCE = Mappers.getMapper( SessionMapper.class );
|
||||||
|
|
||||||
SessionDTO toDTO(Utilisateur utilisateur);
|
SessionDTO toDTO(Session utilisateur);
|
||||||
Session toEntity(SessionDTO sessionDTO);
|
Session toEntity(SessionDTO sessionDTO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,41 @@
|
|||||||
package fr.istic.taa.jaxrs.rest;
|
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 {
|
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.SessionDAO;
|
||||||
import fr.istic.taa.jaxrs.DAO.UtilisateurDAO;
|
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.DTO.UtilisateurDTO;
|
||||||
import fr.istic.taa.jaxrs.Mapper.UtilisateurMapper;
|
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.Session;
|
||||||
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
import fr.istic.taa.jaxrs.metier.Utilisateur;
|
||||||
import jakarta.ws.rs.*;
|
import jakarta.ws.rs.*;
|
||||||
@@ -24,6 +21,13 @@ public class UtilisateurResource {
|
|||||||
private final UtilisateurDAO utilisateurDAO = new UtilisateurDAO();
|
private final UtilisateurDAO utilisateurDAO = new UtilisateurDAO();
|
||||||
private final UtilisateurMapper mapper = Mappers.getMapper(UtilisateurMapper.class);
|
private final UtilisateurMapper mapper = Mappers.getMapper(UtilisateurMapper.class);
|
||||||
|
|
||||||
|
@GET
|
||||||
|
public List<Utilisateur> listUtilisateur() {
|
||||||
|
List<Utilisateur> utilisateurs = utilisateurDAO.findAll();
|
||||||
|
return utilisateurs;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
@POST
|
@POST
|
||||||
public Response createUtilisateur(UtilisateurDTO dto) {
|
public Response createUtilisateur(UtilisateurDTO dto) {
|
||||||
Utilisateur utilisateur = mapper.toEntity(dto);
|
Utilisateur utilisateur = mapper.toEntity(dto);
|
||||||
@@ -33,6 +37,7 @@ public class UtilisateurResource {
|
|||||||
return Response.status(Response.Status.CREATED).entity(result).build();
|
return Response.status(Response.Status.CREATED).entity(result).build();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/register")
|
@Path("/register")
|
||||||
@@ -77,12 +82,6 @@ public class UtilisateurResource {
|
|||||||
return Response.ok(result).build();
|
return Response.ok(result).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
|
||||||
public List<Utilisateur> listUtilisateur() {
|
|
||||||
List<Utilisateur> utilisateurs = utilisateurDAO.findAll();
|
|
||||||
return utilisateurs;
|
|
||||||
}
|
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Path("/{user_id}/session/{session_id}")
|
@Path("/{user_id}/session/{session_id}")
|
||||||
public Response addSession(@PathParam("user_id") Integer user_id, @PathParam("session_id") Integer 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);
|
utilisateurDAO.update(utilisateur);
|
||||||
|
|
||||||
// We update it so have to return new DTO
|
// We update it so have to return new DTO
|
||||||
UtilisateurMapper mapper = Mappers.getMapper(UtilisateurMapper.class);
|
|
||||||
UtilisateurDTO dto = mapper.toDTO(utilisateur);
|
UtilisateurDTO dto = mapper.toDTO(utilisateur);
|
||||||
|
|
||||||
return Response.status(Response.Status.OK).entity(dto).build();
|
return Response.status(Response.Status.OK).entity(dto).build();
|
||||||
@@ -117,5 +115,4 @@ public class UtilisateurResource {
|
|||||||
}
|
}
|
||||||
return utilisateur.getSession();
|
return utilisateur.getSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user