diff --git a/backend/src/main/java/core/repositories/timemanager/TaskgroupRepository.java b/backend/src/main/java/core/repositories/timemanager/TaskgroupRepository.java index 6441145..4c17014 100644 --- a/backend/src/main/java/core/repositories/timemanager/TaskgroupRepository.java +++ b/backend/src/main/java/core/repositories/timemanager/TaskgroupRepository.java @@ -2,10 +2,12 @@ package core.repositories.timemanager; import core.entities.User; import core.entities.timemanager.Taskgroup; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; +import javax.transaction.Transactional; import java.util.List; @Repository @@ -15,4 +17,8 @@ public interface TaskgroupRepository extends CrudRepository { @Query("SELECT tg FROM Taskgroup tg WHERE tg.user.username = ?1") List findAllByUser(String username); + + @Modifying + @Transactional + void deleteAllByUser(User user); } diff --git a/backend/src/main/java/core/services/TaskgroupService.java b/backend/src/main/java/core/services/TaskgroupService.java index 07cd12e..d5031c8 100644 --- a/backend/src/main/java/core/services/TaskgroupService.java +++ b/backend/src/main/java/core/services/TaskgroupService.java @@ -71,4 +71,8 @@ public class TaskgroupService { public List getTaskgroupsByUser(String username) { return taskgroupRepository.findAllByUser(username); } + + public void deleteTaskgroupByUser(User user) { + taskgroupRepository.deleteAllByUser(user); + } } diff --git a/backend/src/main/java/core/services/UserService.java b/backend/src/main/java/core/services/UserService.java index 2ed47f9..e149fbe 100644 --- a/backend/src/main/java/core/services/UserService.java +++ b/backend/src/main/java/core/services/UserService.java @@ -9,6 +9,7 @@ import core.api.models.users.UserUpdateInfo; import core.entities.RoleEntity; import core.entities.User; import core.entities.UserRole; +import core.entities.timemanager.Taskgroup; import core.repositories.RoleRepository; import core.repositories.UserRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +30,7 @@ public class UserService { @Autowired private RoleRepository roleRepository; + @Autowired private TaskgroupService taskgroupService; public List getAllUserInfos() { Iterable users = userRepository.findAll(); @@ -146,6 +148,7 @@ public class UserService { return 2; } + taskgroupService.deleteTaskgroupByUser(requestedUser.get()); userRepository.deleteByUsername(username); return 0; }