From b330211f712acc484313b047e397f575e937e73c Mon Sep 17 00:00:00 2001 From: jleroy2023 Date: Wed, 16 Jul 2025 09:48:03 +0200 Subject: [PATCH 1/3] Client controller --- .../eni/demo/controller/ClientController.java | 81 +++++++++++++++++++ .../fr/eni/demo/dal/ClientRepository.java | 1 + 2 files changed, 82 insertions(+) create mode 100644 src/main/java/fr/eni/demo/controller/ClientController.java diff --git a/src/main/java/fr/eni/demo/controller/ClientController.java b/src/main/java/fr/eni/demo/controller/ClientController.java new file mode 100644 index 0000000..ca44ef2 --- /dev/null +++ b/src/main/java/fr/eni/demo/controller/ClientController.java @@ -0,0 +1,81 @@ +package fr.eni.demo.controller; + +import fr.eni.demo.bll.ClientService; +import fr.eni.demo.bo.Adresse; +import fr.eni.demo.bo.Client; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/api/clients") +@RequiredArgsConstructor +public class ClientController { + + private final ClientService clientService; + + // Ajouter un client + @PostMapping + public ResponseEntity> create(@RequestBody Client client) { + clientService.add(client); + Map response = new HashMap<>(); + response.put("message", "Client created successfully"); + response.put("status", true); + response.put("data", new HashMap<>()); + + return ResponseEntity.ok(response); + } + + // Chercher des clients par nom + @GetMapping("/name/{name}") + public ResponseEntity> findByEmail(@PathVariable String name) { + List result = clientService.findByName(name); + Map response = new HashMap<>(); + response.put("message", "List of Clients found"); + response.put("status", true); + response.put("data", result); + + return ResponseEntity.ok(response); + } + + // Chercher des clients par nom + @GetMapping("/{id}") + public ResponseEntity> findByEmail(@PathVariable Long id) { + Client result = clientService.findById(id); + Map response = new HashMap<>(); + response.put("message", "Client found"); + response.put("status", true); + response.put("data", result); + + return ResponseEntity.ok(response); + } + + // Modifier un client + @PutMapping("/{id}") + public ResponseEntity> fullUpdate(@PathVariable Long id, @RequestBody Client client, @RequestBody Adresse adresse) { + clientService.fullUpdate(id, client, adresse); + Map response = new HashMap<>(); + response.put("message", "Client updated successfully"); + response.put("status", true); + response.put("data", new HashMap<>()); + + return ResponseEntity.ok(response); + } + + // Modifier l'address d'un client + @PutMapping("/{id}") + public ResponseEntity> updateAddress(@PathVariable Long id, @RequestBody Adresse adresse) { + clientService.updateLocation(id, adresse); + Map response = new HashMap<>(); + response.put("message", "Client address updated successfully"); + response.put("status", true); + response.put("data", new HashMap<>()); + + return ResponseEntity.ok(response); + } + +} diff --git a/src/main/java/fr/eni/demo/dal/ClientRepository.java b/src/main/java/fr/eni/demo/dal/ClientRepository.java index dd641c1..5c796ba 100644 --- a/src/main/java/fr/eni/demo/dal/ClientRepository.java +++ b/src/main/java/fr/eni/demo/dal/ClientRepository.java @@ -5,6 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Optional; @Repository public interface ClientRepository extends JpaRepository { From 78d80880f1598a2f4b263643579ba29a2f40cead Mon Sep 17 00:00:00 2001 From: jleroy2023 Date: Wed, 16 Jul 2025 09:57:49 +0200 Subject: [PATCH 2/3] stock controller --- .../eni/demo/controller/StockController.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/main/java/fr/eni/demo/controller/StockController.java diff --git a/src/main/java/fr/eni/demo/controller/StockController.java b/src/main/java/fr/eni/demo/controller/StockController.java new file mode 100644 index 0000000..18b834f --- /dev/null +++ b/src/main/java/fr/eni/demo/controller/StockController.java @@ -0,0 +1,45 @@ +package fr.eni.demo.controller; + +import fr.eni.demo.bll.StockService; +import fr.eni.demo.bo.Stock; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + +@RestController +@RequestMapping("/api/stock") +@RequiredArgsConstructor +public class StockController { + + private final StockService stockService; + + // Ajouter un stock + @PostMapping + public ResponseEntity> create(@RequestBody Stock stock) { + stockService.add(stock); + Map response = new HashMap<>(); + response.put("message", "Stock added"); + response.put("status", true); + response.put("data", new HashMap<>()); + + return ResponseEntity.ok(response); + } + + // Chercher des clients par nom + @GetMapping("/{id}") + public ResponseEntity> findById(@PathVariable Long id) { + Optional result = stockService.findById(id); + Map response = new HashMap<>(); + response.put("message", "List of Clients found"); + response.put("status", true); + response.put("data", result); + + return ResponseEntity.ok(response); + } + + +} From b5fa67fae9b62b7622726e3fea7ac638411d7837 Mon Sep 17 00:00:00 2001 From: jleroy2023 Date: Wed, 16 Jul 2025 10:01:57 +0200 Subject: [PATCH 3/3] location controller --- .../demo/controller/LocationController.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/fr/eni/demo/controller/LocationController.java diff --git a/src/main/java/fr/eni/demo/controller/LocationController.java b/src/main/java/fr/eni/demo/controller/LocationController.java new file mode 100644 index 0000000..8e5b0b9 --- /dev/null +++ b/src/main/java/fr/eni/demo/controller/LocationController.java @@ -0,0 +1,36 @@ +package fr.eni.demo.controller; + +import fr.eni.demo.bll.ClientService; +import fr.eni.demo.bll.LocationService; +import fr.eni.demo.bo.Client; +import fr.eni.demo.bo.Location; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/api/location") +@RequiredArgsConstructor +public class LocationController { + + private final LocationService locationService; + + // Ajouter une location + @PostMapping + public ResponseEntity> create(@RequestBody Location location) { + locationService.add(location); + Map response = new HashMap<>(); + response.put("message", "Location added"); + response.put("status", true); + response.put("data", new HashMap<>()); + + return ResponseEntity.ok(response); + } + +}