Skip to content
Snippets Groups Projects

Resolve "[Queue-2.0] 500 when creating new request"

2 files
+ 8
5
Compare changes
  • Side-by-side
  • Inline

Files

@@ -89,8 +89,10 @@ public class RequestService {
request.setRequester(personId);
request.setStudentGroup(sgApi
.getGroupForPersonAndAssignment(personId, dto.getAssignment())
.onErrorResume(e -> createIndividualStudentGroup(dto, personId))
.block().getId());
.onErrorResume(e -> Mono.empty())
.blockOptional()
.orElseGet(() -> createIndividualStudentGroup(dto, personId))
.getId());
if (request.getLab().getCommunicationMethod().isOnline()) {
request.setJitsiRoom(js.createJitsiRoomName(request));
@@ -342,7 +344,7 @@ public class RequestService {
* @param personId The id of the person that posted the request.
* @return A mono containing the created student group.
*/
private Mono<StudentGroupDetailsDTO> createIndividualStudentGroup(RequestCreateDTO dto, Long personId) {
private StudentGroupDetailsDTO createIndividualStudentGroup(RequestCreateDTO dto, Long personId) {
var person = pCache.getOrThrow(personId);
var assignment = aCache.getOrThrow(dto.getAssignment());
var session = sCache.getOrThrow(dto.getLab().getSession());
@@ -354,6 +356,7 @@ public class RequestService {
.personId(person.getId())
.editionId(session.getEdition().getId())))
.module(new ModuleIdDTO().id(assignment.getModule().getId())))
.flatMap(id -> sgApi.getStudentGroupsById(List.of(id)).collectList().map(l -> l.get(0)));
.flatMap(id -> sgApi.getStudentGroupsById(List.of(id)).collectList().map(l -> l.get(0)))
.block();
}
}
Loading