Skip to content

Commit b467dd5

Browse files
authored
Hotfix Release (#1176)
* Update complete-schema.sql * Only call implemented methods * Fix schema.sql --------- Co-authored-by: KochTobi <[email protected]>
1 parent cafa36c commit b467dd5

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

project-management/src/main/java/life/qbic/projectmanagement/application/api/AsyncProjectServiceImpl.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -807,8 +807,21 @@ public Mono<ExperimentalVariablesUpdateResponse> update(
807807
@Override
808808
public Mono<ExperimentalVariablesDeletionResponse> delete(
809809
ExperimentalVariablesDeletionRequest request) {
810-
// TODO implement
811-
throw new RuntimeException("Not yet implemented");
810+
var call = Mono.fromCallable(() -> {
811+
812+
experimentInformationService.deleteAllExperimentalVariables(
813+
ExperimentId.parse(request.experimentId()),
814+
ProjectId.parse(request.projectId()));
815+
816+
return new ExperimentalVariablesDeletionResponse(request.projectId(), request.experimentId(),
817+
request.requestId());
818+
});
819+
return applySecurityContext(call)
820+
.subscribeOn(VirtualThreadScheduler.getScheduler())
821+
.contextWrite(reactiveSecurity(SecurityContextHolder.getContext()))
822+
.doOnError(e -> log.error("Could not delete experimental variables", e))
823+
.onErrorMap(AsyncProjectServiceImpl::mapToAPIException)
824+
.retryWhen(defaultRetryStrategy());
812825
}
813826

814827
private Mono<ProjectDeletionResponse> delete(String projectId, String requestId,

sql/complete-schema.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ CREATE TABLE IF NOT EXISTS `experiments_datamanager`
9797
`speciesIconName` varchar(31) NOT NULL DEFAULT 'default',
9898
`specimenIconName` varchar(31) NOT NULL DEFAULT 'default',
9999
`project` varchar(255) DEFAULT NULL,
100+
`version` varchar(255) NOT NULL,
100101
PRIMARY KEY (`id`),
101102
KEY `FKgfrw5hlq3iy6ntf32wy0e8hr` (`project`),
102103
CONSTRAINT `FKgfrw5hlq3iy6ntf32wy0e8hr` FOREIGN KEY (`project`) REFERENCES `projects_datamanager` (`projectId`)

user-interface/src/main/java/life/qbic/datamanager/views/projects/project/experiments/experiment/ExperimentDetailsComponent.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
import life.qbic.projectmanagement.application.api.AsyncProjectService.ExperimentalGroupUpdateRequest;
7676
import life.qbic.projectmanagement.application.api.AsyncProjectService.ExperimentalGroupUpdateResponse;
7777
import life.qbic.projectmanagement.application.api.AsyncProjectService.ExperimentalVariablesCreationRequest;
78-
import life.qbic.projectmanagement.application.api.AsyncProjectService.ExperimentalVariablesUpdateRequest;
78+
import life.qbic.projectmanagement.application.api.AsyncProjectService.ExperimentalVariablesDeletionRequest;
7979
import life.qbic.projectmanagement.application.confounding.ConfoundingVariableService;
8080
import life.qbic.projectmanagement.application.confounding.ConfoundingVariableService.ConfoundingVariableInformation;
8181
import life.qbic.projectmanagement.application.confounding.ConfoundingVariableService.ExperimentReference;
@@ -584,15 +584,19 @@ private void onExperimentalVariablesEditConfirmed(
584584
ExperimentId experimentId = context.experimentId().orElseThrow();
585585
var ui = UI.getCurrent();
586586

587-
ExperimentalVariablesUpdateRequest request = new ExperimentalVariablesUpdateRequest(
587+
ExperimentalVariablesDeletionRequest deletionRequest = new ExperimentalVariablesDeletionRequest(
588+
projectId.value(),
589+
experimentId.value());
590+
591+
ExperimentalVariablesCreationRequest creationRequest = new ExperimentalVariablesCreationRequest(
588592
projectId.value(),
589593
experimentId.value(), variables);
590594

591-
asyncProjectService.update(request)
595+
asyncProjectService.delete(deletionRequest)
592596
.doOnNext(it -> log.debug(
593597
"Removed variables for project" + projectId))
594598
.flatMap(it ->
595-
asyncProjectService.update(request))
599+
asyncProjectService.create(creationRequest))
596600
.doOnNext(it -> ui.access(() -> {
597601
confirmEvent.getSource().close();
598602
reloadExperimentInfo(projectId,

0 commit comments

Comments
 (0)