58 lines
2.5 KiB
Java
58 lines
2.5 KiB
Java
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";
|
|
}
|
|
}
|