From 313df3e343cea2f42ffcb810dc534036065e76bb Mon Sep 17 00:00:00 2001 From: AlexE030 Date: Sat, 20 May 2023 22:33:53 +0200 Subject: [PATCH] Added automatic module delete + small Changes --- .../backend/anwprj/DataBaseHandler.java | 23 ++++++++++++------- .../anwprj/controller/ModuleController.java | 19 ++++++++++++++- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/com/example/backend/anwprj/DataBaseHandler.java b/backend/src/main/java/com/example/backend/anwprj/DataBaseHandler.java index 280063e..2724576 100644 --- a/backend/src/main/java/com/example/backend/anwprj/DataBaseHandler.java +++ b/backend/src/main/java/com/example/backend/anwprj/DataBaseHandler.java @@ -312,6 +312,8 @@ public class DataBaseHandler { try { + st.executeUpdate("DELETE FROM module WHERE semesterId = " + id); + st.executeUpdate("delete from semester where id=" + id); } catch(Exception e) @@ -344,10 +346,10 @@ public class DataBaseHandler MODULE */ - //get a semester object by its name + //get a module object by its name public Module getModule(String name) { try { - ResultSet rs = st.executeQuery("SELECT * FROM SEMESTER WHERE name = '" + name + "'"); + ResultSet rs = st.executeQuery("SELECT * FROM modules WHERE name = '" + name + "'"); return resultSetToModule(rs); } catch (Exception ex){ @@ -355,10 +357,10 @@ public class DataBaseHandler } } - //get a semester object by its id + //get a module object by its id public Module getModule(int id) { try { - ResultSet rs = st.executeQuery("SELECT * FROM Module WHERE id=" + id); + ResultSet rs = st.executeQuery("SELECT * FROM modules WHERE id=" + id); return resultSetToModule(rs); } catch (Exception ex) { @@ -369,7 +371,7 @@ public class DataBaseHandler public Module addModule(Module m) { try { - st.executeUpdate("INSERT INTO Module (lecturerId, semesterId, name) " + + st.executeUpdate("INSERT INTO modules (lecturerId, semesterId, name) " + "Values (" + m.getLecturerId() + m.getSemesterId() + m.getName() + ")"); return getModule(m.getId()); @@ -382,7 +384,7 @@ public class DataBaseHandler public Module[] getAllModules() { try { - ResultSet rs = st.executeQuery("SELECT * FROM semester"); + ResultSet rs = st.executeQuery("SELECT * FROM modules"); List moduleList = new ArrayList<>(); Module m = null; while((m = resultSetToModule(rs)) != null) @@ -401,7 +403,7 @@ public class DataBaseHandler public Module updateModule(Module m) { try { - st.executeUpdate("UPDATE module SET lecturerId=" + m.getLecturerId() + ", " + + st.executeUpdate("UPDATE modules SET lecturerId=" + m.getLecturerId() + ", " + "semesterId=" + m.getSemesterId() + ", " + "name='" + m.getName() + "'"); return getModule(m.getId()); @@ -415,7 +417,7 @@ public class DataBaseHandler public boolean deleteModule(int id) { try { - st.executeUpdate("DELETE FROM module WHERE id=" + id); + st.executeUpdate("DELETE FROM modules WHERE id=" + id); return true; } catch(Exception ex) { @@ -583,6 +585,11 @@ public class DataBaseHandler { try { + ResultSet rs = st.executeQuery("SELECT id FROM user WHERE mail='" + mail + "'"); + rs.next(); + int id = rs.getInt("id"); + st.executeUpdate("DELETE FROM modules WHERE lecturerId = " + id); + st.executeUpdate("delete from users where mail='" + mail + "'"); return true; } diff --git a/backend/src/main/java/com/example/backend/anwprj/controller/ModuleController.java b/backend/src/main/java/com/example/backend/anwprj/controller/ModuleController.java index 3038e37..220e622 100644 --- a/backend/src/main/java/com/example/backend/anwprj/controller/ModuleController.java +++ b/backend/src/main/java/com/example/backend/anwprj/controller/ModuleController.java @@ -2,7 +2,6 @@ package com.example.backend.anwprj.controller; import com.example.backend.anwprj.DataBaseHandler; import com.example.backend.anwprj.Module.Module; -import com.example.backend.anwprj.Semesters.Semester; import com.example.backend.anwprj.Users.User; import com.example.backend.anwprj.Users.UserPermissions; import com.example.backend.anwprj.Users.UserSessionIDHandler; @@ -73,6 +72,24 @@ public class ModuleController { return null; } + @CrossOrigin + @PostMapping("/module") + public ResponseEntity addModule(@RequestBody Module module, @RequestParam(name="sessionid") String sessionID) { + User user = UserSessionIDHandler.getUserBySessionID(sessionID); + + if(user.getPermissions() == UserPermissions.admin.getValue()) { + Module m = db.addModule(module); + if(m != null) { + return new ResponseEntity<>(m, HttpStatus.OK); + } + + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + + + return new ResponseEntity<>(HttpStatus.FORBIDDEN); + } + @CrossOrigin @PutMapping("/module") public ResponseEntity updateModule(@RequestBody Module module, @RequestParam(name="sessionid") String sessionID) {