-
Notifications
You must be signed in to change notification settings - Fork 0
API
Alexander Van Oyen edited this page Feb 25, 2024
·
27 revisions
We will probably be using swagger/openAPI for our API implementation.
(Work in progress)
(Admins should be able to perform every request, they will have no restrictions.)
Method | Endpoint | Description | Status Code Success |
---|---|---|---|
POST | /user | create a new user (returns the id) | 201 |
PUT | /user/{userid} | update user data | 200 |
DELETE | /user/{userid} | delete a user | 200/204 (depends if you return the deletd data or not) |
GET | /user/{userid} | get user data | 200 |
Method | Endpoint | Description | Status Code Success |
---|---|---|---|
POST | /subject | create a new subject (returns the id) | 201 |
DELETE | /subject/{subject_id} | delete subject with given id | 200/204 (depends if you return the deletd data or not) |
PUT | /subject/{subject_id} | update subject data | 200 |
GET | /subject/{subject_id} | get all data about a subject | 200 |
POST | /subject/{subject_id}/project | create a new project for a subject | 201 |
DELETE | /subject/{subject_id}/project/{project_id} | delete a project from a subject | 200/204 (depends if you return the deletd data or not) |
GET | /subject/{subject_id}/project/{project_id} | get all data about a project (get submissions) | 200 |
PUT | /subject/{subject_id}/project/{project_id} | update project data | 200 |
Method | Endpoint | Description | Status Code Success |
---|---|---|---|
GET | /user | get all user data (can only access own data) | 200 |
PUT | /user | update user data (can only update own data) | 200 |
DELETE | /user | remove the user (can only remove themself) | 200/204 (depends if you return the deletd data or not) |
POST | /user/subject/{subject_id} | subscribe to subject | 200 |
POST | /user/subject/{subject_id}/project/{project_id} | submit project | 200 |
PUT | /user/subject/{subject_id}/project/{project_id} | update project submission | 200 |
GET | /user/subject/{subject_id}/project/{project_id} | get project submission | 200 |
POST | /user/subject/{subject_id}/group/{group_id} | join group | 200 |
GET | /user/subject/{subject_id}/group/{group_id} | get group members | 200 |