Backend Aufgeräumt
This commit is contained in:
+5
-131
@@ -1,11 +1,9 @@
|
||||
package com.example.backend.anwprj;
|
||||
package com.example.backend.anwprj.Database;
|
||||
|
||||
import com.example.backend.anwprj.Encryption.RSA;
|
||||
import com.example.backend.anwprj.Days.Day;
|
||||
import com.example.backend.discard.Encryption.RSA;
|
||||
import com.example.backend.anwprj.Entries.Entry;
|
||||
import com.example.backend.anwprj.Semesters.Semester;
|
||||
import com.example.backend.anwprj.Users.User;
|
||||
import com.example.backend.anwprj.Week.Week;
|
||||
import com.example.backend.anwprj.Module.Module;
|
||||
|
||||
import java.sql.*;
|
||||
@@ -45,130 +43,7 @@ public class DataBaseHandler
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* WEEKS
|
||||
*/
|
||||
|
||||
public Week addWeek(Week week)
|
||||
{
|
||||
try
|
||||
{
|
||||
st.executeUpdate("insert into weeks (semesterid, weeknumber) values (" + week.getSemesterid() + ", " + week.getWeeknumber() + ")");
|
||||
|
||||
return getWeek(week.getSemesterid(), week.getWeeknumber());
|
||||
|
||||
} catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Week getWeek(int id)
|
||||
{
|
||||
ResultSet rs = null;
|
||||
try
|
||||
{
|
||||
rs = st.executeQuery("select * from weeks where id=" + id);
|
||||
|
||||
return resultSetToWeek(rs);
|
||||
|
||||
} catch (SQLException e)
|
||||
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Week getWeek(int semesterid, int weeknumber)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResultSet rs = st.executeQuery("select * from weeks where semesterid =" + semesterid + " and weeknumber=" + weeknumber);
|
||||
|
||||
return resultSetToWeek(rs);
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Week resultSetToWeek(ResultSet rs) {
|
||||
try {
|
||||
rs.next();
|
||||
|
||||
return new Week(
|
||||
rs.getInt("id"),
|
||||
rs.getInt("semesterid"),
|
||||
rs.getInt("weeknumber")
|
||||
);
|
||||
} catch (SQLException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
DAYS
|
||||
*/
|
||||
public Day addDay(Day day)
|
||||
{
|
||||
try
|
||||
{
|
||||
st.executeUpdate("insert into days (dayinyear, yearnumber, semesterid) values (" + day.getDayinyear() + ", " + day.getYearnumber() + ", " + day.getSemesterid() + ")");
|
||||
return getDay(day.getDayinyear(), day.getYearnumber(), day.getSemesterid());
|
||||
} catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Day getDay(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResultSet rs = st.executeQuery("select * from days where id=" + id);
|
||||
|
||||
return resultSetToDay(rs);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Day getDay(int dayinyear, int yearnumber, int semesterid)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResultSet rs = st.executeQuery("select * from days where dayinyear =" + dayinyear + " and yearnumber =" + yearnumber + " and semesterid =" + semesterid);
|
||||
|
||||
return resultSetToDay(rs);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private Day resultSetToDay(ResultSet rs)
|
||||
{
|
||||
try
|
||||
{
|
||||
rs.next();
|
||||
|
||||
return new Day(
|
||||
rs.getInt("id"),
|
||||
rs.getInt("dayinyear"),
|
||||
rs.getInt("yearnumber"),
|
||||
rs.getInt("semesterid")
|
||||
);
|
||||
} catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
ENTRIES
|
||||
@@ -471,7 +346,7 @@ public class DataBaseHandler
|
||||
}
|
||||
}
|
||||
|
||||
public Module getModulesBySemesterUserID(int userid, int semesterid)
|
||||
public Module getModuleBySemesterUserID(int userid, int semesterid)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -538,8 +413,7 @@ public class DataBaseHandler
|
||||
USER
|
||||
*/
|
||||
|
||||
|
||||
//TODO: Nur nicht admins werden aktuell ausgegeben
|
||||
//Alle User, die nicht admin sind
|
||||
public User[] getAllUsers()
|
||||
{
|
||||
try
|
||||
@@ -564,7 +438,7 @@ public class DataBaseHandler
|
||||
}
|
||||
}
|
||||
|
||||
//get a user object by mail and password from the database
|
||||
//einen User
|
||||
public User getUser(String mail, String password)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.example.backend.anwprj.Users;
|
||||
|
||||
import com.example.backend.anwprj.DataBaseHandler;
|
||||
import com.example.backend.anwprj.Database.DataBaseHandler;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
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 org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
public class DayController
|
||||
{
|
||||
|
||||
private DataBaseHandler db;
|
||||
|
||||
{
|
||||
db = DataBaseHandler.getInstance();
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@GetMapping("/days")
|
||||
public ResponseEntity<Day> getDay(
|
||||
@RequestParam(name="sessionid") String sessionID,
|
||||
@RequestParam(name="dayinyear") int dayinyear,
|
||||
@RequestParam(name="yearnumber") int yearnumber,
|
||||
@RequestParam(name="semesterid") int semesterID)
|
||||
{
|
||||
User u = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
|
||||
if(u != null)
|
||||
{
|
||||
Day d = db.getDay(dayinyear, yearnumber, semesterID);
|
||||
|
||||
if (d != null)
|
||||
{
|
||||
return new ResponseEntity<>(d, HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@PostMapping("/days")
|
||||
public ResponseEntity<Day> addDay(@RequestBody Day day, @RequestParam(name="sessionid") String sessionID)
|
||||
{
|
||||
User u = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
|
||||
if(u != null && u.getPermissions() == UserPermissions.admin.getValue())
|
||||
{
|
||||
return new ResponseEntity<>(db.addDay(day), HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(null, HttpStatus.FORBIDDEN);
|
||||
}
|
||||
}
|
||||
+51
-30
@@ -1,9 +1,8 @@
|
||||
package com.example.backend.anwprj.controller;
|
||||
|
||||
import com.example.backend.anwprj.DataBaseHandler;
|
||||
import com.example.backend.anwprj.Database.DataBaseHandler;
|
||||
import com.example.backend.anwprj.Entries.Entry;
|
||||
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 org.springframework.http.ResponseEntity;
|
||||
@@ -18,21 +17,11 @@ public class EntriesController
|
||||
db = DataBaseHandler.getInstance();
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@PostMapping("/entries")
|
||||
public ResponseEntity<Boolean> postEntry(@RequestBody Entry entry, @RequestParam(name = "sessionid") String sessionid)
|
||||
{
|
||||
User sessionUser = UserSessionIDHandler.getUserBySessionID(sessionid);
|
||||
|
||||
if (sessionUser != null)
|
||||
{
|
||||
db.addEntry(entry);
|
||||
return new ResponseEntity<>(true, HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(false, HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
/**
|
||||
GET
|
||||
a set of entries for a week, based on the semester, the startdaynumber of the week and the year
|
||||
Every user is allowed
|
||||
*/
|
||||
@CrossOrigin
|
||||
@GetMapping("/entries")
|
||||
public ResponseEntity<Entry[][]> getEntries(@RequestParam(name = "semesterid") int semesterid,
|
||||
@@ -50,6 +39,51 @@ public class EntriesController
|
||||
return new ResponseEntity<>(null, HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
/**
|
||||
POST
|
||||
A new entry to the database. Every user except of admins is allowed
|
||||
*/
|
||||
|
||||
@CrossOrigin
|
||||
@PostMapping("/entries")
|
||||
public ResponseEntity<Boolean> postEntry(@RequestBody Entry entry, @RequestParam(name = "sessionid") String sessionid)
|
||||
{
|
||||
User sessionUser = UserSessionIDHandler.getUserBySessionID(sessionid);
|
||||
|
||||
if (sessionUser != null)
|
||||
{
|
||||
db.addEntry(entry);
|
||||
return new ResponseEntity<>(true, HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(false, HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
PUT
|
||||
Update the endTime of an existing entry in the database. Every user except of admins is allowed
|
||||
*/
|
||||
|
||||
@CrossOrigin
|
||||
@PutMapping("/entries")
|
||||
public ResponseEntity<Boolean> updateEntry(@RequestParam(name="sessionid") String sessionid, @RequestBody Entry entry)
|
||||
{
|
||||
User sessionUser = UserSessionIDHandler.getUserBySessionID(sessionid);
|
||||
if (sessionUser != null)
|
||||
{
|
||||
db.updateEntry(entry);
|
||||
return new ResponseEntity<>(true, HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(false, HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Delete
|
||||
an existing entry from the database
|
||||
*/
|
||||
@CrossOrigin
|
||||
@DeleteMapping("/entries")
|
||||
public ResponseEntity<Boolean> deleteEntry(@RequestParam(name = "id") int id, @RequestParam(name = "sessionid") String sessionid)
|
||||
@@ -65,17 +99,4 @@ public class EntriesController
|
||||
return new ResponseEntity<>(false, HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@PutMapping("/entries")
|
||||
public ResponseEntity<Boolean> updateEntry(@RequestParam(name="sessionid") String sessionid, @RequestBody Entry entry)
|
||||
{
|
||||
User sessionUser = UserSessionIDHandler.getUserBySessionID(sessionid);
|
||||
if (sessionUser != null)
|
||||
{
|
||||
db.updateEntry(entry);
|
||||
return new ResponseEntity<>(true, HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(false, HttpStatus.FORBIDDEN);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.example.backend.anwprj.controller;
|
||||
|
||||
import com.example.backend.anwprj.DataBaseHandler;
|
||||
import com.example.backend.anwprj.Database.DataBaseHandler;
|
||||
import com.example.backend.anwprj.Module.Module;
|
||||
import com.example.backend.anwprj.Users.User;
|
||||
import com.example.backend.anwprj.Users.UserPermissions;
|
||||
@@ -12,6 +12,11 @@ import org.springframework.web.bind.annotation.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Ein Modul hier entspricht nicht z.b. Analysis im Allgemeinen.
|
||||
* Es beschreibt die Verbindung zwischen einem Dozenten und Analysis in einem Speziellen Semester.
|
||||
*/
|
||||
|
||||
@RestController
|
||||
public class ModuleController
|
||||
{
|
||||
@@ -21,26 +26,11 @@ public class ModuleController
|
||||
db = DataBaseHandler.getInstance();
|
||||
}
|
||||
|
||||
// @CrossOrigin
|
||||
// @GetMapping("/module")
|
||||
// public ResponseEntity<Module> getModule(
|
||||
// @RequestParam(name="id") int id,
|
||||
// @RequestParam(name="sessionid") String sessionID) {
|
||||
//
|
||||
// User user = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
//
|
||||
// if (user != null){
|
||||
// Module module = db.getModule(id);
|
||||
// if(module != null) {
|
||||
// return new ResponseEntity<>(module, HttpStatus.OK);
|
||||
// }
|
||||
//
|
||||
// return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
||||
// }
|
||||
//
|
||||
// return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
// }
|
||||
|
||||
/**
|
||||
GET
|
||||
A Module by its id
|
||||
*/
|
||||
@CrossOrigin
|
||||
@GetMapping("/module/id")
|
||||
public ResponseEntity<Module[]> getModules(
|
||||
@@ -63,6 +53,10 @@ public class ModuleController
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
/**
|
||||
GET
|
||||
Get A Module by the matching semester and user id (important for edit function in frontend)
|
||||
*/
|
||||
@CrossOrigin
|
||||
@GetMapping("/module/suid")
|
||||
public ResponseEntity<Module[]> getModulesBySemesterUserID(@RequestParam(name = "sessionid") String sessionid, @RequestParam(name = "userid") String userid, @RequestParam(name = "semesterid") int semesterid)
|
||||
@@ -81,7 +75,7 @@ public class ModuleController
|
||||
|
||||
for(int i = 0; i < userIDS.length; i++)
|
||||
{
|
||||
result.add(db.getModulesBySemesterUserID(userIDS[i], semesterid));
|
||||
result.add(db.getModuleBySemesterUserID(userIDS[i], semesterid));
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(result.toArray(new Module[0]), HttpStatus.OK);
|
||||
@@ -90,6 +84,10 @@ public class ModuleController
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
/**
|
||||
GET
|
||||
all modules from the database. (Not used now)
|
||||
*/
|
||||
@CrossOrigin
|
||||
@GetMapping("/module/all")
|
||||
public ResponseEntity<Module[]> getModule(@RequestParam(name = "sessionid") String sessionid)
|
||||
@@ -107,6 +105,10 @@ public class ModuleController
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
POST
|
||||
a new module entry. (When a user is selected in a semester.)
|
||||
*/
|
||||
@CrossOrigin
|
||||
@PostMapping("/module")
|
||||
public ResponseEntity<Module> addModule(@RequestBody Module module, @RequestParam(name = "sessionid") String sessionID)
|
||||
@@ -130,6 +132,10 @@ public class ModuleController
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
/**
|
||||
PUT
|
||||
Update a Module
|
||||
*/
|
||||
@CrossOrigin
|
||||
@PutMapping("/module")
|
||||
public ResponseEntity<Module> updateModule(@RequestBody Module module, @RequestParam(name = "sessionid") String sessionID)
|
||||
@@ -151,6 +157,10 @@ public class ModuleController
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
/**
|
||||
DELETE
|
||||
Delete A Module
|
||||
*/
|
||||
@CrossOrigin
|
||||
@DeleteMapping("/module")
|
||||
public void deleteModule(@RequestParam(name = "sessionid") String sessionid, @RequestParam(name = "semesterid") int semesterid, @RequestParam(name = "userid") int userid)
|
||||
|
||||
+26
-26
@@ -1,6 +1,6 @@
|
||||
package com.example.backend.anwprj.controller;
|
||||
|
||||
import com.example.backend.anwprj.DataBaseHandler;
|
||||
import com.example.backend.anwprj.Database.DataBaseHandler;
|
||||
import com.example.backend.anwprj.Semesters.Semester;
|
||||
import com.example.backend.anwprj.Users.User;
|
||||
import com.example.backend.anwprj.Users.UserPermissions;
|
||||
@@ -9,8 +9,6 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@RestController
|
||||
public class SemesterController
|
||||
{
|
||||
@@ -21,29 +19,6 @@ public class SemesterController
|
||||
db = DataBaseHandler.getInstance();
|
||||
}
|
||||
|
||||
//a new semester add is requested (only allowed for admin users)
|
||||
@CrossOrigin
|
||||
@PostMapping("/semester")
|
||||
public ResponseEntity<Semester> addSemester(@RequestBody Semester semester, @RequestParam(name="sessionid") String sessionID)
|
||||
{
|
||||
User user = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
|
||||
if(user.getPermissions() == UserPermissions.admin.getValue())
|
||||
{
|
||||
Semester s = db.addSemester(semester);
|
||||
if(s != null)
|
||||
{
|
||||
|
||||
return new ResponseEntity<>(s, HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
//get a semester object by its name
|
||||
@CrossOrigin
|
||||
@GetMapping("/semester")
|
||||
@@ -102,6 +77,31 @@ public class SemesterController
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
//a new semester add is requested (only allowed for admin users)
|
||||
@CrossOrigin
|
||||
@PostMapping("/semester")
|
||||
public ResponseEntity<Semester> addSemester(@RequestBody Semester semester, @RequestParam(name="sessionid") String sessionID)
|
||||
{
|
||||
User user = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
|
||||
if(user.getPermissions() == UserPermissions.admin.getValue())
|
||||
{
|
||||
Semester s = db.addSemester(semester);
|
||||
if(s != null)
|
||||
{
|
||||
|
||||
return new ResponseEntity<>(s, HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
|
||||
@CrossOrigin
|
||||
@PutMapping("/semester")
|
||||
public ResponseEntity<Semester> updateSemester(@RequestBody Semester semester, @RequestParam(name="sessionid") String sessionID)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.example.backend.anwprj.controller;
|
||||
|
||||
import com.example.backend.anwprj.Encryption.RSA;
|
||||
import com.example.backend.anwprj.DataBaseHandler;
|
||||
import com.example.backend.discard.Encryption.RSA;
|
||||
import com.example.backend.anwprj.Database.DataBaseHandler;
|
||||
import com.example.backend.anwprj.Users.User;
|
||||
import com.example.backend.anwprj.Users.UserPermissions;
|
||||
import com.example.backend.anwprj.Users.UserSessionIDHandler;
|
||||
@@ -18,28 +18,22 @@ public class UserController {
|
||||
db = DataBaseHandler.getInstance();
|
||||
}
|
||||
|
||||
|
||||
//adds a new user to the database (cannot create an admin user)
|
||||
@CrossOrigin
|
||||
@PostMapping("/users")
|
||||
public ResponseEntity<String> addUser(@RequestBody User user) {
|
||||
User checkUser = db.getUser(user.getMail());
|
||||
@GetMapping("/users/all")
|
||||
public ResponseEntity<User[]> getAllUsers(@RequestParam(name = "sessionid") String sessionid)
|
||||
{
|
||||
User u = UserSessionIDHandler.getUserBySessionID(sessionid);
|
||||
|
||||
if (checkUser != null) {
|
||||
return new ResponseEntity<>("mail", HttpStatus.FORBIDDEN);
|
||||
if(u != null && u.getPermissions() == UserPermissions.admin.getValue())
|
||||
{
|
||||
User[] output = db.getAllUsers();
|
||||
return new ResponseEntity<>(output, HttpStatus.OK);
|
||||
}
|
||||
|
||||
//if user was successfully added to database
|
||||
User u = db.addUser(user);
|
||||
|
||||
if (u != null) {
|
||||
//generate a session id
|
||||
return new ResponseEntity<String>(UserSessionIDHandler.addUser(user.getMail(), user.getPassword()), HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<String>(HttpStatus.BAD_REQUEST);
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
|
||||
//a user wants to login
|
||||
@CrossOrigin
|
||||
@GetMapping("/users")
|
||||
@@ -69,6 +63,60 @@ public class UserController {
|
||||
return new ResponseEntity<>(success, HttpStatus.OK);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@GetMapping("/users/data")
|
||||
public ResponseEntity<User> getUserData(
|
||||
@RequestParam(name = "sessionid") String sessionID,
|
||||
@RequestParam(name = "mail") String mail) {
|
||||
User sessionUser = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
|
||||
if (sessionUser != null) {
|
||||
System.out.println(sessionUser.getMail() + " " + mail);
|
||||
|
||||
if (sessionUser.getMail().equals(mail) || sessionUser.getPermissions() == UserPermissions.admin.getValue()) {
|
||||
User searchedUser = db.getUser(mail);
|
||||
return new ResponseEntity<>(searchedUser, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@GetMapping("/users/check")
|
||||
public ResponseEntity<User> checkLogin(@RequestParam(name="sessionid") String sessionid)
|
||||
{
|
||||
User u = UserSessionIDHandler.getUserBySessionID(sessionid);
|
||||
|
||||
if(u != null)
|
||||
{
|
||||
return new ResponseEntity<>(db.getUser(u.getId()), HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
//adds a new user to the database (cannot create an admin user)
|
||||
@CrossOrigin
|
||||
@PostMapping("/users")
|
||||
public ResponseEntity<String> addUser(@RequestBody User user) {
|
||||
User checkUser = db.getUser(user.getMail());
|
||||
|
||||
if (checkUser != null) {
|
||||
return new ResponseEntity<>("mail", HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
//if user was successfully added to database
|
||||
User u = db.addUser(user);
|
||||
|
||||
if (u != null) {
|
||||
//generate a session id
|
||||
return new ResponseEntity<String>(UserSessionIDHandler.addUser(user.getMail(), user.getPassword()), HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<String>(HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@PutMapping("/users")
|
||||
public ResponseEntity<Boolean> updateUser(@RequestParam(name = "sessionid") String sessionID, @RequestBody User u, @RequestParam(name = "mail") String mail) {
|
||||
@@ -121,39 +169,6 @@ public class UserController {
|
||||
return new ResponseEntity<>(false, HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@GetMapping("/users/data")
|
||||
public ResponseEntity<User> getUserData(
|
||||
@RequestParam(name = "sessionid") String sessionID,
|
||||
@RequestParam(name = "mail") String mail) {
|
||||
User sessionUser = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
|
||||
if (sessionUser != null) {
|
||||
System.out.println(sessionUser.getMail() + " " + mail);
|
||||
|
||||
if (sessionUser.getMail().equals(mail) || sessionUser.getPermissions() == UserPermissions.admin.getValue()) {
|
||||
User searchedUser = db.getUser(mail);
|
||||
return new ResponseEntity<>(searchedUser, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@GetMapping("/users/check")
|
||||
public ResponseEntity<User> checkLogin(@RequestParam(name="sessionid") String sessionid)
|
||||
{
|
||||
User u = UserSessionIDHandler.getUserBySessionID(sessionid);
|
||||
|
||||
if(u != null)
|
||||
{
|
||||
return new ResponseEntity<>(db.getUser(u.getId()), HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@DeleteMapping("/users")
|
||||
public ResponseEntity<Boolean> deleteUser(@RequestParam(name = "sessionid") String sessionID, @RequestParam(name = "mail") String mail) {
|
||||
@@ -166,18 +181,4 @@ public class UserController {
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@GetMapping("/users/all")
|
||||
public ResponseEntity<User[]> getAllUsers(@RequestParam(name = "sessionid") String sessionid)
|
||||
{
|
||||
User u = UserSessionIDHandler.getUserBySessionID(sessionid);
|
||||
|
||||
if(u != null && u.getPermissions() == UserPermissions.admin.getValue())
|
||||
{
|
||||
User[] output = db.getAllUsers();
|
||||
return new ResponseEntity<>(output, HttpStatus.OK);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
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<Week> 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<Week> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.example.backend.discard;
|
||||
|
||||
import com.example.backend.anwprj.Database.DataBaseHandler;
|
||||
import com.example.backend.discard.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 org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
public class DayController
|
||||
{
|
||||
|
||||
// private DataBaseHandler db;
|
||||
//
|
||||
// {
|
||||
// db = DataBaseHandler.getInstance();
|
||||
// }
|
||||
//
|
||||
// @CrossOrigin
|
||||
// @GetMapping("/days")
|
||||
// public ResponseEntity<Day> getDay(
|
||||
// @RequestParam(name="sessionid") String sessionID,
|
||||
// @RequestParam(name="dayinyear") int dayinyear,
|
||||
// @RequestParam(name="yearnumber") int yearnumber,
|
||||
// @RequestParam(name="semesterid") int semesterID)
|
||||
// {
|
||||
// User u = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
//
|
||||
// if(u != null)
|
||||
// {
|
||||
// Day d = db.getDay(dayinyear, yearnumber, semesterID);
|
||||
//
|
||||
// if (d != null)
|
||||
// {
|
||||
// return new ResponseEntity<>(d, HttpStatus.OK);
|
||||
// }
|
||||
//
|
||||
// return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
||||
// }
|
||||
//
|
||||
// return new ResponseEntity<>(HttpStatus.FORBIDDEN);
|
||||
// }
|
||||
//
|
||||
// @CrossOrigin
|
||||
// @PostMapping("/days")
|
||||
// public ResponseEntity<Day> addDay(@RequestBody Day day, @RequestParam(name="sessionid") String sessionID)
|
||||
// {
|
||||
// User u = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
//
|
||||
// if(u != null && u.getPermissions() == UserPermissions.admin.getValue())
|
||||
// {
|
||||
// return new ResponseEntity<>(db.addDay(day), HttpStatus.OK);
|
||||
// }
|
||||
//
|
||||
// return new ResponseEntity<>(null, HttpStatus.FORBIDDEN);
|
||||
// }
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.backend.anwprj.Days;
|
||||
package com.example.backend.discard.Days;
|
||||
|
||||
public class Day
|
||||
{
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.backend.anwprj.Encryption;
|
||||
package com.example.backend.discard.Encryption;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import java.io.*;
|
||||
@@ -0,0 +1,124 @@
|
||||
/**
|
||||
* WEEKS
|
||||
*/
|
||||
|
||||
public Week addWeek(Week week)
|
||||
{
|
||||
try
|
||||
{
|
||||
st.executeUpdate("insert into weeks (semesterid, weeknumber) values (" + week.getSemesterid() + ", " + week.getWeeknumber() + ")");
|
||||
|
||||
return getWeek(week.getSemesterid(), week.getWeeknumber());
|
||||
|
||||
} catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Week getWeek(int id)
|
||||
{
|
||||
ResultSet rs = null;
|
||||
try
|
||||
{
|
||||
rs = st.executeQuery("select * from weeks where id=" + id);
|
||||
|
||||
return resultSetToWeek(rs);
|
||||
|
||||
} catch (SQLException e)
|
||||
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Week getWeek(int semesterid, int weeknumber)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResultSet rs = st.executeQuery("select * from weeks where semesterid =" + semesterid + " and weeknumber=" + weeknumber);
|
||||
|
||||
return resultSetToWeek(rs);
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Week resultSetToWeek(ResultSet rs) {
|
||||
try {
|
||||
rs.next();
|
||||
|
||||
return new Week(
|
||||
rs.getInt("id"),
|
||||
rs.getInt("semesterid"),
|
||||
rs.getInt("weeknumber")
|
||||
);
|
||||
} catch (SQLException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
DAYS
|
||||
*/
|
||||
public Day addDay(Day day)
|
||||
{
|
||||
try
|
||||
{
|
||||
st.executeUpdate("insert into days (dayinyear, yearnumber, semesterid) values (" + day.getDayinyear() + ", " + day.getYearnumber() + ", " + day.getSemesterid() + ")");
|
||||
return getDay(day.getDayinyear(), day.getYearnumber(), day.getSemesterid());
|
||||
} catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Day getDay(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResultSet rs = st.executeQuery("select * from days where id=" + id);
|
||||
|
||||
return resultSetToDay(rs);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Day getDay(int dayinyear, int yearnumber, int semesterid)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResultSet rs = st.executeQuery("select * from days where dayinyear =" + dayinyear + " and yearnumber =" + yearnumber + " and semesterid =" + semesterid);
|
||||
|
||||
return resultSetToDay(rs);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private Day resultSetToDay(ResultSet rs)
|
||||
{
|
||||
try
|
||||
{
|
||||
rs.next();
|
||||
|
||||
return new Day(
|
||||
rs.getInt("id"),
|
||||
rs.getInt("dayinyear"),
|
||||
rs.getInt("yearnumber"),
|
||||
rs.getInt("semesterid")
|
||||
);
|
||||
} catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.example.backend.anwprj.Week;
|
||||
package com.example.backend.discard.Week;
|
||||
|
||||
public class Week {
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.example.backend.discard;
|
||||
|
||||
import com.example.backend.anwprj.Database.DataBaseHandler;
|
||||
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.discard.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<Week> 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<Week> 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);
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user