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 May 21, 2024
·
46 revisions
-
GET: Krijg een lijst van alle gebruikers in JSON-formaat.
- Parameters:
-
is_lesgever=<bool>: Filtert gebruikers op lesgevers of studenten -
email=<string>: Filtert gebruikers op email
-
- Parameters:
-
GET: Krijg de gebruiker met gegeven
user_idin JSON-formaat. -
PUT, PATCH: 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>),
"gepinde_vakken": <list[int]>
}- Bij het veranderen van het
is_lesgeverveld, moet de gebruiker eerst uit zijn huidige vakken verwijderd zijn. - De gebruiker moet deel uitmaken van alle gepinde vakken
-
GET: Krijg een lijst van alle vakken in JSON-formaat.
- Parameters:
-
in=<bool>: Filtert op vakken waarvan de gebruiker deel uitmaakt. -
gearchiveerd=<bool>: Filtert op gearchiveerde vakken.
-
- Parameters:
-
POST: Maak een nieuw vak aan. Zie
JSON-voorstellingvoorbodyvereisten.
-
GET: Krijg het vak met gegeven
vak_idin JSON-formaat. -
PUT, PATCH: Pas het vak met gegeven
vak_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder het vak met gegeven
vak_id
-
GET: Accepteer de invite van een gegeven vak met
vak_id
{
("vak_id": <int>),
"naam": <string>,
"jaartal": <int> (VB: voor 2024-2025 zou 2025 worden opgeslaan),
["gearchiveerd": <bool>, default=false],
"studenten": <list[int]>,
"lesgevers": <list[int]>,
"invited": <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, PATCH: Pas het project met gegeven
project_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder het project met gegeven
project_id
-
GET: Download het opgave bestand van het project met gegeven
project_id.
{
("project_id": <int>),
"titel": <string>,
"beschrijving": <string>,
["opgave_bestand": <file>],
"vak": <int>,
["max_score": <int>, default=20],
["aantal_groepen": <int>, default=10],
["max_groep_grootte": <int>, default=1],
["student_groep": <bool>, default=false],
["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, PATCH: Pas de restrictie met gegeven
restrictie_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder de restrictie met gegeven
restrictie_id
-
GET: Download het script van 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:
-
project=<int>: Filtert groepen op hun corresponderend project. -
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, PATCH: 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. - Het aantal studenten moet lager of gelijk zijn aan de
max_groep_groottevan hetproject
-
GET: Krijg een lijst van alle indieningen in JSON-formaat.
- Parameters:
-
groep=<int>: Filtert indieningen op hun corresponderende groep. -
project=<int>: Filtert indieningen op hun corresponderend project. -
vak=<int>: Filtert indieningen op hun corresponderend vak.
-
- 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
-
GET: Download het indiening_bestand van de indiening met gegeven
indiening_id.
-
GET: Download de gegenereerde artefacten van de docker environment in een zipfile
artefacten.zip.
{
("indiening_id": <int>),
"groep": <int>,
"bestand": <file>,
("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, PATCH: 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.
-
GET: Krijg een lijst van alle templates in JSON-formaat.
- Parameters:
-
lesgever_id=<int>: Filtert templates op hun corresponderende lesgever.
-
- Parameters:
-
POST: Maak een nieuwe template aan. Zie
JSON-voorstellingvoorbodyvereisten.
-
GET: Krijg de template met gegeven
template_idin JSON-formaat. -
PUT, PATCH: Pas de template met gegeven
template_idaan. ZieJSON-voorstellingvoorbodyvereisten. -
DELETE: Verwijder de template met gegeven
template_id
-
GET: Krijg het template bestand terug
- Parameters:
-
content=<bool>: Als deze parameter optruestaat, zal alleen de inhoud van het bestand teruggegeven worden in JSON-formaat:{"content": <bestand_inhoud>}
-
- Parameters:
{
("template_id": <int>),
"user": <int>,
"bestand": <file>
}