Skip to content

Commit db1e381

Browse files
Copilotphrocker
andauthored
Fix LazyInitializationException in agent WebSocket proxy (#169)
* Initial plan * Fix LazyInitializationException in agent proxy communication Co-authored-by: phrocker <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: phrocker <[email protected]>
1 parent d63ff6a commit db1e381

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

dataplane/src/main/java/io/sentrius/sso/core/repository/OpsApprovalRepository.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
import java.util.UUID;
55
import io.sentrius.sso.core.model.zt.OpsApproval;
66
import org.springframework.data.jpa.repository.JpaRepository;
7+
import org.springframework.data.jpa.repository.Query;
8+
import org.springframework.data.repository.query.Param;
79

810
public interface OpsApprovalRepository extends JpaRepository<OpsApproval, Long> {
911
void deleteByZtatRequestId(Long ztatRequestId);
1012

1113
Optional<OpsApproval> findByZtatRequestId(Long id);
1214

13-
Optional<OpsApproval> findByToken(UUID token);
15+
@Query("SELECT oa FROM OpsApproval oa LEFT JOIN FETCH oa.ztatRequest WHERE oa.token = :token")
16+
Optional<OpsApproval> findByToken(@Param("token") UUID token);
1417
}

dataplane/src/main/java/io/sentrius/sso/core/services/security/ZeroTrustAccessTokenService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
import io.sentrius.sso.core.model.zt.OpsZeroTrustAcessTokenRequest;
2020
import io.sentrius.sso.core.repository.OpsJITRequestRepository;
2121
import io.sentrius.sso.core.utils.ZTATUtils;
22-
import jakarta.transaction.Transactional;
2322
import lombok.NonNull;
2423
import lombok.RequiredArgsConstructor;
2524
import lombok.extern.slf4j.Slf4j;
2625
import org.springframework.stereotype.Service;
26+
import org.springframework.transaction.annotation.Transactional;
2727

2828
@Slf4j
2929
@Service
@@ -323,6 +323,7 @@ public void addCommunicationLink(RequestCommunicationLink link) {
323323
ztatRequestService.addCommunicationLink(link);
324324
}
325325

326+
@Transactional(readOnly = true)
326327
public boolean isOpsActive(String ztat) {
327328
var status = ztatRequestService.getOpsTokenStatus(ztat);
328329
if (status.isPresent()) {
@@ -346,6 +347,7 @@ public boolean isOpsActive(String ztat) {
346347

347348
}
348349

350+
@Transactional
349351
public boolean incremenOpsUses(String ztat) {
350352
var status = ztatRequestService.getOpsTokenStatus(ztat);
351353
if (status.isPresent()) {

dataplane/src/main/java/io/sentrius/sso/core/services/security/ZeroTrustRequestService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ public void revokeJIT(ZeroTrustAccessTokenRequest ztatRequest, Long userId) {
192192
}
193193
}
194194

195+
@Transactional(readOnly = true)
195196
public Optional<OpsApproval> getOpsTokenStatus(String token ) {
196197
try {
197198
return opsApprovalRepository.findByToken(UUID.fromString(token));

0 commit comments

Comments
 (0)