Skip to content

Commit 4ed16fb

Browse files
move parameters getter
1 parent f819ca0 commit 4ed16fb

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/main/java/org/gridsuite/shortcircuit/server/ShortCircuitController.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,20 @@ public ResponseEntity<Void> createParameters(
183183
}
184184
}
185185

186+
@GetMapping(value = "/parameters/{parametersUuid}", produces = APPLICATION_JSON_VALUE)
187+
@Operation(summary = "Get parameters for a study")
188+
@ApiResponse(responseCode = "200", description = "The parameters fot the study")
189+
@ApiResponse(responseCode = "404", description = "No parameters found with this UUID (if fallback=false)")
190+
public ResponseEntity<ShortCircuitParametersInfos> getParameter(
191+
@Parameter(description = "Parameters UUID") @PathVariable("parametersUuid") UUID parametersUuid,
192+
@Parameter(description = "Fallback to default parameters if not found") @RequestParam(name = "fallback", required = false, defaultValue = "true") boolean fallback) {
193+
if (fallback) {
194+
return ResponseEntity.ok(shortCircuitService.getParametersOrCreateDefault(parametersUuid));
195+
} else {
196+
return ResponseEntity.of(shortCircuitService.getParameters(parametersUuid));
197+
}
198+
}
199+
186200
@PostMapping(value = "/parameters/{parametersUuid}/duplicate")
187201
@Operation(summary = "Create a entry for parameters")
188202
@ApiResponse(responseCode = "201", description = "A new entry has been created")

src/main/java/org/gridsuite/shortcircuit/server/service/ShortCircuitService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,14 @@ public boolean createParameters(final UUID parametersUuid, @Nullable final Short
190190
return entity.isEmpty();
191191
}
192192

193+
public Optional<ShortCircuitParametersInfos> getParameters(@NonNull final UUID uuid) {
194+
return parametersRepository.findById(uuid).map(EntityDtoUtils::convertInfos);
195+
}
196+
197+
public ShortCircuitParametersInfos getParametersOrCreateDefault(@NonNull final UUID uuid) {
198+
return EntityDtoUtils.convertInfos(parametersRepository.getByIdOrDefault(uuid));
199+
}
200+
193201
public UUID duplicateParameters(final UUID parametersUuid) {
194202
return parametersRepository.save(parametersRepository.findById(parametersUuid)
195203
.map(ShortCircuitParametersEntity::new)

0 commit comments

Comments
 (0)