From 9ed617253c67d964ed00698f5696947503289c7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Slov=C3=ADk?= <xslovik@fi.muni.cz>
Date: Tue, 4 Apr 2023 19:49:42 +0200
Subject: [PATCH] Adding AirplaneTypeFacade as dependency to
 AirplaneTypeController

---
 .../core/rest/AirplaneTypeController.java      | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/core/src/main/java/cz/muni/fi/pa165/core/rest/AirplaneTypeController.java b/core/src/main/java/cz/muni/fi/pa165/core/rest/AirplaneTypeController.java
index 86419ea..110a892 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/rest/AirplaneTypeController.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/rest/AirplaneTypeController.java
@@ -2,8 +2,10 @@ package cz.muni.fi.pa165.core.rest;
 
 import cz.muni.fi.pa165.core.api.AirplaneTypeApi;
 import cz.muni.fi.pa165.core.api.AirplaneTypeApiDelegate;
+import cz.muni.fi.pa165.core.facade.airplanetype.AirplaneTypeFacade;
 import cz.muni.fi.pa165.core.model.AirplaneTypeDto;
 import cz.muni.fi.pa165.core.model.NewAirplaneTypeDtoRequest;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -12,6 +14,13 @@ import java.util.List;
 @RestController
 public class AirplaneTypeController implements AirplaneTypeApiDelegate {
 
+    private final AirplaneTypeFacade airplaneTypeFacade;
+
+    @Autowired
+    public AirplaneTypeController(AirplaneTypeFacade airplaneTypeFacade) {
+        this.airplaneTypeFacade = airplaneTypeFacade;
+    }
+
     /**
      * POST /api/airplaneTypes : Create a new airplane type.
      * Creates a new airplane type and returns it as a response.
@@ -23,7 +32,7 @@ public class AirplaneTypeController implements AirplaneTypeApiDelegate {
      */
     @Override
     public ResponseEntity<AirplaneTypeDto> createAirplaneType(NewAirplaneTypeDtoRequest newAirplaneTypeDtoRequest) {
-        return AirplaneTypeApiDelegate.super.createAirplaneType(newAirplaneTypeDtoRequest);
+        return ResponseEntity.ok(airplaneTypeFacade.save(newAirplaneTypeDtoRequest));
     }
 
     /**
@@ -36,7 +45,8 @@ public class AirplaneTypeController implements AirplaneTypeApiDelegate {
      */
     @Override
     public ResponseEntity<Void> deleteAirplaneType(Long id) {
-        return AirplaneTypeApiDelegate.super.deleteAirplaneType(id);
+        airplaneTypeFacade.deleteById(id);
+        return null;
     }
 
     /**
@@ -49,7 +59,7 @@ public class AirplaneTypeController implements AirplaneTypeApiDelegate {
      */
     @Override
     public ResponseEntity<AirplaneTypeDto> getAirplaneTypeById(Long id) {
-        return AirplaneTypeApiDelegate.super.getAirplaneTypeById(id);
+        return ResponseEntity.of(airplaneTypeFacade.findById(id));
     }
 
     /**
@@ -61,7 +71,7 @@ public class AirplaneTypeController implements AirplaneTypeApiDelegate {
      */
     @Override
     public ResponseEntity<List<AirplaneTypeDto>> getAllAirplaneTypes() {
-        return AirplaneTypeApiDelegate.super.getAllAirplaneTypes();
+        return ResponseEntity.ok(airplaneTypeFacade.findAll());
     }
 
     /**
-- 
GitLab