package fr.eni.enchere.controllers; import fr.eni.enchere.bo.UserProfil; import fr.eni.enchere.dal.UserRepository; import org.springframework.ui.Model; import fr.eni.enchere.bll.UserService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; @Controller() @RequestMapping("/profile") public class ProfileController { private final UserService userService; public ProfileController(UserService userService) { this.userService = userService; } @GetMapping public String viewProfile(Model model) { // Obtenez l'authentification actuelle Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); // Vérifiez si l'utilisateur est authentifié if (!authentication.getName().equals("anonymousUser")) { //Retirer le true pour le bon fonctionnement // Obtenez les détails de l'utilisateur authentifié String username = authentication.getName(); // Utilisez le service approprié pour récupérer les informations de l'utilisateur à partir du nom d'utilisateur UserProfil userProfile = userService.utilisateurByName(username); // Ajoutez les informations du profil à l'objet Model pour les afficher dans la page HTML // model.addAttribute("user", new UserProfil()); model.addAttribute("userProfile", userProfile); return "profile"; }else { return "accueil"; } } @PostMapping("/delete") public String setUser() { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); // Obtenez les détails de l'utilisateur authentifié String username = authentication.getName(); // Utilisez le service approprié pour récupérer les informations de l'utilisateur à partir du nom d'utilisateur UserProfil userProfile = userService.utilisateurByName(username); System.out.println(userProfile.getId()); //Supprimer le compte userService.deleteUtilisateur(userProfile.getId()); //ATTENTION AJOUTER LA DECONNEXION return "redirect:/accueil"; } }