This repository was archived by the owner on Jan 22, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
API Documentatie
Timon Coucke edited this page Apr 3, 2024
·
46 revisions
-
GET: Krijg een lijst van alle gebruikers in JSON-formaat.
- Parameters:
-
is_lesgever=<bool>: Filtert gebruikers op lesgevers of studenten
-
- Parameters:
-
GET: Krijg de gebruiker met gegeven
user_idin JSON-formaat. -
PUT: Pas de gebruiker met gegeven
user_idaan. ZieJSON-voorstellingvoorbodyvereisten.
- GET: Krijg je eigen gebruiker in JSON-formaat.
{
"user": <int>,
"is_lesgever": <bool>,
"first_name": <string>,
"last_name": <string>,
"email": <email>
}- Bij het veranderen van het
is_lesgeverveld, moet de gebruiker eerst uit zijn huidige vakken verwijderd zijn.
- GET: Krijg een lijst van alle vakken in JSON-formaat.
-
POST: Maak een nieuw vak aan. Zie
JSON-voorstellingvoorbodyvereisten.
-
GET: Krijg het vak met gegeven
vak_idin JSON-formaat. -
PUT: Pas het vak met gegeven
vak_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder het vak met gegeven
vak_id
{
("vak_id": <int>),
"naam": <string>,
"studenten": <list[int]>,
"lesgevers": <list[int]>
}- Een gebruiker in
studentenmoet voldoen aanis_lesgever=false. - Een gebruiker in
lesgeversmoet voldoen aanis_lesgever=true.
-
GET: Krijg een lijst van alle projecten in JSON-formaat.
- Parameters:
-
vak=<int>: Filtert projecten op hun corresponderend vak.
-
- Parameters:
-
POST: Maak een nieuw project aan. Zie
JSON-voorstellingvoorbodyvereisten.
-
GET: Krijg het project met gegeven
project_idin JSON-formaat. -
PUT: Pas het project met gegeven
project_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder het project met gegeven
project_id
{
("project_id": <int>),
"titel": <string>,
"beschrijving": <string>,
"opgave_bestand": <file>,
"vak": <int>,
["max_score": <int>, default=20],
["max_groep_grootte": <int>, default=1],
["deadline": <YYYY-MM-DDTHH:MM>, default=null],
["extra_deadline": <YYYY-MM-DDTHH:MM>, default=null],
["zichtbaar": <bool>, default=true],
["gearchiveerd": <bool>, default=false]
}-
deadlinemoet na de huidige datum liggen. -
extra_deadlinemoet na de eerste deadline liggen. -
vakmag niet aangepast worden bij een PUT request.
-
GET: Krijg een lijst van alle restricties in JSON-formaat.
- Parameters:
-
project=<int>: Filtert restricties op hun corresponderend project. -
moet_slagen=<bool>: Filtert restricties op als ze al dan niet moeten slagen.
-
- Parameters:
-
POST: Maak een nieuwe restrictie aan. Zie
JSON-voorstellingvoorbodyvereisten.
-
GET: Krijg de restricite met gegeven
restrictie_idin JSON-formaat. -
PUT: Pas de restrictie met gegeven
restrictie_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder de restrictie met gegeven
restrictie_id
{
("restrictie_id": <int>),
"project": <int>,
"script": <file>,
"moet_slagen": <bool>,
}-
scriptmoet een Python of Shell file zijn. -
projectmag niet aangepast worden bij een PUT request.
-
GET: Krijg een lijst van alle groepen in JSON-formaat.
- Parameters:
-
groep=<int>: Filtert groepen op hun corresponderende groep. -
student=<int>: Filter groepen op hun bijhorende studenten.
-
- Parameters:
-
POST: Maak een nieuwe groep aan. Zie
JSON-voorstellingvoorbodyvereisten.
-
GET: Krijg de groep met gegeven
groep_idin JSON-formaat. -
PUT: Pas de groep met gegeven
groep_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder de groep met gegeven
groep_id
{
("groep_id": <int>),
"studenten": <list[int]>,
"project": <int>
}- Alle gebruikers in de lijst
studentenmoeten voldoen aanis_lesgever=false - Voor een gegeven project mag een student in maximum één groep zitten.
- De student moet het het vak volgen van het corresponderend project.
-
projectmag niet aangepast worden bij een PUT request.
-
GET: Krijg een lijst van alle indieningen in JSON-formaat.
- Parameters:
-
groep=<int>: Filtert indieningen op hun corresponderende groep.
-
- Parameters:
-
POST: Maak een nieuwe indiening aan. Zie
JSON-voorstellingvoorbodyvereisten.
-
GET: Krijg de indiening met gegeven
indiening_idin JSON-formaat. -
DELETE: Verwijder de indiening met gegeven
indiening_id
{
("indiening_id": <int>),
"groep": <int>,
("tijdstip": <YYYY-MM-DDTHH:MM>),
("status": <int>, choices=[-1 (=FAIL), 0 (=PENDING), 1 (=PASSED)]),
("result": <string>),
"indiening_bestanden": [
{
("indiening_bestand_id": <int>),
"indiening": <int>,
"bestand": <file>
},
...
]
}-
groepmag niet aangepast worden bij een PUT request
-
GET: Krijg een lijst van alle scores in JSON-formaat.
- Parameters:
-
indiening=<int>: Filtert scores op hun corresponderende indiening.
-
- Parameters:
-
POST: Maak een nieuwe score aan. Zie
JSON-voorstellingvoorbodyvereisten.
-
GET: Krijg de score met gegeven
score_idin JSON-formaat. -
PUT: Pas de score met gegeven
score_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder de score met gegeven
score_id
{
("score_id": <int>),
"score": <int>,
"indiening": <int>
}-
scoremoet onder demax_scorevan het project liggen. - Elke indiening kan maximum één score krijgen.
-
indieningmag niet aangepast worden bij een PUT request.