diff --git a/car_manager/pom.xml b/car_manager/pom.xml index 7e815a0cf95e800cfa4b85474cf7ad0008a0b2fe..f770d0897585951a5551755f15c2ef4cf83b045f 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 0000000000000000000000000000000000000000..fce1b96b72f600a40efc6e64d4afe122dd208183 --- /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 0000000000000000000000000000000000000000..1257417b83037eb9b882a080690386ef854f5798 --- /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 0000000000000000000000000000000000000000..3fea65bc7ce511ae72cb91ad0b4e39a4177de555 --- /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 { +}