Skip to content

Commit f6081fd

Browse files
ivicacclaude
andcommitted
520 Deduplicate and EMBEDDED-scope connection ids in getConnections
Merge caller-provided connectionIds into a single LinkedHashSet with the integration-instance and connected-user connection ids, then resolve them through one typed getConnections(ids, EMBEDDED) call. This removes duplicate ConnectionDTOs and drops the untyped getConnection(id) fetches that bypassed EMBEDDED scoping. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 5bbe7bd commit f6081fd

1 file changed

Lines changed: 6 additions & 11 deletions

File tree

server/ee/libs/embedded/embedded-configuration/embedded-configuration-service/src/main/java/com/bytechef/ee/embedded/configuration/facade/ConnectedUserConnectionFacadeImpl.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
import com.bytechef.platform.constant.PlatformType;
1919
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2020
import java.util.ArrayList;
21+
import java.util.LinkedHashSet;
2122
import java.util.List;
23+
import java.util.Set;
2224
import org.springframework.stereotype.Service;
2325
import org.springframework.transaction.annotation.Transactional;
2426

@@ -61,10 +63,10 @@ public long createConnectedUserConnection(long connectedUserId, ConnectionDTO co
6163
public List<ConnectionDTO> getConnections(
6264
Long connectedUserId, String componentName, List<Long> connectionIds) {
6365

64-
List<Long> allConnectionIds = new ArrayList<>();
65-
6666
ConnectedUser connectedUser = connectedUserService.getConnectedUser(connectedUserId);
6767

68+
Set<Long> allConnectionIds = new LinkedHashSet<>();
69+
6870
allConnectionIds.addAll(
6971
integrationInstanceService
7072
.getIntegrationInstances(connectedUser.getId(), componentName, connectedUser.getEnvironment())
@@ -73,16 +75,9 @@ public List<ConnectionDTO> getConnections(
7375
.toList());
7476

7577
allConnectionIds.addAll(connectedUserConnectionService.getConnectionIds(connectedUser.getId()));
78+
allConnectionIds.addAll(connectionIds);
7679

77-
List<ConnectionDTO> connectionDTOs = new ArrayList<>(
78-
connectionFacade.getConnections(allConnectionIds, PlatformType.EMBEDDED));
79-
80-
connectionDTOs.addAll(
81-
connectionIds.stream()
82-
.map(connectionFacade::getConnection)
83-
.toList());
84-
85-
return connectionDTOs
80+
return connectionFacade.getConnections(new ArrayList<>(allConnectionIds), PlatformType.EMBEDDED)
8681
.stream()
8782
.filter(connectionDTO -> componentName.equals(connectionDTO.componentName()))
8883
.toList();

0 commit comments

Comments
 (0)