|
|
@@ -0,0 +1,54 @@
|
|
|
+package pl.dmcs.eldarmuk.backend_springboot.controller;
|
|
|
+
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.http.HttpStatus;
|
|
|
+import org.springframework.http.ResponseEntity;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import pl.dmcs.eldarmuk.backend_springboot.model.Teacher;
|
|
|
+import pl.dmcs.eldarmuk.backend_springboot.repository.TeacherRepository;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@CrossOrigin(origins = "http://localhost:4200")
|
|
|
+@RequestMapping("/teachers")
|
|
|
+public class TeacherController {
|
|
|
+ private final TeacherRepository teacherRepository;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public TeacherController(TeacherRepository teacherRepository) {
|
|
|
+ this.teacherRepository = teacherRepository;
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping
|
|
|
+ public List<Teacher> findAllTeachers() {
|
|
|
+ return teacherRepository.findAll();
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/{id}")
|
|
|
+ public ResponseEntity<Teacher> findTeacher(@PathVariable("id") long id) {
|
|
|
+ try {
|
|
|
+ Teacher teacher = teacherRepository.findById(id);
|
|
|
+ if (teacher == null) {
|
|
|
+ return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
|
|
+ }
|
|
|
+ return new ResponseEntity<>(teacher, HttpStatus.OK);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @DeleteMapping("/{id}")
|
|
|
+ public ResponseEntity<?> deleteTeacher(@PathVariable("id") long id) {
|
|
|
+ try {
|
|
|
+ Teacher teacher = teacherRepository.findById(id);
|
|
|
+ if (teacher == null) {
|
|
|
+ return ResponseEntity.notFound().build();
|
|
|
+ }
|
|
|
+ teacherRepository.deleteById(id);
|
|
|
+ return ResponseEntity.ok(teacher);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return ResponseEntity.status(500).body("Error deleting teacher: " + e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|