diff --git a/src/main/java/ru/ulstu/is/sbapp/repair/controller/FavorController.java b/src/main/java/ru/ulstu/is/sbapp/repair/controller/FavorController.java index 2c2a1b1..fb64c06 100644 --- a/src/main/java/ru/ulstu/is/sbapp/repair/controller/FavorController.java +++ b/src/main/java/ru/ulstu/is/sbapp/repair/controller/FavorController.java @@ -1,4 +1,47 @@ package ru.ulstu.is.sbapp.repair.controller; +import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; +import ru.ulstu.is.sbapp.repair.service.FavorService; + +import java.util.List; + +@RestController +@RequestMapping("/component") public class FavorController { + private final FavorService favorService; + public FavorController(FavorService favorService){ + this.favorService = favorService; + } + @PostMapping + public FavorDTO addProduct(@RequestBody @Valid FavorDTO favorDTO) { + return new FavorDTO(favorService.addFavor(favorDTO)); + } + + @PutMapping("/{id}") + public FavorDTO updateProduct(@PathVariable Long id,@RequestBody @Valid FavorDTO favorDTO) { + return new FavorDTO(favorService.updateFavor(id,favorDTO)); + } + + @DeleteMapping("/{id}") + public FavorDTO removeProduct(@PathVariable Long id) { + return new FavorDTO(favorService.deleteFavor(id)); + } + + @DeleteMapping + public void removeAllProducts() { + favorService.deleteAllFavor(); + } + + @GetMapping("/{id}") + public FavorDTO findProduct(@PathVariable Long id) { + return new FavorDTO(favorService.findFavor(id)); + } + @GetMapping + public List findAllProduct() { + return favorService.findAllFavor() + .stream() + .map(FavorDTO::new) + .toList(); + } }