Parcourir la source

adding game service and controller

Vlada645 il y a 1 mois
Parent
commit
faf5d0168d

+ 30 - 0
final project/database/src/main/java/pl/dmss/vmaneliuk/database/controllers/GameController.java

@@ -0,0 +1,30 @@
+package pl.dmss.vmaneliuk.database.controllers;
+
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+import pl.dmss.vmaneliuk.database.model.Game;
+import pl.dmss.vmaneliuk.database.services.GameService;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/games")
+public class GameController {
+
+    private final GameService gameService;
+
+    public GameController(GameService gameService) {
+        this.gameService = gameService;
+    }
+
+    @GetMapping
+    public ResponseEntity<List<Game>> getAllGames() {
+        return ResponseEntity.ok(gameService.getAllGames());
+    }
+
+    @PostMapping
+    public ResponseEntity<Game> createGame(@RequestBody Game game) {
+        Game savedGame = gameService.createGame(game);
+        return ResponseEntity.ok(savedGame);
+    }
+}

+ 27 - 0
final project/database/src/main/java/pl/dmss/vmaneliuk/database/services/GameService.java

@@ -0,0 +1,27 @@
+package pl.dmss.vmaneliuk.database.services;
+
+import org.springframework.stereotype.Service;
+import pl.dmss.vmaneliuk.database.model.Game;
+import pl.dmss.vmaneliuk.database.repository.GameRepository;
+
+import java.util.List;
+
+@Service
+public class GameService {
+
+    private final GameRepository gameRepository;
+
+    // Dependency injection via constructor
+    public GameService(GameRepository gameRepository) {
+        this.gameRepository = gameRepository;
+    }
+
+    public List<Game> getAllGames() {
+        return gameRepository.findAll();
+    }
+
+    public Game createGame(Game game) {
+        // Business logic could go here before saving
+        return gameRepository.save(game);
+    }
+}