From 824e61214040e79031e9df7f81adfcf93e9e87d9 Mon Sep 17 00:00:00 2001 From: MikeBaier5 Date: Sun, 14 May 2023 22:10:54 +0200 Subject: [PATCH] WeekController finished --- backend/database.mv.db | Bin 36864 -> 45056 bytes backend/database.trace.db | 9 ++ .../backend/anwprj/DataBaseHandler.java | 86 ++++++++++-------- .../com/example/backend/anwprj/Week/Week.java | 26 ++++++ .../anwprj/controller/UserController.java | 2 +- .../anwprj/controller/WeekController.java | 60 ++++++++++++ 6 files changed, 143 insertions(+), 40 deletions(-) create mode 100644 backend/src/main/java/com/example/backend/anwprj/Week/Week.java create mode 100644 backend/src/main/java/com/example/backend/anwprj/controller/WeekController.java diff --git a/backend/database.mv.db b/backend/database.mv.db index 26d5f7f2b1fda841cec7c6333140a8bbdabce64c..e106e214c4d24d15cdacb0e0b984b9dd362fc2a4 100644 GIT binary patch literal 45056 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 literal 36864 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 login(@RequestParam(name = "mail") String mail, @RequestParam(name = "password") String password) { //generate a session id for the user trying to login - boolean isEncrypted = true; + boolean isEncrypted = false; if(isEncrypted) { RSA rsa = RSA.getInstance(); diff --git a/backend/src/main/java/com/example/backend/anwprj/controller/WeekController.java b/backend/src/main/java/com/example/backend/anwprj/controller/WeekController.java new file mode 100644 index 0000000..c0ab6af --- /dev/null +++ b/backend/src/main/java/com/example/backend/anwprj/controller/WeekController.java @@ -0,0 +1,60 @@ +package com.example.backend.anwprj.controller; + +import com.example.backend.anwprj.DataBaseHandler; +import com.example.backend.anwprj.Days.Day; +import com.example.backend.anwprj.Users.User; +import com.example.backend.anwprj.Users.UserPermissions; +import com.example.backend.anwprj.Users.UserSessionIDHandler; +import org.springframework.http.HttpStatus; +import com.example.backend.anwprj.Week.Week; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.sql.SQLException; + +@RestController +public class WeekController +{ + + private DataBaseHandler db; + + { + db = DataBaseHandler.getInstance(); + } + + @CrossOrigin + @GetMapping("/weeks") + public ResponseEntity getWeek( + @RequestParam(name="sessionid") String sessionID, + @RequestParam(name="semesterid") int semesterID, + @RequestParam(name="weeknumber") int weekNumber) throws SQLException { + User u = UserSessionIDHandler.getUserBySessionID(sessionID); + + if(u != null) + { + Week w = db.getWeek(semesterID,weekNumber); + + if(w != null) + { + return new ResponseEntity<>(w, HttpStatus.OK); + } + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + return new ResponseEntity<>(HttpStatus.FORBIDDEN); + } + + @CrossOrigin + @PostMapping("/weeks") + public ResponseEntity addWeek(@RequestBody Week week, @RequestParam(name="sessionid") String sessionID) + { + User u = UserSessionIDHandler.getUserBySessionID(sessionID); + + if(u !=null && u.getPermissions() == UserPermissions.admin.getValue()) + { + return new ResponseEntity<>(db.addWeek(week), HttpStatus.OK); + } + + return new ResponseEntity<>(null, HttpStatus.FORBIDDEN); + } +} +