From a722fde0171d44f8e25cb6f575cd14a0dec85733 Mon Sep 17 00:00:00 2001
From: Jan Tymel <410388@mail.muni.cz>
Date: Sun, 3 Jan 2021 15:37:49 +0100
Subject: [PATCH] Set phase level ID to newly created tasks

---
 .../example/demo/service/GameLevelService.java    | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/example/demo/service/GameLevelService.java b/src/main/java/com/example/demo/service/GameLevelService.java
index 233a50ed..5f373af9 100644
--- a/src/main/java/com/example/demo/service/GameLevelService.java
+++ b/src/main/java/com/example/demo/service/GameLevelService.java
@@ -1,11 +1,13 @@
 package com.example.demo.service;
 
 import com.example.demo.domain.GameLevel;
+import com.example.demo.domain.PhaseLevel;
 import com.example.demo.dto.GameLevelCreateDto;
 import com.example.demo.dto.GameLevelDto;
 import com.example.demo.dto.GameLevelUpdateDto;
 import com.example.demo.mapper.BeanMapper;
 import com.example.demo.repository.GameLevelRepository;
+import com.example.demo.repository.PhaseLevelRepository;
 import org.apache.commons.collections4.IterableUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -22,15 +24,24 @@ public class GameLevelService {
     private static final Logger LOG = LoggerFactory.getLogger(GameLevelService.class);
 
     private final GameLevelRepository gameLevelRepository;
+    private final PhaseLevelRepository phaseLevelRepository;
 
     @Autowired
-    public GameLevelService(GameLevelRepository gameLevelRepository) {
+    public GameLevelService(GameLevelRepository gameLevelRepository, PhaseLevelRepository phaseLevelRepository) {
         this.gameLevelRepository = gameLevelRepository;
+        this.phaseLevelRepository = phaseLevelRepository;
     }
 
     public GameLevelDto createDefaultGameLevel(Long phaseId) {
+        Optional<PhaseLevel> phaseLevel = phaseLevelRepository.findById(phaseId);
+        if (phaseLevel.isEmpty()) {
+            // TODO return 404
+            return null;
+        }
+
         GameLevel gameLevel = new GameLevel();
-        gameLevel.setTitle("Title of game");
+        gameLevel.setTitle("Title of task");
+        gameLevel.setPhaseLevel(phaseLevel.get());
         gameLevel.setOrder(gameLevelRepository.getCurrentMaxOrder(phaseId) + 1);
 
         GameLevel persistedEntity = gameLevelRepository.save(gameLevel);
-- 
GitLab