Skip to content

Commit

Permalink
Added: Delete Coder workspace job
Browse files Browse the repository at this point in the history
  • Loading branch information
djuarezgf committed Jul 1, 2024
1 parent cab1617 commit b8c658b
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,3 +138,4 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- RStudio in Coder
- Research environment project type
- Upload file to Coder
- Delete Coder workspace job
16 changes: 12 additions & 4 deletions src/main/java/de/samply/coder/CoderJob.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

Expand Down Expand Up @@ -56,16 +58,22 @@ public void manageCoderActiveUsers() {
}

private List<ProjectBridgeheadUser> fetchActiveUsers() {
return projectBridgeheadUserRepository.getDistinctByProjectTypeAndQueryState(ProjectType.RESEARCH_ENVIRONMENT, QueryState.FINISHED, ProjectBridgeheadState.ACCEPTED);
return projectBridgeheadUserRepository.getDistinctInValidaProjectStateByProjectTypeAndQueryStateAndProjectBridgeheadState(ProjectType.RESEARCH_ENVIRONMENT, QueryState.FINISHED, ProjectBridgeheadState.ACCEPTED);
}

public void manageCoderInactiveUsers() {
//TODO
fetchInactiveUsers().stream().forEach(user -> {
Optional<ProjectCoder> projectCoder = projectCoderRepository.findByProjectBridgeheadUserAndDeletedAtIsNull(user);
if (projectCoder.isPresent()) {
this.coderService.deleteWorkspace(user);
projectCoder.get().setDeletedAt(Instant.now());
projectCoderRepository.save(projectCoder.get());
}
});
}

private List<ProjectBridgeheadUser> fetchInactiveUsers() {
//TODO
return null;
return projectBridgeheadUserRepository.getDistinctInInvalidProjectStateByProjectType(ProjectType.RESEARCH_ENVIRONMENT);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ public interface ProjectBridgeheadUserRepository extends JpaRepository<ProjectBr
"(pbu.projectBridgehead.project.state = 'DEVELOP' AND pbu.projectRole = 'DEVELOPER') OR " +
"(pbu.projectBridgehead.project.state = 'PILOT' AND pbu.projectRole = 'PILOT') OR" +
"(pbu.projectBridgehead.project.state = 'FINAL' AND pbu.projectRole = 'FINAL'))")
List<ProjectBridgeheadUser> getDistinctByProjectTypeAndQueryState(ProjectType projectType, QueryState queryState, ProjectBridgeheadState projectBridgeheadState);
List<ProjectBridgeheadUser> getDistinctInValidaProjectStateByProjectTypeAndQueryStateAndProjectBridgeheadState(ProjectType projectType, QueryState queryState, ProjectBridgeheadState projectBridgeheadState);

@Query("SELECT DISTINCT pbu FROM ProjectBridgeheadUser pbu WHERE pbu.projectBridgehead.project.type = :projectType AND (" +
"(pbu.projectRole = 'DEVELOPER' AND pbu.projectBridgehead.project.state != 'DEVELOP') OR " +
"(pbu.projectRole = 'PILOT' AND pbu.projectBridgehead.project.state != 'PILOT') OR" +
"(pbu.projectRole = 'FINAL' AND pbu.projectBridgehead.project.state != 'FINAL'))")
List<ProjectBridgeheadUser> getDistinctInInvalidProjectStateByProjectType(ProjectType projectType);


}

0 comments on commit b8c658b

Please sign in to comment.