Refactoring et Ajouts de nouveaux endpoints

This commit is contained in:
DahoudG
2024-09-16 19:40:48 +00:00
parent b1535d16cb
commit a5743d91af
23 changed files with 557 additions and 191 deletions

View File

@@ -1,9 +1,8 @@
package com.lions.dev.resource;
import com.lions.dev.dto.request.users.UserAuthenticateRequestDTO;
import com.lions.dev.dto.request.users.UserRequestDTO;
import com.lions.dev.dto.response.users.UserAuthenticateResponseDTO;
import com.lions.dev.dto.response.users.UserResponseDTO;
import com.lions.dev.dto.response.users.UserDeleteResponseDto;
import com.lions.dev.entity.users.Users;
import com.lions.dev.service.UserService;
import jakarta.inject.Inject;
@@ -34,7 +33,7 @@ public class UsersResource {
/**
* Endpoint pour créer un nouvel utilisateur.
*
* @param userRequestDTO Le DTO contenant les informations de l'utilisateur à créer.
* @param userCreateRequestDTO Le DTO contenant les informations de l'utilisateur à créer.
* @return Une réponse HTTP contenant l'utilisateur créé ou un message d'erreur.
*/
@POST
@@ -42,15 +41,17 @@ public class UsersResource {
@Operation(
summary = "Créer un nouvel utilisateur",
description = "Crée un nouvel utilisateur et retourne les détails")
public Response createUser(UserRequestDTO userRequestDTO) {
public Response createUser(
com.lions.dev.dto.request.users.UserCreateRequestDTO userCreateRequestDTO) {
LOG.info(
"Tentative de création d'un nouvel utilisateur avec l'email : "
+ userRequestDTO.getEmail());
+ userCreateRequestDTO.getEmail());
// Utilisation de UserService pour créer l'utilisateur
Users user = userService.createUser(userRequestDTO);
Users user = userService.createUser(userCreateRequestDTO);
UserResponseDTO responseDTO = new UserResponseDTO(user);
com.lions.dev.dto.response.users.UserCreateResponseDTO
responseDTO = new com.lions.dev.dto.response.users.UserCreateResponseDTO(user);
return Response.status(Response.Status.CREATED).entity(responseDTO).build();
}
@@ -104,7 +105,8 @@ public class UsersResource {
// Utilisation de UserService pour récupérer l'utilisateur
Users user = userService.getUserById(id);
UserResponseDTO responseDTO = new UserResponseDTO(user);
com.lions.dev.dto.response.users.UserCreateResponseDTO
responseDTO = new com.lions.dev.dto.response.users.UserCreateResponseDTO(user);
LOG.info("Utilisateur trouvé : " + user.getEmail());
return Response.ok(responseDTO).build();
}
@@ -113,7 +115,7 @@ public class UsersResource {
* Endpoint pour supprimer un utilisateur par ID.
*
* @param id L'ID de l'utilisateur à supprimer.
* @return Une réponse HTTP indiquant le succès ou l'échec de la suppression.
* @return Une réponse HTTP avec le statut de suppression.
*/
@DELETE
@Path("/{id}")
@@ -127,12 +129,20 @@ public class UsersResource {
// Utilisation de UserService pour supprimer l'utilisateur
boolean deleted = userService.deleteUser(id);
UserDeleteResponseDto responseDTO = new UserDeleteResponseDto();
if (deleted) {
LOG.info("Utilisateur supprimé avec succès.");
return Response.noContent().build();
responseDTO.setSuccess(true);
responseDTO.setMessage("Utilisateur supprimé avec succès.");
responseDTO.logResponseDetails();
return Response.ok(responseDTO).build();
} else {
LOG.warn("Échec de la suppression : utilisateur introuvable avec l'ID : " + id);
return Response.status(Response.Status.NOT_FOUND).entity("Utilisateur non trouvé.").build();
responseDTO.setSuccess(false);
responseDTO.setMessage("Utilisateur non trouvé.");
responseDTO.logResponseDetails();
return Response.status(Response.Status.NOT_FOUND).entity(responseDTO).build();
}
}
}