Course initial
Description
Closes #187 (closed), #183 (closed) A working backend support for courses. This includes a new repository and controller which manages the courses.
A course has the following structure (when serialized):
{
"id": "5cf028357fc2582206be877b",
"name": "Complexity Theory",
"courseCode": "TI3306",
"year": 2019,
"instructorSet": [],
"taSet": [
"ta"
],
"assignmentIds": [
"5ce653c5ff1dbf1ab679583d"
]
}
The following actions can be performed
- Retrieve the list of all courses
- Add a new course
- Add an assignment to a course
- Add a user to a course (with proper authentication)
Changes
- Refactored the getUser method to return an optional
- General refactoring of the DatabaseConnection to not throw more sensible exceptions (e.g. when a user cannot be found)
Additions
- A CourseRepository, Course and CourseController
Test and Review
To be filled in by the reviewers
-
All of the methods are commented to expectation -
The methods are tested to satisfaction -
There are no unnecessary files present in the MR -
The continuous integration has no problems with the MR -
The MR is filled in as requested (including labels, milestones, and reviewers) -
The documentation is up-to-date -
All nullable parameters are marked as such
Edited by Tim van der Horst