From 3bc8a9188321a2d86ded53c56352dbbe64faf34a Mon Sep 17 00:00:00 2001 From: Stanislav Trailov Date: Wed, 10 Dec 2025 09:37:38 +0200 Subject: [PATCH] Fix tenant scope on retrieval of target groups (#2847) * Fix tenant scope on retrieval of target groups Signed-off-by: strailov * fix build Signed-off-by: strailov --------- Signed-off-by: strailov --- .../hawkbit/mgmt/rest/resource/MgmtTargetGroupResource.java | 3 ++- .../java/org/eclipse/hawkbit/repository/TargetManagement.java | 2 +- .../repository/jpa/management/JpaTargetManagement.java | 4 ++-- .../hawkbit/repository/jpa/repository/TargetRepository.java | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetGroupResource.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetGroupResource.java index e6d7c1029..21352a741 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetGroupResource.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetGroupResource.java @@ -14,6 +14,7 @@ import static org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility.sanitize import java.util.List; import lombok.extern.slf4j.Slf4j; +import org.eclipse.hawkbit.context.AccessContext; import org.eclipse.hawkbit.mgmt.json.model.PagedList; import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTarget; import org.eclipse.hawkbit.mgmt.rest.api.MgmtTargetGroupRestApi; @@ -87,7 +88,7 @@ public class MgmtTargetGroupResource implements MgmtTargetGroupRestApi { @Override public ResponseEntity> getTargetGroups() { - final List groups = targetManagement.findGroups(); + final List groups = targetManagement.findGroups(AccessContext.tenant()); return ResponseEntity.ok(groups); } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/TargetManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/TargetManagement.java index cf7249feb..bebc680da 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/TargetManagement.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/TargetManagement.java @@ -375,7 +375,7 @@ public interface TargetManagement * @return list of all distinct target groups */ @PreAuthorize(HAS_READ_REPOSITORY) - List findGroups(); + List findGroups(String tenant); /** * Creates or updates a meta-data value. diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/management/JpaTargetManagement.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/management/JpaTargetManagement.java index 3e237f7a0..623d190df 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/management/JpaTargetManagement.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/management/JpaTargetManagement.java @@ -381,8 +381,8 @@ public class JpaTargetManagement } @Override - public List findGroups() { - return jpaRepository.findDistinctGroups(); + public List findGroups(String tenant) { + return jpaRepository.findDistinctGroups(tenant); } @Override diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/repository/TargetRepository.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/repository/TargetRepository.java index e832ffec8..c54216d31 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/repository/TargetRepository.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/repository/TargetRepository.java @@ -102,6 +102,6 @@ public interface TargetRepository extends BaseEntityRepository { * Finds all available distinct target groups * @return all target groups */ - @Query(value = "SELECT DISTINCT target_group FROM sp_target WHERE target_group IS NOT NULL", nativeQuery = true) - List findDistinctGroups(); + @Query(value = "SELECT DISTINCT target_group FROM sp_target WHERE tenant = ?1 AND target_group IS NOT NULL", nativeQuery = true) + List findDistinctGroups(@Param("tenant") String tenant); } \ No newline at end of file