diff --git a/src/main/java/fr/eni/demo/bll/ClientService.java b/src/main/java/fr/eni/demo/bll/ClientService.java index b5aed26..be254ae 100644 --- a/src/main/java/fr/eni/demo/bll/ClientService.java +++ b/src/main/java/fr/eni/demo/bll/ClientService.java @@ -11,4 +11,5 @@ public interface ClientService { List findByName(String name); void fullUpdate(Long id, Client client, Adresse adresseDetails); void updateLocation(Long idClient, Adresse adresseDetails); + void delete(Long idClient); } diff --git a/src/main/java/fr/eni/demo/bll/ClientServiceImpl.java b/src/main/java/fr/eni/demo/bll/ClientServiceImpl.java index 88d6300..560fc6c 100644 --- a/src/main/java/fr/eni/demo/bll/ClientServiceImpl.java +++ b/src/main/java/fr/eni/demo/bll/ClientServiceImpl.java @@ -49,6 +49,7 @@ public class ClientServiceImpl implements ClientService { return clients; } + @Override public void fullUpdate(Long id, Client clientDetails, Adresse adresseDetails) { Client client = clientRepository.findById(id) .orElseThrow(() -> new EntityNotFoundException("Client non trouvé avec l'id " + id)); @@ -62,6 +63,7 @@ public class ClientServiceImpl implements ClientService { clientRepository.save(client); } + @Override public void updateLocation(Long idClient, Adresse adresseDetails) { Client client = clientRepository.findById(idClient) .orElseThrow(() -> new EntityNotFoundException("Client non trouvé avec l'id " + idClient)); @@ -69,4 +71,12 @@ public class ClientServiceImpl implements ClientService { client.setAdresse(adresseDetails); clientRepository.save(client); } + + @Override + public void delete(Long idClient) { + Client client = clientRepository.findById(idClient) + .orElseThrow(() -> new EntityNotFoundException("Client non trouvé avec l'id " + idClient)); + + clientRepository.delete(client); + } } diff --git a/src/main/java/fr/eni/demo/controller/ClientController.java b/src/main/java/fr/eni/demo/controller/ClientController.java index edb2e80..a114a5a 100644 --- a/src/main/java/fr/eni/demo/controller/ClientController.java +++ b/src/main/java/fr/eni/demo/controller/ClientController.java @@ -78,4 +78,14 @@ public class ClientController { return ResponseEntity.ok(response); } + @DeleteMapping("/{id]") + public ResponseEntity> delete(@PathVariable Long id) { + clientService.delete(id); + Map response = new HashMap<>(); + response.put("message", "Client deleted successfully"); + response.put("status", 200); + response.put("data", new HashMap<>()); + return ResponseEntity.ok(response); + } + }