diff --git a/src/main/java/net/geant/nmaas/externalservices/kubernetes/RemoteClusterManager.java b/src/main/java/net/geant/nmaas/externalservices/kubernetes/RemoteClusterManager.java index 36ae7abb54274fa717b06109e22bd0bbf82b5a44..1ce39f84be89c9de640fbd791ff103417be68e18 100644 --- a/src/main/java/net/geant/nmaas/externalservices/kubernetes/RemoteClusterManager.java +++ b/src/main/java/net/geant/nmaas/externalservices/kubernetes/RemoteClusterManager.java @@ -151,11 +151,7 @@ public class RemoteClusterManager implements ClusterMonitoringService { .state(KClusterState.UNKNOWN) .contactEmail(view.getContactEmail()) .currentStateSince(OffsetDateTime.now()) - .domains(!view.getDomainNames().isEmpty() ? view.getDomainNames().stream().map(d -> { - Optional<Domain> dom = domainService.findDomain(d); - return dom.orElse(null); - } - ).toList() : Collections.emptyList()) + .domains(prepareList(view)) .build(), file); @@ -170,6 +166,17 @@ public class RemoteClusterManager implements ClusterMonitoringService { return null; } + private List<Domain> prepareList(RemoteClusterView view) { + if (view == null || view.getDomainNames() == null) { + return Collections.emptyList(); + } + return view.getDomainNames().stream().map(d -> { + Optional<Domain> dom = domainService.findDomain(d); + return dom.orElse(null); + } + ).toList(); + } + public RemoteClusterView updateCluster(RemoteClusterView cluster, Long id) { Optional<KCluster> entity = clusterRepository.findById(id); @@ -332,7 +339,7 @@ public class RemoteClusterManager implements ClusterMonitoringService { public void removeCluster(Long id) { try { - if(clusterRepository.existsById(id)) { + if (clusterRepository.existsById(id)) { this.clusterRepository.deleteById(id); } } catch (RuntimeException ex) { diff --git a/src/main/java/net/geant/nmaas/portal/api/market/WebhookEventController.java b/src/main/java/net/geant/nmaas/portal/api/market/WebhookEventController.java index 455af4018f383d63141969a0f29d191f5134c493..e99ba0b1a76da02500dc68c1a836ebb6c6f338c3 100644 --- a/src/main/java/net/geant/nmaas/portal/api/market/WebhookEventController.java +++ b/src/main/java/net/geant/nmaas/portal/api/market/WebhookEventController.java @@ -49,13 +49,13 @@ public class WebhookEventController { @PutMapping("/{id}") @Transactional @PreAuthorize("hasRole('ROLE_SYSTEM_ADMIN')") - public void updateWebhook(@PathVariable Long id, @RequestBody @Valid WebhookEventDto webhook) { + public ResponseEntity<WebhookEventDto> updateWebhook(@PathVariable Long id, @RequestBody @Valid WebhookEventDto webhook) { if (!id.equals(webhook.getId())) { throw new ProcessingException(UNABLE_TO_CHANGE_WEBHOOK_EVENT); } try { - webhookEventService.update(webhook); + return ResponseEntity.ok(webhookEventService.update(webhook)); } catch (GeneralSecurityException e) { throw new RuntimeException(e); } diff --git a/src/main/java/net/geant/nmaas/portal/service/WebhookEventService.java b/src/main/java/net/geant/nmaas/portal/service/WebhookEventService.java index 7d698b738b5f9b55340ceb6d5644366b918edda5..7423f74cf1c7752426a961e0cf8d71081a79c2fa 100644 --- a/src/main/java/net/geant/nmaas/portal/service/WebhookEventService.java +++ b/src/main/java/net/geant/nmaas/portal/service/WebhookEventService.java @@ -35,10 +35,11 @@ public class WebhookEventService { return webhookRepository.save(webhookEvent); } - public void update(WebhookEventDto webhookEventDto) throws GeneralSecurityException { + public WebhookEventDto update(WebhookEventDto webhookEventDto) throws GeneralSecurityException { WebhookEvent webhookEvent = webhookRepository.findById(webhookEventDto.getId()).orElseThrow(() -> new MissingElementException(WEBHOOK_EVENT_NOT_FOUND)); setWebhookEvent(webhookEvent, webhookEventDto); - webhookRepository.save(webhookEvent); + webhookEvent = webhookRepository.save(webhookEvent); + return modelMapper.map(webhookEvent, WebhookEventDto.class); } private void setWebhookEvent(WebhookEvent webhookEvent, WebhookEventDto webhookEventDto) throws GeneralSecurityException {