WeekController finished
This commit is contained in:
@@ -5,6 +5,7 @@ import com.example.backend.anwprj.Days.Day;
|
||||
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 java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
@@ -44,73 +45,80 @@ public class DataBaseHandler
|
||||
System.out.println("No Connection!");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
TEMPPPPPP
|
||||
/**
|
||||
* WEEKS
|
||||
*/
|
||||
public static class Week
|
||||
{
|
||||
public int semesterid, id, weeknumber;
|
||||
|
||||
public Week(int id, int semesterid, int weeknumber)
|
||||
{
|
||||
this.semesterid = semesterid;
|
||||
this.weeknumber = weeknumber;
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
public Week addWeek(Week week)
|
||||
{
|
||||
try
|
||||
{
|
||||
st.executeUpdate("insert into weeks (semesterid, weeknumber) values (" + week.semesterid + ", " + week.weeknumber + ")");
|
||||
return getWeek(week.semesterid, week.weeknumber);
|
||||
st.executeUpdate("insert into weeks (semesterid, weeknumber) values (" + week.getSemesterid() + ", " + week.getWeeknumber() + ")");
|
||||
|
||||
return getWeek(week.getSemesterid(), week.getWeeknumber());
|
||||
|
||||
} catch (SQLException e)
|
||||
{
|
||||
throw new RuntimeException(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 w.* from weeks w, semester s where s.id=" + semesterid + " and " + "w.weeknumber=" + weeknumber);
|
||||
rs.next();
|
||||
return new Week(rs.getInt("id"), rs.getInt("semesterid"), rs.getInt("weeknumber"));
|
||||
} catch (SQLException e)
|
||||
{
|
||||
throw new RuntimeException(e);
|
||||
ResultSet rs = st.executeQuery("select * from weeks where semesterid =" + semesterid + " and weeknumber=" + weeknumber);
|
||||
|
||||
return resultSetToWeek(rs);
|
||||
}
|
||||
catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Week getWeekById(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResultSet rs = st.executeQuery("select * from weeks where id=" + id);
|
||||
private Week resultSetToWeek(ResultSet rs) {
|
||||
try {
|
||||
rs.next();
|
||||
return new Week(rs.getInt("id"), rs.getInt("semesterid"), rs.getInt("weeknumber"));
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
|
||||
return new Week(
|
||||
rs.getInt("id"),
|
||||
rs.getInt("semesterid"),
|
||||
rs.getInt("weeknumber")
|
||||
);
|
||||
} catch (SQLException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
TEMP END!!!!!!!!!!!!
|
||||
*/
|
||||
/**
|
||||
DAYS
|
||||
*/
|
||||
/**
|
||||
DAYS
|
||||
*/
|
||||
public Day addDay(Day day)
|
||||
{
|
||||
try
|
||||
{
|
||||
st.executeUpdate("insert into days (dayinweek, weekid) values (" + day.getDayinweek() + ", " + day.getWeekid() + ")");
|
||||
Week w = getWeekById(day.getWeekid());
|
||||
return getDay(day.getDayinweek(), w.weeknumber, w.semesterid);
|
||||
Week w = getWeek(day.getWeekid());
|
||||
return getDay(day.getDayinweek(), w.getWeeknumber(), w.getSemesterid());
|
||||
} catch (SQLException e)
|
||||
{
|
||||
return null;
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.example.backend.anwprj.Week;
|
||||
|
||||
public class Week {
|
||||
|
||||
private int id;
|
||||
private int semesterid;
|
||||
private int weeknumber;
|
||||
|
||||
public Week(int id, int semesterid, int weeknumber) {
|
||||
this.id = id;
|
||||
this.semesterid = semesterid;
|
||||
this.weeknumber = weeknumber;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getSemesterid() {
|
||||
return semesterid;
|
||||
}
|
||||
|
||||
public int getWeeknumber() {
|
||||
return weeknumber;
|
||||
}
|
||||
}
|
||||
@@ -45,7 +45,7 @@ public class UserController {
|
||||
@GetMapping("/users")
|
||||
public ResponseEntity<String> 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();
|
||||
|
||||
@@ -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<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