From f08b2fa7e6a977a18d6b9f14fb73c18ec73ec5df Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Tue, 23 Jul 2024 23:23:45 +1000 Subject: Implement domain services Implement core business logic for working with Student, Test, and TestResult. --- .../stileeducation/markr/service/TestService.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/com/stileeducation/markr/service/TestService.java (limited to 'src/main/java/com/stileeducation/markr/service/TestService.java') diff --git a/src/main/java/com/stileeducation/markr/service/TestService.java b/src/main/java/com/stileeducation/markr/service/TestService.java new file mode 100644 index 0000000..f3ba98c --- /dev/null +++ b/src/main/java/com/stileeducation/markr/service/TestService.java @@ -0,0 +1,28 @@ +package com.stileeducation.markr.service; + +import com.stileeducation.markr.entity.Test; +import com.stileeducation.markr.repository.TestRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +@Service +public class TestService { + + @Autowired + TestRepository testRepository; + + public Test findOrCreateTest(String testId, Integer marksAvailable) { + Optional optionalTest = testRepository.findByTestId(testId); + if (optionalTest.isPresent()) { + return optionalTest.get(); + } else { + Test test = new Test(); + test.setTestId(testId); + test.setMarksAvailable(marksAvailable); + return testRepository.save(test); + } + } + +} -- cgit v1.2.3