Refactoring

This commit is contained in:
DahoudG
2024-09-18 10:33:56 +00:00
parent a5743d91af
commit d848f4596c
10 changed files with 460 additions and 200 deletions

View File

@@ -1,5 +1,8 @@
package com.lions.dev.resource;
import java.io.File;
import jakarta.ws.rs.Path;
import com.lions.dev.dto.request.users.UserAuthenticateRequestDTO;
import com.lions.dev.dto.response.users.UserAuthenticateResponseDTO;
import com.lions.dev.dto.response.users.UserDeleteResponseDto;
@@ -14,6 +17,7 @@ import org.eclipse.microprofile.openapi.annotations.Operation;
import org.eclipse.microprofile.openapi.annotations.tags.Tag;
import org.jboss.logging.Logger;
/**
* Ressource REST pour la gestion des utilisateurs dans le système AfterWork. Cette classe expose
* des endpoints pour créer, authentifier, récupérer et supprimer des utilisateurs.
@@ -26,7 +30,8 @@ import org.jboss.logging.Logger;
@Tag(name = "Users", description = "Opérations liées à la gestion des utilisateurs")
public class UsersResource {
@Inject UserService userService;
@Inject
UserService userService;
private static final Logger LOG = Logger.getLogger(UsersResource.class);
@@ -145,4 +150,45 @@ public class UsersResource {
}
}
/**
* Endpoint pour mettre à jour l'image de profil de l'utilisateur.
*
* @param id L'identifiant de l'utilisateur.
* @param imageFilePath Le chemin vers l'image de profil.
* @return Un message indiquant si la mise à jour a réussi.
*/
@PUT
@jakarta.ws.rs.Path("/{id}/profile-image") // Annotation REST avec jakarta.ws.rs.Path
public String updateUserProfileImage(@PathParam("id") UUID id, String imageFilePath) {
try {
// Utiliser File au lieu de Path pour vérifier si le fichier existe
File file = new File(imageFilePath);
if (!file.exists()) {
System.out.println("[ERROR] Le fichier spécifié n'existe pas : " + imageFilePath);
return "Le fichier spécifié n'existe pas.";
}
// Récupérer l'utilisateur par son ID
Users user = userService.getUserById(id);
if (user == null) {
System.out.println("[ERROR] Utilisateur non trouvé avec l'ID : " + id);
return "Utilisateur non trouvé.";
}
// Mettre à jour l'URL de l'image de profil
String profileImageUrl = file.getAbsolutePath(); // Obtenir le chemin complet du fichier
user.setProfileImageUrl(profileImageUrl);
// Mise à jour de l'utilisateur
userService.updateUser(user);
System.out.println("[LOG] Image de profil mise à jour pour l'utilisateur : " + user.getEmail());
return "Image de profil mise à jour avec succès.";
} catch (Exception e) {
System.out.println("[ERROR] Erreur lors de la mise à jour de l'image de profil : " + e.getMessage());
return "Erreur lors de la mise à jour de l'image de profil.";
}
}
}