From d2d39a65f7ec1090ed25c11503889d393db48d62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Diana=20Gul=C4=8D=C3=ADkov=C3=A1?= <xgulcik@fi.muni.cz>
Date: Mon, 13 Mar 2023 22:34:04 +0100
Subject: [PATCH] controller

---
 car_manager/pom.xml                           | 17 ++++++++
 .../carmanager/facade/CarManagerFacade.java   |  7 ++++
 .../carmanager/rest/CarManagerController.java | 40 +++++++++++++++++++
 .../carmanager/service/CarManagerService.java |  7 ++++
 4 files changed, 71 insertions(+)
 create mode 100644 car_manager/src/main/java/cz/muni/pa165/carmanager/facade/CarManagerFacade.java
 create mode 100644 car_manager/src/main/java/cz/muni/pa165/carmanager/rest/CarManagerController.java
 create mode 100644 car_manager/src/main/java/cz/muni/pa165/carmanager/service/CarManagerService.java

diff --git a/car_manager/pom.xml b/car_manager/pom.xml
index 7e815a0c..f770d089 100644
--- a/car_manager/pom.xml
+++ b/car_manager/pom.xml
@@ -11,6 +11,23 @@
 
     <artifactId>car_manager</artifactId>
 
+    <dependencies>
+        <dependency>
+            <groupId>jakarta.validation</groupId>
+            <artifactId>jakarta.validation-api</artifactId>
+            <version>3.0.2</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springdoc</groupId>
+            <artifactId>springdoc-openapi-ui</artifactId>
+            <version>1.6.4</version>
+        </dependency>
+    </dependencies>
     <properties>
         <maven.compiler.source>17</maven.compiler.source>
         <maven.compiler.target>17</maven.compiler.target>
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/facade/CarManagerFacade.java b/car_manager/src/main/java/cz/muni/pa165/carmanager/facade/CarManagerFacade.java
new file mode 100644
index 00000000..fce1b96b
--- /dev/null
+++ b/car_manager/src/main/java/cz/muni/pa165/carmanager/facade/CarManagerFacade.java
@@ -0,0 +1,7 @@
+package cz.muni.pa165.carmanager.facade;
+
+import org.springframework.stereotype.Service;
+
+@Service
+public class CarManagerFacade {
+}
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/rest/CarManagerController.java b/car_manager/src/main/java/cz/muni/pa165/carmanager/rest/CarManagerController.java
new file mode 100644
index 00000000..1257417b
--- /dev/null
+++ b/car_manager/src/main/java/cz/muni/pa165/carmanager/rest/CarManagerController.java
@@ -0,0 +1,40 @@
+package cz.muni.pa165.carmanager.rest;
+
+import cz.muni.pa165.carmanager.facade.CarManagerFacade;
+import cz.muni.pa165.common.racecomponents.Config;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.validation.Valid;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(path = "/car")
+@Validated
+public class CarManagerController {
+
+  CarManagerFacade carManagerFacade;
+
+  public CarManagerController(CarManagerFacade carManagerFacade) {
+    this.carManagerFacade = carManagerFacade;
+  }
+
+  @Operation(summary = "Create a configuration")
+  @PostMapping(path = "/config", consumes = MediaType.APPLICATION_JSON_VALUE,
+      produces = MediaType.APPLICATION_JSON_VALUE)
+  public ResponseEntity<Config> createConfig(@Valid @RequestBody Config config) {
+    return ResponseEntity.ok();
+  }
+
+  @Operation(summary = "Update a specific configuration")
+  @PutMapping(path = "/config", consumes = MediaType.APPLICATION_JSON_VALUE,
+      produces = MediaType.APPLICATION_JSON_VALUE)
+  public ResponseEntity<Config> createConfig(@Valid @RequestBody Config config) {
+    return ResponseEntity.ok();
+  }
+}
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/service/CarManagerService.java b/car_manager/src/main/java/cz/muni/pa165/carmanager/service/CarManagerService.java
new file mode 100644
index 00000000..3fea65bc
--- /dev/null
+++ b/car_manager/src/main/java/cz/muni/pa165/carmanager/service/CarManagerService.java
@@ -0,0 +1,7 @@
+package cz.muni.pa165.carmanager.service;
+
+import org.springframework.stereotype.Service;
+
+@Service
+public class CarManagerService {
+}
-- 
GitLab