diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/AdminController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/AdminController.java deleted file mode 100644 index ac174f0..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/AdminController.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Admin; -import com.example.wfwebapi.repository.AdminRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/admin") -public class AdminController { - - @Autowired - private AdminRepository adminRepository; - - @GetMapping("/{userId}") - public Admin getAdmin(@PathVariable Long userId) { - return adminRepository.findById(userId) - .orElseThrow(() -> new ResourceNotFoundException("Admin non trouvé pour l'utilisateur : " + userId)); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/AuthController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/AuthController.java deleted file mode 100644 index 3b04e4f..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/AuthController.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.model.User; -import com.example.wfwebapi.repository.UserRepository; -import com.example.wfwebapi.security.JwtTokenProvider; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/auth") -public class AuthController { - - @Autowired - private UserRepository userRepository; - - @Autowired - private JwtTokenProvider tokenProvider; - - @PostMapping("/login") - public ResponseEntity login(@RequestBody AuthRequest authRequest) { - User user = userRepository.findByUsername(authRequest.getUsername()) - .orElseThrow(() -> new RuntimeException("Utilisateur non trouvé")); - - if (!user.getPassword().equals(authRequest.getPassword())) { - return ResponseEntity.status(401).body("Mot de passe invalide"); - } - - String token = tokenProvider.createToken(user.getUsername()); - return ResponseEntity.ok(new AuthResponse(token)); - } - - public static class AuthRequest { - private String username; - private String password; - public String getUsername() { return username; } - public void setUsername(String username) { this.username = username; } - public String getPassword() { return password; } - public void setPassword(String password) { this.password = password; } - } - - public static class AuthResponse { - private String token; - public AuthResponse(String token) { this.token = token; } - public String getToken() { return token; } - public void setToken(String token) { this.token = token; } - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/CaracterController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/CaracterController.java deleted file mode 100644 index d99f559..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/CaracterController.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Caracter; -import com.example.wfwebapi.repository.CaracterRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/caracter") -public class CaracterController { - - @Autowired - private CaracterRepository caracterRepository; - - @GetMapping("/{id}") - public Caracter getCaracterById(@PathVariable Long id) { - return caracterRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Caracter non trouvé : " + id)); - } - - @PostMapping - public Caracter createCaracter(@RequestBody Caracter caracter) { - return caracterRepository.save(caracter); - } - - @PutMapping - public Caracter updateCaracter(@RequestBody Caracter updatedCaracter) { - return caracterRepository.findById(updatedCaracter.getId()) - .map(c -> { - c.setCaracter(updatedCaracter.getCaracter()); - c.setImage(updatedCaracter.getImage()); - return caracterRepository.save(c); - }).orElseThrow(() -> new ResourceNotFoundException("Caracter non trouvé : " + updatedCaracter.getId())); - } - - @DeleteMapping - public void deleteCaracter(@RequestParam Long id) { - if (!caracterRepository.existsById(id)) - throw new ResourceNotFoundException("Caracter non trouvé : " + id); - caracterRepository.deleteById(id); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/CommentaryController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/CommentaryController.java deleted file mode 100644 index 9c73f7f..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/CommentaryController.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.example.wfwebapi.controller; - -import java.util.List; -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Commentary; -import com.example.wfwebapi.repository.CommentaryRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/commentary") -public class CommentaryController { - - @Autowired - private CommentaryRepository commentaryRepository; - - @GetMapping("/{quoteId}") - public List getCommentariesByQuote(@PathVariable Long quoteId) { - return commentaryRepository.findByQuote_Id(quoteId); - } - - @PostMapping - public Commentary addCommentary(@RequestParam Long quote, @RequestBody Commentary commentary) { - commentary.setQuote(new com.example.wfwebapi.model.Quote() {{ setId(quote); }}); - return commentaryRepository.save(commentary); - } - - @DeleteMapping - public void deleteCommentariesByQuote(@RequestParam Long id) { - List comments = commentaryRepository.findByQuote_Id(id); - if(comments.isEmpty()) - throw new ResourceNotFoundException("Aucun commentaire trouvé pour la citation " + id); - commentaryRepository.deleteAll(comments); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/DailyQuoteController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/DailyQuoteController.java deleted file mode 100644 index fb8200c..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/DailyQuoteController.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.DailyQuote; -import com.example.wfwebapi.repository.DailyQuoteRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/dailyquote") -public class DailyQuoteController { - - @Autowired - private DailyQuoteRepository dailyQuoteRepository; - - @GetMapping - public DailyQuote getDailyQuote() { - return dailyQuoteRepository.findAll().stream().findFirst() - .orElseThrow(() -> new ResourceNotFoundException("Aucune DailyQuote définie")); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/FavoriteController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/FavoriteController.java deleted file mode 100644 index 3c938d8..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/FavoriteController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.example.wfwebapi.controller; - -import java.util.List; -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Favorite; -import com.example.wfwebapi.model.FavoriteId; -import com.example.wfwebapi.repository.FavoriteRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/favorite") -public class FavoriteController { - - @Autowired - private FavoriteRepository favoriteRepository; - - @GetMapping("/{userId}") - public List getFavoritesByUser(@PathVariable Long userId) { - return favoriteRepository.findByUser_Id(userId); - } - - @PostMapping - public Favorite addFavorite(@RequestParam Long user, @RequestParam Long quote) { - Favorite favorite = new Favorite(); - favorite.setId(new FavoriteId(user, quote)); - return favoriteRepository.save(favorite); - } - - @DeleteMapping - public void deleteFavorite(@RequestParam Long user, @RequestParam Long quote) { - FavoriteId id = new FavoriteId(user, quote); - if (!favoriteRepository.existsById(id)) - throw new ResourceNotFoundException("Favorite non trouvée"); - favoriteRepository.deleteById(id); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/ImageController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/ImageController.java deleted file mode 100644 index 3a83838..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/ImageController.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Image; -import com.example.wfwebapi.repository.ImageRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/image") -public class ImageController { - - @Autowired - private ImageRepository imageRepository; - - @GetMapping("/{id}") - public Image getImageById(@PathVariable Long id) { - return imageRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Image non trouvée : " + id)); - } - - @PostMapping - public Image createImage(@RequestBody Image image) { - return imageRepository.save(image); - } - - @PutMapping - public Image updateImage(@RequestBody Image updatedImage) { - return imageRepository.findById(updatedImage.getId()) - .map(img -> { - img.setImgPath(updatedImage.getImgPath()); - return imageRepository.save(img); - }).orElseThrow(() -> new ResourceNotFoundException("Image non trouvée : " + updatedImage.getId())); - } - - @DeleteMapping - public void deleteImage(@RequestParam Long id) { - if (!imageRepository.existsById(id)) - throw new ResourceNotFoundException("Image non trouvée : " + id); - imageRepository.deleteById(id); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuestionController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuestionController.java deleted file mode 100644 index 16cc668..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuestionController.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Question; -import com.example.wfwebapi.repository.QuestionRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/question") -public class QuestionController { - - @Autowired - private QuestionRepository questionRepository; - - @GetMapping("/{id}") - public Question getQuestionById(@PathVariable Long id) { - return questionRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Question non trouvée : " + id)); - } - - @PostMapping - public Question createQuestion(@RequestBody Question question) { - return questionRepository.save(question); - } - - @PutMapping - public Question updateQuestion(@RequestBody Question updatedQuestion) { - return questionRepository.findById(updatedQuestion.getId()) - .map(q -> { - q.setTexte(updatedQuestion.getTexte()); - q.setAnswerA(updatedQuestion.getAnswerA()); - q.setAnswerB(updatedQuestion.getAnswerB()); - q.setAnswerC(updatedQuestion.getAnswerC()); - q.setAnswerD(updatedQuestion.getAnswerD()); - q.setCAnswer(updatedQuestion.getCAnswer()); - return questionRepository.save(q); - }).orElseThrow(() -> new ResourceNotFoundException("Question non trouvée : " + updatedQuestion.getId())); - } - - @DeleteMapping - public void deleteQuestion(@RequestParam Long id) { - if (!questionRepository.existsById(id)) - throw new ResourceNotFoundException("Question non trouvée : " + id); - questionRepository.deleteById(id); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuizController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuizController.java deleted file mode 100644 index 504c6af..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuizController.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Quiz; -import com.example.wfwebapi.repository.QuizRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@RequestMapping("/api/v1/quiz") -public class QuizController { - - @Autowired - private QuizRepository quizRepository; - - @GetMapping - public List getAllQuiz() { - return quizRepository.findAll(); - } - - @GetMapping("/{id}") - public Quiz getQuizById(@PathVariable Long id) { - return quizRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Quiz non trouvé : " + id)); - } - - @PostMapping - public Quiz createQuiz(@RequestBody Quiz quiz) { - return quizRepository.save(quiz); - } - - @PutMapping - public Quiz updateQuiz(@RequestBody Quiz updatedQuiz) { - return quizRepository.findById(updatedQuiz.getId()) - .map(q -> { - q.setTitle(updatedQuiz.getTitle()); - q.setImage(updatedQuiz.getImage()); - return quizRepository.save(q); - }).orElseThrow(() -> new ResourceNotFoundException("Quiz non trouvé : " + updatedQuiz.getId())); - } - - @DeleteMapping - public void deleteQuiz(@RequestParam Long id) { - if (!quizRepository.existsById(id)) - throw new ResourceNotFoundException("Quiz non trouvé : " + id); - quizRepository.deleteById(id); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuoteController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuoteController.java deleted file mode 100644 index c287f57..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/QuoteController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.example.wfwebapi.controller; - -import java.util.List; -import java.util.stream.Collectors; -import com.example.wfwebapi.assembler.QuoteModelAssembler; -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Quote; -import com.example.wfwebapi.repository.QuoteRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.PageRequest; -import org.springframework.hateoas.CollectionModel; -import org.springframework.hateoas.EntityModel; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/quote") -public class QuoteController { - - @Autowired - private QuoteRepository quoteRepository; - - @Autowired - private QuoteModelAssembler assembler; - - @GetMapping("/{id}") - public EntityModel getQuoteById(@PathVariable Long id) { - Quote quote = quoteRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Citation non trouvée : " + id)); - return assembler.toModel(quote); - } - - @GetMapping("/all") - public CollectionModel> getAllQuotes(@RequestParam int index, @RequestParam int count) { - List> quotes = quoteRepository.findAll(PageRequest.of(index, count)) - .stream().map(assembler::toModel) - .collect(Collectors.toList()); - return CollectionModel.of(quotes); - } - - @GetMapping("/dailyquote") - public EntityModel getDailyQuote(@RequestParam int year, @RequestParam int month, - @RequestParam int day, @RequestParam String lang) { - // Exemple : renvoi la première citation correspondant à la langue - Quote quote = quoteRepository.findAll().stream() - .filter(q -> q.getLangue().equalsIgnoreCase(lang)) - .findFirst() - .orElseThrow(() -> new ResourceNotFoundException("Aucune citation trouvée pour la langue " + lang)); - return assembler.toModel(quote); - } - - @PostMapping - public EntityModel createQuote(@RequestBody Quote newQuote) { - Quote quote = quoteRepository.save(newQuote); - return assembler.toModel(quote); - } - - @PutMapping - public EntityModel updateQuote(@RequestBody Quote updatedQuote) { - Quote quote = quoteRepository.findById(updatedQuote.getId()) - .map(q -> { - q.setContent(updatedQuote.getContent()); - q.setLangue(updatedQuote.getLangue()); - q.setLikes(updatedQuote.getLikes()); - q.setIsValide(updatedQuote.getIsValide()); - q.setReason(updatedQuote.getReason()); - q.setCaracter(updatedQuote.getCaracter()); - q.setSource(updatedQuote.getSource()); - q.setUserVerif(updatedQuote.getUserVerif()); - return quoteRepository.save(q); - }).orElseThrow(() -> new ResourceNotFoundException("Citation non trouvée : " + updatedQuote.getId())); - return assembler.toModel(quote); - } - - @DeleteMapping("/delete") - public void deleteQuote(@RequestParam Long idQuote) { - if (!quoteRepository.existsById(idQuote)) - throw new ResourceNotFoundException("Citation non trouvée : " + idQuote); - quoteRepository.deleteById(idQuote); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/RecordQuizController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/RecordQuizController.java deleted file mode 100644 index 062647f..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/RecordQuizController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.RecordQuiz; -import com.example.wfwebapi.model.RecordQuizId; -import com.example.wfwebapi.repository.RecordQuizRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/recordquiz") -public class RecordQuizController { - - @Autowired - private RecordQuizRepository recordQuizRepository; - - @GetMapping - public RecordQuiz getRecord(@RequestParam Long user, @RequestParam Long quiz) { - RecordQuizId id = new RecordQuizId(user, quiz); - return recordQuizRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("RecordQuiz non trouvé")); - } - - @PostMapping - public RecordQuiz createRecord(@RequestBody RecordQuiz recordQuiz) { - return recordQuizRepository.save(recordQuiz); - } - - @PutMapping - public RecordQuiz updateRecord(@RequestBody RecordQuiz recordQuiz) { - RecordQuizId id = recordQuiz.getId(); - if (!recordQuizRepository.existsById(id)) - throw new ResourceNotFoundException("RecordQuiz non trouvé"); - return recordQuizRepository.save(recordQuiz); - } - - @DeleteMapping - public void deleteRecord(@RequestParam Long user, @RequestParam Long quiz) { - RecordQuizId id = new RecordQuizId(user, quiz); - if (!recordQuizRepository.existsById(id)) - throw new ResourceNotFoundException("RecordQuiz non trouvé"); - recordQuizRepository.deleteById(id); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/SourceController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/SourceController.java deleted file mode 100644 index eba6ee5..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/SourceController.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.example.wfwebapi.controller; - -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.Source; -import com.example.wfwebapi.repository.SourceRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/source") -public class SourceController { - - @Autowired - private SourceRepository sourceRepository; - - @GetMapping("/{id}") - public Source getSourceById(@PathVariable Long id) { - return sourceRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Source non trouvée : " + id)); - } - - @PostMapping - public Source createSource(@RequestBody Source source) { - return sourceRepository.save(source); - } - - @PutMapping - public Source updateSource(@RequestBody Source updatedSource) { - return sourceRepository.findById(updatedSource.getId()) - .map(s -> { - s.setTitle(updatedSource.getTitle()); - s.setDateS(updatedSource.getDateS()); - return sourceRepository.save(s); - }).orElseThrow(() -> new ResourceNotFoundException("Source non trouvée : " + updatedSource.getId())); - } - - @DeleteMapping - public void deleteSource(@RequestParam Long id) { - if (!sourceRepository.existsById(id)) - throw new ResourceNotFoundException("Source non trouvée : " + id); - sourceRepository.deleteById(id); - } -} diff --git a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/UserController.java b/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/UserController.java deleted file mode 100644 index ec1089a..0000000 --- a/WF-WEBAPI/src/main/java/com/example/wfwebapi/controller/UserController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.example.wfwebapi.controller; - -import java.util.List; -import java.util.stream.Collectors; -import com.example.wfwebapi.assembler.UserModelAssembler; -import com.example.wfwebapi.exception.ResourceNotFoundException; -import com.example.wfwebapi.model.User; -import com.example.wfwebapi.repository.UserRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.PageRequest; -import org.springframework.hateoas.CollectionModel; -import org.springframework.hateoas.EntityModel; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/api/v1/users") -public class UserController { - - @Autowired - private UserRepository userRepository; - - @Autowired - private UserModelAssembler assembler; - - // GET /api/v1/users/{id} - @GetMapping("/{id}") - public EntityModel getUserById(@PathVariable Long id) { - User user = userRepository.findById(id) - .orElseThrow(() -> new ResourceNotFoundException("Utilisateur non trouvé : " + id)); - return assembler.toModel(user); - } - - // GET /api/v1/users/all?index=0&count=5 - @GetMapping("/all") - public CollectionModel> getAllUsers(@RequestParam int index, @RequestParam int count) { - List> users = userRepository.findAll(PageRequest.of(index, count)) - .stream().map(assembler::toModel) - .collect(Collectors.toList()); - return CollectionModel.of(users); - } - - // POST /api/v1/users - @PostMapping - public EntityModel createUser(@RequestBody User newUser) { - User user = userRepository.save(newUser); - return assembler.toModel(user); - } - - // PUT /api/v1/users?id=1 - @PutMapping - public EntityModel updateUser(@RequestParam Long id, @RequestBody User updatedUser) { - User user = userRepository.findById(id) - .map(u -> { - u.setUsername(updatedUser.getUsername()); - u.setEmail(updatedUser.getEmail()); - u.setPassword(updatedUser.getPassword()); - u.setImage(updatedUser.getImage()); - u.setCreation(updatedUser.getCreation()); - return userRepository.save(u); - }).orElseThrow(() -> new ResourceNotFoundException("Utilisateur non trouvé : " + id)); - return assembler.toModel(user); - } - - // DELETE /api/v1/users?id=1 - @DeleteMapping - public void deleteUser(@RequestParam Long id) { - if (!userRepository.existsById(id)) - throw new ResourceNotFoundException("Utilisateur non trouvé : " + id); - userRepository.deleteById(id); - } -}