From 9d46de4e2dd26b4dc82b6013eb3b392d737512c5 Mon Sep 17 00:00:00 2001 From: Jan-Niclas Struewer <j.n.struewer@gmail.com> Date: Tue, 19 Dec 2023 10:15:01 +0100 Subject: [PATCH] updated consent endpoint to create non existing repository objects and recalculating KPIs --- .../repository/controller/RepositoryController.kt | 3 +++ .../repository/dto/RepositoryCreateDto.kt | 2 +- .../repository/service/RepositoryService.kt | 13 +++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/controller/RepositoryController.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/controller/RepositoryController.kt index 6037e03e..8a4cb378 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/controller/RepositoryController.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/controller/RepositoryController.kt @@ -191,6 +191,9 @@ class RepositoryController( ) { withContext(Dispatchers.IO) { repositoryService.updateVisualizationConsent(id, repositoryConsentDto) + if (repositoryConsentDto.consent) { + toolRunService.createToolRunForRepository(projectId = id) + } } } diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/dto/RepositoryCreateDto.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/dto/RepositoryCreateDto.kt index 33eb0b8a..db7639e3 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/dto/RepositoryCreateDto.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/dto/RepositoryCreateDto.kt @@ -6,7 +6,7 @@ data class RepositoryCreateDto( val name: String, val uri: String, val id: Long, - val visualizationConsent: Boolean = false //TODO: we need to check if this is always ok at initialization + var visualizationConsent: Boolean = false //TODO: we need to check if this is always ok at initialization ) { fun toDbObject(): RepositoryEntity { return RepositoryEntity( diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/service/RepositoryService.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/service/RepositoryService.kt index 4adfea9b..a75b8cfa 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/service/RepositoryService.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/service/RepositoryService.kt @@ -108,13 +108,18 @@ class RepositoryService( logger.info("Updated visualization consent $repositoryConsentDto") repositoryRepository.save(repo) } else { - logger.error( - "Could not update visualization consent because repo" + - "was not found $repositoryConsentDto" - ) + createRepoWithConsent(projectId) } } + + @Transactional(readOnly = false, propagation = Propagation.MANDATORY) + fun createRepoWithConsent(projectId: Long): RepositoryEntity { + val repoDto = getRepositoryInfoFromGitlab(projectId) + repoDto.visualizationConsent = true + return repositoryRepository.save(repoDto.toDbObject()) + } + @Transactional(readOnly = true, propagation = Propagation.REQUIRES_NEW) fun getAllRepositoriesWithConsent(): List<RepositoryEntity> { return repositoryRepository.findByVisualizationConsentTrue() -- GitLab