From a4e49a64fba66aefc815ce8c7c9c5337f9f3896a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Reynard?= Date: Wed, 18 Mar 2026 10:14:53 +0100 Subject: [PATCH] Remove `datasetCopy` field and associated references across Workspace models, API, and tests --- .../cosmotech/api/home/ControllerTestUtils.kt | 4 ---- .../home/workspace/WorkspaceControllerTests.kt | 9 --------- doc/Models/Workspace.md | 1 - doc/Models/WorkspaceCreateRequest.md | 1 - doc/Models/WorkspaceUpdateRequest.md | 1 - openapi/plantuml/schemas.plantuml | 3 --- .../service/RunnerServiceIntegrationTest.kt | 4 ---- .../service/WorkspaceServiceIntegrationTest.kt | 6 ------ .../workspace/service/WorkspaceServiceImpl.kt | 2 -- workspace/src/main/openapi/workspace.yaml | 17 ----------------- 10 files changed, 48 deletions(-) diff --git a/api/src/integrationTest/kotlin/com/cosmotech/api/home/ControllerTestUtils.kt b/api/src/integrationTest/kotlin/com/cosmotech/api/home/ControllerTestUtils.kt index 213068097..09fba14e6 100644 --- a/api/src/integrationTest/kotlin/com/cosmotech/api/home/ControllerTestUtils.kt +++ b/api/src/integrationTest/kotlin/com/cosmotech/api/home/ControllerTestUtils.kt @@ -303,7 +303,6 @@ class ControllerTestUtils { defaultParameterValues: MutableMap? = null, description: String = "", version: String = "", - datasetCopy: Boolean? = null, security: WorkspaceSecurity? = null, additionalData: MutableMap = mutableMapOf(), tags: MutableList = mutableListOf(), @@ -319,7 +318,6 @@ class ControllerTestUtils { ), description = description, version = version, - datasetCopy = datasetCopy, security = security, tags = tags, additionalData = additionalData, @@ -334,7 +332,6 @@ class ControllerTestUtils { datasetId: String? = null, defaultParameterValues: MutableMap? = null, description: String = "", - datasetCopy: Boolean? = null, additionalData: MutableMap = mutableMapOf(), tags: MutableList = mutableListOf(), ): WorkspaceUpdateRequest { @@ -349,7 +346,6 @@ class ControllerTestUtils { defaultParameterValues = defaultParameterValues, ), description = description, - datasetCopy = datasetCopy, tags = tags, additionalData = additionalData, ) diff --git a/api/src/integrationTest/kotlin/com/cosmotech/api/home/workspace/WorkspaceControllerTests.kt b/api/src/integrationTest/kotlin/com/cosmotech/api/home/workspace/WorkspaceControllerTests.kt index 3c7a79c77..6c3f75887 100644 --- a/api/src/integrationTest/kotlin/com/cosmotech/api/home/workspace/WorkspaceControllerTests.kt +++ b/api/src/integrationTest/kotlin/com/cosmotech/api/home/workspace/WorkspaceControllerTests.kt @@ -93,7 +93,6 @@ class WorkspaceControllerTests : ControllerTestBase() { val description = "here_is_workspace_description" val version = "1.0.0" - val datasetCopy = false val tags = mutableListOf("tag1,tag2") val additionalData = mutableMapOf( @@ -128,7 +127,6 @@ class WorkspaceControllerTests : ControllerTestBase() { ), description, version, - datasetCopy, workspaceSecurity, additionalData, tags, @@ -155,7 +153,6 @@ class WorkspaceControllerTests : ControllerTestBase() { jsonPath("$.solution.defaultParameterValues.solution_parameter2") .value("solution_parameter2_defaultValue") ) - .andExpect(jsonPath("$.datasetCopy").value(datasetCopy)) .andExpect(jsonPath("$.tags").value(tags)) .andExpect(jsonPath("$.additionalData").value(additionalData)) .andExpect(jsonPath("$.organizationId").value(organizationId)) @@ -176,7 +173,6 @@ class WorkspaceControllerTests : ControllerTestBase() { createWorkspaceAndReturnId(mvc, organizationId, WORKSPACE_KEY, WORKSPACE_NAME, solutionId) val description = "here_is_workspace_description" - val datasetCopy = false val tags = mutableListOf("tag1,tag2") val additionalData = mutableMapOf( @@ -201,7 +197,6 @@ class WorkspaceControllerTests : ControllerTestBase() { "solution_parameter2" to "solution_parameter2_defaultValue", ), description, - datasetCopy, additionalData, tags, ) @@ -226,7 +221,6 @@ class WorkspaceControllerTests : ControllerTestBase() { jsonPath("$.solution.defaultParameterValues.solution_parameter2") .value("solution_parameter2_defaultValue") ) - .andExpect(jsonPath("$.datasetCopy").value(datasetCopy)) .andExpect(jsonPath("$.tags").value(tags)) .andExpect(jsonPath("$.additionalData").value(additionalData)) .andExpect(jsonPath("$.organizationId").value(organizationId)) @@ -305,7 +299,6 @@ class WorkspaceControllerTests : ControllerTestBase() { val description = "here_is_workspace_description" val version = "1.0.0" - val datasetCopy = false val tags = mutableListOf("tag1,tag2") val additionalData = mutableMapOf( @@ -338,7 +331,6 @@ class WorkspaceControllerTests : ControllerTestBase() { ), description, version, - datasetCopy, workspaceSecurity, additionalData, tags, @@ -357,7 +349,6 @@ class WorkspaceControllerTests : ControllerTestBase() { .andExpect(jsonPath("$.updateInfo.userId").value(PLATFORM_ADMIN_EMAIL)) .andExpect(jsonPath("$.version").value(version)) .andExpect(jsonPath("$.description").value(description)) - .andExpect(jsonPath("$.datasetCopy").value(datasetCopy)) .andExpect(jsonPath("$.tags").value(tags)) .andExpect(jsonPath("$.additionalData").value(additionalData)) .andExpect(jsonPath("$.organizationId").value(organizationId)) diff --git a/doc/Models/Workspace.md b/doc/Models/Workspace.md index a838ef631..8eb0a25af 100644 --- a/doc/Models/Workspace.md +++ b/doc/Models/Workspace.md @@ -14,7 +14,6 @@ | **updateInfo** | [**WorkspaceEditInfo**](WorkspaceEditInfo.md) | The details of the Workspace last update | [default to null] | | **solution** | [**WorkspaceSolution**](WorkspaceSolution.md) | | [default to null] | | **additionalData** | [**Map**](AnyType.md) | Free form additional data | [optional] [default to null] | -| **datasetCopy** | **Boolean** | Activate the copy of dataset on scenario creation, meaning that each scenario created in this workspace will make this copy. when false, scenario use directly the dataset specified. | [optional] [default to true] | | **security** | [**WorkspaceSecurity**](WorkspaceSecurity.md) | | [default to null] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/doc/Models/WorkspaceCreateRequest.md b/doc/Models/WorkspaceCreateRequest.md index 0b8ee26af..9f79f6d36 100644 --- a/doc/Models/WorkspaceCreateRequest.md +++ b/doc/Models/WorkspaceCreateRequest.md @@ -10,7 +10,6 @@ | **tags** | **List** | The list of tags | [optional] [default to null] | | **solution** | [**WorkspaceSolution**](WorkspaceSolution.md) | | [default to null] | | **additionalData** | [**Map**](AnyType.md) | Free form additional data | [optional] [default to null] | -| **datasetCopy** | **Boolean** | Activate the copy of dataset on scenario creation | [optional] [default to true] | | **security** | [**WorkspaceSecurity**](WorkspaceSecurity.md) | | [optional] [default to null] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/doc/Models/WorkspaceUpdateRequest.md b/doc/Models/WorkspaceUpdateRequest.md index d75fb4a62..868382814 100644 --- a/doc/Models/WorkspaceUpdateRequest.md +++ b/doc/Models/WorkspaceUpdateRequest.md @@ -9,7 +9,6 @@ | **tags** | **List** | The list of tags | [optional] [default to null] | | **solution** | [**WorkspaceSolution**](WorkspaceSolution.md) | | [optional] [default to null] | | **additionalData** | [**Map**](AnyType.md) | Free form additional data | [optional] [default to null] | -| **datasetCopy** | **Boolean** | Activate the copy of dataset on scenario creation | [optional] [default to null] | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/openapi/plantuml/schemas.plantuml b/openapi/plantuml/schemas.plantuml index c4fcd64d0..8c4407626 100644 --- a/openapi/plantuml/schemas.plantuml +++ b/openapi/plantuml/schemas.plantuml @@ -521,7 +521,6 @@ entity Workspace { * updateInfo: WorkspaceEditInfo * solution: WorkspaceSolution additionalData: Map - datasetCopy: Boolean * security: WorkspaceSecurity } @@ -538,7 +537,6 @@ entity WorkspaceCreateRequest { tags: List * solution: WorkspaceSolution additionalData: Map - datasetCopy: Boolean security: WorkspaceSecurity } @@ -573,7 +571,6 @@ entity WorkspaceUpdateRequest { tags: List solution: WorkspaceSolution additionalData: Map - datasetCopy: Boolean } diff --git a/runner/src/integrationTest/kotlin/com/cosmotech/runner/service/RunnerServiceIntegrationTest.kt b/runner/src/integrationTest/kotlin/com/cosmotech/runner/service/RunnerServiceIntegrationTest.kt index dcf39cf81..ad60e030d 100644 --- a/runner/src/integrationTest/kotlin/com/cosmotech/runner/service/RunnerServiceIntegrationTest.kt +++ b/runner/src/integrationTest/kotlin/com/cosmotech/runner/service/RunnerServiceIntegrationTest.kt @@ -1272,7 +1272,6 @@ class RunnerServiceIntegrationTest : CsmTestBase() { key = "key", name = "workspace", solution = WorkspaceSolution(solutionSaved.id), - datasetCopy = false, ) workspaceSaved = workspaceApiService.createWorkspace(organizationSaved.id, workspace) val runnerDataset = @@ -1306,7 +1305,6 @@ class RunnerServiceIntegrationTest : CsmTestBase() { key = "key", name = "workspace", solution = WorkspaceSolution(solutionSaved.id), - datasetCopy = true, ) workspaceSaved = workspaceApiService.createWorkspace(organizationSaved.id, workspace) val runnerDataset = @@ -1545,7 +1543,6 @@ class RunnerServiceIntegrationTest : CsmTestBase() { key = "key", name = "workspace", solution = WorkspaceSolution(solutionSaved.id), - datasetCopy = false, ) workspaceSaved = workspaceApiService.createWorkspace(organizationSaved.id, workspace) @@ -1655,7 +1652,6 @@ class RunnerServiceIntegrationTest : CsmTestBase() { key = "key", name = "workspace", solution = WorkspaceSolution(solutionSaved.id), - datasetCopy = false, ) workspaceSaved = workspaceApiService.createWorkspace(organizationSaved.id, workspace) diff --git a/workspace/src/integrationTest/kotlin/com/cosmotech/workspace/service/WorkspaceServiceIntegrationTest.kt b/workspace/src/integrationTest/kotlin/com/cosmotech/workspace/service/WorkspaceServiceIntegrationTest.kt index 9feef249a..1a44d8534 100644 --- a/workspace/src/integrationTest/kotlin/com/cosmotech/workspace/service/WorkspaceServiceIntegrationTest.kt +++ b/workspace/src/integrationTest/kotlin/com/cosmotech/workspace/service/WorkspaceServiceIntegrationTest.kt @@ -650,7 +650,6 @@ class WorkspaceServiceIntegrationTest : CsmTestBase() { version = "1.0.0", tags = mutableListOf("tag1", "tag2"), additionalData = mutableMapOf("url" to "http://url"), - datasetCopy = true, security = WorkspaceSecurity( default = ROLE_NONE, @@ -666,7 +665,6 @@ class WorkspaceServiceIntegrationTest : CsmTestBase() { version = workspaceToCreate.version, tags = workspaceToCreate.tags, additionalData = workspaceToCreate.additionalData, - datasetCopy = workspaceToCreate.datasetCopy, security = workspaceToCreate.security, ) @@ -694,7 +692,6 @@ class WorkspaceServiceIntegrationTest : CsmTestBase() { version = "1.0.0", tags = mutableListOf("tag1", "tag2"), additionalData = mutableMapOf("url" to "http://url"), - datasetCopy = true, security = WorkspaceSecurity( default = ROLE_ADMIN, @@ -710,7 +707,6 @@ class WorkspaceServiceIntegrationTest : CsmTestBase() { version = workspaceToCreate.version, tags = workspaceToCreate.tags, additionalData = workspaceToCreate.additionalData, - datasetCopy = workspaceToCreate.datasetCopy, security = workspaceToCreate.security, ) workspaceSaved = @@ -724,7 +720,6 @@ class WorkspaceServiceIntegrationTest : CsmTestBase() { description = "new description", tags = mutableListOf("newTag1", "newTag2"), additionalData = mutableMapOf("url" to "http://new/url", "moreData" to "best data"), - datasetCopy = false, ) workspaceToCreate = workspaceToCreate.copy( @@ -735,7 +730,6 @@ class WorkspaceServiceIntegrationTest : CsmTestBase() { description = workspaceUpdateRequest.description, tags = workspaceUpdateRequest.tags, additionalData = workspaceUpdateRequest.additionalData, - datasetCopy = workspaceUpdateRequest.datasetCopy, ) workspaceSaved = diff --git a/workspace/src/main/kotlin/com/cosmotech/workspace/service/WorkspaceServiceImpl.kt b/workspace/src/main/kotlin/com/cosmotech/workspace/service/WorkspaceServiceImpl.kt index 85b58a565..18eb22e8c 100644 --- a/workspace/src/main/kotlin/com/cosmotech/workspace/service/WorkspaceServiceImpl.kt +++ b/workspace/src/main/kotlin/com/cosmotech/workspace/service/WorkspaceServiceImpl.kt @@ -159,7 +159,6 @@ internal class WorkspaceServiceImpl( tags = workspaceCreateRequest.tags, description = workspaceCreateRequest.description, additionalData = workspaceCreateRequest.additionalData, - datasetCopy = workspaceCreateRequest.datasetCopy, ) return workspaceRepository.save(createdWorkspace) @@ -192,7 +191,6 @@ internal class WorkspaceServiceImpl( updateInfo = existingWorkspace.updateInfo, additionalData = workspaceUpdateRequest.additionalData ?: existingWorkspace.additionalData, - datasetCopy = workspaceUpdateRequest.datasetCopy ?: existingWorkspace.datasetCopy, security = existingWorkspace.security, ) diff --git a/workspace/src/main/openapi/workspace.yaml b/workspace/src/main/openapi/workspace.yaml index 97d0faf7c..e436a1155 100644 --- a/workspace/src/main/openapi/workspace.yaml +++ b/workspace/src/main/openapi/workspace.yaml @@ -678,11 +678,6 @@ components: type: object description: Free form additional data additionalProperties: true - datasetCopy: - type: boolean - default: true - description: Activate the copy of dataset on scenario creation, meaning that each scenario created in this workspace - will make this copy. when false, scenario use directly the dataset specified. security: x-field-extra-annotation: "@com.redis.om.spring.annotations.Indexed" allOf: @@ -731,10 +726,6 @@ components: type: object description: Free form additional data additionalProperties: true - datasetCopy: - type: boolean - default: true - description: Activate the copy of dataset on scenario creation security: $ref: '#/components/schemas/WorkspaceSecurity' required: @@ -770,9 +761,6 @@ components: type: object description: Free form additional data additionalProperties: true - datasetCopy: - type: boolean - description: Activate the copy of dataset on scenario creation # File Operation Schemas WorkspaceFileUpload: @@ -917,7 +905,6 @@ components: - Brewery solution: solutionId: sol-feo16eua48o - datasetCopy: true createInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com @@ -941,7 +928,6 @@ components: - Brewery solution: solutionId: sol-feo16eua48o - datasetCopy: true security: default: viewer accessControlList: @@ -961,7 +947,6 @@ components: - Brewery solution: solutionId: sol-feo16eua48o - datasetCopy: true createInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com @@ -983,7 +968,6 @@ components: - Brewery solution: solutionId: sol-ojd96oz14pz - datasetCopy: true createInfo: timestamp: 1621353329000 userId: bob.doe@cosmotech.com @@ -1014,7 +998,6 @@ components: - Brewery solution: solutionId: sol-feo16eua48o - datasetCopy: true createInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com