diff --git a/buisnesslogic/src/main/java/com/plannaplan/entities/Course.java b/buisnesslogic/src/main/java/com/plannaplan/entities/Course.java index b17983d..1987d16 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/entities/Course.java +++ b/buisnesslogic/src/main/java/com/plannaplan/entities/Course.java @@ -22,6 +22,10 @@ public class Course { public Course() { } + public Long getId() { + return this.id; + } + public String getName() { return name; } diff --git a/buisnesslogic/src/main/java/com/plannaplan/entities/Lecturer.java b/buisnesslogic/src/main/java/com/plannaplan/entities/Lecturer.java index c8ca7e9..a227302 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/entities/Lecturer.java +++ b/buisnesslogic/src/main/java/com/plannaplan/entities/Lecturer.java @@ -44,4 +44,7 @@ public class Lecturer { this.surname = surname; } + public Lecturer() { + } + } \ No newline at end of file diff --git a/buisnesslogic/src/main/java/com/plannaplan/repositories/GroupRepository.java b/buisnesslogic/src/main/java/com/plannaplan/repositories/GroupRepository.java index c222bfc..08e607d 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/repositories/GroupRepository.java +++ b/buisnesslogic/src/main/java/com/plannaplan/repositories/GroupRepository.java @@ -1,5 +1,7 @@ package com.plannaplan.repositories; +import java.util.List; + import com.plannaplan.entities.Groups; import org.springframework.data.jpa.repository.JpaRepository; @@ -11,4 +13,8 @@ import org.springframework.stereotype.Repository; public interface GroupRepository extends JpaRepository { @Query(value = "SELECT * FROM groups WHERE time = :time AND room = :room AND capacity = :capacity ", nativeQuery = true) Groups find(@Param("time") int time, @Param("room") String room, @Param("capacity") int capacity); + + @Query(value = "SELECT * FROM groups WHERE course_id = :id", nativeQuery = true) + List getByCourse(@Param("id") Long id); + } \ No newline at end of file diff --git a/buisnesslogic/src/main/java/com/plannaplan/services/CourseService.java b/buisnesslogic/src/main/java/com/plannaplan/services/CourseService.java index 9be0ba8..e5933cc 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/services/CourseService.java +++ b/buisnesslogic/src/main/java/com/plannaplan/services/CourseService.java @@ -1,5 +1,7 @@ package com.plannaplan.services; +import java.util.List; + import com.plannaplan.entities.Course; import com.plannaplan.repositories.CourseRepository; @@ -15,6 +17,10 @@ public class CourseService { return this.repo.findByName(name); } + public List getAllCourses() { + return this.repo.findAll(); + } + public void save(Course course) { this.repo.save(course); } diff --git a/buisnesslogic/src/main/java/com/plannaplan/services/GroupService.java b/buisnesslogic/src/main/java/com/plannaplan/services/GroupService.java index 9136994..dee884b 100644 --- a/buisnesslogic/src/main/java/com/plannaplan/services/GroupService.java +++ b/buisnesslogic/src/main/java/com/plannaplan/services/GroupService.java @@ -1,5 +1,7 @@ package com.plannaplan.services; +import java.util.List; + import com.plannaplan.entities.Groups; import com.plannaplan.repositories.GroupRepository; @@ -18,6 +20,10 @@ public class GroupService { return this.repo.find(time, room, capacity); } + public List getGroupsByCourse(Long id) { + return this.repo.getByCourse(id); + } + public void save(Groups group) { this.repo.save(group); } diff --git a/restservice/src/main/java/com/plannaplan/controllers/CoursesController.java b/restservice/src/main/java/com/plannaplan/controllers/CoursesController.java new file mode 100644 index 0000000..9c600be --- /dev/null +++ b/restservice/src/main/java/com/plannaplan/controllers/CoursesController.java @@ -0,0 +1,26 @@ +package com.plannaplan.controllers; + +import java.util.List; + +import com.plannaplan.entities.Course; +import com.plannaplan.services.CourseService; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.GetMapping; + +@RestController +@CrossOrigin +public class CoursesController { + @Autowired + private CourseService courseService; + + @GetMapping("/getCourses") + public ResponseEntity> getMethodName() { + return new ResponseEntity<>(this.courseService.getAllCourses(), HttpStatus.OK); + } + +} \ No newline at end of file diff --git a/restservice/src/main/java/com/plannaplan/controllers/GroupController.java b/restservice/src/main/java/com/plannaplan/controllers/GroupController.java new file mode 100644 index 0000000..09790bc --- /dev/null +++ b/restservice/src/main/java/com/plannaplan/controllers/GroupController.java @@ -0,0 +1,26 @@ +package com.plannaplan.controllers; + +import java.util.List; + +import com.plannaplan.entities.Groups; +import com.plannaplan.services.GroupService; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@CrossOrigin +public class GroupController { + @Autowired + private GroupService groupService; + + @GetMapping("/getCourseGroups") + public ResponseEntity> getCourses(@RequestParam("id") Long id) { + return new ResponseEntity<>(this.groupService.getGroupsByCourse(id), HttpStatus.OK); + } +} \ No newline at end of file