Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Een groepcluster vullen met 1 request #252

Merged
merged 6 commits into from
May 12, 2024
Merged

Conversation

arnedierick
Copy link
Contributor

Ik heb een route toegevoegd /api/clusters/{clusterid}/fill die de groepen van een bestaande cluster volledig overschrijft. Het is belangrijk om op te merken dat dit de hele cluster reset. Het gaat als volgt:

  1. checkt of de user toegang heeft tot de cluster en vraagt hem op
  2. vraagt alle groepen op van de cluster
  3. checkt of de request niet meer groepen bevat dan toegestaan in de cluster
  4. checkt of de request geen groepen bevat die groter zijn dan de capaciteit van de cluster
  5. verwijdert alle huidige groepen van de cluster
  6. voegt alle groepen toe zoals aangegeven in de request (doet geen extra checks op de users omdat ik niet denk dat dit nodig is)
  7. returnt HTTP OK

@arnedierick
Copy link
Contributor Author

Ik ga hier nog een backend test voor schrijven, dan ga ik de PR open zetten

@arnedierick arnedierick linked an issue May 9, 2024 that may be closed by this pull request
@Aqua-sc
Copy link
Contributor

Aqua-sc commented May 9, 2024

@arnedierick ik zal anders de testen wel schrijven. Kheb basically alle andere testen ook aangepast (geupgrade) in mijn komende PR dus kneem deze er wel gwn bij shouldn't take long

@Aqua-sc
Copy link
Contributor

Aqua-sc commented May 9, 2024

checkt of de request niet meer groepen bevat dan toegestaan in de cluster

dit is geen ding, die count is gwn een (lowkey overbodig at this point) tellertje da bijhoudt hoeveel groepen er zijn. Das geen maximum fzo. Alleja ig da de route wel bestaande groepen opvult ma dan zou ik eerder checken of die groepen valid zijn en gekoppeld aan de cluster

@Aqua-sc
Copy link
Contributor

Aqua-sc commented May 9, 2024

voegt alle groepen toe zoals aangegeven in de request (doet geen extra checks op de users omdat ik niet denk dat dit nodig is)

Dit zou wel moeten gebeuren

Comment on lines 204 to 207
GroupClusterJson clusterJson = (GroupClusterJson) response.getBody();
if(clusterJson == null){
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Group cluster could not be found");
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dit lijkt me overbodig aangezien je de GroupClusterEntity al hebt

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ik doe dit omdat een GroupClusterEntity niet de groep-info bevat om alle groepen te verwijderen

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GroupRepository.findAllByClusterId(ClusterId) zou ik hier dan voor gebruiken

Comment on lines 209 to 211
if(clusterFillJson.getClusterGroupMembers().keySet().size() > clusterJson.groupCount()){
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("provided more groups than are allowed in the cluster");
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dit mag dus weg

Comment on lines 213 to 214
if(clusterFillJson.getClusterGroupMembers().values().stream().anyMatch(members -> members.length > clusterJson.capacity())){
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("you made a group with too many members");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ik zou dus voor elke groep checken in de clusterFillJson checken of

  1. de groep een valid groep is & gekoppeld aan die cluster
  2. er niet meer members zijn dan de maxSize
  3. alle users valid users zijn die in de course zitten

Eenmaal dit voor alle groepen id request gecheckt is kunnen ze toegevoegd worden zoals je dit reeds doet

@arnedierick
Copy link
Contributor Author

@arnedierick ik zal anders de testen wel schrijven. Kheb basically alle andere testen ook aangepast (geupgrade) in mijn komende PR dus kneem deze er wel gwn bij shouldn't take long

Oeps, ik heb dit ondertussen al gedaan. je kan die test aanpassen als je hem wil veranderen

@arnedierick
Copy link
Contributor Author

Ik zal de requested changes implementeren na de vergadering

@arnedierick
Copy link
Contributor Author

Ok, de gevraagde changes zijn nu geïmplementeerd. We checken of de groep deel is van de cluster, en of alle geselecteerde users geldige studenten zijn van dat vak.

De test is wel niet meer up to date. Ik heb ze in commentaar gezet. Ze zou vrij gemakkelijk aan te passen moeten zijn.

Ik denk dat een nieuwe review kan gebeuren

@arnedierick arnedierick marked this pull request as ready for review May 10, 2024 12:40
@arnedierick arnedierick requested a review from Aqua-sc May 10, 2024 12:40
@Aqua-sc
Copy link
Contributor

Aqua-sc commented May 10, 2024

Top, ik zal hiernaar kijken wanneer ik klaar ben met de andere testen te schrijven (zal waarschijnlijk pas morgen zijn tho)

@arnedierick
Copy link
Contributor Author

Top, de changes die je gedaan hebt maken de route veiliger en makkelijker om te gebruiken. Je mag mergen!

@Aqua-sc Aqua-sc linked an issue May 12, 2024 that may be closed by this pull request
@Aqua-sc Aqua-sc merged commit aca6c9a into frontend May 12, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow course admins to bypass group member limit Meerdere gebruikers aan groepen toevoegen in 1 keer
2 participants