From ecbe36b1ea93d78870d9d240300910da1c837080 Mon Sep 17 00:00:00 2001 From: Roxane Date: Wed, 28 Feb 2024 14:32:25 +0100 Subject: [PATCH] Initiate Teacher's repository --- WebService/pom.xml | 4 ++ .../controller/TeacherController.java | 1 + .../repository/ITeacherRepository.java | 18 +++++ .../WebService/service/TeacherService.java | 71 +++++++++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 WebService/src/main/java/SAE/ApiREST/WebService/repository/ITeacherRepository.java create mode 100644 WebService/src/main/java/SAE/ApiREST/WebService/service/TeacherService.java diff --git a/WebService/pom.xml b/WebService/pom.xml index dbbd774..acc5c27 100644 --- a/WebService/pom.xml +++ b/WebService/pom.xml @@ -26,6 +26,10 @@ spring-boot-starter-test test + + org.springframework.data + spring-data-jpa + org.springframework.boot spring-boot-starter-hateoas diff --git a/WebService/src/main/java/SAE/ApiREST/WebService/controller/TeacherController.java b/WebService/src/main/java/SAE/ApiREST/WebService/controller/TeacherController.java index 548cfbe..8515812 100644 --- a/WebService/src/main/java/SAE/ApiREST/WebService/controller/TeacherController.java +++ b/WebService/src/main/java/SAE/ApiREST/WebService/controller/TeacherController.java @@ -102,3 +102,4 @@ public class TeacherController { linkTo(methodOn(TeacherController.class).getAllTeacher()).withRel("all")); } } +//Todo() linkto dans service. \ No newline at end of file diff --git a/WebService/src/main/java/SAE/ApiREST/WebService/repository/ITeacherRepository.java b/WebService/src/main/java/SAE/ApiREST/WebService/repository/ITeacherRepository.java new file mode 100644 index 0000000..508a18d --- /dev/null +++ b/WebService/src/main/java/SAE/ApiREST/WebService/repository/ITeacherRepository.java @@ -0,0 +1,18 @@ +package SAE.ApiREST.WebService.repository; + +import SAE.ApiREST.WebService.model.Teacher; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface ITeacherRepository extends JpaRepository< Teacher, Integer> { + + + Teacher findByUsername(String username); + + Teacher findByMail(String mail); + + Teacher findByDate(String date); +} diff --git a/WebService/src/main/java/SAE/ApiREST/WebService/service/TeacherService.java b/WebService/src/main/java/SAE/ApiREST/WebService/service/TeacherService.java new file mode 100644 index 0000000..f4ef135 --- /dev/null +++ b/WebService/src/main/java/SAE/ApiREST/WebService/service/TeacherService.java @@ -0,0 +1,71 @@ +package SAE.ApiREST.WebService.service; + +import SAE.ApiREST.WebService.Response; +import SAE.ApiREST.WebService.model.Teacher; +import SAE.ApiREST.WebService.repository.ITeacherRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class TeacherService implements ITeacherService { + + @Autowired + private final ITeacherRepository teachRep; + + public TeacherService(ITeacherRepository teachRep) { + this.teachRep = teachRep; + } + + + @Override + public List getAllTeacher() { + return teachRep.findAll(); + } + + @Override + public Teacher getTeacherById(Integer id) { + return teachRep.getReferenceById(id); + } + + @Override + public Teacher getTeacherByUsername(String username) { + return teachRep.findByUsername(username); + } + + @Override + public Teacher getTeacherByMail(String mail) { + return teachRep.findByMail(mail); + } + + @Override + public Teacher getTeacherByDate(String date) { + return teachRep.findByDate(date); + } + + @Override + public List addTeacher(Teacher t) { + List lT = getAllTeacher(); + lT.add(t); + return lT; + } + + @Override + public List deleteTeacher(Integer id) { + List lT = getAllTeacher(); + lT.remove(getTeacherById(id)); + return lT; + } + + @Override + public Response modifyUsername(Teacher t, String newUsername) { + t.setUsername(newUsername); + return new Response(t.getId(), String.format("Username changed for {id}", t.getId())); + } +} + + + + +