Removed the Role
object and implemented pagination on teachers/all
endpoint
#60
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've removed the
Role
object entirely and replaced it with a simple element collection in the user object. This is because in our implementation roles couldn't exist without a user anyway, but they would introduce a problem while fetching every user that has a specified role (please refer to a PR with teacher role implementation or ask on Discord). An element collection is, in my opinion, a better solution, because on the DB side, it creates a table that only consists of a user id and a name of the RoleType enum, and in the code we can use something likeuser.getRoles().contains(RoleType.TEACHER)
and it will just work.I've also implemented pagination and sorting on the
api/v1/teachers/all
endpoint to minimize DB load and allow for, for example, sorting the teacher list alphabetically by surname, etc.