Skip to content
Snippets Groups Projects
Commit c1cf6ed4 authored by Sára Juhošová's avatar Sára Juhošová :sunny:
Browse files

Add information schema to the data model

parent e7b240ca
No related branches found
No related tags found
No related merge requests found
Pipeline #312654 failed
......@@ -17,12 +17,12 @@
*/
package nl.tudelft.labracore.model;
import java.time.LocalDateTime;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
......@@ -32,9 +32,17 @@ public class Assignment {
@Id
private Long id;
@NotBlank
private String name;
@ManyToOne
private Edition edition;
private LocalDateTime deadline;
@OneToMany(mappedBy = "assignment")
private List<Submission> submissions;
@ManyToMany(mappedBy = "assignments")
private List<Session> sessions;
}
......@@ -22,6 +22,7 @@ import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.validation.constraints.NotBlank;
import lombok.Data;
......@@ -31,6 +32,9 @@ public class Building {
@Id
private Long id;
@NotBlank
private String name;
@OneToMany(mappedBy = "building")
private List<Room> rooms;
}
......@@ -44,8 +44,9 @@ public class Course implements Serializable {
@ManyToOne
private Program program;
@OneToMany(mappedBy = "course")
private List<Edition> editions;
@NotNull
@ManyToOne
private Person manager;
@NotBlank
private String name;
......@@ -64,6 +65,9 @@ public class Course implements Serializable {
@SuppressWarnings("unused")
private LocalDateTime deletedAt;
@OneToMany(mappedBy = "course")
private List<Edition> editions;
@Override
public String toString() {
return name + " (" + code + ")";
......
......@@ -19,10 +19,8 @@ package nl.tudelft.labracore.model;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import lombok.Data;
......@@ -32,10 +30,13 @@ public class Edition {
@Id
private Long id;
@NotBlank
private String name;
@ManyToOne(optional = false)
private Course course;
@OneToMany(mappedBy = "edition")
@ManyToMany
private List<Session> sessions;
@OneToMany(mappedBy = "edition")
......
......@@ -23,6 +23,7 @@ import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.validation.constraints.NotNull;
import lombok.Data;
......@@ -32,12 +33,29 @@ public class Person {
@Id
private Long id;
private String name;
private String netId;
// has to have the format a@b.c
private String email;
@NotNull
// student or employee number
private Integer number;
@ManyToMany
private List<Program> programs;
@OneToMany(mappedBy = "person")
private List<Role> roles;
@OneToMany(mappedBy = "director")
private List<Program> directs;
@ManyToMany(mappedBy = "coordinator")
@ManyToMany(mappedBy = "coordinators")
private List<Program> coordinates;
@OneToMany(mappedBy = "manager")
private List<Course> manages;
}
......@@ -20,6 +20,7 @@ package nl.tudelft.labracore.model;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import lombok.Data;
......@@ -29,12 +30,18 @@ public class Program {
@Id
private Long id;
@OneToMany(mappedBy = "program")
private List<Course> courses;
@NotBlank
private String name;
@ManyToOne
private Person director;
@ManyToMany
private List<Person> coordinator;
private List<Person> coordinators;
@OneToMany(mappedBy = "program")
private List<Course> courses;
@ManyToMany(mappedBy = "programs")
private List<Person> people;
}
......@@ -23,6 +23,7 @@ import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotBlank;
import lombok.Data;
......@@ -32,6 +33,9 @@ public class Room {
@Id
private Long id;
@NotBlank
private String name;
@ManyToOne
private Building building;
......
......@@ -17,12 +17,13 @@
*/
package nl.tudelft.labracore.model;
import java.time.LocalDateTime;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.validation.constraints.NotBlank;
import lombok.Data;
......@@ -32,9 +33,18 @@ public class Session {
@Id
private Long id;
@NotBlank
private String name;
private LocalDateTime start;
private LocalDateTime end;
@ManyToMany
private List<Room> rooms;
@ManyToOne
private Edition edition;
@ManyToMany(mappedBy = "sessions")
private List<Edition> editions;
@ManyToMany
private List<Assignment> assignments;
}
......@@ -17,6 +17,8 @@
*/
package nl.tudelft.labracore.model;
import java.time.LocalDateTime;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
......@@ -34,4 +36,9 @@ public class Submission {
@ManyToOne
private StudentGroup group;
private LocalDateTime submissionTime;
private LocalDateTime approvalTime;
private Double grade;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment